emacs: update packages, use dmenu for s-SPC
[~bandali/configs] / .emacs.d / init.el
index 0f080b6..9b0c0c7 100644 (file)
@@ -605,11 +605,12 @@ around if needed."
   (setq exwm-input-global-keys
         `(([?\s-R] . exwm-reset)
           ([?\s-\\] . exwm-workspace-switch)
   (setq 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")))
           ([s-return] . (lambda ()
                           (interactive)
                           (start-process "" nil "urxvt")))
@@ -618,6 +619,18 @@ around if needed."
                            (interactive)
                            (start-process-shell-command
                             "rofi-pass" nil "rofi-pass")))
                            (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
           ([?\s-\[] . (lambda ()
                         (interactive)
                         (exwm-workspace-switch-create
@@ -681,7 +694,9 @@ around if needed."
           ([XF86ScreenSaver] .
            (lambda ()
                     (interactive)
           ([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
 
   ;; Line-editing shortcuts
   (setq exwm-input-simulation-keys
@@ -751,6 +766,10 @@ around if needed."
   :custom
   (exwm-workspace-number 4))
 
   :custom
   (exwm-workspace-number 4))
 
+(use-package exwm-edit
+  :demand
+  :after exwm)
+
 ;; use the org-plus-contrib package to get the whole deal
 (use-package org-plus-contrib)
 
 ;; use the org-plus-contrib package to get the whole deal
 (use-package org-plus-contrib)
 
@@ -1475,6 +1494,7 @@ This function is intended for use with `ivy-ignore-buffers'."
 (load-theme 'tangomod t)
 
 (use-package smart-mode-line
 (load-theme 'tangomod t)
 
 (use-package smart-mode-line
+  :disabled
   :commands (sml/apply-theme)
   :demand
   :config
   :commands (sml/apply-theme)
   :demand
   :config
@@ -1490,18 +1510,38 @@ This function is intended for use with `ivy-ignore-buffers'."
 
 (use-package doom-themes)
 
 
 (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
 (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)
 
 (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))
   (font-lock-remove-keywords
    'org-mode b/org-mode-font-lock-keywords)
   (exwm-systemtray--refresh))
@@ -1510,8 +1550,8 @@ This function is intended for use with `ivy-ignore-buffers'."
   "Go dark."
   (interactive)
   (mapc #'disable-theme custom-enabled-themes)
   "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))
   (font-lock-add-keywords
    'org-mode b/org-mode-font-lock-keywords t)
   (exwm-systemtray--refresh))
@@ -1897,9 +1937,7 @@ This function is intended for use with `ivy-ignore-buffers'."
   :config (minions-mode))
 
 (use-package dmenu
   :config (minions-mode))
 
 (use-package dmenu
-  :disabled
   :custom
   :custom
-  (dmenu-history-size 0)
   (dmenu-prompt-string "run: ")
   (dmenu-save-file (b/var "dmenu-items")))
 
   (dmenu-prompt-string "run: ")
   (dmenu-save-file (b/var "dmenu-items")))
 
@@ -2471,6 +2509,7 @@ https://csclub.uwaterloo.ca/~abandali")
   (erc-track-enable-keybindings nil)
   (erc-track-exclude-types '("JOIN" "MODE" "NICK" "PART" "QUIT"
                              "324" "329" "332" "333" "353" "477"))
   (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))
 
   (erc-track-priority-faces-only 'all)
   (erc-track-shorten-function nil))