exwm icon indicating copy to clipboard operation
exwm copied to clipboard

Can't switch away from some workspaces with single X window

Open dto opened this issue 5 years ago • 24 comments

I switched to Emacs 27.1 (from Git head) and have a problem. When I try to switch to another workspace via Super-1/2/3 etc, when using whichever is the most recently started X window, the workspace switch happens for a split second and then I am pulled back to the original workspace with the X window. To be able to switch workspaces, I have to hide the X window first.

dto avatar Dec 07 '19 18:12 dto

To my untrained ears, the description sounds similar to https://github.com/ch11ng/exwm/issues/617#issuecomment-520210875. If you look at the issue, I have linked to a screen-recording of the issue.

  1. What application are you using?
  2. Do you have custom settings for windows of these class?
  3. Could you please share a screen-recording? This will tell how your windows are arranged, in what mode they are and where the focus etc.

emacksnotes avatar Dec 08 '19 07:12 emacksnotes

You may also consider sharing XELB-DEBUG log

See

  1. https://github.com/ch11ng/exwm/wiki/EXWM-User-Guide#how-to-report-a-bug
  2. https://github.com/ch11ng/exwm/issues/671#issuecomment-541388417

emacksnotes avatar Dec 08 '19 07:12 emacksnotes

@dto Do you have a multi-monitor setup or is mouse-autoselect-window enabled? Which mode (line-mode or char-mode) was the X window in?

ch11ng avatar Dec 08 '19 11:12 ch11ng

I can confirm this bug.

I have two workspaces on differen screens. Buffer firefox<2> is on workspace 0 and scratch is on workspace 1. When I try to switch from workspace 0 to 1 with function `exwm-workspace-switch' focus jump back to workspace 0.

Here is attached xelb debug log, where I try to change workspace four times: xelb.log

Answers to second comment: 1.) I'm using firefox. But any other X application have same behaviour. 2.) I don't have any custom setting for firefox. 3.) It is in line mode. I try change to char mode but it is the same result.

Note: This happens only if frame with firefox has only one window. If I split frame into two windows (with at least one buffer which is not exwm) this doesn't happen.

mobid avatar Mar 03 '20 06:03 mobid

The problem is with the logs like:

[07:25:31] exwm-input--on-buffer-list-update:	current-buffer=#<buffer  firefox<2>> selected-window=#<window 21 on  firefox<2>>
[07:25:31] exwm-input--on-buffer-list-update:	current-buffer=#<buffer  firefox<2>> selected-window=#<window 21 on  firefox<2>>

I'm not sure why buffer-list-update-hook was invoked. Could you help inspecting this by adding the following form in your config file?

(advice-add #'exwm-input--on-buffer-list-update :before
            (lambda (&rest r)
              (exwm--log "CALL STACK: %s" (cddr (reverse (xcb-debug:-call-stack))))))

ch11ng avatar Mar 08 '20 07:03 ch11ng

Here is the log with call stack: xelb.log

mobid avatar Mar 09 '20 06:03 mobid

I figured out something.

If I have in configuration this snippet, which show me whenever JBoss is running, the problem is present when I try to change workspace with mouse click too.

(defun jboss-pid ()
  (let ((default-directory "~/"))
    (s-trim-right (shell-command-to-string "ps -eo pid,args | grep java | grep -i jboss | grep -v 'pid,args' | sed 's/^ \\+//' | cut -d' ' -f1"))))
(add-to-list 'global-mode-string '(:eval (if (string-empty-p (jboss-pid)) "" " JBoss")) t)

If I put this out, the problem is only present when I call `exwm-workspace-switch' command interactively.

mobid avatar Mar 09 '20 14:03 mobid

@mobid From the logs it's clearly w3m-redisplay-pages-automatically from the w3m package that triggered select-window, which invoked buffer-list-update-hook and caused the problem. Depending on your needs this feature can be disabled by setting w3m-redisplay-pages-automatically-p to nil.

ch11ng avatar Mar 15 '20 06:03 ch11ng

Thank you for solution. It works fine now.

I was also modify jboss-pid function:

(defun jboss-pid ()
  (let ((default-directory "~/")
         (buffer-list-update-hook '()))
    ...))

mobid avatar Mar 16 '20 19:03 mobid

@dto, is @mobid's issue related to yours? Are you still experiencing the same problem? If so, could you provide the requested information?

medranocalvo avatar Mar 27 '20 17:03 medranocalvo

For me, the issue appears to be eyebrowse. Disabling eyebrowse fixes the issue.

log
[02:41:19] :	CALL STACK: ((t exwm-input--on-buffer-list-update) (t run-hooks buffer-list-update-hook) (t get-buffer-create  *temp*) (t generate-new-buffer  *temp*) (t format-spec %s ((115 . 1) (116 . ))) (t eyebrowse-format-slot (1 (((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 4) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 104) (min-pixel-width . 120) (min-pixel-height-ignore . 52) (min-pixel-width-ignore . 40) (min-pixel-height-safe . 26) (min-pixel-width-safe . 24)) leaf (pixel-width . 3840) (pixel-height . 3014) (total-width . 320) (total-height . 115) (normal-height . 1.0) (normal-width . 1.0) (buffer *spacemacs* (selected . t) (hscroll . 0) (fringes 8 8 nil nil) (margins nil) (scroll-bars nil 0 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 29) (start . 1))) )) (t #[257 \211@\211\300U\203\0\301\202
\0\302\303 \304\305\306\307\310\311\312
!\313"\314\315\316&#\210\211\262\317\320!\321\322\323	\324\325\326\327&\207 [1 eyebrowse-mode-line-active eyebrowse-mode-line-inactive make-sparse-keymap define-key [mode-line mouse-1] make-byte-code 257 \301\300!\207 vconcat vector [eyebrowse-switch-to-window-config] 3 

(fn E) e mouse-1: Switch to indicated workspace eyebrowse-format-slot propertize face slot mouse-face mode-line-highlight local-map help-echo] 18

(fn WINDOW-CONFIG)] (1 (((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 4) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 104) (min-pixel-width . 120) (min-pixel-height-ignore . 52) (min-pixel-width-ignore . 40) (min-pixel-height-safe . 26) (min-pixel-width-safe . 24)) leaf (pixel-width . 3840) (pixel-height . 3014) (total-width . 320) (total-height . 115) (normal-height . 1.0) (normal-width . 1.0) (buffer spacemacs (selected . t) (hscroll . 0) (fringes 8 8 nil nil) (margins nil) (scroll-bars nil 0 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 29) (start . 1))) )) (t mapconcat #[257 \211@\211\300U\203\0\301\202 \0\302\303 \304\305\306\307\310\311\312 !\313"\314\315\316&#\210\211\262\317\320!\321\322\323 \324\325\326\327&\207 [1 eyebrowse-mode-line-active eyebrowse-mode-line-inactive make-sparse-keymap define-key [mode-line mouse-1] make-byte-code 257 \301\300!\207 vconcat vector [eyebrowse-switch-to-window-config] 3

(fn E) e mouse-1: Switch to indicated workspace eyebrowse-format-slot propertize face slot mouse-face mode-line-highlight local-map help-echo] 18

(fn WINDOW-CONFIG)] ((1 (((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 4) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 104) (min-pixel-width . 120) (min-pixel-height-ignore . 52) (min-pixel-width-ignore . 40) (min-pixel-height-safe . 26) (min-pixel-width-safe . 24)) leaf (pixel-width . 3840) (pixel-height . 3014) (total-width . 320) (total-height . 115) (normal-height . 1.0) (normal-width . 1.0) (buffer spacemacs (selected . t) (hscroll . 0) (fringes 8 8 nil nil) (margins nil) (scroll-bars nil 0 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 29) (start . 1))) )) , ) (t eyebrowse-mode-line-indicator) (t eval (eyebrowse-mode-line-indicator)) (t format-mode-line ( (:eval (doom-modeline-segment--misc-info)) (:eval (doom-modeline-segment--media-info)) (:eval (doom-modeline-segment--major-mode)) (:eval (doom-modeline-segment--process)) (:eval (doom-modeline-segment--vcs)))) (t doom-modeline-format--media) (t eval (doom-modeline-format--media)) (t redisplay_internal (C function))) [02:41:19] exwm-input--on-buffer-list-update: current-buffer=#<buffer *Firefox: Timers - GNU Emacs Lisp Reference Manual> selected-window=#<window 148 on *Firefox: Timers - GNU Emacs Lisp Reference Manual> [02:41:19] : CALL STACK: ((t exwm-input--on-buffer-list-update) (t run-hooks buffer-list-update-hook) (t kill-buffer #) (t #[nil \301!\205 \0\302!\207 [temp-buffer buffer-name kill-buffer] 2]) (t format-spec %s ((115 . 1) (116 . ))) (t eyebrowse-format-slot (1 (((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 4) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 104) (min-pixel-width . 120) (min-pixel-height-ignore . 52) (min-pixel-width-ignore . 40) (min-pixel-height-safe . 26) (min-pixel-width-safe . 24)) leaf (pixel-width . 3840) (pixel-height . 3014) (total-width . 320) (total-height . 115) (normal-height . 1.0) (normal-width . 1.0) (buffer spacemacs (selected . t) (hscroll . 0) (fringes 8 8 nil nil) (margins nil) (scroll-bars nil 0 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 29) (start . 1))) )) (t #[257 \211@\211\300U\203\0\301\202 \0\302\303 \304\305\306\307\310\311\312 !\313"\314\315\316&#\210\211\262\317\320!\321\322\323 \324\325\326\327&\207 [1 eyebrowse-mode-line-active eyebrowse-mode-line-inactive make-sparse-keymap define-key [mode-line mouse-1] make-byte-code 257 \301\300!\207 vconcat vector [eyebrowse-switch-to-window-config] 3

(fn E) e mouse-1: Switch to indicated workspace eyebrowse-format-slot propertize face slot mouse-face mode-line-highlight local-map help-echo] 18

