From 06ce657889d4e0d0d993dc18355c0ea5d8abc3ad Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Thu, 2 Nov 2017 10:46:49 +0100 Subject: [PATCH] Helm/EXWM: List all EXWM buffers --- .emacs.d/lisp/package-helm-exwm.el | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/.emacs.d/lisp/package-helm-exwm.el b/.emacs.d/lisp/package-helm-exwm.el index 554b8781..38cfacda 100644 --- a/.emacs.d/lisp/package-helm-exwm.el +++ b/.emacs.d/lisp/package-helm-exwm.el @@ -16,7 +16,6 @@ ;; containing the class name. ;; TODO: Write a emacs-buffers helm source to filter out EXWM buffers from buffer list. -;; Write an all-exwm buffer source. ;; REVIEW: Helm buffer does not die? Seems to be fixed. @@ -54,12 +53,15 @@ (kill-buffer (car (helm-marked-candidates))) (message "after")) -(defun helm-exwm-candidates (class) +(defun helm-exwm-candidates (&optional class) + "Return the list of EXWM buffers belonging to CLASS. + +If CLASS is nil, then list all EXWM buffers." (let ((bufs (delq nil (mapcar (lambda (buf) (if (with-current-buffer buf (and (eq major-mode 'exwm-mode) - (string= (downcase exwm-class-name) class))) + (or (not class) (string= (downcase exwm-class-name) class)))) (buffer-name buf) nil)) (buffer-list))))) @@ -68,8 +70,11 @@ (setcdr (last bufs) (list (pop bufs)))) bufs)) -(defun helm-exwm-buffers (class) - "Preconfigured `helm' to list EXWM buffers belonging to CLASS." +(defun helm-exwm-buffers (&optional class) + "Preconfigured `helm' to list EXWM buffers belonging to CLASS. + +If CLASS is nil, then list all EXWM buffers." + (interactive) (helm :sources (helm-build-sync-source "EXWM buffers" :candidates (helm-exwm-candidates class)