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.
This commit is contained in:
Chris Feng 2015-08-10 10:55:28 +08:00
parent edc70eb661
commit 2d4104a0ec
4 changed files with 49 additions and 33 deletions

View file

@ -53,12 +53,14 @@
(original-id (frame-parameter original-frame 'exwm-window-id))
;; Create new frame
(frame (with-current-buffer "*scratch*"
(make-frame `((minibuffer . nil) ;use the one on workspace
(background-color
. ,exwm-floating-border-color)
(internal-border-width
. ,exwm-floating-border-width)
(unsplittable . t))))) ;and fix the size later
(prog2
(exwm--lock)
(make-frame
`((minibuffer . nil) ;use the one on workspace
(background-color . ,exwm-floating-border-color)
(internal-border-width . ,exwm-floating-border-width)
(unsplittable . t))) ;and fix the size later
(exwm--unlock))))
(frame-id (string-to-int (frame-parameter frame 'window-id)))
(outer-id (string-to-int (frame-parameter frame 'outer-window-id)))
(window (frame-first-window frame)) ;and it's the only window