[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/workroom e1092127bd 19/74: Add hook for buffer list change
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/workroom e1092127bd 19/74: Add hook for buffer list change |
Date: |
Sun, 27 Nov 2022 16:03:19 -0500 (EST) |
branch: elpa/workroom
commit e1092127bdf93d8f1ae0c58ec595d0181f606f1e
Author: Akib Azmain Turja <akib@disroot.org>
Commit: Akib Azmain Turja <akib@disroot.org>
Add hook for buffer list change
---
workroom.el | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/workroom.el b/workroom.el
index 14ef014871..29e8deecb7 100644
--- a/workroom.el
+++ b/workroom.el
@@ -163,6 +163,9 @@ The value is a mode line terminal like `mode-line-format'."
(defvar workroom-rename-view-hook nil
"Normal hook run after renaming a view.")
+(defvar workroom-buffer-list-change-hook nil
+ "Normal hook run after changing the buffer list of a workroom.")
+
(cl-defstruct workroom
"Structure for workroom."
(name nil
@@ -916,7 +919,8 @@ If ROOM is the default workroom, do nothing."
(if (functionp (workroom-buffers room))
(error "Cannot add buffer to workroom with dynamic buffer list")
(unless (member buffer (workroom-buffers room))
- (push buffer (workroom-buffers room)))))
+ (push buffer (workroom-buffers room))
+ (run-hooks 'workroom-buffer-list-change-hook))))
(defun workroom-remove-buffer (buffer &optional room)
"Remove BUFFER from workroom ROOM.
@@ -949,11 +953,12 @@ If ROOM is the default workroom, kill buffer."
(if (not (functionp (workroom-buffers room)))
(when (member buffer (workroom-buffers room))
(setf (workroom-buffers room)
- (delete buffer (workroom-buffers room))))
- (if (workroom-default-p room)
- (kill-buffer buffer)
+ (delete buffer (workroom-buffers room)))
+ (run-hooks 'workroom-buffer-list-change-hook))
+ (unless (workroom-default-p room)
(error (concat "Cannot remove buffer from non-default workroom with"
- " dynamic buffer list")))))
+ " dynamic buffer list")))
+ (kill-buffer buffer)))
(defmacro workroom-define-replacement (fn)
"Define `workroom-FN' as replacement for FN.
- [nongnu] elpa/workroom b43818f6c7 01/74: Minimal working implementation with bookmark support, (continued)
- [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, 2022/11/27
- [nongnu] elpa/workroom e1092127bd 19/74: Add hook for buffer list change,
ELPA Syncer <=
- [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
- [nongnu] elpa/workroom 4dbc8b5822 69/74: Fix code injection to desktop file, ELPA Syncer, 2022/11/27