From 9f30672b15abd84e5755ed36f505830e80739b13 Mon Sep 17 00:00:00 2001 From: Chris Feng Date: Sun, 20 Sep 2015 10:51:58 +0800 Subject: 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). --- exwm-manage.el | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'exwm-manage.el') 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 -- cgit 1.4.1