emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/ement 77e08950a8 4/6: Add: (ement-room-list-kill-buffer


From: ELPA Syncer
Subject: [elpa] externals/ement 77e08950a8 4/6: Add: (ement-room-list-kill-buffer)
Date: Tue, 14 Mar 2023 16:58:00 -0400 (EDT)

branch: externals/ement
commit 77e08950a826e854ea55b2b5465ba1ce6a8507e9
Author: Adam Porter <adam@alphapapa.net>
Commit: Adam Porter <adam@alphapapa.net>

    Add: (ement-room-list-kill-buffer)
---
 README.org         |  2 ++
 ement-room-list.el | 13 +++++++++++++
 2 files changed, 15 insertions(+)

diff --git a/README.org b/README.org
index c5ba3bee69..3167957fa3 100644
--- a/README.org
+++ b/README.org
@@ -224,6 +224,7 @@ These bindings are common to all of the following buffer 
types:
 +  Show buffer of next unread room: ~SPC~
 +  Move between room names: ~TAB~ / ~<backtab>~
 
++  Kill room's buffer: ~k~
 +  Toggle room's membership in a space: ~s~
 
 *** Directory buffers
@@ -298,6 +299,7 @@ Note that, while ~matrix-client~ remains usable, and 
probably will for some time
 *Additions*
 + Command ~ement-room-toggle-space~ toggles a room's membership in a space (a 
way to group rooms in Matrix).
 + Visibility of sections in the room list is saved across sessions.
++ Command ~ement-room-list-kill-buffer~ kills a room's buffer from the room 
list.
 
 *Changes*
 
diff --git a/ement-room-list.el b/ement-room-list.el
index a343789935..e772aa053c 100644
--- a/ement-room-list.el
+++ b/ement-room-list.el
@@ -49,6 +49,7 @@
     (define-key map (kbd "SPC") #'ement-room-list-next-unread)
     (define-key map [tab] #'ement-room-list-section-toggle)
     (define-key map [mouse-1] #'ement-room-list-mouse-1)
+    (define-key map (kbd "k") #'ement-room-list-kill-buffer)
     (define-key map (kbd "s") #'ement-room-toggle-space)
     map))
 
@@ -668,6 +669,18 @@ left."
     (setf ement-room-list-visibility-cache magit-section-visibility-cache))
   (ement-room-list :display-buffer-action nil))
 
+(defun ement-room-list-kill-buffer (room)
+  "Kill ROOM's buffer."
+  (interactive
+   (ement-with-room-and-session
+     (ignore ement-session)
+     (list ement-room)))
+  (pcase-let (((cl-struct ement-room (local (map buffer))) room)
+              (kill-buffer-query-functions))
+    (when (buffer-live-p buffer)
+      (kill-buffer buffer)
+      (ement-room-list-revert))))
+
 (defun ement-room-list-mouse-1 (event)
   "Call `ement-room-list-RET' at EVENT."
   (interactive "e")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]