mirror of
https://github.com/emacs-exwm/exwm.git
synced 2024-11-27 06:48:00 +01:00
Fix issue with managed tray icons
* exwm-input.el (exwm-input--on-ButtonPress): Replay button events destined for managed tray icons.
This commit is contained in:
parent
404c94568d
commit
4f854e9fff
1 changed files with 10 additions and 3 deletions
|
@ -382,6 +382,7 @@ ARGS are additional arguments to CALLBACK."
|
|||
buffer (exwm--id->buffer event)
|
||||
window (get-buffer-window buffer t))
|
||||
(cond ((and (eq button-event exwm-input-move-event)
|
||||
buffer
|
||||
;; Either an undecorated or a floating X window.
|
||||
(with-current-buffer buffer
|
||||
(or (not (derived-mode-p 'exwm-mode))
|
||||
|
@ -390,12 +391,13 @@ ARGS are additional arguments to CALLBACK."
|
|||
(exwm-floating--start-moveresize
|
||||
event xcb:ewmh:_NET_WM_MOVERESIZE_MOVE))
|
||||
((and (eq button-event exwm-input-resize-event)
|
||||
buffer
|
||||
(with-current-buffer buffer
|
||||
(or (not (derived-mode-p 'exwm-mode))
|
||||
exwm--floating-frame)))
|
||||
;; Resize
|
||||
(exwm-floating--start-moveresize event))
|
||||
(t
|
||||
(buffer
|
||||
;; Click to focus
|
||||
(unless (eq window (selected-window))
|
||||
(setq frame (window-frame window))
|
||||
|
@ -414,13 +416,18 @@ ARGS are additional arguments to CALLBACK."
|
|||
(select-window window)
|
||||
(setq window (get-buffer-window buffer t))
|
||||
(when window (select-window window))))
|
||||
;; Also process keybindings.
|
||||
(with-current-buffer buffer
|
||||
(when (derived-mode-p 'exwm-mode)
|
||||
(cl-case exwm--input-mode
|
||||
(line-mode
|
||||
(setq mode (exwm-input--on-ButtonPress-line-mode buffer button-event)))
|
||||
(setq mode (exwm-input--on-ButtonPress-line-mode
|
||||
buffer button-event)))
|
||||
(char-mode
|
||||
(setq mode (exwm-input--on-ButtonPress-char-mode)))))))))
|
||||
(setq mode (exwm-input--on-ButtonPress-char-mode)))))))
|
||||
(t
|
||||
;; Replay this event by default.
|
||||
(setq mode xcb:Allow:ReplayPointer))))
|
||||
(xcb:+request exwm--connection
|
||||
(make-instance 'xcb:AllowEvents :mode mode :time xcb:Time:CurrentTime))
|
||||
(xcb:flush exwm--connection)))
|
||||
|
|
Loading…
Reference in a new issue