diff options
author | Chris Feng <chris.w.feng@gmail.com> | 2015-09-20T02·51+0800 |
---|---|---|
committer | Chris Feng <chris.w.feng@gmail.com> | 2015-09-20T02·51+0800 |
commit | 9f30672b15abd84e5755ed36f505830e80739b13 (patch) | |
tree | caa22af6a6b7625e9b4e1be222d9fc908826b576 /exwm-manage.el | |
parent | 81478de9e6676ebe3c67d4673a7d4e56e7ad2265 (diff) |
Fix input & input focus issues
* exwm-manage.el (exwm-manage--manage-window): Only grab left/middle/right buttons. * exwm-input.el (exwm-input--on-ButtonPress): Only perform click-to-focus on unfocused X windows. * exwm-input.el (exwm-input--update-focus): Do not focus an X window on another workspace, but instead keep focusing on the current one and set exwm--urgency parameter on that frame. * exwm-input.el (exwm-input--fake-key): Send KeyRelease event (some applications reply on it).
Diffstat (limited to 'exwm-manage.el')
-rw-r--r-- | exwm-manage.el | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/exwm-manage.el b/exwm-manage.el index e7682cda88e1..d83fc447d632 100644 --- a/exwm-manage.el +++ b/exwm-manage.el @@ -145,16 +145,16 @@ corresponding buffer.") (make-instance 'xcb:ConfigureWindow :window id :value-mask xcb:ConfigWindow:BorderWidth :border-width 0)) - (xcb:+request exwm--connection ;grab buttons for set focus/move/resize - (make-instance 'xcb:GrabButton - :owner-events 0 :grab-window id - :event-mask xcb:EventMask:ButtonPress - :pointer-mode xcb:GrabMode:Sync - :keyboard-mode xcb:GrabMode:Async - :confine-to xcb:Window:None - :cursor xcb:Cursor:None - :button xcb:ButtonIndex:Any - :modifiers xcb:ModMask:Any)) + (dolist (button ;grab buttons to set focus / move / resize + (list xcb:ButtonIndex:1 xcb:ButtonIndex:2 xcb:ButtonIndex:3)) + (xcb:+request-checked+request-check exwm--connection + (make-instance 'xcb:GrabButton + :owner-events 0 :grab-window id + :event-mask xcb:EventMask:ButtonPress + :pointer-mode xcb:GrabMode:Sync + :keyboard-mode xcb:GrabMode:Async + :confine-to xcb:Window:None :cursor xcb:Cursor:None + :button button :modifiers xcb:ModMask:Any))) (xcb:+request exwm--connection ;update _NET_CLIENT_LIST (make-instance 'xcb:ewmh:set-_NET_CLIENT_LIST :window exwm--root |