elfeed: Bind s-n to helm-elfeed-switch

master
Pierre Neidhardt 2019-03-03 11:50:16 +01:00
parent bafddf836a
commit 6644a0eff8
2 changed files with 26 additions and 8 deletions

View File

@ -69,13 +69,28 @@ visit otherwise."
(switch-to-buffer "*elfeed-search*")) (switch-to-buffer "*elfeed-search*"))
(define-key elfeed-show-mode-map "q" #'ambrevar/elfeed-kill-entry) (define-key elfeed-show-mode-map "q" #'ambrevar/elfeed-kill-entry)
(defun ambrevar/elfeed-switch-back () ; TODO: Replace with `helm-defswitch'. ;; Show entry in different buffers.
"Back to the last elfeed buffer, entry or search." ;; TODO: Report upstream.
(interactive) (defun ambrevar/elfeed-show-entry (entry)
(let ((buffer (get-buffer "*elfeed-entry*"))) "Display ENTRY in the current buffer."
(if buffer (let ((buff (get-buffer-create (format "*elfeed-entry-<%s>*"
(switch-to-buffer buffer) (elfeed-entry-title entry)))))
(elfeed)))) (with-current-buffer buff
(elfeed-show-mode)
(setq elfeed-show-entry entry)
(elfeed-show-refresh))
(funcall elfeed-show-entry-switch buff)))
(advice-add 'elfeed-show-entry :override 'ambrevar/elfeed-show-entry)
(when (require 'patch-helm nil 'noerror)
(helm-defswitcher
"elfeed"
(lambda (b)
(with-current-buffer b
(or
(derived-mode-p 'elfeed-search-mode)
(derived-mode-p 'elfeed-show-mode))))
elfeed))
(defun ambrevar/elfeed-setup () (defun ambrevar/elfeed-setup ()
(add-hook 'window-configuration-change-hook 'elfeed-search-update--force nil t)) (add-hook 'window-configuration-change-hook 'elfeed-search-update--force nil t))

View File

@ -100,7 +100,10 @@
(exwm-input-set-key (kbd "s-m") #'ambrevar/mu4e-headers) (exwm-input-set-key (kbd "s-m") #'ambrevar/mu4e-headers)
(exwm-input-set-key (kbd "s-m") #'helm-mu4e-switch) (exwm-input-set-key (kbd "s-m") #'helm-mu4e-switch)
(exwm-input-set-key (kbd "s-M") #'helm-mu4e-switch-other-window))) (exwm-input-set-key (kbd "s-M") #'helm-mu4e-switch-other-window)))
(exwm-input-set-key (kbd "s-n") #'ambrevar/elfeed-switch-back) ; "n" for "news" (if (not (fboundp 'helm-elfeed-switch))
(exwm-input-set-key (kbd "s-n") #'elfeed)
(exwm-input-set-key (kbd "s-n") #'helm-elfeed-switch)
(exwm-input-set-key (kbd "s-N") #'helm-elfeed-switch-other-window)) ; "n" for "news"
(exwm-input-set-key (kbd "s-e") #'ambrevar/eww-switch-back) (exwm-input-set-key (kbd "s-e") #'ambrevar/eww-switch-back)
(exwm-input-set-key (kbd "s-E") #'eww) (exwm-input-set-key (kbd "s-E") #'eww)