Helm/EXWM: Follow helm-buffer-max-length default value

master
Pierre Neidhardt 2017-11-03 10:22:16 +01:00
parent b5d5ea4d91
commit a460adc1f6
1 changed files with 30 additions and 25 deletions

View File

@ -2,29 +2,29 @@
;; TODO: kill-persistent is not persistent. ;; TODO: kill-persistent is not persistent.
;; The following works, so `kill-buffer' on an EXWM window is fine. ;; The following works, so `kill-buffer' on an EXWM window is fine.
(defun helm-exwm-kill-all () ;; (defun helm-exwm-kill-all ()
(dolist (b (buffer-list)) ;; (dolist (b (buffer-list))
(with-current-buffer b ;; (with-current-buffer b
(when (eq major-mode 'exwm-mode) ;; (when (eq major-mode 'exwm-mode)
(message "helm-exwm: Killing %s..." b) ;; (message "helm-exwm: Killing %s..." b)
(kill-buffer b) ;; (kill-buffer b)
(message "helm-exwm: Killed."))))) ;; (message "helm-exwm: Killed.")))))
;;
;;; This fails to be persistent, nothing is run after kill-buffer. ;; ;;; This fails to be persistent, nothing is run after kill-buffer.
(defun helm-exwm-buffer-run-kill-persistent () ;; (defun helm-exwm-buffer-run-kill-persistent ()
"Kill buffer without quitting helm." ;; "Kill buffer without quitting helm."
;; (interactive) ;; ;; (interactive)
(with-helm-alive-p ;; (with-helm-alive-p
(helm-attrset 'kill-action '(helm-exwm-buffers-persistent-kill . never-split)) ;; (helm-attrset 'kill-action '(helm-exwm-buffers-persistent-kill . never-split))
(helm-execute-persistent-action 'kill-action))) ;; (helm-execute-persistent-action 'kill-action)))
(put 'helm-exwm-buffer-run-kill-persistent 'helm-only t) ;; (put 'helm-exwm-buffer-run-kill-persistent 'helm-only t)
;;
(defun helm-exwm-buffers-persistent-kill () ;; (defun helm-exwm-buffers-persistent-kill ()
"Kill buffer without quitting helm." ;; "Kill buffer without quitting helm."
;; (interactive) ;; ;; (interactive)
(message "before") ;; (message "before")
(kill-buffer (car (helm-marked-candidates))) ;; (kill-buffer (car (helm-marked-candidates)))
(message "after")) ;; (message "after"))
;; REVIEW: When on one random buffer, preselect goes back to first. ;; REVIEW: When on one random buffer, preselect goes back to first.
;; See https://github.com/emacs-helm/helm/issues/1911. ;; See https://github.com/emacs-helm/helm/issues/1911.
@ -83,10 +83,15 @@ If CLASS is nil, then list all EXWM buffers."
(setcdr (last bufs) (list (pop bufs)))) (setcdr (last bufs) (list (pop bufs))))
bufs)) bufs))
(defvar helm-exwm-buffer-max-length 52 (defvar helm-exwm-buffer-max-length 51
"Max length of EXWM buffer names before truncating. "Max length of EXWM buffer names before truncating.
When disabled (nil) use the longest buffer-name length found") When disabled (nil) use the longest buffer-name length found.
See `helm-buffer-max-length`. This variable's default is so that
the EXWM class starts at the column of the open parenthesis in
`helm-buffers-list' detailed view.")
;; Inspired by `helm-highlight-buffers'.
(defun helm-exwm-highlight-buffers (buffers) (defun helm-exwm-highlight-buffers (buffers)
"Transformer function to highlight BUFFERS list. "Transformer function to highlight BUFFERS list.
Should be called after others transformers i.e (boring buffers)." Should be called after others transformers i.e (boring buffers)."