(fn WINDOW-CONFIG)] (1 (((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 4) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 104) (min-pixel-width . 120) (min-pixel-height-ignore . 52) (min-pixel-width-ignore . 40) (min-pixel-height-safe . 26) (min-pixel-width-safe . 24)) leaf (pixel-width . 3840) (pixel-height . 3014) (total-width . 320) (total-height . 115) (normal-height . 1.0) (normal-width . 1.0) (buffer spacemacs (selected . t) (hscroll . 0) (fringes 8 8 nil nil) (margins nil) (scroll-bars nil 0 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 29) (start . 1))) )) (t mapconcat #[257 \211@\211\300U\203\0\301\202 \0\302\303 \304\305\306\307\310\311\312 !\313"\314\315\316&#\210\211\262\317\320!\321\322\323 \324\325\326\327&\207 [1 eyebrowse-mode-line-active eyebrowse-mode-line-inactive make-sparse-keymap define-key [mode-line mouse-1] make-byte-code 257 \301\300!\207 vconcat vector [eyebrowse-switch-to-window-config] 3

(fn E) e mouse-1: Switch to indicated workspace eyebrowse-format-slot propertize face slot mouse-face mode-line-highlight local-map help-echo] 18

(fn WINDOW-CONFIG)] ((1 (((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 4) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 104) (min-pixel-width . 120) (min-pixel-height-ignore . 52) (min-pixel-width-ignore . 40) (min-pixel-height-safe . 26) (min-pixel-width-safe . 24)) leaf (pixel-width . 3840) (pixel-height . 3014) (total-width . 320) (total-height . 115) (normal-height . 1.0) (normal-width . 1.0) (buffer spacemacs (selected . t) (hscroll . 0) (fringes 8 8 nil nil) (margins nil) (scroll-bars nil 0 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 29) (start . 1))) )) , ) (t eyebrowse-mode-line-indicator) (t eval (eyebrowse-mode-line-indicator)) (t format-mode-line ( (:eval (doom-modeline-segment--misc-info)) (:eval (doom-modeline-segment--media-info)) (:eval (doom-modeline-segment--major-mode)) (:eval (doom-modeline-segment--process)) (:eval (doom-modeline-segment--vcs)))) (t doom-modeline-format--media) (t eval (doom-modeline-format--media)) (t redisplay_internal (C function))) [02:41:19] exwm-input--on-buffer-list-update: current-buffer=#<buffer *Firefox: AutoNAT doesn't work in ipfs when using swarm key · Issue #7067 · ipfs/go-ipfs> selected-window=#<window 148 on *Firefox: Timers - GNU Emacs Lisp Reference Manual> [02:41:19] : CALL STACK: ((t exwm-input--on-buffer-list-update) (t run-hooks buffer-list-update-hook) (t get-buffer-create temp) (t generate-new-buffer temp) (t format-spec %s ((115 . 1) (116 . ))) (t eyebrowse-format-slot (1 (((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 4) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 104) (min-pixel-width . 120) (min-pixel-height-ignore . 52) (min-pixel-width-ignore . 40) (min-pixel-height-safe . 26) (min-pixel-width-safe . 24)) leaf (pixel-width . 3840) (pixel-height . 3014) (total-width . 320) (total-height . 115) (normal-height . 1.0) (normal-width . 1.0) (buffer spacemacs (selected . t) (hscroll . 0) (fringes 8 8 nil nil) (margins nil) (scroll-bars nil 0 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 29) (start . 1))) )) (t #[257 \211@\211\300U\203\0\301\202 \0\302\303 \304\305\306\307\310\311\312 !\313"\314\315\316&#\210\211\262\317\320!\321\322\323 \324\325\326\327&\207 [1 eyebrowse-mode-line-active eyebrowse-mode-line-inactive make-sparse-keymap define-key [mode-line mouse-1] make-byte-code 257 \301\300!\207 vconcat vector [eyebrowse-switch-to-window-config] 3

(fn E) e mouse-1: Switch to indicated workspace eyebrowse-format-slot propertize face slot mouse-face mode-line-highlight local-map help-echo] 18

(fn WINDOW-CONFIG)] (1 (((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 4) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 104) (min-pixel-width . 120) (min-pixel-height-ignore . 52) (min-pixel-width-ignore . 40) (min-pixel-height-safe . 26) (min-pixel-width-safe . 24)) leaf (pixel-width . 3840) (pixel-height . 3014) (total-width . 320) (total-height . 115) (normal-height . 1.0) (normal-width . 1.0) (buffer spacemacs (selected . t) (hscroll . 0) (fringes 8 8 nil nil) (margins nil) (scroll-bars nil 0 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 29) (start . 1))) )) (t mapconcat #[257 \211@\211\300U\203\0\301\202 \0\302\303 \304\305\306\307\310\311\312 !\313"\314\315\316&#\210\211\262\317\320!\321\322\323 \324\325\326\327&\207 [1 eyebrowse-mode-line-active eyebrowse-mode-line-inactive make-sparse-keymap define-key [mode-line mouse-1] make-byte-code 257 \301\300!\207 vconcat vector [eyebrowse-switch-to-window-config] 3

(fn E) e mouse-1: Switch to indicated workspace eyebrowse-format-slot propertize face slot mouse-face mode-line-highlight local-map help-echo] 18

(fn WINDOW-CONFIG)] ((1 (((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 4) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 104) (min-pixel-width . 120) (min-pixel-height-ignore . 52) (min-pixel-width-ignore . 40) (min-pixel-height-safe . 26) (min-pixel-width-safe . 24)) leaf (pixel-width . 3840) (pixel-height . 3014) (total-width . 320) (total-height . 115) (normal-height . 1.0) (normal-width . 1.0) (buffer spacemacs (selected . t) (hscroll . 0) (fringes 8 8 nil nil) (margins nil) (scroll-bars nil 0 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 29) (start . 1))) )) , ) (t eyebrowse-mode-line-indicator) (t eval (eyebrowse-mode-line-indicator)) (t redisplay_internal (C function))) [02:41:19] exwm-input--on-buffer-list-update: current-buffer=#<buffer *Firefox: Timers - GNU Emacs Lisp Reference Manual> selected-window=#<window 148 on *Firefox: Timers - GNU Emacs Lisp Reference Manual> [02:41:19] : CALL STACK: ((t exwm-input--on-buffer-list-update) (t run-hooks buffer-list-update-hook) (t kill-buffer #) (t #[nil \301!\205 \0\302!\207 [temp-buffer buffer-name kill-buffer] 2]) (t format-spec %s ((115 . 1) (116 . ))) (t eyebrowse-format-slot (1 (((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 4) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 104) (min-pixel-width . 120) (min-pixel-height-ignore . 52) (min-pixel-width-ignore . 40) (min-pixel-height-safe . 26) (min-pixel-width-safe . 24)) leaf (pixel-width . 3840) (pixel-height . 3014) (total-width . 320) (total-height . 115) (normal-height . 1.0) (normal-width . 1.0) (buffer spacemacs (selected . t) (hscroll . 0) (fringes 8 8 nil nil) (margins nil) (scroll-bars nil 0 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 29) (start . 1))) )) (t #[257 \211@\211\300U\203\0\301\202 \0\302\303 \304\305\306\307\310\311\312 !\313"\314\315\316&#\210\211\262\317\320!\321\322\323 \324\325\326\327&\207 [1 eyebrowse-mode-line-active eyebrowse-mode-line-inactive make-sparse-keymap define-key [mode-line mouse-1] make-byte-code 257 \301\300!\207 vconcat vector [eyebrowse-switch-to-window-config] 3

(fn E) e mouse-1: Switch to indicated workspace eyebrowse-format-slot propertize face slot mouse-face mode-line-highlight local-map help-echo] 18

(fn WINDOW-CONFIG)] (1 (((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 4) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 104) (min-pixel-width . 120) (min-pixel-height-ignore . 52) (min-pixel-width-ignore . 40) (min-pixel-height-safe . 26) (min-pixel-width-safe . 24)) leaf (pixel-width . 3840) (pixel-height . 3014) (total-width . 320) (total-height . 115) (normal-height . 1.0) (normal-width . 1.0) (buffer spacemacs (selected . t) (hscroll . 0) (fringes 8 8 nil nil) (margins nil) (scroll-bars nil 0 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 29) (start . 1))) )) (t mapconcat #[257 \211@\211\300U\203\0\301\202 \0\302\303 \304\305\306\307\310\311\312 !\313"\314\315\316&#\210\211\262\317\320!\321\322\323 \324\325\326\327&\207 [1 eyebrowse-mode-line-active eyebrowse-mode-line-inactive make-sparse-keymap define-key [mode-line mouse-1] make-byte-code 257 \301\300!\207 vconcat vector [eyebrowse-switch-to-window-config] 3

(fn E) e mouse-1: Switch to indicated workspace eyebrowse-format-slot propertize face slot mouse-face mode-line-highlight local-map help-echo] 18

