summaryrefslogtreecommitdiff
path: root/exwm-buffer-groups.el
diff options
context:
space:
mode:
authorJakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>2019-05-25 14:45:32 -0400
committerJakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>2019-05-25 14:45:32 -0400
commit853de6d364dcfdae21ed7d383b7f1431b70117e6 (patch)
tree8f181fbe86673b48cd81f1824cdc5616cf1b8b6c /exwm-buffer-groups.el
parent6719b2b4aeea9c504d03dd43c812db25a0ada172 (diff)
Implement #'exwm-buffer-groups-kill-bufferHEADmaster
Diffstat (limited to 'exwm-buffer-groups.el')
-rw-r--r--exwm-buffer-groups.el18
1 files changed, 18 insertions, 0 deletions
diff --git a/exwm-buffer-groups.el b/exwm-buffer-groups.el
index 8cbaed4..543495e 100644
--- a/exwm-buffer-groups.el
+++ b/exwm-buffer-groups.el
@@ -90,6 +90,24 @@ workspace."
nil nil nil nil current-buffer))))
(switch-to-buffer buffer-or-name))
+(defun exwm-buffer-groups-kill-buffer (buffer-or-name)
+ "Kill the buffer specified by BUFFER-OR-NAME.
+If called interactively, read the buffer name using
+`completing-read', completing only on buffers in the current
+workspace."
+ (interactive
+ (list
+ (let ((buffers-in-workspace (map 'list
+ #'buffer-name
+ (elt exwm-buffer-groups-buffers
+ exwm-workspace-current-index)))
+ (current-buffer (buffer-name (other-buffer (current-buffer)))))
+ ;; Clean up so that "nil" isn't showing up in the list.
+ (exwm-buffer-groups--remove-buffers)
+ (completing-read "Switch to buffer: " buffers-in-workspace
+ nil nil nil nil current-buffer))))
+ (kill-buffer buffer-or-name))
+
(defun exwm-buffer-groups-move (nth)
"Moves the current buffer to the NTH workspace."
(interactive