diff options
author | Chris Feng <chris.w.feng@gmail.com> | 2016-08-09T05·20+0800 |
---|---|---|
committer | Chris Feng <chris.w.feng@gmail.com> | 2016-08-09T05·20+0800 |
commit | 6e0b944c2de14fe67d292f3351bf4353f7b846d8 (patch) | |
tree | 59e56fb41131841d0a0c3a9341f9833fc402560d /exwm-floating.el | |
parent | 06c1b0485a1815d13ded7bd717adf5d9735be3df (diff) |
Ensure floating hooks are run in the right context
* exwm-floating.el (exwm-floating-setup-hook, exwm-floating-exit-hook): Fix doc string. (exwm-floating--set-floating, exwm-floating--unset-floating): Set the context.
Diffstat (limited to 'exwm-floating.el')
-rw-r--r-- | exwm-floating.el | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/exwm-floating.el b/exwm-floating.el index 6702e38d6131..464dd20e1061 100644 --- a/exwm-floating.el +++ b/exwm-floating.el @@ -34,9 +34,11 @@ "Border color of the floating window.") (defvar exwm-floating-setup-hook nil - "Normal hook run when a window has been made floating.") + "Normal hook run when an X window has been made floating, in the +context of the corresponding buffer.") (defvar exwm-floating-exit-hook nil - "Normal hook run when a window has exited floating state.") + "Normal hook run when an X window has exited floating state, in the +context of the corresponding buffer.") ;; Cursors for moving/resizing a window (defvar exwm-floating--cursor-move nil) @@ -252,7 +254,8 @@ xcb:ConfigWindow:Y) :x 0 :y 0)) (xcb:flush exwm--connection))) - (run-hooks 'exwm-floating-setup-hook) + (with-current-buffer (exwm--id->buffer id) + (run-hooks 'exwm-floating-setup-hook)) ;; Redraw the frame. (redisplay)) @@ -324,7 +327,8 @@ (let ((window (frame-selected-window exwm-workspace--current))) (set-window-buffer window buffer) (select-window window)))) - (run-hooks 'exwm-floating-exit-hook)) + (with-current-buffer (exwm--id->buffer id) + (run-hooks 'exwm-floating-exit-hook))) ;;;###autoload (defun exwm-floating-toggle-floating () |