(fn WINDOW-CONFIG)] ((1 (((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 4) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 104) (min-pixel-width . 120) (min-pixel-height-ignore . 52) (min-pixel-width-ignore . 40) (min-pixel-height-safe . 26) (min-pixel-width-safe . 24)) leaf (pixel-width . 3840) (pixel-height . 3014) (total-width . 320) (total-height . 115) (normal-height . 1.0) (normal-width . 1.0) (buffer spacemacs (selected . t) (hscroll . 0) (fringes 8 8 nil nil) (margins nil) (scroll-bars nil 0 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 29) (start . 1))) )) , ) (t eyebrowse-mode-line-indicator) (t eval (eyebrowse-mode-line-indicator)) (t redisplay_internal (C function))) [02:41:19] exwm-input--on-buffer-list-update: current-buffer=#<buffer *Firefox: AutoNAT doesn't work in ipfs when using swarm key · Issue #7067 · ipfs/go-ipfs> selected-window=#<window 148 on *Firefox: Timers - GNU Emacs Lisp Reference Manual> [02:41:19] exwm--on-PropertyNotify: atom=WM_STATE(430) [02:41:19] exwm--on-PropertyNotify: Unhandled: WM_STATE(430) [02:41:19] exwm-input--on-PropertyNotify: [02:41:19] exwm--on-PropertyNotify: atom=_NET_WM_STATE(382) [02:41:19] exwm--on-PropertyNotify: Unhandled: _NET_WM_STATE(382) [02:41:19] exwm-input--on-PropertyNotify: [02:41:19] exwm--on-PropertyNotify: atom=WM_STATE(430) [02:41:19] exwm--on-PropertyNotify: Unhandled: WM_STATE(430) [02:41:19] exwm-input--on-PropertyNotify: [02:41:19] exwm--on-PropertyNotify: atom=_NET_WM_STATE(382) [02:41:19] exwm--on-PropertyNotify: Unhandled: _NET_WM_STATE(382) [02:41:19] exwm-input--on-PropertyNotify: [02:41:19] exwm-input--update-focus: focus-window=#<window 148 on *Firefox: Timers - GNU Emacs Lisp Reference Manual> focus-buffer=*Firefox: Timers - GNU Emacs Lisp Reference Manual [02:41:19] exwm-input--update-focus: Set focus on #x2a00268 [02:41:19] exwm-input--set-focus: #x2a00268 (corrected) => #x2a00268 [02:41:19] : CALL STACK: ((t exwm-input--on-buffer-list-update) (t run-hooks buffer-list-update-hook) (t # (switch-frame #<frame 0xc7501f28d40>)) (t apply # (switch-frame #<frame 0xc7501f28d40>)) (t #[128 \300\302"\300\301"\210\207 [apply doom-modeline-set-selected-window # nil] 5 nil ^e] (switch-frame #<frame 0xc7501f28d40>)) (t apply #[128 \300\302"\300\301"\210\207 [apply doom-modeline-set-selected-window # nil] 5 nil ^e] (switch-frame #<frame 0xc7501f28d40>)) (t handle-switch-frame (switch-frame #<frame 0xc7501f28d40>)) (t funcall-interactively handle-switch-frame (switch-frame #<frame 0xc7501f28d40>)) (t call-interactively handle-switch-frame nil nil) (t command-execute handle-switch-frame)) [02:41:19] exwm-input--on-buffer-list-update: current-buffer=#<buffer scratch> selected-window=#<window 22 on scratch> [02:41:19] exwm-input--on-echo-area-dirty: [02:41:19] exwm-input--on-echo-area-clear: [02:41:19] : CALL STACK: ((t exwm-input--on-buffer-list-update) (t run-hooks buffer-list-update-hook) (t select-window #<window 22 on scratch>) (t posn-set-point (#<window 22 on scratch> 1 (352 . 339) 96855544 nil 1 (29 . 0) nil (352 . 339) (12 . 26))) (t mouse-set-point (down-mouse-1 (#<window 22 on scratch> 1 (352 . 339) 96855544 nil 1 (29 . 0) nil (352 . 339) (12 . 26)))) (t evil-mouse-drag-track (down-mouse-1 (#<window 22 on scratch> 1 (352 . 339) 96855544 nil 1 (29 . 0) nil (352 . 339) (12 . 26))) t) (t evil-mouse-drag-region (down-mouse-1 (#<window 22 on scratch> 1 (352 . 339) 96855544 nil 1 (29 . 0) nil (352 . 339) (12 . 26)))) (t funcall-interactively evil-mouse-drag-region (down-mouse-1 (#<window 22 on scratch> 1 (352 . 339) 96855544 nil 1 (29 . 0) nil (352 . 339) (12 . 26)))) (t call-interactively evil-mouse-drag-region nil nil) (t command-execute evil-mouse-drag-region)) [02:41:19] exwm-input--on-buffer-list-update: current-buffer=#<buffer scratch> selected-window=#<window 22 on scratch> [02:41:19] : CALL STACK: ((t exwm-input--on-buffer-list-update) (t run-hooks buffer-list-update-hook) (t get-buffer-create temp) (t generate-new-buffer temp) (t format-spec %s ((115 . 1) (116 . ))) (t eyebrowse-format-slot (1 (((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 2) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 4) (min-pixel-width . 10) (min-pixel-height-ignore . 2) (min-pixel-width-ignore . 2) (min-pixel-height-safe . 1) (min-pixel-width-safe . 2)) leaf (pixel-width . 10) (pixel-height . 10) (total-width . 10) (total-height . 10) (normal-height . 1.0) (normal-width . 1.0) (buffer spacemacs (selected . t) (hscroll . 0) (fringes 0 0 nil nil) (margins nil) (scroll-bars nil 0 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 29) (start . 1)) (prev-buffers (scratch 1 1))) )) (t #[257 \211@\211\300U\203\0\301\202 \0\302\303 \304\305\306\307\310\311\312 !\313"\314\315\316&#\210\211\262\317\320!\321\322\323 \324\325\326\327&\207 [1 eyebrowse-mode-line-active eyebrowse-mode-line-inactive make-sparse-keymap define-key [mode-line mouse-1] make-byte-code 257 \301\300!\207 vconcat vector [eyebrowse-switch-to-window-config] 3

(fn E) e mouse-1: Switch to indicated workspace eyebrowse-format-slot propertize face slot mouse-face mode-line-highlight local-map help-echo] 18

(fn WINDOW-CONFIG)] (1 (((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 2) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 4) (min-pixel-width . 10) (min-pixel-height-ignore . 2) (min-pixel-width-ignore . 2) (min-pixel-height-safe . 1) (min-pixel-width-safe . 2)) leaf (pixel-width . 10) (pixel-height . 10) (total-width . 10) (total-height . 10) (normal-height . 1.0) (normal-width . 1.0) (buffer spacemacs (selected . t) (hscroll . 0) (fringes 0 0 nil nil) (margins nil) (scroll-bars nil 0 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 29) (start . 1)) (prev-buffers (scratch 1 1))) )) (t mapconcat #[257 \211@\211\300U\203\0\301\202 \0\302\303 \304\305\306\307\310\311\312 !\313"\314\315\316&#\210\211\262\317\320!\321\322\323 \324\325\326\327&\207 [1 eyebrowse-mode-line-active eyebrowse-mode-line-inactive make-sparse-keymap define-key [mode-line mouse-1] make-byte-code 257 \301\300!\207 vconcat vector [eyebrowse-switch-to-window-config] 3

(fn E) e mouse-1: Switch to indicated workspace eyebrowse-format-slot propertize face slot mouse-face mode-line-highlight local-map help-echo] 18

Stebalien avatar Apr 05 '20 20:04 Stebalien

Something strange: I fixed a separate issue where my modeline, doom, wasn't being updated by adding:

      (with-eval-after-load 'doom-modeline
        (add-hook 'exwm-workspace-switch-hook #'doom-modeline-set-selected-window))

This appears to have fixed the problem. So I'm not sure where the problem is coming from.

Stebalien avatar Apr 06 '20 19:04 Stebalien

I have no clue what side effect doom-modeline-set-selected-window makes as it appears to only update an internal state. If this turns out to be irrelevant, you may be experiencing a timing issue (e.g. some package calls select-window at a wrong time).

ch11ng avatar Apr 12 '20 12:04 ch11ng

@Stebalien, the reason is that eyebrowse invokes format-spec to format its modeline, which invokes with-temp-buffer which changes current-buffer. This happens while the mode-line is redrawn, which is a bad moment for EXWM.

@Stebalien Please, test #737 with eyebrowse and report back.

@dto Please, test #737 and report back.

medranocalvo avatar Apr 15 '20 04:04 medranocalvo

#737 looks overall good to me. Let's wait for feed backs from @Stebalien and @dto before it's merged.

ch11ng avatar May 05 '20 12:05 ch11ng

Sorry for the delay. I've tested #737 and, while it works, it doesn't fix the bug for me.

Stebalien avatar May 31 '20 03:05 Stebalien

Is there any workaround to this so far?

divansantana avatar Jun 14 '20 09:06 divansantana

@Stebalien Could you regenerate debug logs with #737 patched?

@divansantana Which problem did you refer to? What other three users reported may not be the same thing after all. You may check if #737 works for you of course.

ch11ng avatar Jun 14 '20 09:06 ch11ng

@ch11ng My issue is when eyebrowse-mode is active and I have switched to another eyebrowse workspace, then if I have a X window full screen and I hit a key binding which launches icomplete in the mini-buffer, the focus does not change to the bottom and I get stuck in the X window.

This only happens with eyebrowse-mode in this scenario so far, no other app, unlike in the past which was fixed.

I'll test your patch as soon as I can.

divansantana avatar Jun 14 '20 15:06 divansantana

I've tried using this PR #737 with these two commits

  • 24024133d5ee15e350179127d46e70ec340000b9
  • 763e423d397227c7f896c08d5fb7e7da0e9bab35

last in it.

I still have the same issue described above.

I've tried to enable debugging and attached it:

*XELB-DEBUG* buffer contents:

Let me know if you need anything else:

