emacs: ebdb: use :demand instead of require, disable mua popup
[~bandali/configs] / .emacs.d / init.el
index d4baa88..e88438f 100644 (file)
 (setq use-package-always-defer t)
 (require 'bind-key)
 
-(use-package delight)
-
 \f
 ;;; Initial setup
 
@@ -671,46 +669,6 @@ needed."
      (interactive)
      (exwm-manage--kill-client)))
 
-  ;; Shorten 'C-c C-q' to 'C-q'
-  (define-key exwm-mode-map [?\C-q] #'exwm-input-send-next-key)
-
-  ;; Line-editing shortcuts
-  (setq exwm-input-simulation-keys
-    '(;; movement
-      ([?\C-b] . [left])
-      ([?\M-b] . [C-left])
-      ([?\C-f] . [right])
-      ([?\M-f] . [C-right])
-      ([?\C-p] . [up])
-      ([?\C-n] . [down])
-      ([?\C-a] . [home])
-      ([?\C-e] . [end])
-      ([?\M-v] . [prior])
-      ([?\C-v] . [next])
-      ([?\C-d] . [delete])
-      ([?\C-k] . [S-end ?\C-x])
-      ;; cut/copy/paste
-      ([?\C-w] . [?\C-x])
-      ([?\M-w] . [?\C-c])
-      ([?\C-y] . [?\C-v])
-      ([?\M-d] . [C-S-right ?\C-x])
-      ([?\M-\d] . [C-S-left ?\C-x])
-      ;; search
-      ([?\C-s] . [?\C-f])
-      ;; escape
-      ([?\C-g] . [escape])))
-
-  ;; Enable EXWM
-  (exwm-enable)
-
-  (add-hook 'exwm-init-hook #'exwm-config--fix/ido-buffer-window-other-frame)
-
-  (require 'exwm-systemtray)
-  (exwm-systemtray-enable)
-
-  (require 'exwm-randr)
-  (exwm-randr-enable)
-
   ;; (exwm-input-set-key
   ;;  (kbd "s-SPC")  ;; rofi doesn't properly launch programs when started from emacs
   ;;  (lambda ()
@@ -747,54 +705,63 @@ needed."
      (interactive)
      (start-process-shell-command "pamixer" nil "pamixer --allow-boost --increase 5")))
 
-  ;; (exwm-input-set-key
-  ;;  (kbd "<XF86AudioPlay>")
-  ;;  (lambda ()
-  ;;    (interactive)
-  ;;    (start-process-shell-command "mpc" nil "mpc toggle")))
+  (exwm-input-set-key
+   (kbd "<XF86AudioPlay>")
+   (lambda ()
+     (interactive)
+     (start-process-shell-command "mpc" nil "mpc toggle")))
 
-  ;; (exwm-input-set-key
-  ;;  (kbd "<XF86AudioPrev>")
-  ;;  (lambda ()
-  ;;    (interactive)
-  ;;    (start-process-shell-command "mpc" nil "mpc prev")))
+  (exwm-input-set-key
+   (kbd "<XF86AudioPrev>")
+   (lambda ()
+     (interactive)
+     (start-process-shell-command "mpc" nil "mpc prev")))
 
-  ;; (exwm-input-set-key
-  ;;  (kbd "<XF86AudioNext>")
-  ;;  (lambda ()
-  ;;    (interactive)
-  ;;    (start-process-shell-command "mpc" nil "mpv next")))
+  (exwm-input-set-key
+   (kbd "<XF86AudioNext>")
+   (lambda ()
+     (interactive)
+     (start-process-shell-command "mpc" nil "mpc next")))
 
-  (defun b/exwm-pasystray ()
-    "A command used to start pasystray."
-    (interactive)
-    (if (executable-find "pasystray")
-        (progn
-          (message "EXWM: starting pasystray ...")
-          (start-process-shell-command "pasystray" nil "pasystray --notify=all"))
-      (message "EXWM: pasystray is not installed, abort!")))
-  ;; (add-hook 'exwm-init-hook #'b/exwm-pasystray)
-
-  (defun b/exwm-nm-applet ()
-    "A command used to start nm-applet."
-    (interactive)
-    (if (executable-find "nm-applet")
-        (progn
-          (message "EXWM: starting nm-applet ...")
-          (start-process-shell-command "nm-applet" nil "nm-applet"))
-      (message "EXWM: nm-applet is not installed, abort!")))
-  ;; (add-hook 'exwm-init-hook #'b/exwm-nm-applet)
-
-  (defun b/exwm-light-locker ()
-    "Start light-locker to make `dm-tool lock' actually work."
-    (interactive)
-    (if (executable-find "light-locker")
-        (progn
-          (message "EXWM: starting light-locker ...")
-          (start-process-shell-command "light-locker" nil "light-locker --lock-on-suspend"))
-      (message "EXWM: light-locker is not installed, abort!")))
-  ;;(add-hook 'exwm-init-hook #'b/exwm-light-locker)
-  )
+  ;; Shorten 'C-c C-q' to 'C-q'
+  (define-key exwm-mode-map [?\C-q] #'exwm-input-send-next-key)
+
+  ;; Line-editing shortcuts
+  (setq exwm-input-simulation-keys
+    '(;; movement
+      ([?\C-b] . [left])
+      ([?\M-b] . [C-left])
+      ([?\C-f] . [right])
+      ([?\M-f] . [C-right])
+      ([?\C-p] . [up])
+      ([?\C-n] . [down])
+      ([?\C-a] . [home])
+      ([?\C-e] . [end])
+      ([?\M-v] . [prior])
+      ([?\C-v] . [next])
+      ([?\C-d] . [delete])
+      ([?\C-k] . [S-end ?\C-x])
+      ;; cut/copy/paste
+      ([?\C-w] . [?\C-x])
+      ([?\M-w] . [?\C-c])
+      ([?\C-y] . [?\C-v])
+      ([?\M-d] . [C-S-right ?\C-x])
+      ([?\M-\d] . [C-S-left ?\C-x])
+      ;; search
+      ([?\C-s] . [?\C-f])
+      ;; escape
+      ([?\C-g] . [escape])))
+
+  ;; Enable EXWM
+  (exwm-enable)
+
+  (add-hook 'exwm-init-hook #'exwm-config--fix/ido-buffer-window-other-frame)
+
+  (require 'exwm-systemtray)
+  (exwm-systemtray-enable)
+
+  (require 'exwm-randr)
+  (exwm-randr-enable))
 
 ;; use the org-plus-contrib package to get the whole deal
 (use-package org-plus-contrib)
@@ -935,7 +902,6 @@ needed."
 
 (use-package ivy
   :defer 0.3
-  :delight ;; " ๐Ÿ™’"
   :bind
   (:map ivy-minibuffer-map
    ([escape] . keyboard-escape-quit)
@@ -976,7 +942,6 @@ This function is intended for use with `ivy-ignore-buffers'."
 
 (use-package counsel
   :after ivy
-  :delight
   :bind (([remap execute-extended-command] . counsel-M-x)
          ([remap find-file]                . counsel-find-file)
          ("C-c b b"                        . ivy-switch-buffer)
@@ -1117,7 +1082,6 @@ This function is intended for use with `ivy-ignore-buffers'."
 (use-feature outline
   :disabled
   :hook (prog-mode . outline-minor-mode)
-  :delight (outline-minor-mode " outl")
   :bind
   (:map
    outline-minor-mode-map
@@ -1218,7 +1182,6 @@ This function is intended for use with `ivy-ignore-buffers'."
 ;; display Lisp objects at point in the echo area
 (use-feature eldoc
   :when (version< "25" emacs-version)
-  :delight " eldoc"
   :config (global-eldoc-mode))
 
 ;; highlight matching parens
@@ -1231,7 +1194,6 @@ This function is intended for use with `ivy-ignore-buffers'."
   :config (electric-pair-mode))
 
 (use-feature simple
-  :delight (auto-fill-function " fill")
   :config (column-number-mode)
   :custom
   ;; Save what I copy into clipboard from other applications into Emacs'
@@ -1269,7 +1231,6 @@ This function is intended for use with `ivy-ignore-buffers'."
 
 (use-package company
   :defer 0.6
-  :delight " comp"
   :bind
   (:map company-active-map
         ([tab]    . company-complete-common-or-cycle)
@@ -1298,8 +1259,7 @@ This function is intended for use with `ivy-ignore-buffers'."
   (setq flycheck-check-syntax-automatically '(mode-enabled save))
   :custom (flycheck-mode-line-prefix "flyc"))
 
-(use-feature flyspell
-  :delight " flysp")
+(use-feature flyspell)
 
 ;; http://endlessparentheses.com/ispell-and-apostrophes.html
 (use-feature ispell
@@ -1329,7 +1289,6 @@ This function is intended for use with `ivy-ignore-buffers'."
               #'endless/replace-quote))
 
 (use-feature abbrev
-  :delight " abbr"
   :hook (text-mode . abbrev-mode))
 
 \f
@@ -1342,11 +1301,9 @@ This function is intended for use with `ivy-ignore-buffers'."
   (add-hook 'lisp-interaction-mode-hook #'indent-spaces-mode))
 
 (use-feature reveal
-  :delight (reveal-mode " reveal")
   :hook (emacs-lisp-mode . reveal-mode))
 
-(use-feature elisp-mode
-  :delight (emacs-lisp-mode "Elisp" :major))
+(use-feature elisp-mode)
 
 (use-package alloy-mode
   :straight (:host github :repo "dwwmmn/alloy-mode")
@@ -1581,7 +1538,6 @@ This function is intended for use with `ivy-ignore-buffers'."
 
 (use-package which-key
   :defer 0.4
-  :delight
   :config
   (which-key-add-key-based-replacements
     ;; prefixes for global prefixes and minor modes
@@ -1735,7 +1691,6 @@ This function is intended for use with `ivy-ignore-buffers'."
 ;; easily type pretty quotes & other typography, like โ€˜โ€™โ€œโ€-โ€“โ€”ยซยปโ€นโ€บ
 (use-package typo
   :defer 0.5
-  :delight " typo"
   :config
   (typo-global-mode 1)
   :hook (((text-mode erc-mode) . typo-mode)
@@ -1822,7 +1777,6 @@ This function is intended for use with `ivy-ignore-buffers'."
 
 (use-package page-break-lines
   :defer 0.5
-  :delight " pgln"
   :custom
   (page-break-lines-max-width fill-column)
   :config
@@ -1950,6 +1904,10 @@ This function is intended for use with `ivy-ignore-buffers'."
           (goto-char (cdr macro)))
         (reftex-this-word)))))
 
+(use-package minions
+  :demand
+  :config (minions-mode))
+
 \f
 ;;; Email (with Gnus)
 
@@ -2173,10 +2131,6 @@ This function is intended for use with `ivy-ignore-buffers'."
    gnus-interactive-exit nil
    gnus-gcc-mark-as-read t)
   :config
-  (require 'ebdb)
-  (require 'ebdb-mua)
-  (require 'ebdb-gnus)
-
   (when (version< emacs-version "27")
     (add-to-list
      'nnmail-split-abbrev-alist
@@ -2365,8 +2319,7 @@ https://csclub.uwaterloo.ca/~abandali")
   :custom
   (message-elide-ellipsis "[...]\n"))
 
-(use-feature mml
-  :delight " mml")
+(use-feature mml)
 
 (use-feature mml-sec
   :custom
@@ -2392,6 +2345,7 @@ https://csclub.uwaterloo.ca/~abandali")
         ("s" . footnote-set-style)))
 
 (use-package ebdb
+  :demand
   :after gnus
   :bind (:map gnus-group-mode-map ("e" . ebdb))
   :config
@@ -2412,14 +2366,15 @@ https://csclub.uwaterloo.ca/~abandali")
   (defun company-ebdb--post-complete (_) nil))
 
 (use-feature ebdb-gnus
+  :demand
   :after ebdb
   :custom
   (ebdb-gnus-window-size 0.3))
 
 (use-feature ebdb-mua
+  :demand
   :after ebdb
-  ;; :custom (ebdb-mua-pop-up nil)
-  )
+  :custom (ebdb-mua-pop-up nil))
 
 ;; (use-package ebdb-message
 ;;   :after ebdb)