(setq use-package-always-defer t)
(require 'bind-key)
-(use-package delight)
-
\f
;;; Initial setup
(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 ()
(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)
(use-package ivy
:defer 0.3
- :delight ;; " ๐"
:bind
(:map ivy-minibuffer-map
([escape] . keyboard-escape-quit)
(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)
(use-feature outline
:disabled
:hook (prog-mode . outline-minor-mode)
- :delight (outline-minor-mode " outl")
:bind
(:map
outline-minor-mode-map
;; 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
: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'
(use-package company
:defer 0.6
- :delight " comp"
:bind
(:map company-active-map
([tab] . company-complete-common-or-cycle)
(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
#'endless/replace-quote))
(use-feature abbrev
- :delight " abbr"
:hook (text-mode . abbrev-mode))
\f
(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")
(use-package which-key
:defer 0.4
- :delight
:config
(which-key-add-key-based-replacements
;; prefixes for global prefixes and minor modes
;; 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)
(use-package page-break-lines
:defer 0.5
- :delight " pgln"
:custom
(page-break-lines-max-width fill-column)
:config
(goto-char (cdr macro)))
(reftex-this-word)))))
+(use-package minions
+ :demand
+ :config (minions-mode))
+
\f
;;; Email (with Gnus)
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
:custom
(message-elide-ellipsis "[...]\n"))
-(use-feature mml
- :delight " mml")
+(use-feature mml)
(use-feature mml-sec
:custom
("s" . footnote-set-style)))
(use-package ebdb
+ :demand
:after gnus
:bind (:map gnus-group-mode-map ("e" . ebdb))
:config
(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)