;; time and battery in mode-line
(use-feature time
+ :disabled
:demand
:config
(display-time-mode)
(display-time-format "%a %b %-e, %-l:%M%P"))
(use-feature battery
+ :disabled
:demand
:config
(display-battery-mode)
;;; Essential packages
(use-package exwm
+ :disabled
:demand
:config
;; make class name the buffer name, truncating beyond 60 characters
(use-feature exwm-input
:demand
- :after exwm-workspace
+ :after exwm
:config
(defun b/exwm-ws-prev-index ()
"Return the index for the previous EXWM workspace, wrapping
;; shorten 'C-c C-q' to 'C-q'
(define-key exwm-mode-map [?\C-q] #'exwm-input-send-next-key)
- (setq exwm-input-global-keys
+ (setq exwm-workspace-number 4
+ exwm-input-global-keys
`(([?\s-R] . exwm-reset)
([?\s-\\] . exwm-workspace-switch)
- ([?\s-\s] . (lambda (command)
- (interactive
- (list (read-shell-command "➜ ")))
- (start-process-shell-command
- command nil command)))
+ ([?\s-\s] . dmenu)
+ ([?\S-\s-\s] . (lambda (command)
+ (interactive
+ (list (read-shell-command "➜ ")))
+ (start-process-shell-command
+ command nil command)))
([s-return] . (lambda ()
(interactive)
(start-process "" nil "urxvt")))
(number-sequence 0 (1- exwm-workspace-number)))
([?\s-t] . exwm-floating-toggle-floating)
([?\s-f] . exwm-layout-toggle-fullscreen)
- ([?\s-w] . (lambda ()
+ ([?\s-W] . (lambda ()
(interactive)
(kill-buffer (current-buffer))))
- ([?\s-q] . (lambda ()
+ ([?\s-Q] . (lambda ()
(interactive)
(exwm-manage--kill-client)))
([?\s-\'] . (lambda ()
([?\C-y] . [?\C-v])
([?\M-d] . [C-S-right ?\C-x])
([?\M-\d] . [C-S-left ?\C-x])
- ;; search
+ ;; window
+ ([?\s-w] . [?\C-w])
+ ([?\s-q] . [?\C-q])
+ ;; misc
([?\C-s] . [?\C-f])
- ;; escape
+ ([?\s-s] . [?\C-s])
([?\C-g] . [escape]))))
(use-feature exwm-manage
((string= exwm-class-name "Abrowser")
(exwm-input-set-local-simulation-keys
`(,@exwm-input-simulation-keys
- ([?\C-\S-d] . [?\C-d])
- ([?\C-q] . [?\C-w])
- ([?\s-q] . [?\C-q]))))
+ ([?\C-\S-d] . [?\C-d]))))
((string= exwm-class-name "URxvt")
(exwm-input-set-local-simulation-keys
'(([?\C-c ?\C-c] . [?\C-c])
:demand
:after exwm
:config
- (exwm-randr-enable))
+ (exwm-randr-enable)
+ :custom
+ (exwm-randr-workspace-monitor-plist '(1 "VGA-1"))
+ :hook
+ (exwm-randr-screen-change . (lambda ()
+ (let ((xrandr
+ (string-join
+ '("xrandr"
+ "--output VGA-1"
+ "--same-as LVDS-1"
+ "--auto")
+ " ")))
+ (start-process-shell-command
+ "xrandr" nil xrandr)))))
(use-feature exwm-systemtray
:demand
:config
(exwm-systemtray-enable))
-(use-feature exwm-workspace
- :demand
- :after exwm
- :custom
- (exwm-workspace-number 4))
+(use-feature exwm-workspace)
(use-package exwm-edit
:demand
(eval-when-compile (defvar lean-mode-map))
(use-package lean-mode
- :straight (:host github :repo "leanprover/lean-mode"
- :fork (:repo "notbandali/lean-mode" :branch "remove-cl"))
:defer 0.4
:bind (:map lean-mode-map
("S-SPC" . company-complete))
:hook ((tex-mode . auto-fill-mode)
(tex-mode . flyspell-mode)))
+(use-package george-mode
+ :straight (:host nil :repo "https://git.shemshak.org/amin/george-mode")
+ :mode "\\.grg\\'")
+
\f
;;; Theme
:custom
(doom-modeline-buffer-file-name-style 'relative-to-project))
-(use-package doom-themes
- :disabled)
+(use-package doom-themes)
(use-package solarized-theme
+ :disabled
+ :config
+ (load-theme 'solarized-light t))
+
+(use-package moody
:demand
:config
- (load-theme 'solarized-light t)
+ (setq x-underline-at-descent-line t)
(let ((line (face-attribute 'mode-line :underline)))
(set-face-attribute 'mode-line nil :overline line)
(set-face-attribute 'mode-line-inactive nil :overline line)
(set-face-attribute 'mode-line-inactive nil :underline line)
(set-face-attribute 'mode-line nil :box nil)
(set-face-attribute 'mode-line-inactive nil :box nil)
- (set-face-attribute 'mode-line-inactive nil :background "#f9f2d9")))
-
-(use-package moody
- :demand
- :config
- (setq x-underline-at-descent-line t)
+ (set-face-attribute 'mode-line-inactive nil :background "#eeeeee")) ; d3d7cf
(moody-replace-mode-line-buffer-identification)
(moody-replace-vc-mode))
(defvar b/org-mode-font-lock-keywords
- "For use with the `doom-tomorrow-night' theme."
'(("[ \t]*\\(#\\+\\(BEGIN\\|END\\|begin\\|end\\)_\\(\\S-+\\)\\)[ \t]*\\([^\n:]*\\)"
(1 '(:foreground "#5a5b5a" :background "#292b2b") t) ; directive
(3 '(:foreground "#81a2be" :background "#292b2b") t) ; kind
- (4 '(:foreground "#c5c8c6") t)))) ; title
+ (4 '(:foreground "#c5c8c6") t))) ; title
+ "For use with the `doom-tomorrow-night' theme.")
(defun b/lights-on ()
"Enable my favourite light theme."
(interactive)
(mapc #'disable-theme custom-enabled-themes)
- (load-theme 'solarized-light t)
+ (load-theme 'tangomod t)
;; (sml/apply-theme 'automatic)
- ;; (font-lock-remove-keywords
- ;; 'org-mode b/org-mode-font-lock-keywords)
- (run-with-timer 0.01 nil 'exwm-systemtray--refresh))
+ (font-lock-remove-keywords
+ 'org-mode b/org-mode-font-lock-keywords))
(defun b/lights-off ()
"Go dark."
(interactive)
(mapc #'disable-theme custom-enabled-themes)
- (load-theme 'solarized-dark t)
+ (load-theme 'doom-one t)
;; (sml/apply-theme 'automatic)
- ;; (font-lock-add-keywords
- ;; 'org-mode b/org-mode-font-lock-keywords t)
- (run-with-timer 0.01 nil 'exwm-systemtray--refresh))
+ (font-lock-add-keywords
+ 'org-mode b/org-mode-font-lock-keywords t))
(bind-keys
("C-c t d" . b/lights-off)
;; (use-package fill-column-indicator)
(use-package emojify
+ :disabled
:hook (erc-mode . emojify-mode))
(use-feature window
:config (pdf-tools-install nil t)
:custom (pdf-view-resize-factor 1.05))
+(use-package org-pdftools
+ :straight (:host github :repo "fuxialexander/org-pdftools")
+ :demand
+ :after org
+ :config
+ (with-eval-after-load 'org
+ (require 'org-pdftools)))
+
(use-package biblio)
(use-feature reftex
:config (minions-mode))
(use-package dmenu
- :disabled
:custom
- (dmenu-history-size 0)
(dmenu-prompt-string "run: ")
(dmenu-save-file (b/var "dmenu-items")))
;; (: gnus-group-split-fancy "INBOX" t "INBOX")
;; gnu
(list ".*<\\(.*\\)\\.\\(non\\)?gnu\\.org>.*" "l.\\1")
- ;; *@lists.sr.ht, omitting one dot if present
- ;; add more \\.?\\([^.@]*\\) if needed
- (list ".*<~\\(.*\\)/\\([^.@]*\\)\\.?\\([^.@]*\\)@lists.sr.ht>.*" "l.~\\1.\\2\\3")
+ ;; *.lists.sr.ht, omitting one dot if present
+ ;; add more \\.?\\([^.]*\\) if needed
+ (list ".*<~\\(.*\\)/\\([^.]*\\)\\.?\\([^.]*\\)\\.lists.sr.ht>.*" "l.~\\1.\\2\\3")
;; webmasters
(from "webmasters\\(-comment\\)?@gnu\\.org" "webmasters")
;; other
(body "")
(eval (setq b/message-cite-say-hi nil)))
("nnimap\\+uw:.*"
- (address "abandali@uwaterloo.ca")
+ (address "bandali@uwaterloo.ca")
(signature b/uw-signature))
("nnimap\\+uw:INBOX"
(gcc "\"nnimap+uw:Sent Items\""))
message-subscribed-address-functions
'(gnus-find-subscribed-addresses)
message-dont-reply-to-names
- "\\(\\(\\(amin\\|mab\\)@shemshak\\.org\\)\\|\\(amin@bndl\\.org\\)\\|\\(.*@aminb\\.org\\)\\|\\(\\(bandali\\|mab\\|aminb?\\)@gnu\\.org\\)\\|\\(a\\(min\\.\\)?bandali@uwaterloo\\.ca\\)\\|\\(abandali@csclub\\.uwaterloo\\.ca\\)\\)")
+ "\\(\\(\\(amin\\|mab\\)@shemshak\\.org\\)\\|\\(amin@bndl\\.org\\)\\|\\(.*@aminb\\.org\\)\\|\\(\\(bandali\\|mab\\|aminb?\\)@gnu\\.org\\)\\|\\(\\(a\\(min\\.\\)?\\)?bandali@uwaterloo\\.ca\\)\\|\\(abandali@csclub\\.uwaterloo\\.ca\\)\\)")
(require 'company-ebdb)
:hook (;; (message-setup . mml-secure-message-sign-pgpmime)
(message-mode . flyspell-mode)
(use-feature ebdb-mua
:demand
:after ebdb
- :custom (ebdb-mua-pop-up nil))
+ :custom (ebdb-mua-pop-up t))
;; (use-package ebdb-message
;; :after ebdb)