[02:31:02] exwm-input--on-echo-area-dirty:
[02:31:02] exwm-input--update-focus:	focus-window=#<window 7 on ds-exwm.el> focus-buffer=ds-exwm.el
[02:31:02] exwm-input--update-focus:	Focus on #<window 7 on ds-exwm.el>
[02:31:02] exwm-input--set-active-window:
[02:31:02] exwm--on-ClientMessage:	atom=_NET_ACTIVE_WINDOW(372)
[02:31:02] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:02] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:02] exwm-input--on-PropertyNotify:
[02:31:03] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:03] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:03] exwm-input--on-PropertyNotify:
[02:31:03] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:03] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:03] exwm-input--on-PropertyNotify:
[02:31:04] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:04] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:04] exwm-input--on-PropertyNotify:
[02:31:04] exwm-input--on-echo-area-clear:
[02:31:04] exwm-layout--refresh:	frame=#<frame ~/src/ds-config/.emacs.d/ds-exwm.el 0x5c896a0>
[02:31:04] exwm-layout--refresh-workspace:	Refresh workspace #<frame ~/src/ds-config/.emacs.d/ds-exwm.el 0x5c896a0>
[02:31:04] exwm-layout--set-client-list-stacking:
[02:31:04] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on inbox.org> current-buffer=#<buffer inbox.org>
[02:31:04] exwm-input--on-echo-area-dirty:
[02:31:04] exwm-input--update-focus:	focus-window=#<window 7 on inbox.org> focus-buffer=inbox.org
[02:31:04] exwm-input--update-focus:	Focus on #<window 7 on inbox.org>
[02:31:04] exwm-input--set-active-window:
[02:31:04] exwm--on-ClientMessage:	atom=_NET_ACTIVE_WINDOW(372)
[02:31:04] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:04] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:04] exwm-input--on-PropertyNotify:
[02:31:05] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:05] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:05] exwm-input--on-PropertyNotify:
[02:31:05] exwm-input--on-echo-area-dirty:
[02:31:05] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:05] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:05] exwm-input--on-PropertyNotify:
[02:31:05] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:05] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:05] exwm-input--on-PropertyNotify:
[02:31:05] exwm-input--on-echo-area-dirty:
[02:31:05] exwm-input--on-echo-area-dirty:
[02:31:05] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:05] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:05] exwm-input--on-PropertyNotify:
[02:31:05] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:05] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:05] exwm-input--on-PropertyNotify:
[02:31:06] exwm-input--on-echo-area-dirty:
[02:31:06] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:06] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:06] exwm-input--on-PropertyNotify:
[02:31:07] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:07] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:07] exwm-input--on-PropertyNotify:
[02:31:07] exwm-input--on-echo-area-clear:
[02:31:07] exwm-input--on-buffer-list-update:	selected-window=#<window 8 on  *Minibuf-1*> current-buffer=#<buffer  *Minibuf-1*>
[02:31:07] exwm-input--on-minibuffer-setup:
[02:31:07] exwm-layout--on-minibuffer-setup:
[02:31:07] exwm-layout--refresh:	frame=#<frame ~/src/ds-org/inbox.org 0x5c896a0>
[02:31:07] exwm-layout--refresh-workspace:	Refresh workspace #<frame ~/src/ds-org/inbox.org 0x5c896a0>
[02:31:07] exwm-layout--set-client-list-stacking:
[02:31:07] exwm-layout--refresh:	frame=#<frame  *Minibuf-1* 0x5c896a0>
[02:31:07] exwm-layout--refresh-workspace:	Refresh workspace #<frame  *Minibuf-1* 0x5c896a0>
[02:31:07] exwm-layout--set-client-list-stacking:
[02:31:07] exwm-input--on-echo-area-dirty:
[02:31:07] exwm-input--update-focus:	focus-window=#<window 8 on  *Minibuf-1*> focus-buffer= *Minibuf-1*
[02:31:07] exwm-input--update-focus:	Focus on #<window 8 on  *Minibuf-1*>
[02:31:07] exwm-input--set-active-window:
[02:31:07] exwm--on-ClientMessage:	atom=_NET_ACTIVE_WINDOW(372)
[02:31:07] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:07] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:07] exwm-input--on-PropertyNotify:
[02:31:07] exwm-input--on-echo-area-dirty:
[02:31:07] exwm-input--on-echo-area-dirty:
[02:31:08] exwm-input--on-minibuffer-exit:
[02:31:08] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on inbox.org> current-buffer=#<buffer inbox.org>
[02:31:08] exwm-layout--refresh:	frame=#<frame  *Minibuf-1* 0x5c896a0>
[02:31:08] exwm-layout--refresh-workspace:	Refresh workspace #<frame  *Minibuf-1* 0x5c896a0>
[02:31:08] exwm-layout--set-client-list-stacking:
[02:31:08] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:08] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:08] exwm-input--on-PropertyNotify:
[02:31:08] exwm-input--update-focus:	focus-window=#<window 7 on inbox.org> focus-buffer=inbox.org
[02:31:08] exwm-input--update-focus:	Focus on #<window 7 on inbox.org>
[02:31:08] exwm-input--set-active-window:
[02:31:08] exwm-input--on-echo-area-dirty:
[02:31:08] exwm--on-ClientMessage:	atom=_NET_ACTIVE_WINDOW(372)
[02:31:08] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:08] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:08] exwm-input--on-PropertyNotify:
[02:31:09] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:09] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:09] exwm-input--on-PropertyNotify:
[02:31:09] exwm-input--on-echo-area-clear:
[02:31:09] exwm-layout--refresh:	frame=#<frame ~/src/ds-org/inbox.org 0x5c896a0>
[02:31:09] exwm-layout--refresh-workspace:	Refresh workspace #<frame ~/src/ds-org/inbox.org 0x5c896a0>
[02:31:09] exwm-layout--set-client-list-stacking:
[02:31:09] exwm-layout--refresh:	frame=#<frame ~/src/ds-org/inbox.org 0x5c896a0>
[02:31:09] exwm-layout--refresh-workspace:	Refresh workspace #<frame ~/src/ds-org/inbox.org 0x5c896a0>
[02:31:09] exwm-layout--set-client-list-stacking:
[02:31:09] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on ds-eyebrowse.el> current-buffer=#<buffer ds-eyebrowse.el>
[02:31:09] exwm-input--on-echo-area-dirty:
[02:31:09] exwm-input--update-focus:	focus-window=#<window 7 on ds-eyebrowse.el> focus-buffer=ds-eyebrowse.el
[02:31:09] exwm-input--update-focus:	Focus on #<window 7 on ds-eyebrowse.el>
[02:31:09] exwm-input--set-active-window:
[02:31:09] exwm--on-ClientMessage:	atom=_NET_ACTIVE_WINDOW(372)
[02:31:10] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:10] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:10] exwm-input--on-PropertyNotify:
[02:31:10] exwm-layout--refresh:	frame=#<frame ~/src/ds-config/.emacs.d/ds-eyebrowse.el 0x5c896a0>
[02:31:10] exwm-layout--refresh-workspace:	Refresh workspace #<frame ~/src/ds-config/.emacs.d/ds-eyebrowse.el 0x5c896a0>
[02:31:10] exwm-layout--set-client-list-stacking:
[02:31:10] exwm-layout--refresh:	frame=#<frame ~/src/ds-config/.emacs.d/ds-eyebrowse.el 0x5c896a0>
[02:31:10] exwm-layout--refresh-workspace:	Refresh workspace #<frame ~/src/ds-config/.emacs.d/ds-eyebrowse.el 0x5c896a0>
[02:31:10] exwm-layout--set-client-list-stacking:
[02:31:10] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on inbox.org> current-buffer=#<buffer inbox.org>
[02:31:10] exwm-input--on-echo-area-dirty:
[02:31:10] exwm-input--update-focus:	focus-window=#<window 7 on inbox.org> focus-buffer=inbox.org
[02:31:10] exwm-input--update-focus:	Focus on #<window 7 on inbox.org>
[02:31:10] exwm-input--set-active-window:
[02:31:10] exwm--on-ClientMessage:	atom=_NET_ACTIVE_WINDOW(372)
[02:31:10] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:10] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:10] exwm-input--on-PropertyNotify:
[02:31:10] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:10] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:10] exwm-input--on-PropertyNotify:
[02:31:11] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:11] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:11] exwm-input--on-PropertyNotify:
[02:31:11] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:11] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:11] exwm-input--on-PropertyNotify:
[02:31:12] exwm-layout--refresh:	frame=#<frame ~/src/ds-org/inbox.org 0x5c896a0>
[02:31:12] exwm-layout--refresh-workspace:	Refresh workspace #<frame ~/src/ds-org/inbox.org 0x5c896a0>
[02:31:12] exwm-layout--show:	Show #x1e00013 in #<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:12] exwm--set-geometry:	Setting #x1e00013 to 1920x1022+1920+21
[02:31:12] exwm-layout--set-state:	id=#x1e00013
[02:31:12] exwm-layout--set-client-list-stacking:
[02:31:12] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser> current-buffer=#<buffer DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:12] exwm-input--on-echo-area-dirty:
[02:31:12] exwm-manage--on-MapNotify:	id=#x1e00013
[02:31:12] exwm--on-PropertyNotify:	atom=WM_STATE(585)
[02:31:12] exwm--on-PropertyNotify:	Unhandled: WM_STATE(585)
[02:31:12] exwm-input--on-PropertyNotify:
[02:31:12] exwm--on-PropertyNotify:	atom=_NET_WM_STATE(369)
[02:31:12] exwm--on-PropertyNotify:	Unhandled: _NET_WM_STATE(369)
[02:31:12] exwm-input--on-PropertyNotify:
[02:31:12] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:12] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:12] exwm-input--on-PropertyNotify:
[02:31:12] exwm-input--update-focus:	focus-window=#<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser> focus-buffer=DOS board - Agile Board - Jira for WORK - qutebrowser
[02:31:12] exwm-input--update-focus:	Set focus on #x1e00013
[02:31:12] exwm-input--set-focus:	#x200013c (corrected) => #x1e00013
[02:31:12] exwm-input--update-timestamp:
[02:31:12] exwm--on-PropertyNotify:	atom=_TIME(700)
[02:31:12] exwm-input--on-PropertyNotify:
[02:31:12] exwm-input--set-active-window:
[02:31:12] exwm-input--on-echo-area-dirty:
[02:31:12] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:12] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:12] exwm-input--on-PropertyNotify:
[02:31:13] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:13] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:13] exwm-input--on-PropertyNotify:
[02:31:13] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:13] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:13] exwm-input--on-PropertyNotify:
[02:31:14] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:14] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:14] exwm-input--on-PropertyNotify:
[02:31:14] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:14] exwm-input--on-PropertyNotify:
[02:31:14] exwm--on-PropertyNotify:	atom=_NET_WM_NAME(364)
[02:31:14] exwm--update-utf8-title:	#x1e00013
[02:31:14] exwm-input--on-PropertyNotify:
[02:31:14] exwm--on-PropertyNotify:	atom=WM_NAME(39)
[02:31:14] exwm--update-ctext-title:	#x1e00013
[02:31:14] exwm-input--on-PropertyNotify:
[02:31:14] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:14] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:14] exwm-input--on-PropertyNotify:
[02:31:15] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:15] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:15] exwm-input--on-PropertyNotify:
[02:31:15] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:15] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:15] exwm-input--on-PropertyNotify:
[02:31:16] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:16] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:16] exwm-input--on-PropertyNotify:
[02:31:16] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:16] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:16] exwm-input--on-PropertyNotify:
[02:31:16] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:16] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:16] exwm-input--on-PropertyNotify:
[02:31:16] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:16] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:16] exwm-input--on-PropertyNotify:
[02:31:16] exwm--on-PropertyNotify:	atom=_NET_WM_ICON(454)
[02:31:16] exwm--on-PropertyNotify:	Unhandled: _NET_WM_ICON(454)
[02:31:16] exwm-input--on-PropertyNotify:
[02:31:17] exwm-input--on-ButtonPress:	major-mode=exwm-mode buffer=Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser
[02:31:17] exwm-input--on-ButtonPress-char-mode:
[02:31:17] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:17] exwm-input--on-PropertyNotify:
[02:31:17] exwm-input--on-ButtonPress:	major-mode=exwm-mode buffer=Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser
[02:31:17] exwm-input--on-ButtonPress-char-mode:
[02:31:17] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:17] exwm-input--on-PropertyNotify:
[02:31:17] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:17] exwm-input--on-PropertyNotify:
[02:31:18] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:18] exwm-input--on-PropertyNotify:
[02:31:18] exwm-input--on-KeyPress:	major-mode=exwm-mode buffer=Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser
[02:31:18] exwm-input--on-KeyPress-char-mode:	(119 . 3)
[02:31:18] exwm-input--mimic-read-event:
[02:31:18] exwm-input--cache-event:	8388727
[02:31:18] exwm-input--on-buffer-list-update:	selected-window=#<window 8 on  *Minibuf-1*> current-buffer=#<buffer  *Minibuf-1*>
[02:31:18] exwm-input--on-minibuffer-setup:
[02:31:18] exwm-layout--on-minibuffer-setup:
[02:31:18] exwm-input--on-echo-area-dirty:
[02:31:18] exwm-layout--refresh:	frame=#<frame  *Minibuf-1* 0x5c896a0>
[02:31:18] exwm-layout--refresh-workspace:	Refresh workspace #<frame  *Minibuf-1* 0x5c896a0>
[02:31:18] exwm-layout--show:	Show #x1e00013 in #<window 7 on Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser>
[02:31:18] exwm--set-geometry:	Setting #x1e00013 to 1920x1005+1920+21
[02:31:18] exwm-layout--set-state:	id=#x1e00013
[02:31:18] exwm-layout--set-client-list-stacking:
[02:31:18] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser> current-buffer=#<buffer Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser>
[02:31:18] exwm-randr--on-ConfigureNotify:
[02:31:18] exwm--on-PropertyNotify:	atom=WM_STATE(585)
[02:31:18] exwm--on-PropertyNotify:	Unhandled: WM_STATE(585)
[02:31:18] exwm-input--on-PropertyNotify:
[02:31:18] exwm--on-PropertyNotify:	atom=_NET_WM_STATE(369)
[02:31:18] exwm--on-PropertyNotify:	Unhandled: _NET_WM_STATE(369)
[02:31:18] exwm-input--on-PropertyNotify:
[02:31:18] exwm-input--update-focus:	focus-window=#<window 7 on Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser> focus-buffer=Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser
[02:31:18] exwm-input--update-focus:	Set focus on #x1e00013
[02:31:18] exwm-input--set-focus:	#x1e00013 => #x1e00013
[02:31:19] exwm-input--on-buffer-list-update:	selected-window=#<window 8 on  *Minibuf-1*> current-buffer=#<buffer  *Minibuf-1*>
[02:31:19] exwm-input--update-focus:	focus-window=#<window 8 on  *Minibuf-1*> focus-buffer= *Minibuf-1*
[02:31:19] exwm-input--update-focus:	Focus on #<window 8 on  *Minibuf-1*>
[02:31:19] exwm-input--set-active-window:
[02:31:19] exwm-input--on-echo-area-dirty:
[02:31:19] exwm--on-ClientMessage:	atom=_NET_ACTIVE_WINDOW(372)
[02:31:19] exwm-input--on-echo-area-dirty:
[02:31:19] exwm-input--on-echo-area-dirty:
[02:31:19] exwm-input--on-echo-area-dirty:
[02:31:20] exwm-input--on-minibuffer-exit:
[02:31:20] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser> current-buffer=#<buffer Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser>
[02:31:20] exwm-layout--refresh:	frame=#<frame  *Minibuf-1* 0x5c896a0>
[02:31:20] exwm-layout--refresh-workspace:	Refresh workspace #<frame  *Minibuf-1* 0x5c896a0>
[02:31:20] exwm-layout--show:	Show #x1e00013 in #<window 7 on Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser>
[02:31:20] exwm--set-geometry:	Setting #x1e00013 to 1920x1022+1920+21
[02:31:20] exwm-layout--set-state:	id=#x1e00013
[02:31:20] exwm-layout--set-client-list-stacking:
[02:31:20] exwm-input--on-echo-area-dirty:
[02:31:20] exwm-randr--on-ConfigureNotify:
[02:31:20] exwm--on-PropertyNotify:	atom=WM_STATE(585)
[02:31:20] exwm--on-PropertyNotify:	Unhandled: WM_STATE(585)
[02:31:20] exwm-input--on-PropertyNotify:
[02:31:20] exwm--on-PropertyNotify:	atom=_NET_WM_STATE(369)
[02:31:20] exwm--on-PropertyNotify:	Unhandled: _NET_WM_STATE(369)
[02:31:20] exwm-input--on-PropertyNotify:
[02:31:20] exwm-input--update-focus:	focus-window=#<window 7 on Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser> focus-buffer=Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser
[02:31:20] exwm-input--update-focus:	Set focus on #x1e00013
[02:31:20] exwm-input--set-focus:	#x200013c (corrected) => #x1e00013
[02:31:20] exwm-input--update-timestamp:
[02:31:20] exwm--on-PropertyNotify:	atom=_TIME(700)
[02:31:20] exwm-input--on-PropertyNotify:
[02:31:20] exwm-input--set-active-window:
[02:31:20] exwm-input--on-echo-area-dirty:
[02:31:21] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:21] exwm-input--on-PropertyNotify:
[02:31:21] exwm-input--on-KeyPress:	major-mode=exwm-mode buffer=Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser
[02:31:21] exwm-input--on-KeyPress-char-mode:	(65289 . 1)
[02:31:21] exwm-input--mimic-read-event:
[02:31:21] exwm-input--cache-event:	s-tab
[02:31:21] exwm-input--on-echo-area-clear:
[02:31:21] exwm-layout--refresh:	frame=#<frame Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser 0x5c896a0>
[02:31:21] exwm-layout--refresh-workspace:	Refresh workspace #<frame Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser 0x5c896a0>
[02:31:21] exwm-layout--hide:	Hide #x1e00013
[02:31:21] exwm-layout--set-state:	id=#x1e00013
[02:31:21] exwm-layout--set-client-list-stacking:
[02:31:21] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on inbox.org> current-buffer=#<buffer inbox.org>
[02:31:21] exwm-input--on-echo-area-dirty:
[02:31:21] exwm-input--update-focus:	focus-window=#<window 7 on inbox.org> focus-buffer=inbox.org
[02:31:21] exwm-input--update-focus:	Focus on #<window 7 on inbox.org>
[02:31:21] exwm-input--set-active-window:
[02:31:21] exwm-input--on-echo-area-dirty:
[02:31:21] exwm-input--on-echo-area-dirty:
[02:31:21] exwm--on-PropertyNotify:	atom=WM_STATE(585)
[02:31:21] exwm--on-PropertyNotify:	Unhandled: WM_STATE(585)
[02:31:21] exwm-input--on-PropertyNotify:
[02:31:21] exwm--on-PropertyNotify:	atom=_NET_WM_STATE(369)
[02:31:21] exwm--on-PropertyNotify:	Unhandled: _NET_WM_STATE(369)
[02:31:21] exwm-input--on-PropertyNotify:
[02:31:21] exwm--on-ClientMessage:	atom=_NET_ACTIVE_WINDOW(372)
[02:31:22] exwm-layout--refresh:	frame=#<frame ~/src/ds-org/inbox.org 0x5c896a0>
[02:31:22] exwm-layout--refresh-workspace:	Refresh workspace #<frame ~/src/ds-org/inbox.org 0x5c896a0>
[02:31:22] exwm-layout--show:	Show #x1e00013 in #<window 7 on Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser>
[02:31:22] exwm--set-geometry:	Setting #x1e00013 to 1920x1022+1920+21
[02:31:22] exwm-layout--set-state:	id=#x1e00013
[02:31:22] exwm-layout--set-client-list-stacking:
[02:31:22] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser> current-buffer=#<buffer Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser>
[02:31:22] exwm-input--on-echo-area-dirty:
[02:31:22] exwm-manage--on-MapNotify:	id=#x1e00013
[02:31:22] exwm--on-PropertyNotify:	atom=WM_STATE(585)
[02:31:22] exwm--on-PropertyNotify:	Unhandled: WM_STATE(585)
[02:31:22] exwm-input--on-PropertyNotify:
[02:31:22] exwm--on-PropertyNotify:	atom=_NET_WM_STATE(369)
[02:31:22] exwm--on-PropertyNotify:	Unhandled: _NET_WM_STATE(369)
[02:31:22] exwm-input--on-PropertyNotify:
[02:31:22] exwm-input--update-focus:	focus-window=#<window 7 on Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser> focus-buffer=Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser
[02:31:22] exwm-input--update-focus:	Set focus on #x1e00013
[02:31:22] exwm-input--set-focus:	#x200013c (corrected) => #x1e00013
[02:31:22] exwm-input--update-timestamp:
[02:31:22] exwm--on-PropertyNotify:	atom=_TIME(700)
[02:31:22] exwm-input--on-PropertyNotify:
[02:31:22] exwm-input--set-active-window:
[02:31:22] exwm-input--on-echo-area-dirty:
[02:31:23] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:23] exwm-input--on-PropertyNotify:
[02:31:23] exwm-input--on-KeyPress:	major-mode=exwm-mode buffer=Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser
[02:31:23] exwm-input--on-KeyPress-char-mode:	(119 . 3)
[02:31:23] exwm-input--mimic-read-event:
[02:31:23] exwm-input--cache-event:	8388727
[02:31:23] exwm-input--on-buffer-list-update:	selected-window=#<window 8 on  *Minibuf-1*> current-buffer=#<buffer  *Minibuf-1*>
[02:31:23] exwm-input--on-minibuffer-setup:
[02:31:23] exwm-layout--on-minibuffer-setup:
[02:31:23] exwm-input--on-echo-area-dirty:
[02:31:23] exwm-layout--refresh:	frame=#<frame  *Minibuf-1* 0x5c896a0>
[02:31:23] exwm-layout--refresh-workspace:	Refresh workspace #<frame  *Minibuf-1* 0x5c896a0>
[02:31:23] exwm-layout--show:	Show #x1e00013 in #<window 7 on Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser>
[02:31:23] exwm--set-geometry:	Setting #x1e00013 to 1920x1005+1920+21
[02:31:23] exwm-layout--set-state:	id=#x1e00013
[02:31:23] exwm-layout--set-client-list-stacking:
[02:31:23] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser> current-buffer=#<buffer Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser>
[02:31:23] exwm-randr--on-ConfigureNotify:
[02:31:23] exwm--on-PropertyNotify:	atom=WM_STATE(585)
[02:31:23] exwm--on-PropertyNotify:	Unhandled: WM_STATE(585)
[02:31:23] exwm-input--on-PropertyNotify:
[02:31:23] exwm--on-PropertyNotify:	atom=_NET_WM_STATE(369)
[02:31:23] exwm--on-PropertyNotify:	Unhandled: _NET_WM_STATE(369)
[02:31:23] exwm-input--on-PropertyNotify:
[02:31:23] exwm-input--update-focus:	focus-window=#<window 7 on Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser> focus-buffer=Can't switch away from some workspaces with single X window · Issue #688 · ch11ng/exwm - qutebrowser
[02:31:23] exwm-input--update-focus:	Set focus on #x1e00013
[02:31:23] exwm-input--set-focus:	#x1e00013 => #x1e00013
[02:31:23] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:23] exwm-input--on-PropertyNotify:
[02:31:23] exwm--on-PropertyNotify:	atom=_NET_WM_NAME(364)
[02:31:23] exwm--update-utf8-title:	#x1e00013
[02:31:23] exwm-input--on-PropertyNotify:
[02:31:23] exwm--on-PropertyNotify:	atom=WM_NAME(39)
[02:31:23] exwm--update-ctext-title:	#x1e00013
[02:31:23] exwm-input--on-PropertyNotify:
[02:31:23] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:23] exwm-input--on-PropertyNotify:
[02:31:23] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:23] exwm-input--on-PropertyNotify:
[02:31:24] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:24] exwm-input--on-PropertyNotify:
[02:31:25] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:25] exwm-input--on-PropertyNotify:
[02:31:25] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:25] exwm-input--on-PropertyNotify:
[02:31:25] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:25] exwm-input--on-PropertyNotify:
[02:31:26] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:26] exwm-input--on-PropertyNotify:
[02:31:26] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:26] exwm-input--on-PropertyNotify:
[02:31:26] exwm-input--on-KeyPress:	major-mode=minibuffer-inactive-mode buffer= *Minibuf-1*
[02:31:26] exwm-input--on-KeyPress-char-mode:	(65289 . 1)
[02:31:26] exwm-input--mimic-read-event:
[02:31:26] exwm-layout--refresh:	frame=#<frame  *Minibuf-1* 0x5c896a0>
[02:31:26] exwm-layout--refresh-workspace:	Refresh workspace #<frame  *Minibuf-1* 0x5c896a0>
[02:31:26] exwm-layout--show:	Show #x1e00013 in #<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:26] exwm--set-geometry:	Setting #x1e00013 to 960x1005+1920+21
[02:31:26] exwm-layout--set-state:	id=#x1e00013
[02:31:26] exwm-layout--refresh:	frame=#<frame  *Minibuf-1* 0x5c896a0>
[02:31:26] exwm-layout--refresh-workspace:	Refresh workspace #<frame  *Minibuf-1* 0x5c896a0>
[02:31:26] exwm-layout--show:	Show #x1e00013 in #<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:26] exwm--set-geometry:	Setting #x1e00013 to 960x1005+1920+21
[02:31:26] exwm-layout--set-state:	id=#x1e00013
[02:31:26] exwm-layout--set-client-list-stacking:
[02:31:26] exwm-layout--set-client-list-stacking:
[02:31:26] exwm-input--on-buffer-list-update:	selected-window=#<window 82 on inbox.org> current-buffer=#<buffer inbox.org>
[02:31:26] exwm-input--on-echo-area-dirty:
[02:31:26] exwm-layout--refresh:	frame=#<frame ~/src/ds-org/inbox.org 0x5c896a0>
[02:31:26] exwm-layout--refresh-workspace:	Refresh workspace #<frame ~/src/ds-org/inbox.org 0x5c896a0>
[02:31:26] exwm-layout--show:	Show #x1e00013 in #<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:26] exwm--set-geometry:	Setting #x1e00013 to 960x1005+1920+21
[02:31:26] exwm-layout--set-state:	id=#x1e00013
[02:31:26] exwm-layout--set-client-list-stacking:
[02:31:26] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser> current-buffer=#<buffer DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:26] exwm-input--on-buffer-list-update:	selected-window=#<window 82 on inbox.org> current-buffer=#<buffer inbox.org>
[02:31:26] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser> current-buffer=#<buffer DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:26] exwm-input--on-buffer-list-update:	selected-window=#<window 82 on inbox.org> current-buffer=#<buffer inbox.org>
[02:31:26] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser> current-buffer=#<buffer DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:26] exwm-input--on-buffer-list-update:	selected-window=#<window 82 on inbox.org> current-buffer=#<buffer inbox.org>
[02:31:26] exwm-randr--on-ConfigureNotify:
[02:31:26] exwm--on-PropertyNotify:	atom=WM_STATE(585)
[02:31:26] exwm--on-PropertyNotify:	Unhandled: WM_STATE(585)
[02:31:26] exwm-input--on-PropertyNotify:
[02:31:26] exwm--on-PropertyNotify:	atom=_NET_WM_STATE(369)
[02:31:26] exwm--on-PropertyNotify:	Unhandled: _NET_WM_STATE(369)
[02:31:26] exwm-input--on-PropertyNotify:
[02:31:26] exwm--on-PropertyNotify:	atom=WM_STATE(585)
[02:31:26] exwm--on-PropertyNotify:	Unhandled: WM_STATE(585)
[02:31:26] exwm-input--on-PropertyNotify:
[02:31:26] exwm--on-PropertyNotify:	atom=_NET_WM_STATE(369)
[02:31:26] exwm--on-PropertyNotify:	Unhandled: _NET_WM_STATE(369)
[02:31:26] exwm-input--on-PropertyNotify:
[02:31:26] exwm--on-PropertyNotify:	atom=WM_STATE(585)
[02:31:26] exwm--on-PropertyNotify:	Unhandled: WM_STATE(585)
[02:31:26] exwm-input--on-PropertyNotify:
[02:31:26] exwm--on-PropertyNotify:	atom=_NET_WM_STATE(369)
[02:31:26] exwm--on-PropertyNotify:	Unhandled: _NET_WM_STATE(369)
[02:31:26] exwm-input--on-PropertyNotify:
[02:31:26] exwm-input--update-focus:	focus-window=#<window 82 on inbox.org> focus-buffer=inbox.org
[02:31:26] exwm-input--update-focus:	Focus on #<window 82 on inbox.org>
[02:31:26] exwm-input--set-active-window:
[02:31:26] exwm-input--on-echo-area-dirty:
[02:31:26] exwm--on-ClientMessage:	atom=_NET_ACTIVE_WINDOW(372)
[02:31:26] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser> current-buffer=#<buffer DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:26] exwm-input--on-buffer-list-update:	selected-window=#<window 82 on inbox.org> current-buffer=#<buffer inbox.org>
[02:31:26] exwm-input--update-focus:	focus-window=#<window 82 on inbox.org> focus-buffer=inbox.org
[02:31:26] exwm-input--update-focus:	Focus on #<window 82 on inbox.org>
[02:31:26] exwm-input--set-active-window:
[02:31:26] exwm--on-ClientMessage:	atom=_NET_ACTIVE_WINDOW(372)
[02:31:26] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser> current-buffer=#<buffer DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:26] exwm-input--update-focus:	focus-window=#<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser> focus-buffer=DOS board - Agile Board - Jira for WORK - qutebrowser
[02:31:26] exwm-input--update-focus:	Set focus on #x1e00013
[02:31:26] exwm-input--set-focus:	#x200013c (corrected) => #x1e00013
[02:31:26] exwm-input--update-timestamp:
[02:31:26] exwm--on-PropertyNotify:	atom=_TIME(700)
[02:31:26] exwm-input--on-PropertyNotify:
[02:31:26] exwm-input--set-active-window:
[02:31:26] exwm-input--on-echo-area-dirty:
[02:31:26] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:26] exwm-input--on-PropertyNotify:
[02:31:26] exwm-input--on-KeyPress:	major-mode=org-mode buffer=inbox.org
[02:31:26] exwm-input--on-KeyPress-char-mode:	(65289 . 1)
[02:31:26] exwm-input--mimic-read-event:
[02:31:26] exwm-input--on-buffer-list-update:	selected-window=#<window 82 on inbox.org> current-buffer=#<buffer inbox.org>
[02:31:26] exwm-layout--refresh:	frame=#<frame ~/src/ds-org/inbox.org 0x5c896a0>
[02:31:26] exwm-layout--refresh-workspace:	Refresh workspace #<frame ~/src/ds-org/inbox.org 0x5c896a0>
[02:31:26] exwm-layout--show:	Show #x1e00013 in #<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:26] exwm--set-geometry:	Setting #x1e00013 to 960x1005+1920+21
[02:31:26] exwm-layout--set-state:	id=#x1e00013
[02:31:26] exwm-layout--set-client-list-stacking:
[02:31:26] exwm-input--on-buffer-list-update:	selected-window=#<window 82 on ds-eyebrowse.el> current-buffer=#<buffer ds-eyebrowse.el>
[02:31:26] exwm-input--on-echo-area-dirty:
[02:31:26] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser> current-buffer=#<buffer DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:26] exwm-input--on-buffer-list-update:	selected-window=#<window 82 on ds-eyebrowse.el> current-buffer=#<buffer ds-eyebrowse.el>
[02:31:26] exwm--on-PropertyNotify:	atom=WM_STATE(585)
[02:31:26] exwm--on-PropertyNotify:	Unhandled: WM_STATE(585)
[02:31:26] exwm-input--on-PropertyNotify:
[02:31:26] exwm--on-PropertyNotify:	atom=_NET_WM_STATE(369)
[02:31:26] exwm--on-PropertyNotify:	Unhandled: _NET_WM_STATE(369)
[02:31:26] exwm-input--on-PropertyNotify:
[02:31:26] exwm-input--update-focus:	focus-window=#<window 82 on ds-eyebrowse.el> focus-buffer=ds-eyebrowse.el
[02:31:26] exwm-input--update-focus:	Focus on #<window 82 on ds-eyebrowse.el>
[02:31:26] exwm-input--set-active-window:
[02:31:26] exwm-input--on-echo-area-dirty:
[02:31:26] exwm--on-ClientMessage:	atom=_NET_ACTIVE_WINDOW(372)
[02:31:26] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser> current-buffer=#<buffer DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:26] exwm-input--update-focus:	focus-window=#<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser> focus-buffer=DOS board - Agile Board - Jira for WORK - qutebrowser
[02:31:26] exwm-input--update-focus:	Set focus on #x1e00013
[02:31:26] exwm-input--set-focus:	#x200013c (corrected) => #x1e00013
[02:31:26] exwm-input--update-timestamp:
[02:31:26] exwm--on-PropertyNotify:	atom=_TIME(700)
[02:31:26] exwm-input--on-PropertyNotify:
[02:31:26] exwm-input--set-active-window:
[02:31:26] exwm-input--on-echo-area-dirty:
[02:31:27] exwm-input--on-buffer-list-update:	selected-window=#<window 82 on ds-eyebrowse.el> current-buffer=#<buffer ds-eyebrowse.el>
[02:31:27] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser> current-buffer=#<buffer DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:27] exwm-input--on-buffer-list-update:	selected-window=#<window 82 on ds-eyebrowse.el> current-buffer=#<buffer ds-eyebrowse.el>
[02:31:27] exwm-input--on-echo-area-dirty:
[02:31:27] exwm-input--update-focus:	focus-window=#<window 82 on ds-eyebrowse.el> focus-buffer=ds-eyebrowse.el
[02:31:27] exwm-input--update-focus:	Focus on #<window 82 on ds-eyebrowse.el>
[02:31:27] exwm-input--set-active-window:
[02:31:27] exwm-input--on-echo-area-dirty:
[02:31:27] exwm--on-ClientMessage:	atom=_NET_ACTIVE_WINDOW(372)
[02:31:28] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser> current-buffer=#<buffer DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:28] exwm-input--on-buffer-list-update:	selected-window=#<window 82 on ds-eyebrowse.el> current-buffer=#<buffer ds-eyebrowse.el>
[02:31:28] exwm-input--on-echo-area-dirty:
[02:31:28] exwm-input--update-focus:	focus-window=#<window 82 on ds-eyebrowse.el> focus-buffer=ds-eyebrowse.el
[02:31:28] exwm-input--update-focus:	Focus on #<window 82 on ds-eyebrowse.el>
[02:31:28] exwm-input--set-active-window:
[02:31:28] exwm--on-ClientMessage:	atom=_NET_ACTIVE_WINDOW(372)
[02:31:28] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser> current-buffer=#<buffer DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:28] exwm-input--update-focus:	focus-window=#<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser> focus-buffer=DOS board - Agile Board - Jira for WORK - qutebrowser
[02:31:28] exwm-input--update-focus:	Set focus on #x1e00013
[02:31:28] exwm-input--set-focus:	#x200013c (corrected) => #x1e00013
[02:31:28] exwm-input--update-timestamp:
[02:31:28] exwm--on-PropertyNotify:	atom=_TIME(700)
[02:31:28] exwm-input--on-PropertyNotify:
[02:31:28] exwm-input--set-active-window:
[02:31:28] exwm-input--on-echo-area-dirty:
[02:31:28] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:28] exwm-input--on-PropertyNotify:
[02:31:29] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:29] exwm-input--on-PropertyNotify:
[02:31:29] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:29] exwm-input--on-PropertyNotify:
[02:31:30] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:30] exwm-input--on-PropertyNotify:
[02:31:30] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:30] exwm-input--on-PropertyNotify:
[02:31:30] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:30] exwm-input--on-PropertyNotify:
[02:31:32] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:32] exwm-input--on-PropertyNotify:
[02:31:32] exwm-input--on-KeyPress:	major-mode=emacs-lisp-mode buffer=ds-eyebrowse.el
[02:31:32] exwm-input--on-KeyPress-char-mode:	(97 . 3)
[02:31:32] exwm-input--mimic-read-event:
[02:31:32] exwm-input--on-buffer-list-update:	selected-window=#<window 8 on  *Minibuf-2*> current-buffer=#<buffer  *Minibuf-2*>
[02:31:32] exwm-input--on-minibuffer-setup:
[02:31:32] exwm-layout--on-minibuffer-setup:
[02:31:32] exwm-layout--refresh:	frame=#<frame ~/src/ds-config/.emacs.d/ds-eyebrowse.el 0x5c896a0>
[02:31:32] exwm-layout--refresh-workspace:	Refresh workspace #<frame ~/src/ds-config/.emacs.d/ds-eyebrowse.el 0x5c896a0>
[02:31:32] exwm-layout--show:	Show #x1e00013 in #<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:32] exwm--set-geometry:	Setting #x1e00013 to 960x869+1920+21
[02:31:32] exwm-layout--set-state:	id=#x1e00013
[02:31:32] exwm-layout--set-client-list-stacking:
[02:31:32] exwm-layout--refresh:	frame=#<frame ~/src/ds-config/.emacs.d/ds-eyebrowse.el 0x5c896a0>
[02:31:32] exwm-layout--refresh-workspace:	Refresh workspace #<frame ~/src/ds-config/.emacs.d/ds-eyebrowse.el 0x5c896a0>
[02:31:32] exwm-layout--show:	Show #x1e00013 in #<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:32] exwm--set-geometry:	Setting #x1e00013 to 960x869+1920+21
[02:31:32] exwm-layout--set-state:	id=#x1e00013
[02:31:32] exwm-layout--set-client-list-stacking:
[02:31:32] exwm-input--on-echo-area-dirty:
[02:31:32] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser> current-buffer=#<buffer DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:32] exwm-input--on-buffer-list-update:	selected-window=#<window 82 on ds-eyebrowse.el> current-buffer=#<buffer ds-eyebrowse.el>
[02:31:32] exwm-randr--on-ConfigureNotify:
[02:31:32] exwm--on-PropertyNotify:	atom=WM_STATE(585)
[02:31:32] exwm--on-PropertyNotify:	Unhandled: WM_STATE(585)
[02:31:32] exwm-input--on-PropertyNotify:
[02:31:32] exwm--on-PropertyNotify:	atom=_NET_WM_STATE(369)
[02:31:32] exwm--on-PropertyNotify:	Unhandled: _NET_WM_STATE(369)
[02:31:32] exwm-input--on-PropertyNotify:
[02:31:32] exwm--on-PropertyNotify:	atom=WM_STATE(585)
[02:31:32] exwm--on-PropertyNotify:	Unhandled: WM_STATE(585)
[02:31:32] exwm-input--on-PropertyNotify:
[02:31:32] exwm--on-PropertyNotify:	atom=_NET_WM_STATE(369)
[02:31:32] exwm--on-PropertyNotify:	Unhandled: _NET_WM_STATE(369)
[02:31:32] exwm-input--on-PropertyNotify:
[02:31:32] exwm-input--update-focus:	focus-window=#<window 82 on ds-eyebrowse.el> focus-buffer=ds-eyebrowse.el
[02:31:32] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:32] exwm-input--on-PropertyNotify:
[02:31:32] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:32] exwm-input--on-PropertyNotify:
[02:31:33] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:33] exwm-input--on-PropertyNotify:
[02:31:33] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:33] exwm-input--on-PropertyNotify:
[02:31:34] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:34] exwm-input--on-PropertyNotify:
[02:31:34] exwm-input--on-KeyPress:	major-mode=minibuffer-inactive-mode buffer= *Minibuf-2*
[02:31:34] exwm-input--on-KeyPress-char-mode:	(97 . 3)
[02:31:34] exwm-input--mimic-read-event:
[02:31:34] exwm-input--on-buffer-list-update:	selected-window=#<window 8 on  *Minibuf-2*> current-buffer=#<buffer  *Minibuf-2*>
[02:31:34] exwm-input--on-buffer-list-update:	selected-window=#<window 8 on  *Minibuf-3*> current-buffer=#<buffer  *Minibuf-3*>
[02:31:34] exwm-input--on-minibuffer-setup:
[02:31:34] exwm-layout--on-minibuffer-setup:
[02:31:34] exwm-layout--refresh:	frame=#<frame  *Minibuf-2* 0x5c896a0>
[02:31:34] exwm-layout--refresh-workspace:	Refresh workspace #<frame  *Minibuf-2* 0x5c896a0>
[02:31:34] exwm-layout--show:	Show #x1e00013 in #<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:34] exwm--set-geometry:	Setting #x1e00013 to 960x869+1920+21
[02:31:34] exwm-layout--set-state:	id=#x1e00013
[02:31:34] exwm-layout--set-client-list-stacking:
[02:31:34] exwm-input--on-echo-area-dirty:
[02:31:34] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser> current-buffer=#<buffer DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:34] exwm-input--on-buffer-list-update:	selected-window=#<window 82 on ds-eyebrowse.el> current-buffer=#<buffer ds-eyebrowse.el>
[02:31:34] exwm--on-PropertyNotify:	atom=WM_STATE(585)
[02:31:34] exwm--on-PropertyNotify:	Unhandled: WM_STATE(585)
[02:31:34] exwm-input--on-PropertyNotify:
[02:31:34] exwm--on-PropertyNotify:	atom=_NET_WM_STATE(369)
[02:31:34] exwm--on-PropertyNotify:	Unhandled: _NET_WM_STATE(369)
[02:31:34] exwm-input--on-PropertyNotify:
[02:31:34] exwm-input--update-focus:	focus-window=#<window 82 on ds-eyebrowse.el> focus-buffer=ds-eyebrowse.el
[02:31:35] exwm-input--on-echo-area-dirty:
[02:31:35] exwm-input--on-echo-area-dirty:
[02:31:36] exwm--on-PropertyNotify:	atom=_NET_WM_USER_TIME(467)
[02:31:36] exwm-input--on-PropertyNotify:
[02:31:36] exwm-input--on-KeyPress:	major-mode=emacs-lisp-mode buffer=ds-eyebrowse.el
[02:31:36] exwm-input--on-KeyPress-char-mode:	(116 . 3)
[02:31:36] exwm-input--mimic-read-event:
[02:31:36] exwm-layout--refresh:	frame=#<frame ~/src/ds-config/.emacs.d/ds-eyebrowse.el 0x5c896a0>
[02:31:36] exwm-layout--refresh-workspace:	Refresh workspace #<frame ~/src/ds-config/.emacs.d/ds-eyebrowse.el 0x5c896a0>
[02:31:36] exwm-layout--hide:	Hide #x1e00013
[02:31:36] exwm-layout--set-state:	id=#x1e00013
[02:31:36] exwm-layout--set-client-list-stacking:
[02:31:36] exwm-layout--refresh:	frame=#<frame ~/src/ds-config/.emacs.d/ds-eyebrowse.el 0x5c896a0>
[02:31:36] exwm-layout--refresh-workspace:	Refresh workspace #<frame ~/src/ds-config/.emacs.d/ds-eyebrowse.el 0x5c896a0>
[02:31:36] exwm-layout--set-client-list-stacking:
[02:31:36] exwm-input--on-buffer-list-update:	selected-window=#<window 82 on  *o: ds-eyebrowse.el*> current-buffer=#<buffer  *o: ds-eyebrowse.el*>
[02:31:36] exwm-input--on-buffer-list-update:	selected-window=#<window 8 on  *Minibuf-4*> current-buffer=#<buffer  *Minibuf-4*>
[02:31:36] exwm-input--on-minibuffer-setup:
[02:31:36] exwm-layout--on-minibuffer-setup:
[02:31:36] exwm-layout--refresh:	frame=#<frame ~/src/ds-config/.emacs.d/ds-eyebrowse.el 0x5c896a0>
[02:31:36] exwm-layout--refresh-workspace:	Refresh workspace #<frame ~/src/ds-config/.emacs.d/ds-eyebrowse.el 0x5c896a0>
[02:31:36] exwm-layout--set-client-list-stacking:
[02:31:36] exwm-input--on-echo-area-dirty:
[02:31:36] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on  *a: DOS board - Agile Board - Jira for WORK - qutebrowser*> current-buffer=#<buffer  *a: DOS board - Agile Board - Jira for WORK - qutebrowser*>
[02:31:36] exwm-input--on-buffer-list-update:	selected-window=#<window 82 on  *o: ds-eyebrowse.el*> current-buffer=#<buffer  *o: ds-eyebrowse.el*>
[02:31:36] exwm-input--on-echo-area-dirty:
[02:31:36] exwm--on-PropertyNotify:	atom=WM_STATE(585)
[02:31:36] exwm--on-PropertyNotify:	Unhandled: WM_STATE(585)
[02:31:36] exwm-input--on-PropertyNotify:
[02:31:36] exwm--on-PropertyNotify:	atom=_NET_WM_STATE(369)
[02:31:36] exwm--on-PropertyNotify:	Unhandled: _NET_WM_STATE(369)
[02:31:36] exwm-input--on-PropertyNotify:
[02:31:36] exwm-input--update-focus:	focus-window=#<window 82 on  *o: ds-eyebrowse.el*> focus-buffer= *o: ds-eyebrowse.el*
[02:31:37] exwm-input--on-minibuffer-exit:
[02:31:37] exwm-layout--refresh:	frame=#<frame  *Minibuf-4* 0x5c896a0>
[02:31:37] exwm-layout--refresh-workspace:	Refresh workspace #<frame  *Minibuf-4* 0x5c896a0>
[02:31:37] exwm-layout--set-client-list-stacking:
[02:31:37] exwm-layout--refresh:	frame=#<frame  *Minibuf-4* 0x5c896a0>
[02:31:37] exwm-layout--refresh-workspace:	Refresh workspace #<frame  *Minibuf-4* 0x5c896a0>
[02:31:37] exwm-layout--set-client-list-stacking:
[02:31:37] exwm-input--on-buffer-list-update:	selected-window=#<window 82 on ds-eyebrowse.el> current-buffer=#<buffer ds-eyebrowse.el>
[02:31:37] exwm-layout--refresh:	frame=#<frame  *Minibuf-4* 0x5c896a0>
[02:31:37] exwm-layout--refresh-workspace:	Refresh workspace #<frame  *Minibuf-4* 0x5c896a0>
[02:31:37] exwm-layout--show:	Show #x1e00013 in #<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:37] exwm--set-geometry:	Setting #x1e00013 to 960x869+1920+21
[02:31:37] exwm-layout--set-state:	id=#x1e00013
[02:31:37] exwm-layout--set-client-list-stacking:
[02:31:37] exwm-input--on-buffer-list-update:	selected-window=#<window 8 on  *Minibuf-3*> current-buffer=#<buffer  *Minibuf-3*>
[02:31:37] exwm-input--on-buffer-list-update:	selected-window=#<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser> current-buffer=#<buffer DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:37] exwm-input--on-buffer-list-update:	selected-window=#<window 82 on ds-eyebrowse.el> current-buffer=#<buffer ds-eyebrowse.el>
[02:31:37] exwm-input--on-echo-area-dirty:
[02:31:37] exwm-manage--on-MapNotify:	id=#x1e00013
[02:31:37] exwm--on-PropertyNotify:	atom=WM_STATE(585)
[02:31:37] exwm--on-PropertyNotify:	Unhandled: WM_STATE(585)
[02:31:37] exwm-input--on-PropertyNotify:
[02:31:37] exwm--on-PropertyNotify:	atom=_NET_WM_STATE(369)
[02:31:37] exwm--on-PropertyNotify:	Unhandled: _NET_WM_STATE(369)
[02:31:37] exwm-input--on-PropertyNotify:
[02:31:37] exwm-input--update-focus:	focus-window=#<window 82 on ds-eyebrowse.el> focus-buffer=ds-eyebrowse.el
[02:31:39] exwm-input--on-echo-area-dirty:
[02:31:40] exwm-input--on-minibuffer-exit:
[02:31:40] exwm-input--on-buffer-list-update:	selected-window=#<window 8 on  *Minibuf-2*> current-buffer=#<buffer  *Minibuf-2*>
[02:31:40] exwm-layout--refresh:	frame=#<frame  *Minibuf-3* 0x5c896a0>
[02:31:40] exwm-layout--refresh-workspace:	Refresh workspace #<frame  *Minibuf-3* 0x5c896a0>
[02:31:40] exwm-layout--show:	Show #x1e00013 in #<window 7 on DOS board - Agile Board - Jira for WORK - qutebrowser>
[02:31:40] exwm--set-geometry:	Setting #x1e00013 to 960x869+1920+21
[02:31:40] exwm-layout--set-state:	id=#x1e00013
[02:31:40] exwm-layout--set-client-list-stacking:

