From 2d4104a0eceb7d043ed1cd6bdd1bda1db4f91a73 Mon Sep 17 00:00:00 2001 From: Chris Feng Date: Mon, 10 Aug 2015 10:55:28 +0800 Subject: Fix emacsclient bugs `emacsclient` started with `-c` or `-t` argument create a new frame that shall not be used to manage X windows. Also fix some related input focus issues (with some remaining unfixed). Close #17. --- exwm.el | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'exwm.el') diff --git a/exwm.el b/exwm.el index 7c9fa59410c1..4c4d4aff9cec 100644 --- a/exwm.el +++ b/exwm.el @@ -195,6 +195,9 @@ (defun exwm-reset () "Reset window to standard state: non-fullscreen, line-mode." (interactive) + (unless (frame-parameter nil 'exwm-window-id) + ;; Move focus away form a non-EXWM frame + (x-focus-frame exwm-workspace--current)) (with-current-buffer (window-buffer) (when (eq major-mode 'exwm-mode) (when exwm--fullscreen (exwm-layout-unset-fullscreen)) @@ -400,7 +403,8 @@ (exwm--update-state id t)) ((= atom xcb:Atom:_NET_WM_USER_TIME)) ;ignored (t (exwm--log "Unhandled PropertyNotify: %s(%d)" - (x-get-atom-name atom) atom))))))) + (x-get-atom-name atom exwm-workspace--current) + atom))))))) (defun exwm--on-ClientMessage (raw-data synthetic) "Handle ClientMessage event." @@ -628,9 +632,6 @@ (exwm-input--init) (exwm-randr--init) (exwm--unlock) - ;; Disable events during new frame creation - (add-hook 'before-make-frame-hook 'exwm--lock) - (add-hook 'after-make-frame-functions 'exwm--unlock) ;; Manage exiting windows (exwm-manage--scan) (run-hooks 'exwm-init-hook))))) -- cgit 1.4.1