(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")))
(interactive)
(start-process-shell-command
"rofi-pass" nil "rofi-pass")))
+ ([?\s-h] . windmove-left)
+ ([?\s-j] . windmove-down)
+ ([?\s-k] . windmove-up)
+ ([?\s-l] . windmove-right)
+ ([?\s-H] . windmove-swap-states-left)
+ ([?\s-J] . windmove-swap-states-down)
+ ([?\s-K] . windmove-swap-states-up)
+ ([?\s-L] . windmove-swap-states-right)
+ ([?\M-\s-h] . shrink-window-horizontally)
+ ([?\M-\s-l] . enlarge-window-horizontally)
+ ([?\M-\s-k] . shrink-window)
+ ([?\M-\s-j] . enlarge-window)
([?\s-\[] . (lambda ()
(interactive)
(exwm-workspace-switch-create
(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 ()
([XF86ScreenSaver] .
(lambda ()
(interactive)
- (start-process "" nil "dm-tool" "lock")))))
+ (start-process "" nil "dm-tool" "lock")))
+ ([\s-XF86Back] . previous-buffer)
+ ([\s-XF86Forward] . next-buffer)))
;; Line-editing shortcuts
(setq exwm-input-simulation-keys
([?\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
(exwm-manage-finish . (lambda ()
(when exwm-class-name
(cond
+ ((string= exwm-class-name "Abrowser")
+ (exwm-input-set-local-simulation-keys
+ `(,@exwm-input-simulation-keys
+ ([?\C-\S-d] . [?\C-d]))))
((string= exwm-class-name "URxvt")
(exwm-input-set-local-simulation-keys
'(([?\C-c ?\C-c] . [?\C-c])
([?\C-c ?\C-u] . [?\C-u]))))
- ((string= exwm-class-name "Abrowser")
+ ((string= exwm-class-name "Zathura")
(exwm-input-set-local-simulation-keys
- `(,@exwm-input-simulation-keys
- ([?\C-\S-d] . [?\C-d])
- ([?\C-q] . [?\C-w])
- ([?\s-q] . [?\C-q])))))))))
+ '(([?\C-p] . [C-up])
+ ([?\C-n] . [C-down])))))))))
(use-feature exwm-randr
:demand
:config
(exwm-systemtray-enable))
-(use-feature exwm-workspace
+(use-feature exwm-workspace)
+
+(use-package exwm-edit
:demand
- :after exwm
- :custom
- (exwm-workspace-number 4))
+ :after exwm)
;; use the org-plus-contrib package to get the whole deal
(use-package org-plus-contrib)
: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
(load-theme 'tangomod t)
(use-package smart-mode-line
+ :disabled
:commands (sml/apply-theme)
:demand
:config
(use-package doom-themes)
+(use-package solarized-theme
+ :disabled
+ :config
+ (load-theme 'solarized-light t))
+
+(use-package moody
+ :demand
+ :config
+ (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 "#eeeeee")) ; d3d7cf
+ (moody-replace-mode-line-buffer-identification)
+ (moody-replace-vc-mode))
+
(defvar b/org-mode-font-lock-keywords
'(("[ \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 'tangomod t)
- (sml/apply-theme 'automatic)
+ ;; (sml/apply-theme 'automatic)
(font-lock-remove-keywords
'org-mode b/org-mode-font-lock-keywords)
(exwm-systemtray--refresh))
"Go dark."
(interactive)
(mapc #'disable-theme custom-enabled-themes)
- (load-theme 'doom-tomorrow-night t)
- (sml/apply-theme 'automatic)
+ (load-theme 'doom-one t)
+ ;; (sml/apply-theme 'automatic)
(font-lock-add-keywords
'org-mode b/org-mode-font-lock-keywords t)
(exwm-systemtray--refresh))
: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
(erc-track-enable-keybindings nil)
(erc-track-exclude-types '("JOIN" "MODE" "NICK" "PART" "QUIT"
"324" "329" "332" "333" "353" "477"))
+ (erc-track-position-in-mode-line t)
(erc-track-priority-faces-only 'all)
(erc-track-shorten-function nil))