xpra icon
Bug tracker and wiki

Opened 2 weeks ago

Closed 2 weeks ago

#2379 closed defect (fixed)

local tray menu not show

Reported by: Irony Owned by: Antoine Martin
Priority: major Milestone: 3.0
Component: client Version: 2.5.x
Keywords: Cc:

Description

local tray menu not show when change system Scaling and Layout. but other application work good.

Display Settings -> Scaling and Layout -> Change the size of items such as text, application, etc.

100%
125%
150%
175%
  1. Xpra Client Information:
revision 22875
built on Win7Prox86VM by Win7Pro x86VM
2019-06-07 16:28

using Cython 0.29.10
gcc (Rev2, Built by MSYS2 project) 9.1.0

System: Xpra version, platform and host information
<function get_sys_info at 0x0e71c6f0>

Network: Compression, packet encoding and encryption
bencode                          : {'': True, 'version': ('Cython', 2, 5)}
compressors                      : ['zlib', 'lz4', 'lzo']
config                           : {'vsocket.timeout': 5, 'socket.timeout': 20}
digest                           : ['hmac', 'xor', 'hmac+whirlpool', 'hmac+sm3', 'hmac+shake256', 'hmac+shake128', 'hmac+sha512-256', 'hmac+sha512-224', 'hmac+sha512', 'hmac+sha384', 'hmac+sha3-512', 'hmac+sha3-384', 'hmac+sha3-256', 'hmac+sha3-224', 'hmac+sha256', 'hmac+sha224', 'hmac+sha1', 'hmac+ripemd160', 'hmac+mdc2', 'hmac+md5-sha1', 'hmac+md5', 'hmac+md4', 'hmac+blake2s256', 'hmac+blake2b512', 'des']
encoders                         : ['rencode', 'bencode']
gateways                         : {'INET': [(u'192.168.2.254', u'{FAB99F01-F778-455F-A706-1330F1057125}', True), (u'192.168.0.1', u'{7CDB2531-E7CE-44F0-8B63-4BE1A7472C02}', True)]}
interfaces                       : [u'{7CDB2531-E7CE-44F0-8B63-4BE1A7472C02}', u'{FAB99F01-F778-455F-A706-1330F1057125}', u'{8494AE73-48EE-4607-B7DE-C929F1FD44D3}', u'{B0D6741B-0427-407E-B850-21FDCF925FBD}', u'{B2FB1875-B432-438F-9667-10C88ABE6D94}', u'{6F2C8ED7-A855-4CB5-B4AB-28C17BEBEC15}', u'{B52FBB23-22C1-11E9-B8DB-806E6F6E6963}', u'{93123211-9629-4E04-82F0-EA2E4F221468}']
lz4                              : {'': True, 'version': u'2.1.6'}
lzo                              : {'': True, 'version': '2.10'}
mmap                             : True
paramiko                         : {'version': (2, 4, 2)}
python-lz4                       : {'': True, 'version': '2.1.6'}
python-lzo                       : {'': True, 'version': '1.12'}
rencode                          : {'': True, 'version': ('Cython', 1, 0, 6)}
salt-digest                      : ['hmac+whirlpool', 'hmac+sm3', 'hmac+shake256', 'hmac+shake128', 'hmac+sha512-256', 'hmac+sha512-224', 'hmac+sha512', 'hmac+sha384', 'hmac+sha3-512', 'hmac+sha3-384', 'hmac+sha3-256', 'hmac+sha3-224', 'hmac+sha256', 'hmac+sha224', 'hmac+sha1', 'hmac+ripemd160', 'hmac+mdc2', 'hmac+md5-sha1', 'hmac+md5', 'hmac+md4', 'hmac+blake2s256', 'hmac+blake2b512']
ssl                              : {'': True, 'npn': False, 'verify': {'VERIFY_X509_TRUSTED_FIRST': 32768, 'VERIFY_X509_STRICT': 32, 'VERIFY_CRL_CHECK_CHAIN': 12, 'VERIFY_CRL_CHECK_LEAF': 4, 'VERIFY_DEFAULT': 0}, 'ecdh': True, 'openssl': {'version-number': 269488191, 'version-info': '(1, 1, 1, 3, 15)', 'version': 'OpenSSL 1.1.1c  28 May 2019'}, 'sni': True, 'channel-binding-types': ['tls-unique'], 'alpn': True, 'options': {'OP_NO_SSLv3': 33554432, 'OP_NO_SSLv2': 0, 'OP_NO_TLSv1_1': 268435456, 'OP_NO_TLSv1_2': 134217728, 'OP_NO_TLSv1_3': 536870912, 'OP_ENABLE_MIDDLEBOX_COMPAT': 1048576, 'OP_NO_TLSv1': 67108864, 'OP_CIPHER_SERVER_PREFERENCE': 4194304, 'OP_SINGLE_DH_USE': 0, 'OP_SINGLE_ECDH_USE': 0, 'OP_NO_COMPRESSION': 131072, 'OP_ALL': -2147483564}, 'protocols': {'PROTOCOL_SSLv23': 2, 'PROTOCOL_TLSv1_2': 5, 'PROTOCOL_TLSv1_1': 4, 'PROTOCOL_TLS': 2, 'PROTOCOL_TLSv1': 3}}
yaml                             : {'': False}
zlib                             : {'': True, 'version': '1.0'}

