From 9cf65c75651d546d8b88592669bb8febdc302b4a Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 3 Mar 2019 12:26:57 +0100 Subject: [PATCH] elfeed: Bind s-t to helm-org-switch --- .emacs.d/lisp/init-exwm.el | 6 ++++-- .emacs.d/lisp/init-org.el | 24 ++++++++---------------- 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/.emacs.d/lisp/init-exwm.el b/.emacs.d/lisp/init-exwm.el index a009066d..8a9a0629 100644 --- a/.emacs.d/lisp/init-exwm.el +++ b/.emacs.d/lisp/init-exwm.el @@ -78,8 +78,10 @@ (exwm-input-set-key (kbd "C-6") #'evil-switch-to-windows-last-buffer)) ;;; Emacs mode shortcuts. -(exwm-input-set-key (kbd "s-t") #'ambrevar/org-switch-agenda-file) -(exwm-input-set-key (kbd "s-T") #'ambrevar/org-switch-agenda-file-other-window) +(if (not (fboundp 'helm-org-switch)) + (exwm-input-set-key (kbd "s-t") (lambda () (find-file (car org-agenda-files)))) + (exwm-input-set-key (kbd "s-t") #'helm-org-switch) + (exwm-input-set-key (kbd "s-T") #'helm-org-switch-other-window)) (if (not (fboundp 'helm-eshell-switch)) (exwm-input-set-key (kbd "s-") #'eshell) (exwm-input-set-key (kbd "s-") #'helm-eshell-switch) diff --git a/.emacs.d/lisp/init-org.el b/.emacs.d/lisp/init-org.el index cb91f8a5..07060cf6 100644 --- a/.emacs.d/lisp/init-org.el +++ b/.emacs.d/lisp/init-org.el @@ -25,23 +25,15 @@ ;;; Agendas. (add-to-list 'org-agenda-files "~/personal/todo/todo.org.gpg") -(defun ambrevar/org-switch-agenda-file (&optional other-window) ; TODO: Replace with `helm-defswitch'. - "Switch between org-agenda and the first org-agenda-files." - (interactive "P") - (if (and buffer-file-name - (member (expand-file-name buffer-file-name) (mapcar 'expand-file-name org-agenda-files))) - (org-agenda) - (let ((b (find-buffer-visiting (car org-agenda-files)))) - (if b - (if (get-buffer-window b) - (select-window (get-buffer-window b)) - (funcall (if other-window 'switch-to-buffer-other-window 'switch-to-buffer) b)) - (funcall (if other-window 'find-file-other-window 'find-file) (car org-agenda-files)))))) +(load "~/personal/todo/agenda-list.el" 'noerror) -(defun ambrevar/org-switch-agenda-file-other-window () - "Like `ambrevar/org-switch-agenda-file' but use other window if possible." - (interactive) - (ambrevar/org-switch-agenda-file t)) +(when (require 'patch-helm nil 'noerror) + (helm-defswitcher + "org" + (lambda (b) + (when (buffer-file-name b) + (member (file-truename (buffer-file-name b)) (mapcar #'file-truename org-agenda-files)))) + (lambda () (find-file-noselect (car org-agenda-files))))) ;;; Set PDF association in Org-mode (original is 'default). (setcdr (assoc "\\.pdf\\'" org-file-apps) 'emacs)