#2882 closed defect (duplicate)
Sometimes focus does not switch between applications
Reported by: | stdedos | Owned by: | stdedos |
---|---|---|---|
Priority: | minor | Milestone: | 4.1 |
Component: | client | Version: | 3.0.x |
Keywords: | Cc: |
Description (last modified by )
A more generic issue of the #2852 seems to be this:
"Xpra-Python3-x86_64_4.1-r27519\xpra_cmd" attach ssh://user@ip/3 --ssh="plink -ssh -agent" --modal-windows=no --title="@title@ on @@/@server-display@" --headerbar=off --opengl=no --bandwidth-limit=6Mbps 2020-09-22 11:22:34,845 Xpra GTK3 client version 4.1-r27519 64-bit 2020-09-22 11:22:34,852 running on Microsoft Windows 10 2020-09-22 11:22:38,001 GStreamer version 1.18.0 for Python 3.8.5 64-bit 2020-09-22 11:22:38,485 created named pipe '\\.\pipe\Xpra\19820' 2020-09-22 11:22:38,899 keyboard layout code 0x409 2020-09-22 11:22:38,900 identified as 'United States - English' : us 2020-09-22 11:22:39,613 keyboard settings: layout=us 2020-09-22 11:22:39,618 desktop size is 4160x1440 with 1 screen: 2020-09-22 11:22:39,618 Default (1100x381 mm - DPI: 96x96) workarea: 4160x1400 2020-09-22 11:22:39,618 Generic PnP Monitor 1600x900 at 0x534 (309x174 mm - DPI: 131x131) workarea: 1600x860 at 0x534 2020-09-22 11:22:39,619 C32JG5x 2560x1440 at 1600x0 (697x392 mm - DPI: 93x93) workarea: 2560x1400 at 1600x0 2020-09-22 11:22:44,223 enabled remote logging 2020-09-22 11:22:44,226 Xpra GTK3 X11 server version 3.0.10-r26630 64-bit 2020-09-22 11:22:44,227 running on Linux Ubuntu 16.04 xenial 2020-09-22 11:22:44,240 Attached to ip:22 2020-09-22 11:22:44,242 (press Control-C to detach) (xpra_cmd:19820): Pango-WARNING **: 11:22:45.190: couldn't load font "Bitstream Vera Sans Not-Rotated 14.662109375", falling back to "Sans Not-Rotated 14.662109375", expect ugly output. 2020-09-22 11:22:46,301 UI thread is now blocked 2020-09-22 11:22:46,575 sound output using 'opus' audio codec 2020-09-22 11:22:47,082 UI thread is running again, resuming 2020-09-22 12:07:08,270 Warning: failed to set clipboard data 2020-09-22 12:07:08,273 OpenClipboard: too many failed attempts, giving up 2020-09-22 12:08:02,218 Warning: failed to set clipboard data 2020-09-22 12:08:02,221 OpenClipboard: too many failed attempts, giving up 2020-09-22 12:08:23,807 Warning: failed to set clipboard data 2020-09-22 12:08:23,810 OpenClipboard: too many failed attempts, giving up 2020-09-22 12:08:54,318 Warning: failed to set clipboard data 2020-09-22 12:08:54,324 OpenClipboard: too many failed attempts, giving up 2020-09-22 12:09:13,920 Warning: failed to set clipboard data 2020-09-22 12:09:13,923 OpenClipboard: too many failed attempts, giving up 2020-09-22 12:09:49,983 Warning: failed to set clipboard data 2020-09-22 12:09:49,985 OpenClipboard: too many failed attempts, giving up 2020-09-22 12:13:47,212 Warning: failed to set clipboard data 2020-09-22 12:13:47,215 OpenClipboard: too many failed attempts, giving up 2020-09-22 12:14:09,962 Warning: failed to set clipboard data 2020-09-22 12:14:09,965 OpenClipboard: too many failed attempts, giving up 2020-09-22 12:15:27,532 Warning: failed to set clipboard data 2020-09-22 12:15:27,535 OpenClipboard: too many failed attempts, giving up 2020-09-22 12:18:35,283 Warning: failed to set clipboard data 2020-09-22 12:18:35,289 OpenClipboard: too many failed attempts, giving up 2020-09-22 12:34:52,913 Warning: failed to set clipboard data 2020-09-22 12:34:52,916 OpenClipboard: too many failed attempts, giving up 2020-09-22 13:38:30,531 system is suspending 2020-09-22 13:38:40,532 system resumed, was suspended for 9 2020-09-22 13:45:41,008 unknown string message: 0xc0a1 / 0x5 / 0x0 2020-09-22 14:17:09,701 enabled debugging for: 2020-09-22 14:17:09,709 - Logger(xpra.client.client_window_base, focus) 2020-09-22 14:17:09,714 - Logger(xpra.client.gtk_base.gtk_client_window_base, focus, grab) 2020-09-22 14:17:09,717 - Logger(xpra.client.mixins.window_manager, focus) 2020-09-22 14:17:15,560 focus-out-event for wid=1 2020-09-22 14:17:15,583 do_xpra_focus_out_event(<Gdk.EventFocus object at 0x00000000008089f0 (void at 0x00000000059f3840)>) 2020-09-22 14:17:15,594 ClientWindow(1) focus_change(ClientWindow(1), <GParamBoolean 'has-toplevel-focus'>) has-toplevel-focus=False, _been_mapped=True 2020-09-22 14:17:15,597 update_focus(1, False) focused=1, grabbed=None 2020-09-22 14:17:15,600 focus-in-event for wid=4187 2020-09-22 14:17:15,612 do_xpra_focus_in_event(<Gdk.EventFocus object at 0x00000000008089f0 (void at 0x00000000059f3c60)>) been_mapped=True 2020-09-22 14:17:15,617 ClientWindow(4187) focus_change(ClientWindow(4187), <GParamBoolean 'has-toplevel-focus'>) has-toplevel-focus=True, _been_mapped=True 2020-09-22 14:17:15,619 update_focus(4187, True) focused=None, grabbed=None 2020-09-22 14:17:15,620 send_focus(4187) 2020-09-22 14:17:15,626 recheck_focus() wid=1, focused=4187, latest=False 2020-09-22 14:17:15,631 recheck_focus() wid=4187, focused=4187, latest=True 2020-09-22 14:17:18,926 focus-out-event for wid=4187 2020-09-22 14:17:18,952 do_xpra_focus_out_event(<Gdk.EventFocus object at 0x000000000075d6d0 (void at 0x00000000059f39a0)>) 2020-09-22 14:17:18,958 ClientWindow(4187) focus_change(ClientWindow(4187), <GParamBoolean 'has-toplevel-focus'>) has-toplevel-focus=False, _been_mapped=True 2020-09-22 14:17:18,966 update_focus(4187, False) focused=4187, grabbed=None 2020-09-22 14:17:18,971 focus-in-event for wid=1 2020-09-22 14:17:18,976 do_xpra_focus_in_event(<Gdk.EventFocus object at 0x000000000075d6d0 (void at 0x00000000059f3a50)>) been_mapped=True 2020-09-22 14:17:18,979 ClientWindow(1) focus_change(ClientWindow(1), <GParamBoolean 'has-toplevel-focus'>) has-toplevel-focus=True, _been_mapped=True 2020-09-22 14:17:18,982 update_focus(1, True) focused=None, grabbed=None 2020-09-22 14:17:18,987 send_focus(1) 2020-09-22 14:17:18,992 recheck_focus() wid=4187, focused=1, latest=False 2020-09-22 14:17:18,995 recheck_focus() wid=1, focused=1, latest=True 2020-09-22 14:17:30,529 disabled debugging for: 2020-09-22 14:17:30,535 - Logger(xpra.client.client_window_base, focus) 2020-09-22 14:17:30,538 - Logger(xpra.client.gtk_base.gtk_client_window_base, focus, grab) 2020-09-22 14:17:30,542 - Logger(xpra.client.mixins.window_manager, focus)
7397 │ 2020-09-22 14:17:30,935 enabled debugging for: Logger(xpra.x11.models.window, x11, window, focus), Logger(xpra.x11.gtk_x11.send_wm, x11, focus), Logger(xpra.x11.server, server, focus), Logger(xpra.x11.gtk_x11.wm, x11, window, focus), Logger(xpra.server.mixins.window_server, │ focus), Logger(xpra.x11.gtk_x11.world_window, x11, window, focus) 7398 │ 2020-09-22 14:17:31,926 New unix-domain connection received 7399 │ 2020-09-22 14:17:31,926 New unix-domain connection received 7400 │ 2020-09-22 14:17:31,927 on '/run/user/1000/xpra/linux-pc-3' 7401 │ 2020-09-22 14:17:31,927 on '/run/xpra/linux-pc-3' 7402 │ 2020-09-22 14:17:33,758 client 35 @40.711 focus-out-event for wid=1 7403 │ 2020-09-22 14:17:33,791 client 35 @40.734 do_xpra_focus_out_event(<Gdk.EventFocus object at 0x00000000008089f0 (void at 0x00000000059f3840)>) 7404 │ 2020-09-22 14:17:33,799 client 35 @40.745 ClientWindow(1) focus_change(ClientWindow(1), <GParamBoolean 'has-toplevel-focus'>) has-toplevel-focus=False, _been_mapped=True 7405 │ 2020-09-22 14:17:33,799 client 35 @40.748 update_focus(1, False) focused=1, grabbed=None 7406 │ 2020-09-22 14:17:33,799 client 35 @40.752 focus-in-event for wid=4187 7407 │ 2020-09-22 14:17:33,817 client 35 @40.763 do_xpra_focus_in_event(<Gdk.EventFocus object at 0x00000000008089f0 (void at 0x00000000059f3c60)>) been_mapped=True 7408 │ 2020-09-22 14:17:33,817 client 35 @40.769 ClientWindow(4187) focus_change(ClientWindow(4187), <GParamBoolean 'has-toplevel-focus'>) has-toplevel-focus=True, _been_mapped=True 7409 │ 2020-09-22 14:17:33,817 client 35 @40.770 update_focus(4187, True) focused=None, grabbed=None 7410 │ 2020-09-22 14:17:33,818 client 35 @40.772 send_focus(4187) 7411 │ 2020-09-22 14:17:33,818 process_focus: wid=4187 7412 │ 2020-09-22 14:17:33,818 focus wid=4187 has_focus=1 7413 │ 2020-09-22 14:17:33,818 focus: giving focus to WindowModel(0x600016) 7414 │ 2020-09-22 14:17:33,819 Giving focus to 0x600016 7415 │ 2020-09-22 14:17:33,820 ... using XSetInputFocus 7416 │ 2020-09-22 14:17:33,820 focus: will set modified mask to (b'mod2',) using <bound method InputMixin.make_keymask_match of ClientConnection(35 : Protocol(unix-domain socket:/run/user/1000/xpra/linux-pc-3))> 7417 │ 2020-09-22 14:17:33,837 client 35 @40.777 recheck_focus() wid=1, focused=4187, latest=False 7418 │ 2020-09-22 14:17:33,837 client 35 @40.782 recheck_focus() wid=4187, focused=4187, latest=True 7419 │ 2020-09-22 14:17:34,560 focus wid=4187 has_focus=4187 7420 │ 2020-09-22 14:17:34,561 focus wid=4187 has_focus=4187 7421 │ 2020-09-22 14:17:34,748 focus wid=4187 has_focus=4187 7422 │ 2020-09-22 14:17:34,820 focus wid=4187 has_focus=4187 7423 │ 2020-09-22 14:17:34,858 focus wid=4187 has_focus=4187 7424 │ 2020-09-22 14:17:34,886 focus wid=4187 has_focus=4187 7425 │ 2020-09-22 14:17:37,122 client 35 @44.077 focus-out-event for wid=4187 7426 │ 2020-09-22 14:17:37,159 client 35 @44.103 do_xpra_focus_out_event(<Gdk.EventFocus object at 0x000000000075d6d0 (void at 0x00000000059f39a0)>) 7427 │ 2020-09-22 14:17:37,159 client 35 @44.109 ClientWindow(4187) focus_change(ClientWindow(4187), <GParamBoolean 'has-toplevel-focus'>) has-toplevel-focus=False, _been_mapped=True 7428 │ 2020-09-22 14:17:37,178 client 35 @44.117 update_focus(4187, False) focused=4187, grabbed=None 7429 │ 2020-09-22 14:17:37,200 client 35 @44.122 focus-in-event for wid=1 7430 │ 2020-09-22 14:17:37,200 client 35 @44.128 do_xpra_focus_in_event(<Gdk.EventFocus object at 0x000000000075d6d0 (void at 0x00000000059f3a50)>) been_mapped=True 7431 │ 2020-09-22 14:17:37,200 client 35 @44.131 ClientWindow(1) focus_change(ClientWindow(1), <GParamBoolean 'has-toplevel-focus'>) has-toplevel-focus=True, _been_mapped=True 7432 │ 2020-09-22 14:17:37,201 client 35 @44.133 update_focus(1, True) focused=None, grabbed=None 7433 │ 2020-09-22 14:17:37,201 client 35 @44.138 send_focus(1) 7434 │ 2020-09-22 14:17:37,201 process_focus: wid=1 7435 │ 2020-09-22 14:17:37,201 focus wid=1 has_focus=4187 7436 │ 2020-09-22 14:17:37,201 client 35 @44.143 recheck_focus() wid=4187, focused=1, latest=False 7437 │ 2020-09-22 14:17:37,201 focus: giving focus to WindowModel(0x80000a) 7438 │ 2020-09-22 14:17:37,201 client 35 @44.146 recheck_focus() wid=1, focused=1, latest=True 7439 │ 2020-09-22 14:17:37,202 Giving focus to 0x80000a 7440 │ 2020-09-22 14:17:37,202 ... using XSetInputFocus 7441 │ 2020-09-22 14:17:37,202 focus: will set modified mask to (b'mod2',) using <bound method InputMixin.make_keymask_match of ClientConnection(35 : Protocol(unix-domain socket:/run/user/1000/xpra/linux-pc-3))> 7442 │ 2020-09-22 14:17:38,416 focus wid=1 has_focus=1 7443 │ 2020-09-22 14:17:38,504 focus wid=1 has_focus=1 7444 │ 2020-09-22 14:17:38,576 focus wid=1 has_focus=1 7445 │ 2020-09-22 14:17:38,662 focus wid=1 has_focus=1 7446 │ 2020-09-22 14:17:38,734 focus wid=1 has_focus=1 7447 │ 2020-09-22 14:17:38,817 focus wid=1 has_focus=1 7448 │ 2020-09-22 14:17:38,898 focus wid=1 has_focus=1 7449 │ 2020-09-22 14:17:38,971 focus wid=1 has_focus=1 7450 │ 2020-09-22 14:17:39,040 focus wid=1 has_focus=1 7451 │ 2020-09-22 14:17:39,126 focus wid=1 has_focus=1 7452 │ 2020-09-22 14:17:39,188 focus wid=1 has_focus=1 7453 │ 2020-09-22 14:17:39,269 focus wid=1 has_focus=1 7454 │ 2020-09-22 14:17:39,309 focus wid=1 has_focus=1 7455 │ 2020-09-22 14:17:39,501 focus wid=1 has_focus=1 7456 │ 2020-09-22 14:17:39,583 focus wid=1 has_focus=1 7457 │ 2020-09-22 14:17:39,718 focus wid=1 has_focus=1 7458 │ 2020-09-22 14:17:40,898 focus wid=1 has_focus=1 7459 │ 2020-09-22 14:17:40,981 focus wid=1 has_focus=1 7460 │ 2020-09-22 14:17:41,001 focus wid=1 has_focus=1 7461 │ 2020-09-22 14:17:41,051 focus wid=1 has_focus=1 7462 │ 2020-09-22 14:17:41,079 focus wid=1 has_focus=1 7463 │ 2020-09-22 14:17:41,147 focus wid=1 has_focus=1 7464 │ 2020-09-22 14:17:41,255 focus wid=1 has_focus=1 7465 │ 2020-09-22 14:17:41,333 focus wid=1 has_focus=1 7466 │ 2020-09-22 14:17:41,426 focus wid=1 has_focus=1 7467 │ 2020-09-22 14:17:41,527 focus wid=1 has_focus=1 7468 │ 2020-09-22 14:17:41,731 focus wid=1 has_focus=1 7469 │ 2020-09-22 14:17:41,802 focus wid=1 has_focus=1 7470 │ 2020-09-22 14:17:41,882 focus wid=1 has_focus=1 7471 │ 2020-09-22 14:17:41,962 focus wid=1 has_focus=1 7472 │ 2020-09-22 14:17:42,034 focus wid=1 has_focus=1 7473 │ 2020-09-22 14:17:42,115 focus wid=1 has_focus=1 7474 │ 2020-09-22 14:17:42,188 focus wid=1 has_focus=1 7475 │ 2020-09-22 14:17:42,267 focus wid=1 has_focus=1 7476 │ 2020-09-22 14:17:42,337 focus wid=1 has_focus=1 7477 │ 2020-09-22 14:17:42,384 focus wid=1 has_focus=1 7478 │ 2020-09-22 14:17:42,428 focus wid=1 has_focus=1 7479 │ 2020-09-22 14:17:42,478 focus wid=1 has_focus=1 7480 │ 2020-09-22 14:17:42,505 focus wid=1 has_focus=1 7481 │ 2020-09-22 14:17:42,564 focus wid=1 has_focus=1 7482 │ 2020-09-22 14:17:42,598 focus wid=1 has_focus=1 7483 │ 2020-09-22 14:17:42,640 focus wid=1 has_focus=1 7484 │ 2020-09-22 14:17:42,700 focus wid=1 has_focus=1 7485 │ 2020-09-22 14:17:42,758 focus wid=1 has_focus=1 7486 │ 2020-09-22 14:17:42,843 focus wid=1 has_focus=1 7487 │ 2020-09-22 14:17:42,928 focus wid=1 has_focus=1 7488 │ 2020-09-22 14:17:42,958 focus wid=1 has_focus=1 7489 │ 2020-09-22 14:17:43,026 focus wid=1 has_focus=1 7490 │ 2020-09-22 14:17:43,038 focus wid=1 has_focus=1 7491 │ 2020-09-22 14:17:43,123 focus wid=1 has_focus=1 7492 │ 2020-09-22 14:17:43,198 focus wid=1 has_focus=1 7493 │ 2020-09-22 14:17:43,288 focus wid=1 has_focus=1 7494 │ 2020-09-22 14:17:43,470 New unix-domain connection received 7495 │ 2020-09-22 14:17:43,470 on '/run/user/1000/xpra/linux-pc-3' 7496 │ 2020-09-22 14:17:43,477 disabled debugging for: Logger(xpra.x11.models.window, x11, window, focus), Logger(xpra.x11.gtk_x11.send_wm, x11, focus), Logger(xpra.x11.server, server, focus), Logger(xpra.x11.gtk_x11.wm, x11, window, focus), Logger(xpra.server.mixins.window_server │ , focus), Logger(xpra.x11.gtk_x11.world_window, x11, window, focus) 7497 │ 2020-09-22 14:17:44,468 New unix-domain connection received 7498 │ 2020-09-22 14:17:44,468 on '/run/user/1000/xpra/linux-pc-3' 7499 │ 2020-09-22 14:17:44,469 New unix-domain connection received 7500 │ 2020-09-22 14:17:44,469 on '/run/xpra/linux-pc-3' 7501 │ 2020-09-22 14:17:48,701 New unix-domain connection received 7502 │ 2020-09-22 14:17:48,701 on '/run/user/1000/xpra/linux-pc-3' 7503 │ 2020-09-22 14:17:48,727 client 35 @55.680 disabled debugging for: 7504 │ 2020-09-22 14:17:48,739 client 35 @55.686 - Logger(xpra.client.client_window_base, focus) 7505 │ 2020-09-22 14:17:48,739 client 35 @55.689 - Logger(xpra.client.gtk_base.gtk_client_window_base, focus, grab) 7506 │ 2020-09-22 14:17:48,739 client 35 @55.693 - Logger(xpra.client.mixins.window_manager, focus) 7507 │ 2020-09-22 14:17:49,699 New unix-domain connection received 7508 │ 2020-09-22 14:17:49,699 on '/run/user/1000/xpra/linux-pc-3' 7509 │ 2020-09-22 14:17:49,699 New unix-domain connection received 7510 │ 2020-09-22 14:17:49,699 on '/run/xpra/linux-pc-3'
On a long-lived, continuously used server, at "some occasions", the following is observed:
I am switching windows (gnome-terminal to sublime-text), and I issue the Ctrl+Shift+R shortcut.
I expect that Sublime will intercept it, but instead Terminal does.
On the Windows side, the GUI clearly indicates that the focus is with the Sublime.
(Then I enabled debugging and re-did this again).
xpra control :3 debug enable focus xpra control :3 client debug enable focus xpra control :3 debug disable focus xpra control :3 client debug disable focus
The workaround seems to be to focus a non-xpra window (i.e. gnome-terminal > notepad > sublime). I don't know if mixing among different-server xpra windows would work also.
Apologies if this is a duplicate, but I wanted to avoid mixing tickets
Attachments (1)
Change History (10)
comment:1 Changed 20 months ago by
Owner: | changed from Antoine Martin to stdedos |
---|
comment:2 Changed 20 months ago by
Is there a not-so-verbose keyboard events logger that fires only on sending/receiving a finalized shortcut (and not that barrage of text that comes when sneezing at kb/mouse)?
I could also try to track it closer - but I still don't see the focus change moment. If I had to draw a line between wid=1 and wid=4187 would be this:
# focus wid=1 7435 │ 2020-09-22 14:17:37,201 focus wid=1 has_focus=4187 # focus wid=4187
I guess for you this makes sense, but for me it doesn't. I read "focus on wid=1 is on the wid=4187" (but why use "wid" twice?), but I could also read "focus is on GlobalWindow (wid=1) and on the wid=4187" (which makes no sense - double focus?!?).
Is there something "more clear" like change_focus_to(wid=4187)
?
comment:3 follow-up: 7 Changed 20 months ago by
Is there a not-so-verbose keyboard events logger that fires only on sending/receiving a finalized shortcut (and not that barrage of text that comes when sneezing at kb/mouse)?
No, but feel free to create a ticket for that.
Until then, you can use grep
to isolate the events you really care about.
focus wid=1 has_focus=4187
I guess for you this makes sense, but for me it doesn't.
focus wid 1, wid 4187 currently has the focus
comment:4 Changed 20 months ago by
So, no - neither wid=1 makes sense, nor wid=4187:
xwininfo: Window id: 0x80000a "Terminal" xwininfo: Window id: 0x600016 "Sublime Text"
$ xwininfo -id 1 X Error: 9: Bad Drawable: 0x1 Request Major code: 14 Request serial number: 3 xwininfo: error: No such window with id 0x1. $ xwininfo -id 4187 X Error: 9: Bad Drawable: 0x105b Request Major code: 14 Request serial number: 3 xwininfo: error: No such window with id 0x105b.
I really think xpra fails or forgets to change focus on "some cases", and it is happening right now as I write this.
I tried re-initializing, taking focus to native windows, give it to terminal - nothing.
That wid=1 WANTS the focus, and then gives it to "Terminal" instead (but without seeming to update that "this wid=1" is not the real window that is focused instead)
2020-10-07 13:55:06,482 reset_focus() 6048 / WindowModel(0x180004c) had focus (toplevel=WorldWindow(0x40000d)) 2020-10-07 13:55:06,484 reset_x_focus: widget with focus: None 2020-10-07 13:55:06,485 Take Focus -> world window 2020-10-07 13:55:06,485 sending WM_TAKE_FOCUS: 0x40000d, X11 timestamp=3476874623 2020-10-07 13:55:06,542 process_focus: wid=5611 2020-10-07 13:55:06,542 focus wid=5611 has_focus=0 2020-10-07 13:55:06,542 focus: giving focus to WindowModel(0x103968e) 2020-10-07 13:55:06,544 Giving focus to 0x103968e 2020-10-07 13:55:06,545 ... using XSetInputFocus 2020-10-07 13:55:06,546 focus: will set modified mask to (b'mod2',) using <bound method InputMixin.make_keymask_match of ClientConnection(53 : Protocol(unix-domain socket:/run/user/1000/xpra/usr-linux-3))> 2020-10-07 13:55:07,055 process_focus: wid=0 2020-10-07 13:55:07,055 focus wid=0 has_focus=5611 2020-10-07 13:55:07,055 reset_focus() 5611 / WindowModel(0x103968e) had focus (toplevel=WorldWindow(0x40000d)) 2020-10-07 13:55:07,056 reset_x_focus: widget with focus: None 2020-10-07 13:55:07,056 Take Focus -> world window 2020-10-07 13:55:07,057 sending WM_TAKE_FOCUS: 0x40000d, X11 timestamp=3476875195 2020-10-07 13:55:07,097 process_focus: wid=1 2020-10-07 13:55:07,097 focus wid=1 has_focus=0 2020-10-07 13:55:07,098 focus: giving focus to WindowModel(0x80000a) 2020-10-07 13:55:07,098 Giving focus to 0x80000a 2020-10-07 13:55:07,099 ... using XSetInputFocus 2020-10-07 13:55:07,099 focus: will set modified mask to (b'mod2',) using <bound method InputMixin.make_keymask_match of ClientConnection(53 : Protocol(unix-domain socket:/run/user/1000/xpra/usr-linux-3))> 2020-10-07 13:55:09,469 process_focus: wid=6048 2020-10-07 13:55:09,470 focus wid=6048 has_focus=1 2020-10-07 13:55:09,470 focus: giving focus to WindowModel(0x180004c) 2020-10-07 13:55:09,471 Giving focus to 0x180004c 2020-10-07 13:55:09,473 focus: will set modified mask to (b'mod2',) using <bound method InputMixin.make_keymask_match of ClientConnection(53 : Protocol(unix-domain socket:/run/user/1000/xpra/usr-linux-3))> 2020-10-07 13:55:09,756 focus wid=6048 has_focus=6048 2020-10-07 13:55:10,365 focus wid=6048 has_focus=6048 2020-10-07 13:55:10,488 focus wid=6048 has_focus=6048 2020-10-07 13:55:12,074 focus wid=6048 has_focus=6048 2020-10-07 13:55:16,238 focus wid=6048 has_focus=6048 2020-10-07 13:55:16,356 focus wid=6048 has_focus=6048 2020-10-07 13:55:16,468 focus wid=6048 has_focus=6048 2020-10-07 13:55:18,103 focus wid=6048 has_focus=6048 2020-10-07 13:55:19,895 process_focus: wid=1 2020-10-07 13:55:19,895 focus wid=1 has_focus=6048 2020-10-07 13:55:19,896 focus: giving focus to WindowModel(0x80000a) 2020-10-07 13:55:19,896 Giving focus to 0x80000a 2020-10-07 13:55:19,896 ... using XSetInputFocus 2020-10-07 13:55:19,897 focus: will set modified mask to (b'mod2',) using <bound method InputMixin.make_keymask_match of ClientConnection(53 : Protocol(unix-domain socket:/run/user/1000/xpra/usr-linux-3))> 2020-10-07 13:55:22,536 process_focus: wid=0 2020-10-07 13:55:22,536 focus wid=0 has_focus=1 2020-10-07 13:55:22,536 reset_focus() 1 / WindowModel(0x80000a) had focus (toplevel=WorldWindow(0x40000d)) 2020-10-07 13:55:22,537 reset_x_focus: widget with focus: None 2020-10-07 13:55:22,537 Take Focus -> world window 2020-10-07 13:55:22,538 sending WM_TAKE_FOCUS: 0x40000d, X11 timestamp=3476890676 2020-10-07 13:55:23,238 process_focus: wid=1 2020-10-07 13:55:23,238 focus wid=1 has_focus=0 2020-10-07 13:55:23,238 focus: giving focus to WindowModel(0x80000a) 2020-10-07 13:55:23,239 Giving focus to 0x80000a 2020-10-07 13:55:23,239 ... using XSetInputFocus 2020-10-07 13:55:23,239 focus: will set modified mask to (b'mod2',) using <bound method InputMixin.make_keymask_match of ClientConnection(53 : Protocol(unix-domain socket:/run/user/1000/xpra/usr-linux-3))> 2020-10-07 13:55:35,854 process_focus: wid=6048 2020-10-07 13:55:35,854 focus wid=6048 has_focus=1 2020-10-07 13:55:35,854 focus: giving focus to WindowModel(0x180004c) 2020-10-07 13:55:35,855 Giving focus to 0x180004c 2020-10-07 13:55:35,856 focus: will set modified mask to (b'mod2',) using <bound method InputMixin.make_keymask_match of ClientConnection(53 : Protocol(unix-domain socket:/run/user/1000/xpra/usr-linux-3))> 2020-10-07 13:55:40,408 focus wid=6048 has_focus=6048 2020-10-07 13:55:40,799 focus wid=6048 has_focus=6048 2020-10-07 13:55:40,890 focus wid=6048 has_focus=6048 2020-10-07 13:55:40,958 focus wid=6048 has_focus=6048 2020-10-07 13:55:56,904 process_focus: wid=1 2020-10-07 13:55:56,904 focus wid=1 has_focus=6048 2020-10-07 13:55:56,905 focus: giving focus to WindowModel(0x80000a) 2020-10-07 13:55:56,906 Giving focus to 0x80000a 2020-10-07 13:55:56,907 ... using XSetInputFocus 2020-10-07 13:55:56,908 focus: will set modified mask to (b'mod2',) using <bound method InputMixin.make_keymask_match of ClientConnection(53 : Protocol(unix-domain socket:/run/user/1000/xpra/usr-linux-3))> 2020-10-07 13:55:57,413 focus wid=1 has_focus=1 2020-10-07 13:55:57,720 focus wid=1 has_focus=1 2020-10-07 13:55:57,913 focus wid=1 has_focus=1 2020-10-07 13:55:57,917 focus wid=1 has_focus=1 2020-10-07 13:55:59,833 focus wid=1 has_focus=1 2020-10-07 13:55:59,920 focus wid=1 has_focus=1 2020-10-07 13:55:59,933 focus wid=1 has_focus=1 2020-10-07 13:56:00,052 focus wid=1 has_focus=1 ============================================================================================================================== giving focus to the browser 2020-10-07 13:55:06,482 reset_focus() 6048 / WindowModel(0x180004c) had focus (toplevel=WorldWindow(0x40000d)) 2020-10-07 13:55:06,484 reset_x_focus: widget with focus: None 2020-10-07 13:55:06,485 Take Focus -> world window 2020-10-07 13:55:06,485 sending WM_TAKE_FOCUS: 0x40000d, X11 timestamp=3476874623 2020-10-07 13:55:06,542 process_focus: wid=5611 2020-10-07 13:55:06,542 focus wid=5611 has_focus=0 2020-10-07 13:55:06,542 focus: giving focus to WindowModel(0x103968e) 2020-10-07 13:55:06,544 Giving focus to 0x103968e 2020-10-07 13:55:06,545 ... using XSetInputFocus 2020-10-07 13:55:06,546 focus: will set modified mask to (b'mod2',) using <bound method InputMixin.make_keymask_match of ClientConnection(53 : Protocol(unix-domain socket:/run/user/1000/xpra/usr-linux-3))> 2020-10-07 13:55:07,055 process_focus: wid=0 2020-10-07 13:55:07,055 focus wid=0 has_focus=5611 2020-10-07 13:55:07,055 reset_focus() 5611 / WindowModel(0x103968e) had focus (toplevel=WorldWindow(0x40000d)) 2020-10-07 13:55:07,056 reset_x_focus: widget with focus: None 2020-10-07 13:55:07,056 Take Focus -> world window 2020-10-07 13:55:07,057 sending WM_TAKE_FOCUS: 0x40000d, X11 timestamp=3476875195 2020-10-07 13:55:07,097 process_focus: wid=1 2020-10-07 13:55:07,097 focus wid=1 has_focus=0 2020-10-07 13:55:07,098 focus: giving focus to WindowModel(0x80000a) 2020-10-07 13:55:07,098 Giving focus to 0x80000a 2020-10-07 13:55:07,099 ... using XSetInputFocus 2020-10-07 13:55:07,099 focus: will set modified mask to (b'mod2',) using <bound method InputMixin.make_keymask_match of ClientConnection(53 : Protocol(unix-domain socket:/run/user/1000/xpra/usr-linux-3))> 2020-10-07 13:55:09,469 process_focus: wid=6048 2020-10-07 13:55:09,470 focus wid=6048 has_focus=1 2020-10-07 13:55:09,470 focus: giving focus to WindowModel(0x180004c) 2020-10-07 13:55:09,471 Giving focus to 0x180004c 2020-10-07 13:55:09,473 focus: will set modified mask to (b'mod2',) using <bound method InputMixin.make_keymask_match of ClientConnection(53 : Protocol(unix-domain socket:/run/user/1000/xpra/usr-linux-3))> 2020-10-07 13:55:09,756 focus wid=6048 has_focus=6048 2020-10-07 13:55:10,365 focus wid=6048 has_focus=6048 2020-10-07 13:55:10,488 focus wid=6048 has_focus=6048 2020-10-07 13:55:12,074 focus wid=6048 has_focus=6048 2020-10-07 13:55:16,238 focus wid=6048 has_focus=6048 2020-10-07 13:55:16,356 focus wid=6048 has_focus=6048 2020-10-07 13:55:16,468 focus wid=6048 has_focus=6048 2020-10-07 13:55:18,103 focus wid=6048 has_focus=6048 2020-10-07 13:55:19,895 process_focus: wid=1 2020-10-07 13:55:19,895 focus wid=1 has_focus=6048 2020-10-07 13:55:19,896 focus: giving focus to WindowModel(0x80000a) 2020-10-07 13:55:19,896 Giving focus to 0x80000a 2020-10-07 13:55:19,896 ... using XSetInputFocus 2020-10-07 13:55:19,897 focus: will set modified mask to (b'mod2',) using <bound method InputMixin.make_keymask_match of ClientConnection(53 : Protocol(unix-domain socket:/run/user/1000/xpra/usr-linux-3))> 2020-10-07 13:55:22,536 process_focus: wid=0 2020-10-07 13:55:22,536 focus wid=0 has_focus=1 2020-10-07 13:55:22,536 reset_focus() 1 / WindowModel(0x80000a) had focus (toplevel=WorldWindow(0x40000d)) 2020-10-07 13:55:22,537 reset_x_focus: widget with focus: None 2020-10-07 13:55:22,537 Take Focus -> world window 2020-10-07 13:55:22,538 sending WM_TAKE_FOCUS: 0x40000d, X11 timestamp=3476890676 2020-10-07 13:55:23,238 process_focus: wid=1 2020-10-07 13:55:23,238 focus wid=1 has_focus=0 2020-10-07 13:55:23,238 focus: giving focus to WindowModel(0x80000a) 2020-10-07 13:55:23,239 Giving focus to 0x80000a 2020-10-07 13:55:23,239 ... using XSetInputFocus 2020-10-07 13:55:23,239 focus: will set modified mask to (b'mod2',) using <bound method InputMixin.make_keymask_match of ClientConnection(53 : Protocol(unix-domain socket:/run/user/1000/xpra/usr-linux-3))> 2020-10-07 13:55:35,854 process_focus: wid=6048 2020-10-07 13:55:35,854 focus wid=6048 has_focus=1 2020-10-07 13:55:35,854 focus: giving focus to WindowModel(0x180004c) 2020-10-07 13:55:35,855 Giving focus to 0x180004c 2020-10-07 13:55:35,856 focus: will set modified mask to (b'mod2',) using <bound method InputMixin.make_keymask_match of ClientConnection(53 : Protocol(unix-domain socket:/run/user/1000/xpra/usr-linux-3))> 2020-10-07 13:55:40,408 focus wid=6048 has_focus=6048 2020-10-07 13:55:40,799 focus wid=6048 has_focus=6048 2020-10-07 13:55:40,890 focus wid=6048 has_focus=6048 2020-10-07 13:55:40,958 focus wid=6048 has_focus=6048 2020-10-07 13:55:56,904 process_focus: wid=1 2020-10-07 13:55:56,904 focus wid=1 has_focus=6048 2020-10-07 13:55:56,905 focus: giving focus to WindowModel(0x80000a) 2020-10-07 13:55:56,906 Giving focus to 0x80000a 2020-10-07 13:55:56,907 ... using XSetInputFocus 2020-10-07 13:55:56,908 focus: will set modified mask to (b'mod2',) using <bound method InputMixin.make_keymask_match of ClientConnection(53 : Protocol(unix-domain socket:/run/user/1000/xpra/usr-linux-3))> 2020-10-07 13:55:57,413 focus wid=1 has_focus=1 2020-10-07 13:55:57,720 focus wid=1 has_focus=1 2020-10-07 13:55:57,913 focus wid=1 has_focus=1 2020-10-07 13:55:57,917 focus wid=1 has_focus=1 2020-10-07 13:55:59,833 focus wid=1 has_focus=1 2020-10-07 13:55:59,920 focus wid=1 has_focus=1 2020-10-07 13:55:59,933 focus wid=1 has_focus=1 2020-10-07 13:56:00,052 focus wid=1 has_focus=1
comment:5 Changed 20 months ago by
Description: | modified (diff) |
---|
Changed 20 months ago by
Attachment: | Xpra_cmd_2020-10-07_13-52-59.png added |
---|
comment:6 Changed 20 months ago by
Okay, I verified that it's not that:
- wid=1 WANTS focus
but rather
- Jetbrains windows "forget to get focus"
as the shortcut is passed to whatever window happened to be last active within the xpra realm
2020-10-07 14:11:59,107 focus wid=6048 has_focus=0 2020-10-07 14:11:59,108 focus: giving focus to WindowModel(0x180004c) 2020-10-07 14:11:59,108 Giving focus to 0x180004c 2020-10-07 14:11:59,109 focus: will set modified mask to (b'mod2',) using <bound method InputMixin.make_keymask_match of ClientConnection(54 : Protocol(unix-domain socket:/run/user/1000/xpra/usr-linux-3))> ============================================================================================================== shortcut #1 2020-10-07 14:12:00,507 focus wid=6048 has_focus=6048 2020-10-07 14:12:00,701 focus wid=6048 has_focus=6048 ^P2020-10-07 14:12:00,801 focus wid=6048 has_focus=6048 2020-10-07 14:12:03,154 focus wid=6048 has_focus=6048 ============================================================================================================== shortcut #2 ^P2020-10-07 14:12:03,255 focus wid=6048 has_focus=6048 2020-10-07 14:12:04,085 focus wid=6048 has_focus=6048 ============================================================================================================== both go to wid="6048 / WindowModel(0x180004c)" (Terminal - the same one who's taking this output, as evident by the ^P) 2020-10-07 14:12:09,478 process_focus: wid=0 2020-10-07 14:12:09,478 focus wid=0 has_focus=6048 2020-10-07 14:12:09,479 reset_focus() 6048 / WindowModel(0x180004c) had focus (toplevel=WorldWindow(0x40000d)) 2020-10-07 14:12:09,482 reset_x_focus: widget with focus: None 2020-10-07 14:12:09,483 Take Focus -> world window 2020-10-07 14:12:09,483 sending WM_TAKE_FOCUS: 0x40000d, X11 timestamp=3477897621 2020-10-07 14:12:09,555 process_focus: wid=6593 2020-10-07 14:12:09,555 focus wid=6593 has_focus=0 2020-10-07 14:12:09,555 focus: giving focus to WindowModel(0xe00007) 2020-10-07 14:12:09,556 Giving focus to 0xe00007 2020-10-07 14:12:09,557 ... using XSetInputFocus 2020-10-07 14:12:09,557 focus: will set modified mask to (b'mod2',) using <bound method InputMixin.make_keymask_match of ClientConnection(54 : Protocol(unix-domain socket:/run/user/1000/xpra/usr-linux-3))> 2020-10-07 14:12:10,890 process_focus: wid=0 2020-10-07 14:12:10,890 focus wid=0 has_focus=6593 2020-10-07 14:12:10,890 reset_focus() 6593 / WindowModel(0xe00007) had focus (toplevel=WorldWindow(0x40000d)) 2020-10-07 14:12:10,891 reset_x_focus: widget with focus: None 2020-10-07 14:12:10,891 Take Focus -> world window 2020-10-07 14:12:10,891 sending WM_TAKE_FOCUS: 0x40000d, X11 timestamp=3477899030 2020-10-07 14:12:11,002 process_focus: wid=6048 2020-10-07 14:12:11,002 focus wid=6048 has_focus=0 2020-10-07 14:12:11,003 focus: giving focus to WindowModel(0x180004c) 2020-10-07 14:12:11,003 Giving focus to 0x180004c 2020-10-07 14:12:11,004 focus: will set modified mask to (b'mod2',) using <bound method InputMixin.make_keymask_match of ClientConnection(54 : Protocol(unix-domain socket:/run/user/1000/xpra/usr-linux-3))> ============================================================================================================== shortcut #1 2020-10-07 14:12:11,670 focus wid=6048 has_focus=6048 2020-10-07 14:12:12,030 focus wid=6048 has_focus=6048 ============================================================================================================== shortcut #2 2020-10-07 14:12:12,137 focus wid=6048 has_focus=6048 2020-10-07 14:12:12,269 focus wid=6048 has_focus=6048 ============================================================================================================== both go to wid="6593 / WindowModel(0xe00007)" (Sublime Merge) 2020-10-07 14:12:14,316 process_focus: wid=0 2020-10-07 14:12:14,316 focus wid=0 has_focus=6048 2020-10-07 14:12:14,316 reset_focus() 6048 / WindowModel(0x180004c) had focus (toplevel=WorldWindow(0x40000d)) 2020-10-07 14:12:14,317 reset_x_focus: widget with focus: None 2020-10-07 14:12:14,317 Take Focus -> world window 2020-10-07 14:12:14,317 sending WM_TAKE_FOCUS: 0x40000d, X11 timestamp=3477902456 2020-10-07 14:12:14,356 process_focus: wid=6593 2020-10-07 14:12:14,356 focus wid=6593 has_focus=0 2020-10-07 14:12:14,356 focus: giving focus to WindowModel(0xe00007) 2020-10-07 14:12:14,357 Giving focus to 0xe00007 2020-10-07 14:12:14,357 ... using XSetInputFocus 2020-10-07 14:12:14,357 focus: will set modified mask to (b'mod2',) using <bound method InputMixin.make_keymask_match of ClientConnection(54 : Protocol(unix-domain socket:/run/user/1000/xpra/usr-linux-3))> 2020-10-07 14:12:18,904 process_focus: wid=1 2020-10-07 14:12:18,904 focus wid=1 has_focus=6593 2020-10-07 14:12:18,904 focus: giving focus to WindowModel(0x80000a) 2020-10-07 14:12:18,906 Giving focus to 0x80000a 2020-10-07 14:12:18,906 ... using XSetInputFocus 2020-10-07 14:12:18,908 focus: will set modified mask to (b'mod2',) using <bound method InputMixin.make_keymask_match of ClientConnection(54 : Protocol(unix-domain socket:/run/user/1000/xpra/usr-linux-3))>
Which makes this a direct duplicate of #2852.
comment:7 Changed 20 months ago by
Replying to Antoine Martin:
Is there a not-so-verbose keyboard events logger that fires only on sending/receiving a finalized shortcut (and not that barrage of text that comes when sneezing at kb/mouse)?
No, but feel free to create a ticket for that.
comment:8 Changed 18 months ago by
Resolution: | → duplicate |
---|---|
Status: | new → closed |
Which makes this a direct duplicate of #2852.
comment:9 Changed 16 months ago by
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/2882
There's nothing suspicious at all in this log, the last focus switch happens here:
I assume that the terminal is wid 1 and sublime-text is wid 4187.
The terminal gets the focus and not sublime text.
If I can't reproduce this, it's unlikely to get fixed..