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%
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']
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.
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/2379