X-Git-Url: https://git.donarmstrong.com/?p=lib.git;a=blobdiff_plain;f=emacs_el%2Fconfiguration%2Fdon-configuration.org;h=407dde718bc7020cdc23072954a7099ee05c4fd6;hp=2c164f0504271bf484fa75a81e907a493051c0bf;hb=bb6f856e564fafbcb00d953c5d5ac534430e2e7a;hpb=e26275a59ec198a83c292ed5dfb8bbe84276ab81 diff --git a/emacs_el/configuration/don-configuration.org b/emacs_el/configuration/don-configuration.org index 2c164f0..407dde7 100644 --- a/emacs_el/configuration/don-configuration.org +++ b/emacs_el/configuration/don-configuration.org @@ -27,7 +27,10 @@ ** [[https://github.com/jwiegley/use-package/][use-package]] #+BEGIN_SRC emacs-lisp (package-initialize) - (require 'use-package) + (condition-case nil + (require 'use-package) + (progn (package-install 'use-package) + (require 'use-package))) #+END_SRC ** Paradox #+BEGIN_SRC emacs-lisp @@ -84,7 +87,6 @@ :ensure t :diminish flyspell-mode 🐝 :config - (add-hook 'message-mode-hook 'turn-on-flyspell) (add-hook 'text-mode-hook 'turn-on-flyspell) (add-hook 'c-mode-common-hook 'flyspell-prog-mode) (add-hook 'cperl-mode-hook 'flyspell-prog-mode) @@ -500,7 +502,40 @@ value, scrolling continues until there is no more output. ((equal arg 16) (helm-org-rifle-occur-agenda-files)) (t (helm-org-agenda-files-headings))))))) #+END_SRC - +*** Helm Google +This can be used to link things pretty quickly if necessary +#+BEGIN_SRC emacs-lisp + (use-package helm-google + :ensure t + :bind ("C-c h g" . helm-google) + :config + (progn (add-to-list 'helm-google-actions + '("Copy URL" . (lambda (candidate) + (let ((url + (replace-regexp-in-string + "https://.*q=\\(.*\\)\&sa=.*" + "\\1" candidate))) + (kill-new url)))) + t + ) + + (add-to-list 'helm-google-actions + '("Org Store Link" . (lambda (candidate) + (let ((title (car (split-string candidate "[\n]+"))) + (url + (replace-regexp-in-string + "https://.*q=\\(.*\\)\&sa=.*" + "\\1" candidate))) + (push (list url title) org-stored-links)))) + t) + )) +#+END_SRC +** Zap to char +#+BEGIN_SRC emacs-lisp + (use-package avy-zap + :ensure t + :bind ("M-z" . avy-zap-up-to-char-dwim)) +#+END_SRC ** Hydra #+BEGIN_SRC emacs-lisp :tangle don-configuration.el (require 'don-hydra) @@ -774,31 +809,31 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori ** Mutt *** Message-mode #+BEGIN_SRC emacs-lisp - (use-package message-mode + (use-package message :mode "muttng-[a-z0-9]+-[0-9]+-" :mode "mutt-[a-z0-9]+-[0-9]+-" - :hook 'my-message-mode-settings + :hook 'my/message-mode-settings + :hook 'turn-on-flyspell + :bind (:map message-mode-map + ("C-c C-a" . my/post-attach-file)) :config - (defun my-message-mode-settings () + (defun my/message-mode-settings () (font-lock-add-keywords nil '(("^[ \t]*>[ \t]*>[ \t]*>.*$" (0 'message-multiply-quoted-text-face)) ("^[ \t]*>[ \t]*>.*$" (0 'message-double-quoted-text-face)))) - (local-set-key (kbd "C-c C-a") 'my-post-attach-file) ) - (defun my-post-attach-file () + (defun my/post-attach-file () "Prompt for an attachment." (interactive) (let ((file (read-file-name "Attach file: " nil nil t nil)) (description (string-read "Description: "))) - (my-header-attach-file file description))) + (my/header-attach-file file description))) - (symbol-function 'my-post-attach-file) - - (defun my-header-attach-file (file description) + (defun my/header-attach-file (file description) "Attach a FILE to the current message (works with Mutt). Argument DESCRIPTION MIME description." (interactive "fAttach file: \nsDescription: ") @@ -814,8 +849,6 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori (message (concat "Attached '" file "'.")) (setq post-has-attachment t)))))) - - (setq mail-yank-prefix "> ") ) #+END_SRC @@ -827,6 +860,14 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori ) #+END_SRC +* Base emacs +** Reverting buffers +#+BEGIN_SRC emacs-lisp + (setq global-auto-revert-non-file-buffers t + global-auto-revert-ignore-modes '(pdf-view-mode) + auto-revert-verbose nil) + (global-auto-revert-mode 1) +#+END_SRC * Org Mode ** Use-package and load things #+BEGIN_SRC emacs-lisp @@ -837,11 +878,11 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori #+END_SRC ** Agenda Configuration #+BEGIN_SRC emacs-lisp - ;; The following lines are always needed. Choose your own keys. - (add-to-list 'auto-mode-alist '("\\.\\(org\\|org_archive\\|txt\\)$" . org-mode)) - (global-set-key "\C-cl" 'org-store-link) - (global-set-key "\C-ca" 'org-agenda) - (global-set-key "\C-cb" 'org-iswitchb) + :mode ("\\.\\(org\\|org_archive\\|txt\\)\\'" . org-mode) + :bind (("C-c l" . org-store-link) + ("C-c a" . org-agenda) + ("C-c b" . org-iswitchb)) + :config (setq-default org-log-done 'time) (setq-default org-agenda-ndays 5) @@ -938,7 +979,6 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori "~/projects/org-notes/wildman.org" "~/projects/org-notes/uddin.org" "~/projects/org-notes/reviews.org" - "~/projects/org-notes/hpcbio.org" "~/org-mode/from-mobile.org" "~/projects/org-notes/fh.org"))) @@ -962,12 +1002,6 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori (write-file "/tmp/timeline.org") (org-agenda arg "L"))) (define-key org-mode-map (kbd "C-c t") 'org-agenda-timeline-all) - ;; add automatic reminders for appointments - (defadvice org-agenda-redo (after org-agenda-redo-add-appts) - "Pressing `r' on the agenda will also add appointments." - (progn - (setq appt-time-msg-list nil) - (org-agenda-to-appt))) #+END_SRC ** General config @@ -1754,6 +1788,47 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori (load-file "~/.hide/org_gcal.el")) ) ) +#+END_SRC +** appt integration +#+BEGIN_SRC emacs-lisp + (use-package appt + :config + ;; Show notification 10 minutes before event + (setq appt-message-warning-time 10) + ;; Disable multiple reminders + (setq appt-display-interval appt-message-warning-time) + (setq appt-display-mode-line nil) + + ;; add automatic reminders for appointments + (defun my/org-agenda-to-appt () + (interactive) + (setq appt-time-msg-list nil) + (org-agenda-to-appt)) + ;; add reminders when starting emacs + (my/org-agenda-to-appt) + ;; when rebuilding the agenda + (defadvice org-agenda-redo (after org-agenda-redo-add-appts) + "Pressing `r' on the agenda will also add appointments." + (my/org-agenda-to-appt) + ) + ;; when saving all org buffers + (defadvice org-save-all-org-buffers (after org-save-all-org-buffers-add-appts) + "Re-add appts after saving all org buffers" + (my/org-agenda-to-appt)) + ; Display appointments as a window manager notification + (setq appt-disp-window-function 'my/appt-display) + (setq appt-delete-window-function (lambda () t)) + + (setq my/appt-notification-app (concat (getenv "HOME") "/bin/appt_notification")) + + (defun my/appt-display (min-to-app new-time msg) + (if (atom min-to-app) + (start-process "my/appt-notification-app" nil my/appt-notification-app min-to-app msg) + (dolist (i (number-sequence 0 (1- (length min-to-app)))) + (start-process "my/appt-notification-app" nil my/appt-notification-app + (nth i min-to-app) (nth i msg)))))) + + #+END_SRC ** End use-package #+BEGIN_SRC emacs-lisp @@ -1794,19 +1869,26 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori (global-unset-key "\M-g") (global-set-key (kbd "M-g l") 'goto-line) #+END_SRC +* Debian +** debian-changelog +#+BEGIN_SRC emacs-lisp + (use-package debian-changelog + :mode "debian/changelog" + :config + (setq debian-changelog-mailing-address "don@debian.org") + (setq debian-changelog-full-name "Don Armstrong")) +#+END_SRC * Misc (uncharacterized) #+BEGIN_SRC emacs-lisp - (setq calendar-latitude 40.11) - (setq calendar-longitude -88.24) + (setq calendar-latitude 38.6) + (setq calendar-longitude -121.5) (setq case-fold-search t) (setq confirm-kill-emacs (quote y-or-n-p)) (setq cperl-lazy-help-time nil) - (setq debian-changelog-mailing-address "don@debian.org") (display-time) (setq display-time-24hr-format t) (setq display-time-day-and-date t) (display-time-mode 1) - (global-auto-revert-mode 1) (global-font-lock-mode 1) (icomplete-mode 1) (setq log-edit-keep-buffer t) @@ -1998,11 +2080,6 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori (define-key cm-map "b" 'outline-backward-same-level) ; Backward - same level (global-set-key "\M-o" cm-map) - - ; debian stuff - (setq-default debian-changelog-mailing-address "don@debian.org") - (setq-default debian-changelog-full-name "Don Armstrong") - ; ediff configuration ; don't use the multi-window configuration (setq ediff-window-setup-function 'ediff-setup-windows-plain)