divansantana avatar Jun 15 '20 08:06 divansantana

My eyebrowse config is pretty standard:

(use-package eyebrowse
  :ensure t
  :pin melpa
  :config
  (setq-default eyebrowse-mode-line-style 'smart)
  (exwm-input-set-key (kbd "s-1") #'eyebrowse-switch-to-window-config-1)
  (exwm-input-set-key (kbd "s-2") #'eyebrowse-switch-to-window-config-2)
  (exwm-input-set-key (kbd "s-3") #'eyebrowse-switch-to-window-config-3)
  (exwm-input-set-key (kbd "s-4") #'eyebrowse-switch-to-window-config-4)
  (eyebrowse-mode t))

divansantana avatar Jun 15 '20 08:06 divansantana

Just as @medranocalvo have mentioned, the problem with eyebrowse is with the temp buffer generated during workspace switch. You may apply the following patch as a workaround, which unfortunately conflicts with #737 so for those already applied #737 you'll have to revert it first. We may end up with this as the solution if we can't come up with a better one.

diff --git a/exwm-input.el b/exwm-input.el
index decfc8128..9074bd16e 100644
--- a/exwm-input.el
+++ b/exwm-input.el
@@ -1133,6 +1133,19 @@ One use is to access the keymap bound to KEYS (as prefix keys) in char-mode."
   (unless (current-message)
     (exwm-input--on-minibuffer-exit)))
 
+(defun exwm-input--ignore-temp-buffer (orig-fun &rest params)
+  "Set `exwm-input--skip-buffer-list-update' to ignore temp buffers."
+  (exwm--log)
+  (let ((exwm-input--skip-buffer-list-update
+         (equal " *temp*" (cond
+                           ((stringp (car params))
+                            (car params))
+                           ((bufferp (car params))
+                            (buffer-name (car params)))
+                           (t
+                            nil)))))
+    (apply orig-fun params)))
+
 (defun exwm-input--init ()
   "Initialize the keyboard module."
   (exwm--log)
@@ -1178,6 +1191,8 @@ One use is to access the keymap bound to KEYS (as prefix keys) in char-mode."
   (when mouse-autoselect-window
     (xcb:+event exwm--connection 'xcb:EnterNotify
                 #'exwm-input--on-EnterNotify))
+  (advice-add 'generate-new-buffer :around #'exwm-input--ignore-temp-buffer)
+  (advice-add 'kill-buffer :around #'exwm-input--ignore-temp-buffer)
   ;; Control `exwm-input--during-command'
   (add-hook 'pre-command-hook #'exwm-input--on-pre-command)
   (add-hook 'post-command-hook #'exwm-input--on-post-command)
@@ -1199,6 +1214,8 @@ One use is to access the keymap bound to KEYS (as prefix keys) in char-mode."
   "Exit the input module."
   (exwm--log)
   (exwm-input--unset-simulation-keys)
+  (advice-remove 'generate-new-buffer #'exwm-input--ignore-temp-buffer)
+  (advice-remove 'kill-buffer #'exwm-input--ignore-temp-buffer
   (remove-hook 'pre-command-hook #'exwm-input--on-pre-command)
   (remove-hook 'post-command-hook #'exwm-input--on-post-command)
   (remove-hook 'minibuffer-setup-hook #'exwm-input--on-minibuffer-setup)

ch11ng avatar Jul 12 '20 13:07 ch11ng

Seem to have it isolated to:

  • Single x window on top monitor, single x window on bottom monitor
  • Close window on bottom monitor
  • Window "jumps" and gets "stuck"

Anything I can provide?

elken avatar Jan 17 '21 13:01 elken

I can confirm neither the above diff nor #737 resolve this for me.

elken avatar Feb 19 '21 08:02 elken