summaryrefslogtreecommitdiff
path: root/exwm-buffer-groups.el
diff options
context:
space:
mode:
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