Encodings: Picture encodings supported
avcodec2                         : (58, 35, 100)
ffmpeg                           : (58, 35, 100)
jpeg                             : 1
libyuv                           : 0
pillow                           : 6.0.0
swscale                          : (5, 3, 100)
vpx                              : v1.8.0
webp                             : (1, 0, 2)
x264                             : 157

OpenGL: OpenGL driver and features
GLU.extensions                   : GL_EXT_bgra
GLU.version                      : 1.2.2.0 Microsoft Corporation
accelerate                       : 3.1.1a1
accum-blue-size                  : 16
accum-green-size                 : 16
accum-red-size                   : 16
alpha-size                       : 8
aux-buffers                      : 4
blue-size                        : 8
depth                            : 24
depth-size                       : 24
display_mode                     : ['ALPHA', 'DOUBLE']
double-buffered                  : True
extensions                       : [u'GL_ARB_arrays_of_arrays', u'GL_ARB_base_instance', u'GL_ARB_blend_func_extended', u'GL_ARB_clear_buffer_object', u'GL_ARB_color_buffer_float', u'GL_ARB_compatibility', u'GL_ARB_compressed_texture_pixel_storage', u'GL_ARB_conservative_depth', u'GL_ARB_copy_buffer', u'GL_ARB_copy_image', u'GL_ARB_debug_output', u'GL_ARB_depth_buffer_float', u'GL_ARB_depth_clamp', u'GL_ARB_depth_texture', u'GL_ARB_draw_buffers', u'GL_ARB_draw_elements_base_vertex', u'GL_ARB_draw_instanced', u'GL_ARB_enhanced_layouts', u'GL_ARB_ES2_compatibility', u'GL_ARB_ES3_compatibility', u'GL_ARB_explicit_attrib_location', u'GL_ARB_explicit_uniform_location', u'GL_ARB_fragment_coord_conventions', u'GL_ARB_fragment_layer_viewport', u'GL_ARB_fragment_program', u'GL_ARB_fragment_program_shadow', u'GL_ARB_fragment_shader', u'GL_ARB_framebuffer_no_attachments', u'GL_ARB_framebuffer_object', u'GL_ARB_framebuffer_sRGB', u'GL_ARB_geometry_shader4', u'GL_ARB_get_program_binary', u'GL_ARB_half_float_pixel', u'GL_ARB_half_float_vertex', u'GL_ARB_imaging', u'GL_ARB_instanced_arrays', u'GL_ARB_internalformat_query', u'GL_ARB_internalformat_query2', u'GL_ARB_invalidate_subdata', u'GL_ARB_map_buffer_alignment', u'GL_ARB_map_buffer_range', u'GL_ARB_multi_bind', u'GL_ARB_multisample', u'GL_ARB_multitexture', u'GL_ARB_occlusion_query', u'GL_ARB_occlusion_query2', u'GL_ARB_pixel_buffer_object', u'GL_ARB_point_parameters', u'GL_ARB_point_sprite', u'GL_ARB_program_interface_query', u'GL_ARB_provoking_vertex', u'GL_ARB_robust_buffer_access_behavior', u'GL_ARB_robustness', u'GL_ARB_sampler_objects', u'GL_ARB_seamless_cube_map', u'GL_ARB_separate_shader_objects', u'GL_ARB_shader_bit_encoding', u'GL_ARB_shader_objects', u'GL_ARB_shader_texture_lod', u'GL_ARB_shading_language_100', u'GL_ARB_shading_language_420pack', u'GL_ARB_shading_language_include', u'GL_ARB_shading_language_packing', u'GL_ARB_shadow', u'GL_ARB_stencil_texturing', u'GL_ARB_sync', u'GL_ARB_texture_border_clamp', u'GL_ARB_texture_buffer_object', u'GL_ARB_texture_buffer_range', u'GL_ARB_texture_compression', u'GL_ARB_texture_compression_rgtc', u'GL_ARB_texture_cube_map', u'GL_ARB_texture_env_add', u'GL_ARB_texture_env_combine', u'GL_ARB_texture_env_crossbar', u'GL_ARB_texture_env_dot3', u'GL_ARB_texture_float', u'GL_ARB_texture_mirror_clamp_to_edge', u'GL_ARB_texture_mirrored_repeat', u'GL_ARB_texture_multisample', u'GL_ARB_texture_non_power_of_two', u'GL_ARB_texture_query_levels', u'GL_ARB_texture_rectangle', u'GL_ARB_texture_rg', u'GL_ARB_texture_rgb10_a2ui', u'GL_ARB_texture_stencil8', u'GL_ARB_texture_storage', u'GL_ARB_texture_storage_multisample', u'GL_ARB_texture_swizzle', u'GL_ARB_texture_view', u'GL_ARB_timer_query', u'GL_ARB_transpose_matrix', u'GL_ARB_uniform_buffer_object', u'GL_ARB_vertex_array_bgra', u'GL_ARB_vertex_array_object', u'GL_ARB_vertex_attrib_binding', u'GL_ARB_vertex_buffer_object', u'GL_ARB_vertex_program', u'GL_ARB_vertex_shader', u'GL_ARB_vertex_type_10f_11f_11f_rev', u'GL_ARB_vertex_type_2_10_10_10_rev', u'GL_ARB_viewport_array', u'GL_ARB_window_pos', u'GL_ATI_draw_buffers', u'GL_ATI_texture_float', u'GL_ATI_texture_mirror_once', u'GL_S3_s3tc', u'GL_EXT_texture_env_add', u'GL_EXT_abgr', u'GL_EXT_bgra', u'GL_EXT_bindable_uniform', u'GL_EXT_blend_color', u'GL_EXT_blend_equation_separate', u'GL_EXT_blend_func_separate', u'GL_EXT_blend_minmax', u'GL_EXT_blend_subtract', u'GL_EXT_compiled_vertex_array', u'GL_EXT_Cg_shader', u'GL_EXT_depth_bounds_test', u'GL_EXT_direct_state_access', u'GL_EXT_draw_buffers2', u'GL_EXT_draw_instanced', u'GL_EXT_draw_range_elements', u'GL_EXT_fog_coord', u'GL_EXT_framebuffer_blit', u'GL_EXT_framebuffer_multisample', u'GL_EXTX_framebuffer_mixed_formats', u'GL_EXT_framebuffer_multisample_blit_scaled', u'GL_EXT_framebuffer_object', u'GL_EXT_framebuffer_sRGB', u'GL_EXT_geometry_shader4', u'GL_EXT_gpu_program_parameters', u'GL_EXT_gpu_shader4', u'GL_EXT_multi_draw_arrays', u'GL_EXT_packed_depth_stencil', u'GL_EXT_packed_float', u'GL_EXT_packed_pixels', u'GL_EXT_pixel_buffer_object', u'GL_EXT_point_parameters', u'GL_EXT_provoking_vertex', u'GL_EXT_rescale_normal', u'GL_EXT_secondary_color', u'GL_EXT_separate_shader_objects', u'GL_EXT_separate_specular_color', u'GL_EXT_shader_integer_mix', u'GL_EXT_shadow_funcs', u'GL_EXT_stencil_two_side', u'GL_EXT_stencil_wrap', u'GL_EXT_texture3D', u'GL_EXT_texture_array', u'GL_EXT_texture_buffer_object', u'GL_EXT_texture_compression_dxt1', u'GL_EXT_texture_compression_latc', u'GL_EXT_texture_compression_rgtc', u'GL_EXT_texture_compression_s3tc', u'GL_EXT_texture_cube_map', u'GL_EXT_texture_edge_clamp', u'GL_EXT_texture_env_combine', u'GL_EXT_texture_env_dot3', u'GL_EXT_texture_filter_anisotropic', u'GL_EXT_texture_integer', u'GL_EXT_texture_lod', u'GL_EXT_texture_lod_bias', u'GL_EXT_texture_mirror_clamp', u'GL_EXT_texture_object', u'GL_EXT_texture_shared_exponent', u'GL_EXT_texture_sRGB', u'GL_EXT_texture_sRGB_decode', u'GL_EXT_texture_storage', u'GL_EXT_texture_swizzle', u'GL_EXT_timer_query', u'GL_EXT_vertex_array', u'GL_EXT_vertex_array_bgra', u'GL_EXT_import_sync_object', u'GL_IBM_rasterpos_clip', u'GL_IBM_texture_mirrored_repeat', u'GL_KHR_debug', u'GL_KTX_buffer_region', u'GL_NV_blend_square', u'GL_NV_conditional_render', u'GL_NV_copy_depth_to_color', u'GL_NV_copy_image', u'GL_NV_depth_buffer_float', u'GL_NV_depth_clamp', u'GL_NV_ES1_1_compatibility', u'GL_NV_explicit_multisample', u'GL_NV_fence', u'GL_NV_float_buffer', u'GL_NV_fog_distance', u'GL_NV_fragment_program', u'GL_NV_fragment_program_option', u'GL_NV_fragment_program2', u'GL_NV_framebuffer_multisample_coverage', u'GL_NV_geometry_shader4', u'GL_NV_gpu_program4', u'GL_NV_half_float', u'GL_NV_light_max_exponent', u'GL_NV_multisample_coverage', u'GL_NV_multisample_filter_hint', u'GL_NV_occlusion_query', u'GL_NV_packed_depth_stencil', u'GL_NV_parameter_buffer_object', u'GL_NV_parameter_buffer_object2', u'GL_NV_path_rendering', u'GL_NV_pixel_data_range', u'GL_NV_point_sprite', u'GL_NV_primitive_restart', u'GL_NV_register_combiners', u'GL_NV_register_combiners2', u'GL_NV_shader_buffer_load', u'GL_NV_texgen_reflection', u'GL_NV_texture_barrier', u'GL_NV_texture_compression_vtc', u'GL_NV_texture_env_combine4', u'GL_NV_texture_expand_normal', u'GL_NV_texture_multisample', u'GL_NV_texture_rectangle', u'GL_NV_texture_shader', u'GL_NV_texture_shader2', u'GL_NV_texture_shader3', u'GL_NV_transform_feedback', u'GL_NV_vertex_array_range', u'GL_NV_vertex_array_range2', u'GL_NV_vertex_buffer_unified_memory', u'GL_NV_vertex_program', u'GL_NV_vertex_program1_1', u'GL_NV_vertex_program2', u'GL_NV_vertex_program2_option', u'GL_NV_vertex_program3', u'GL_NVX_conditional_render', u'GL_NVX_gpu_memory_info', u'GL_SGIS_generate_mipmap', u'GL_SGIS_texture_lod', u'GL_SGIX_depth_texture', u'GL_SGIX_shadow', u'GL_SUN_slice_accum', u'GL_WIN_swap_hint', u'WGL_EXT_swap_control', u'']
gdkgl                            : {'version': (6, 2)}
gdkglext                         : {'version': (1, 2, 0)}
green-size                       : 8
gtkglext                         : {'version': (1, 2, 0)}
has-depth-buffer                 : True
has-stencil-buffer               : False
has_alpha                        : True
max-viewport-dims                : (8192, 8192)
opengl                           : (3, 3)
pygdkglext                       : {'version': (1, 0, 0)}
pyopengl                         : 3.1.1a1
red-size                         : 8
renderer                         : GeForce 9600 GSO 512/PCIe/SSE2
rgba                             : True
safe                             : True
sample-buffers                   : 242408592
samples                          : 248314384
shading-language-version         : 3.30 NVIDIA via Cg compiler
stencil-size                     : 0
stereo                           : False
texture-size-limit               : 8192
transparency                     : False
vendor                           : NVIDIA Corporation
zerocopy                         : True

