emacs: update packages
[~bandali/configs] / .emacs.d / init.el
index 87199e9..b09f080 100644 (file)
       esup-child-profile-require-level 0)
 
 ;; set them back to their defaults once we're done initializing
       esup-child-profile-require-level 0)
 
 ;; set them back to their defaults once we're done initializing
-(add-hook
- 'after-init-hook
- (lambda ()
-   (setq gc-cons-threshold a/gc-cons-threshold
-         gc-cons-percentage a/gc-cons-percentage
-         file-name-handler-alist a/file-name-handler-alist)))
+(defun a/post-init ()
+  (setq gc-cons-threshold a/gc-cons-threshold
+        gc-cons-percentage a/gc-cons-percentage
+        file-name-handler-alist a/file-name-handler-alist))
+(add-hook 'after-init-hook #'a/post-init)
 
 ;; increase number of lines kept in *Messages* log
 (setq message-log-max 20000)
 
 ;; increase number of lines kept in *Messages* log
 (setq message-log-max 20000)
   (interactive)
   (straight-transaction
     (straight-mark-transaction-as-init)
   (interactive)
   (straight-transaction
     (straight-mark-transaction-as-init)
-    (load user-init-file)))
+    (setq a/file-name-handler-alist file-name-handler-alist)
+    (load user-init-file)
+    (a/post-init)))
 
 ;; use-package
 (straight-use-package 'use-package)
 
 ;; use-package
 (straight-use-package 'use-package)
@@ -547,6 +548,7 @@ For disabling the behaviour for certain buffers and/or modes."
   (("C-c a o a" . org-agenda)
    :map org-mode-map
    ("M-L" . org-insert-last-stored-link)
   (("C-c a o a" . org-agenda)
    :map org-mode-map
    ("M-L" . org-insert-last-stored-link)
+   ("M-O" . org-toggle-link-display)
    ("s-T" . org-todo))
   :hook ((org-mode . org-indent-mode)
          (org-mode . auto-fill-mode)
    ("s-T" . org-todo))
   :hook ((org-mode . org-indent-mode)
          (org-mode . auto-fill-mode)
@@ -862,6 +864,17 @@ For disabling the behaviour for certain buffers and/or modes."
                         (setq ediff-after-quit-hook-internal nil)
                         (set-window-configuration wnd))))
         (error "no more than 2 files should be marked"))))
                         (setq ediff-after-quit-hook-internal nil)
                         (set-window-configuration wnd))))
         (error "no more than 2 files should be marked"))))
+
+  (require 'dired-x)
+  (setq dired-guess-shell-alist-user
+        '(("\\.pdf\\'"  "evince" "zathura" "okular")
+          ("\\.doc\\'"  "libreoffice")
+          ("\\.docx\\'" "libreoffice")
+          ("\\.ppt\\'"  "libreoffice")
+          ("\\.pptx\\'" "libreoffice")
+          ("\\.xls\\'"  "libreoffice")
+          ("\\.xlsx\\'" "libreoffice")
+          ("\\.flac\\'" "mpv")))
   :bind (:map dired-mode-map
               ("b"  . dired-up-directory)
               ("e"  . dired-ediff-files)
   :bind (:map dired-mode-map
               ("b"  . dired-up-directory)
               ("e"  . dired-ediff-files)
@@ -1528,6 +1541,10 @@ For disabling the behaviour for certain buffers and/or modes."
   :init
   (setq alert-default-style 'notifier))
 
   :init
   (setq alert-default-style 'notifier))
 
+(use-package ivy-xref
+  :init
+  (setq xref-show-xrefs-function #'ivy-xref-show-xrefs))
+
 \f
 ;;; Email (with Gnus)
 
 \f
 ;;; Email (with Gnus)
 
@@ -1639,7 +1656,9 @@ For disabling the behaviour for certain buffers and/or modes."
      ("gnu.*"
       (gcc-self . t))
      ("gnu\\."
      ("gnu.*"
       (gcc-self . t))
      ("gnu\\."
-      (subscribed . t)))
+      (subscribed . t))
+     ("nnimap\\+uw:.*"
+      (gcc-self . t)))
    gnus-large-newsgroup  50
    gnus-home-directory   (no-littering-expand-var-file-name "gnus/")
    gnus-directory        (concat gnus-home-directory "news/")
    gnus-large-newsgroup  50
    gnus-home-directory   (no-littering-expand-var-file-name "gnus/")
    gnus-directory        (concat gnus-home-directory "news/")
@@ -1712,7 +1731,8 @@ For disabling the behaviour for certain buffers and/or modes."
            (body "Added  to 2019supporters.html.\n\nMoving to campaigns.\n\n-amin\n")
            (eval (setq a/message-cite-say-hi nil)))
           ("nnimap\\+uw:.*"
            (body "Added  to 2019supporters.html.\n\nMoving to campaigns.\n\n-amin\n")
            (eval (setq a/message-cite-say-hi nil)))
           ("nnimap\\+uw:.*"
-           (address "abandali@uwaterloo.ca")
+           (address "abandali@uwaterloo.ca"))
+          ("nnimap\\+uw:INBOX"
            (gcc "\"nnimap+uw:Sent Items\""))
           ("nnimap\\+csc:.*"
            (address "abandali@csclub.uwaterloo.ca")
            (gcc "\"nnimap+uw:Sent Items\""))
           ("nnimap\\+csc:.*"
            (address "abandali@csclub.uwaterloo.ca")
@@ -1731,9 +1751,11 @@ For disabling the behaviour for certain buffers and/or modes."
   :config
   (setq gnus-permanently-visible-groups "\\(:INBOX$\\|:gnu$\\)"))
 
   :config
   (setq gnus-permanently-visible-groups "\\(:INBOX$\\|:gnu$\\)"))
 
-(use-feature gnus-win
-  :config
-  (setq gnus-use-full-window nil))
+(comment
+  ;; problematic with ebdb's popup, *EBDB-Gnus*
+  (use-feature gnus-win
+    :config
+    (setq gnus-use-full-window nil)))
 
 (use-feature gnus-dired
   :commands gnus-dired-mode
 
 (use-feature gnus-dired
   :commands gnus-dired-mode