diff options
author | Chris Feng <chris.w.feng@gmail.com> | 2015-08-16T11·00+0800 |
---|---|---|
committer | Chris Feng <chris.w.feng@gmail.com> | 2015-08-16T11·02+0800 |
commit | d998b42b89bc9e248b6d2250c56ddd17ec4b17cf (patch) | |
tree | 3d0c6ff68b04c46a8ee58b51ac0f615b929987d4 | |
parent | 7bfd429d5252e8df43d1b19b836a6c4970290fa0 (diff) |
Provide hooks run when the floating state of a window changes (close #28)
-rw-r--r-- | exwm-floating.el | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/exwm-floating.el b/exwm-floating.el index 06d6fa505c88..bc6b1a246a54 100644 --- a/exwm-floating.el +++ b/exwm-floating.el @@ -36,6 +36,11 @@ (defvar exwm-floating-border-color "blue" "Border color of the floating window.") +(defvar exwm-floating-setup-hook nil + "Normal hook run when a window has been made floating.") +(defvar exwm-floating-exit-hook nil + "Normal hook run when a window has exited floating state.") + (defun exwm-floating--set-floating (id) "Make window ID floating." (interactive) @@ -180,7 +185,8 @@ exwm--floating-frame frame) (set-window-buffer window (current-buffer)) ;this changes current buffer (set-window-dedicated-p window t)) - (select-window window))) + (select-window window)) + (run-hooks 'exwm-floating-setup-hook)) (defun exwm-floating--unset-floating (id) "Make window ID non-floating." @@ -213,7 +219,8 @@ exwm--frame exwm-workspace--current)) (let ((window (frame-selected-window exwm-workspace--current))) (set-window-buffer window buffer) - (select-window window)))) + (select-window window))) + (run-hooks 'exwm-floating-exit-hook)) (defun exwm-floating-toggle-floating () "Toggle the current window between floating and non-floating states." |