From 853de6d364dcfdae21ed7d383b7f1431b70117e6 Mon Sep 17 00:00:00 2001 From: "Jakob L. Kreuze" Date: Sat, 25 May 2019 14:45:32 -0400 Subject: Implement #'exwm-buffer-groups-kill-buffer --- exwm-buffer-groups.el | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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 -- cgit v1.3