Sound: Sound codecs and GStreamer version information
bundle-metadata                  : ['True']
decoders                         : ['opus', 'opus+ogg', 'vorbis+mka', 'vorbis+ogg', 'vorbis', 'mp3', 'flac+ogg', 'aac+mpeg4', 'wav+lz4', 'wav+lzo', 'wav', 'wavpack', 'speex+ogg', 'vorbis', 'opus+mka', 'flac']
demuxers                         : ['ogg', 'mka', 'mpeg4']
encoders                         : ['opus', 'opus+ogg', 'vorbis+mka', 'vorbis+ogg', 'vorbis', 'mp3', 'flac+ogg', 'aac+mpeg4', 'wav+lz4', 'wav+lzo', 'wav', 'wavpack', 'speex+ogg', 'vorbis', 'opus+mka', 'flac', 'mp3+mpeg4']
gst.version                      : ['1', '16', '0', '0']
muxers                           : ['ogg', 'mka', 'mpeg4']
plugins                          : ['3gppmux', 'aacparse', 'ac3parse', 'amrparse', 'appsink', 'appsrc', 'audioconvert', 'audiorate', 'audioresample', 'audiotestsrc', 'autoaudiosink', 'autoaudiosrc', 'autovideosink', 'autovideosrc', 'bin', 'capsfilter', 'concat', 'cutter', 'dataurisrc', 'dcaparse', 'directsoundsink', 'directsoundsrc', 'downloadbuffer', 'faac', 'faad', 'fakesink', 'fakesrc', 'filesink', 'filesrc', 'flacdec', 'flacenc', 'flacparse', 'flactag', 'funnel', 'gdpdepay', 'gdppay', 'identity', 'input-selector', 'ismlmux', 'lamemp3enc', 'matroskademux', 'matroskamux', 'matroskaparse', 'mj2mux', 'mp4mux', 'mpegaudioparse', 'mpg123audiodec', 'multiqueue', 'oggaviparse', 'oggdemux', 'oggmux', 'oggparse', 'ogmaudioparse', 'ogmtextparse', 'ogmvideoparse', 'opusdec', 'opusenc', 'opusparse', 'output-selector', 'pipeline', 'qtdemux', 'qtmoovrecover', 'qtmux', 'queue', 'queue2', 'rtpxqtdepay', 'sbcparse', 'speexdec', 'speexenc', 'streamiddemux', 'tee', 'typefind', 'valve', 'volume', 'vorbisdec', 'vorbisenc', 'vorbisparse', 'vorbistag', 'wasapisink', 'wasapisrc', 'wavenc', 'wavpackdec', 'wavpackenc', 'wavpackparse', 'wavparse', 'webmmux']
pygst.version                    : ['3', '32', '1']
python.bits                      : 32
python.version                   : ['2', '7', '16']
sink.default                     : ['directsoundsink']
sinks                            : ['directsoundsink', 'wasapisink', 'autoaudiosink']
source.default                   : ['directsoundsrc']
sources                          : ['directsoundsrc', 'wasapisrc', 'autoaudiosrc', 'audiotestsrc']
  1. Screen Shot

