Add basic hooks

This commit is contained in:
Vasilij Schneidermann
2014-03-13 00:22:34 +01:00
parent dbaad965af
commit fd15c6db6a

View File

@ -125,6 +125,16 @@ If t, switching to the same window config as
:type 'boolean :type 'boolean
:group 'eyebrowse) :group 'eyebrowse)
(defcustom eyebrowse-pre-window-switch-hook nil
"Hook run before switching to a window config."
:type 'hook
:group 'eyebrowse)
(defcustom eyebrowse-post-window-switch-hook nil
"Hook run after switching to a window config."
:type 'hook
:group 'eyebrowse)
(defvar eyebrowse-last-slot 1 (defvar eyebrowse-last-slot 1
"Internal variable storing the last window config slot.") "Internal variable storing the last window config slot.")
@ -198,13 +208,15 @@ last window config."
(= eyebrowse-current-slot slot)) (= eyebrowse-current-slot slot))
(setq slot eyebrowse-last-slot (setq slot eyebrowse-last-slot
eyebrowse-last-slot eyebrowse-current-slot)) eyebrowse-last-slot eyebrowse-current-slot))
(when (/= eyebrowse-current-slot slot)) (when (/= eyebrowse-current-slot slot)
(run-hooks eyebrowse-pre-window-switch-hook)
(eyebrowse-save-window-config eyebrowse-current-slot) (eyebrowse-save-window-config eyebrowse-current-slot)
(eyebrowse-load-window-config slot) (eyebrowse-load-window-config slot)
(setq eyebrowse-last-slot eyebrowse-current-slot) (setq eyebrowse-last-slot eyebrowse-current-slot)
(setq eyebrowse-current-slot slot) (setq eyebrowse-current-slot slot)
(eyebrowse-save-window-config eyebrowse-current-slot) (eyebrowse-save-window-config eyebrowse-current-slot)
(eyebrowse-load-window-config eyebrowse-current-slot)) (eyebrowse-load-window-config eyebrowse-current-slot)
(run-hooks eyebrowse-post-window-switch-hook)))
(defun eyebrowse-update-mode-line () (defun eyebrowse-update-mode-line ()
"Return a string representation of the window configurations." "Return a string representation of the window configurations."