[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/workroom dacdde342c 17/74: Add some hooks
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/workroom dacdde342c 17/74: Add some hooks |
Date: |
Sun, 27 Nov 2022 16:03:19 -0500 (EST) |
branch: elpa/workroom
commit dacdde342c444e75fbf4fbd0f6935ea59a2e1be4
Author: Akib Azmain Turja <akib@disroot.org>
Commit: Akib Azmain Turja <akib@disroot.org>
Add some hooks
---
workroom.el | 30 +++++++++++++++++++++++++-----
1 file changed, 25 insertions(+), 5 deletions(-)
diff --git a/workroom.el b/workroom.el
index ccffebf5d4..c40ec02f19 100644
--- a/workroom.el
+++ b/workroom.el
@@ -148,6 +148,21 @@ can't restored."
The value is a mode line terminal like `mode-line-format'."
:type 'sexp)
+(defvar workroom-switch-hook nil
+ "Normal hook run after switching room or view.")
+
+(defvar workroom-kill-room-hook nil
+ "Normal hook run after killing a room.")
+
+(defvar workroom-kill-view-hook nil
+ "Normal hook run after killing a view.")
+
+(defvar workroom-rename-room-hook nil
+ "Normal hook run after renaming a room.")
+
+(defvar workroom-rename-view-hook nil
+ "Normal hook run after renaming a view.")
+
(cl-defstruct workroom
"Structure for workroom."
(name nil
@@ -663,7 +678,8 @@ name if it doesn't exist, then switch to the workroom."
(setf (workroom-view-window-config (workroom-current-view))
(workroom--save-window-config)))
(set-frame-parameter nil 'workroom-current-view view)
- (workroom--load-window-config (workroom-view-window-config view))))
+ (workroom--load-window-config (workroom-view-window-config view))
+ (run-hooks 'workroom-switch-hook)))
(defun workroom-kill (room)
"Kill workroom ROOM."
@@ -684,7 +700,8 @@ name if it doesn't exist, then switch to the workroom."
(when (eq room (workroom-current-room))
(workroom-switch (workroom-get-default)
workroom--default-view-of-default-room))
- (setq workroom--rooms (delete room workroom--rooms))))
+ (setq workroom--rooms (delete room workroom--rooms))
+ (run-hooks 'workroom-kill-room-hook)))
(defun workroom-kill-view (room view)
"Kill view VIEW of workroom ROOM."
@@ -713,7 +730,8 @@ name if it doesn't exist, then switch to the workroom."
(when (eq view (workroom-current-view))
(workroom-switch room (car (workroom-views room)))
(pop (workroom-previous-view-list room)))
- (setf (workroom-views room) (delete view (workroom-views room)))))
+ (setf (workroom-views room) (delete view (workroom-views room)))
+ (run-hooks 'workroom-kill-view-hook)))
(defun workroom-rename (room new-name)
"Rename workroom ROOM to NEW-NAME."
@@ -731,7 +749,8 @@ name if it doesn't exist, then switch to the workroom."
"Rename workroom `%s' to: " room))))))
(when (stringp room)
(setq room (workroom-get room)))
- (setf (workroom-name room) new-name))
+ (setf (workroom-name room) new-name)
+ (run-hooks 'workroom-rename-room-hook))
(defun workroom-rename-view (room view new-name)
"Rename view VIEW of workroom ROOM to NEW-NAME."
@@ -759,7 +778,8 @@ name if it doesn't exist, then switch to the workroom."
(setq room (workroom-get room)))
(when (stringp view)
(setq view (workroom-view-get room view)))
- (setf (workroom-view-name view) new-name))
+ (setf (workroom-view-name view) new-name)
+ (run-hooks 'workroom-rename-view-hook))
(defun workroom-clone (room name)
"Create a new workroom named NAME which is a clone of workroom ROOM."
- [nongnu] elpa/workroom 15fc134c91 03/74: Fix workroom-bookmark, (continued)
- [nongnu] elpa/workroom 15fc134c91 03/74: Fix workroom-bookmark, ELPA Syncer, 2022/11/27
- [nongnu] elpa/workroom b43818f6c7 01/74: Minimal working implementation with bookmark support, ELPA Syncer, 2022/11/27
- [nongnu] elpa/workroom 09ff23553e 22/74: Add desktop saving support, ELPA Syncer, 2022/11/27
- [nongnu] elpa/workroom 5da61d48fb 14/74: Fix docstring warning, ELPA Syncer, 2022/11/27
- [nongnu] elpa/workroom cf44580a4f 31/74: Enhance IBuffer integration, ELPA Syncer, 2022/11/27
- [nongnu] elpa/workroom 5f2393c354 37/74: Update custom group for winner and auto-project-workroom modes, ELPA Syncer, 2022/11/27
- [nongnu] elpa/workroom 7b58515a1e 71/74: Don't error when project root path ends with a slash, ELPA Syncer, 2022/11/27
- [nongnu] elpa/workroom f6ef5fce4c 70/74: Bump version to 2.2.3, ELPA Syncer, 2022/11/27
- [nongnu] elpa/workroom 7b789d5e68 10/74: Fix defalias, ELPA Syncer, 2022/11/27
- [nongnu] elpa/workroom 001fe2777f 12/74: Make prompt message more clear, ELPA Syncer, 2022/11/27
- [nongnu] elpa/workroom dacdde342c 17/74: Add some hooks,
ELPA Syncer <=
- [nongnu] elpa/workroom e1092127bd 19/74: Add hook for buffer list change, ELPA Syncer, 2022/11/27
- [nongnu] elpa/workroom d4c499d81f 23/74: Fix the creation invalid workrooms in workroom-switch, ELPA Syncer, 2022/11/27
- [nongnu] elpa/workroom 92866534e9 25/74: Make lines less longer than 75 characters in README, ELPA Syncer, 2022/11/27
- [nongnu] elpa/workroom e9637846b5 27/74: Rewrite workroom to fix some long-standing problems, ELPA Syncer, 2022/11/27
- [nongnu] elpa/workroom df98158320 54/74: Bump version to 2.0.3, ELPA Syncer, 2022/11/27
- [nongnu] elpa/workroom b81e76e0a3 48/74: Bump version to 2.0.1, ELPA Syncer, 2022/11/27
- [nongnu] elpa/workroom 9db06cc7e7 46/74: Bump version to 2.0, ELPA Syncer, 2022/11/27
- [nongnu] elpa/workroom 5def9e5862 73/74: Ignore texinfo.tex while preparing release, ELPA Syncer, 2022/11/27
- [nongnu] elpa/workroom 827dcd2049 55/74: Fix cloning default workroom, ELPA Syncer, 2022/11/27
- [nongnu] elpa/workroom 895b77f7ce 62/74: Some refactoring, ELPA Syncer, 2022/11/27