https://raw.githubusercontent.com/892768447/static/master/xpra_tray.gif

Change History (2)

comment:1 Changed 2 weeks ago by Antoine Martin

Status: newassigned

comment:2 Changed 2 weeks ago by totaamwin32

Resolution: fixed
Status: assignedclosed

Thanks for reporting this bug!

It only happens with windows 10, not with windows 7 (not tested: 8, 8.1).

Normally, hovering over the tray icon triggers this:

2019-08-06 14:15:01,919 NotifyIconWndProc(394478, 294, 0, 512) instance=win32NotifyIcon(0x0), message(294)=<unbound method win32NotifyIcon.OnTaskbarNotify>
2019-08-06 14:15:01,919 OnTaskbarNotify(394478L, 294L, 0L, 512L) button(s) lookup: [(394478L, 294, 0, 512)], callback=<bound method Win32Tray.move_cb of Tray(0:tcp://192.168.1.11:10000/)>
2019-08-06 14:15:01,919 move_cb(394478L, 294, 0, 512) x=1179, y=1012, size=16, 16
2019-08-06 14:15:01,919 recalculate_geometry(1179, 1012, 16, 16) guess=(1173, 1012, 16, 16), tray event locations: 60
2019-08-06 14:15:01,919 recalculate_geometry() geometry guess=(1173, 1011, 16, 16) (old guess=(1173, 1012, 16, 16))
2019-08-06 14:15:01,929 xpra_tray_geometry() geometry=(1173, 1011, 16, 16)
2019-08-06 14:15:01,929 xpra_tray_mouseover(1179, 1012)

But after the DPI change, we only get is this:

2019-08-06 14:17:10,499 NotifyIconWndProc(1770062, 294, 0, 512) instance=None, message(294)=<unbound method win32NotifyIcon.OnTaskbarNotify>

Which means that we don't find the win32NotifyIcon instance for hwnd=1770062.

We do re-create the tray when the settings change:

2019-08-06 14:15:25,763 WM_WININICHANGE: 47, 0
2019-08-06 14:15:25,770 DefWindowProc(853540L, 26L, 47L, 0L)=0
2019-08-06 14:15:25,800 NotifyIconWndProc(394478, 49251, 0, 0) instance=win32NotifyIcon(0x0), message(49251)=<unbound method win32NotifyIcon.OnTrayRestart>
2019-08-06 14:15:25,800 make_nid(..)=<xpra.platform.win32.win32_NotifyIcon.NOTIFYICONDATA object at 0x0000000004d9e320> tooltip='xterm\ntcp://192.168.1.11:10000/', app_id=0, actual flags=GUID
2019-08-06 14:15:25,800 delete_tray_window(..) calling Shell_NotifyIconW(NIM_DELETE, <xpra.platform.win32.win32_NotifyIcon.NOTIFYICONDATA object at 0x0000000004d9e320>)
2019-08-06 14:15:25,870 create_tray_window()
2019-08-06 14:15:25,870 NotifyIconWndProc(1770062, 36, 0, 6409168) instance=None, message(36)=None
2019-08-06 14:15:25,871 NotifyIconWndProc(1770062, 129, 0, 6409120) instance=None, message(129)=None
2019-08-06 14:15:25,871 NotifyIconWndProc(1770062, 131, 0, 6409200) instance=None, message(131)=None
2019-08-06 14:15:25,881 NotifyIconWndProc(1770062, 1, 0, 6409104) instance=None, message(1)=None
2019-08-06 14:15:25,885 create_window() hwnd=0x1b024e
2019-08-06 14:15:25,889 make_nid(..)=<xpra.platform.win32.win32_NotifyIcon.NOTIFYICONDATA object at 0x0000000004d9e320> tooltip='xterm\ntcp://192.168.1.11:10000/', app_id=0, actual flags=MESSAGE, ICON, TIP, GUID
2019-08-06 14:15:25,960 Shell_NotifyIconW ADD=1
2019-08-06 14:15:25,962 OnTrayRestart(394478L, 49251L, 0L, 0L) reset function: (<bound method win32NotifyIcon.set_icon of win32NotifyIcon(0x0)>, u'E:/Xpra/trunk/src/dist/icons/xpra.ico')
2019-08-06 14:15:25,967 set_icon(E:/Xpra/trunk/src/dist/icons/xpra.ico)
2019-08-06 14:15:25,968 do_set_icon(0x6c0515)
2019-08-06 14:15:25,969 make_nid(..)=<xpra.platform.win32.win32_NotifyIcon.NOTIFYICONDATA object at 0x0000000004d9e320> tooltip='xterm\ntcp://192.168.1.11:10000/', app_id=0, actual flags=ICON, GUID
2019-08-06 14:15:25,977 make_nid(..)=<xpra.platform.win32.win32_NotifyIcon.NOTIFYICONDATA object at 0x0000000004d9e320> tooltip='xterm\ntcp://192.168.1.11:10000/', app_id=0, actual flags=ICON, GUID
2019-08-06 14:15:25,983 callbacks for event 0xc063L: None

The problem is that we weren't registering the new window handle to get the events.

r23455 fixes that. This will be included in the next update.

Note: See TracTickets for help on using tickets.