diff options
| author | TCCQ <thomasmulmer02@gmail.com> | 2025-03-29 17:27:40 -0700 |
|---|---|---|
| committer | TCCQ <thomasmulmer02@gmail.com> | 2025-03-29 17:27:40 -0700 |
| commit | ddb6e57e50eb4c83050695d98c05aeb21df5fc1f (patch) | |
| tree | 520aacfc73d0a0a68fc944df3c4a853142f709f0 | |
| parent | cc601aa470397e05f51464e9a66bef8c6469181a (diff) | |
| parent | f2e7dfcf2e9c606e47511701a8cff37c913b8b96 (diff) | |
Merge remote-tracking branch 'desktop/master'
| -rw-r--r-- | emacs/init.el | 293 | ||||
| -rwxr-xr-x | emacs/site-lisp/coding-config.el | 33 | ||||
| -rw-r--r-- | emacs/site-lisp/evil-config.el | 3 | ||||
| -rw-r--r-- | emacs/site-lisp/exwm-pref.el | 107 | ||||
| -rw-r--r-- | emacs/site-lisp/general-text.el | 2 | ||||
| -rw-r--r-- | emacs/site-lisp/irc-config.el | 24 | ||||
| -rw-r--r-- | emacs/site-lisp/modeline-config.el | 4 | ||||
| -rw-r--r-- | emacs/site-lisp/my-binds.el | 8 | ||||
| -rw-r--r-- | emacs/site-lisp/my-funcs.el | 28 | ||||
| -rw-r--r-- | firefox/chrome/userChrome.css | 4 | ||||
| -rw-r--r-- | firefox/user.js | 11 |
11 files changed, 328 insertions, 189 deletions
diff --git a/emacs/init.el b/emacs/init.el index 0d23217..93a4552 100644 --- a/emacs/init.el +++ b/emacs/init.el @@ -7,21 +7,31 @@ ;; If there is more than one, they won't work right. '(comment-style 'extra-line) '(connection-local-criteria-alist - '(((:application vc-git) - vc-git-connection-default-profile) + '(((:application vc-git :protocol "ssh" :user "tmu" :machine + "cnoserver") + autogenerated-connection-local-profile/\(:application\ vc-git\ :protocol\ \"ssh\"\ :user\ \"tmu\"\ :machine\ \"cnoserver\"\)) + ((:application vc-git) vc-git-connection-default-profile) ((:application tramp :protocol "kubernetes") tramp-kubernetes-connection-local-default-profile) ((:application tramp :protocol "flatpak") - tramp-container-connection-local-default-flatpak-profile tramp-flatpak-connection-local-default-profile) + tramp-container-connection-local-default-flatpak-profile + tramp-flatpak-connection-local-default-profile) ((:application tramp) - tramp-connection-local-default-system-profile tramp-connection-local-default-shell-profile) - ((:application eshell) - eshell-connection-default-profile))) + tramp-connection-local-default-system-profile + tramp-connection-local-default-shell-profile) + ((:application eshell) eshell-connection-default-profile))) '(connection-local-profile-alist - '((vc-git-connection-default-profile - (vc-git--program-version)) + '((autogenerated-connection-local-profile/\(:application\ vc-git\ :protocol\ \"ssh\"\ :user\ \"tmu\"\ :machine\ \"cnoserver\"\) + (vc-git--program-version . "2.48.1")) + (vc-git-connection-default-profile (vc-git--program-version)) (tramp-flatpak-connection-local-default-profile - (tramp-remote-path "/app/bin" tramp-default-remote-path "/bin" "/usr/bin" "/sbin" "/usr/sbin" "/usr/local/bin" "/usr/local/sbin" "/local/bin" "/local/freeware/bin" "/local/gnu/bin" "/usr/freeware/bin" "/usr/pkg/bin" "/usr/contrib/bin" "/opt/bin" "/opt/sbin" "/opt/local/bin")) + (tramp-remote-path "/app/bin" tramp-default-remote-path "/bin" + "/usr/bin" "/sbin" "/usr/sbin" + "/usr/local/bin" "/usr/local/sbin" + "/local/bin" "/local/freeware/bin" + "/local/gnu/bin" "/usr/freeware/bin" + "/usr/pkg/bin" "/usr/contrib/bin" "/opt/bin" + "/opt/sbin" "/opt/local/bin")) (tramp-kubernetes-connection-local-default-profile (tramp-config-check . tramp-kubernetes--current-context-data) (tramp-extra-expand-args 97 @@ -34,91 +44,127 @@ (tramp-kubernetes--context-namespace (car tramp-current-connection)))) (tramp-container-connection-local-default-flatpak-profile - (tramp-remote-path "/app/bin" tramp-default-remote-path "/bin" "/usr/bin" "/sbin" "/usr/sbin" "/usr/local/bin" "/usr/local/sbin" "/local/bin" "/local/freeware/bin" "/local/gnu/bin" "/usr/freeware/bin" "/usr/pkg/bin" "/usr/contrib/bin" "/opt/bin" "/opt/sbin" "/opt/local/bin")) + (tramp-remote-path "/app/bin" tramp-default-remote-path "/bin" + "/usr/bin" "/sbin" "/usr/sbin" + "/usr/local/bin" "/usr/local/sbin" + "/local/bin" "/local/freeware/bin" + "/local/gnu/bin" "/usr/freeware/bin" + "/usr/pkg/bin" "/usr/contrib/bin" "/opt/bin" + "/opt/sbin" "/opt/local/bin")) (tramp-connection-local-darwin-ps-profile - (tramp-process-attributes-ps-args "-acxww" "-o" "pid,uid,user,gid,comm=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" "-o" "state=abcde" "-o" "ppid,pgid,sess,tty,tpgid,minflt,majflt,time,pri,nice,vsz,rss,etime,pcpu,pmem,args") - (tramp-process-attributes-ps-format - (pid . number) - (euid . number) - (user . string) - (egid . number) - (comm . 52) - (state . 5) - (ppid . number) - (pgrp . number) - (sess . number) - (ttname . string) - (tpgid . number) - (minflt . number) - (majflt . number) - (time . tramp-ps-time) - (pri . number) - (nice . number) - (vsize . number) - (rss . number) - (etime . tramp-ps-time) - (pcpu . number) - (pmem . number) - (args))) + (tramp-process-attributes-ps-args "-acxww" "-o" + "pid,uid,user,gid,comm=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" + "-o" "state=abcde" "-o" + "ppid,pgid,sess,tty,tpgid,minflt,majflt,time,pri,nice,vsz,rss,etime,pcpu,pmem,args") + (tramp-process-attributes-ps-format (pid . number) + (euid . number) + (user . string) + (egid . number) (comm . 52) + (state . 5) (ppid . number) + (pgrp . number) + (sess . number) + (ttname . string) + (tpgid . number) + (minflt . number) + (majflt . number) + (time . tramp-ps-time) + (pri . number) + (nice . number) + (vsize . number) + (rss . number) + (etime . tramp-ps-time) + (pcpu . number) + (pmem . number) (args))) (tramp-connection-local-busybox-ps-profile - (tramp-process-attributes-ps-args "-o" "pid,user,group,comm=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" "-o" "stat=abcde" "-o" "ppid,pgid,tty,time,nice,etime,args") - (tramp-process-attributes-ps-format - (pid . number) - (user . string) - (group . string) - (comm . 52) - (state . 5) - (ppid . number) - (pgrp . number) - (ttname . string) - (time . tramp-ps-time) - (nice . number) - (etime . tramp-ps-time) - (args))) + (tramp-process-attributes-ps-args "-o" + "pid,user,group,comm=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" + "-o" "stat=abcde" "-o" + "ppid,pgid,tty,time,nice,etime,args") + (tramp-process-attributes-ps-format (pid . number) + (user . string) + (group . string) (comm . 52) + (state . 5) (ppid . number) + (pgrp . number) + (ttname . string) + (time . tramp-ps-time) + (nice . number) + (etime . tramp-ps-time) + (args))) (tramp-connection-local-bsd-ps-profile - (tramp-process-attributes-ps-args "-acxww" "-o" "pid,euid,user,egid,egroup,comm=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" "-o" "state,ppid,pgid,sid,tty,tpgid,minflt,majflt,time,pri,nice,vsz,rss,etimes,pcpu,pmem,args") - (tramp-process-attributes-ps-format - (pid . number) - (euid . number) - (user . string) - (egid . number) - (group . string) - (comm . 52) - (state . string) - (ppid . number) - (pgrp . number) - (sess . number) - (ttname . string) - (tpgid . number) - (minflt . number) - (majflt . number) - (time . tramp-ps-time) - (pri . number) - (nice . number) - (vsize . number) - (rss . number) - (etime . number) - (pcpu . number) - (pmem . number) - (args))) + (tramp-process-attributes-ps-args "-acxww" "-o" + "pid,euid,user,egid,egroup,comm=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" + "-o" + "state,ppid,pgid,sid,tty,tpgid,minflt,majflt,time,pri,nice,vsz,rss,etimes,pcpu,pmem,args") + (tramp-process-attributes-ps-format (pid . number) + (euid . number) + (user . string) + (egid . number) + (group . string) (comm . 52) + (state . string) + (ppid . number) + (pgrp . number) + (sess . number) + (ttname . string) + (tpgid . number) + (minflt . number) + (majflt . number) + (time . tramp-ps-time) + (pri . number) + (nice . number) + (vsize . number) + (rss . number) + (etime . number) + (pcpu . number) + (pmem . number) (args))) (tramp-connection-local-default-shell-profile - (shell-file-name . "/bin/sh") - (shell-command-switch . "-c")) + (shell-file-name . "/bin/sh") (shell-command-switch . "-c")) (tramp-connection-local-default-system-profile - (path-separator . ":") - (null-device . "/dev/null")) - (eshell-connection-default-profile - (eshell-path-env-list)))) + (path-separator . ":") (null-device . "/dev/null")) + (eshell-connection-default-profile (eshell-path-env-list)))) '(custom-safe-themes - '("6f5e3fd2b4245ffe660da69ea5c13ab392337e94776dfb23cc1d8d0f80e3baa2" "1b8c2fd98bf6777d8b95f8cf98fdaede88feee3419ec3e5008f94b56618ac6ca" "0cc5046b7981609166c28b64f6185fa5f73bcb00d21e037f304794c6aaa1f340" "9f2e4e8b2ddbfdd392eedbc123649d94654278dee5a53b899557224416413d35" "6dafb31ade9ff07229faaf05c41c2ae475c44731362b792f65f3930b1a2c9cfd" "dc77e008092a5a4aa6b6ed8e4826bebf8f2fb930a8de073bf7f458efd884cca8" "d1ff3e66028f9c527298580d2a64f9e3280f07f9e94d4dada72b67ef15069441" "3d4e3644e237a95683daa73e397c4c0d1ae06bbaaf8040104232591a28bc1315" "12a07bc38295e4b06a8965db261f51ea7ea61fbf91b3ef41298bbb549d1d9403" default)) + '("6f5e3fd2b4245ffe660da69ea5c13ab392337e94776dfb23cc1d8d0f80e3baa2" + "1b8c2fd98bf6777d8b95f8cf98fdaede88feee3419ec3e5008f94b56618ac6ca" + "0cc5046b7981609166c28b64f6185fa5f73bcb00d21e037f304794c6aaa1f340" + "9f2e4e8b2ddbfdd392eedbc123649d94654278dee5a53b899557224416413d35" + "6dafb31ade9ff07229faaf05c41c2ae475c44731362b792f65f3930b1a2c9cfd" + "dc77e008092a5a4aa6b6ed8e4826bebf8f2fb930a8de073bf7f458efd884cca8" + "d1ff3e66028f9c527298580d2a64f9e3280f07f9e94d4dada72b67ef15069441" + "3d4e3644e237a95683daa73e397c4c0d1ae06bbaaf8040104232591a28bc1315" + "12a07bc38295e4b06a8965db261f51ea7ea61fbf91b3ef41298bbb549d1d9403" + default)) '(ede-project-directories - '("/home/tmu/Desktop/eway/sway" "/home/tmu/Desktop/eway/cage" "/home/tmu/Desktop/eway/wlroots" "/home/tmu/Desktop/eway/comp" "/home/tmu/Desktop/eway")) + '("/home/tmu/Desktop/eway/sway" "/home/tmu/Desktop/eway/cage" + "/home/tmu/Desktop/eway/wlroots" "/home/tmu/Desktop/eway/comp" + "/home/tmu/Desktop/eway")) '(eglot-events-buffer-config '(:size 0 :format full)) '(gdb-non-stop-setting nil) '(helm-minibuffer-history-key "M-p") '(menu-bar-mode nil) '(package-selected-packages - '(em-term em-hist embark-consult embark eat em-smart all-the-icons-completion all-the-icons marginalia visible-mark benchmark-init sideline-lsp sideline-flymake sideline-flycheck sideline lsp-haskell lsp-sourcekit emacs-lsp elisp-sandbox elsa lsp-mode corfu evil-config which-key orderless vertico evil)) + '(2048-game all-the-icons-completion amsreftex auctex avy-flycheck + balanced-windows benchmark-init bongo buffer-move cape + chinese-conv cmake-mode company-go corfu corfu-terminal + counsel-projectile cuda-mode dockerfile-mode + doom-modeline dumb-jump eat edit-indirect eglot + embark-consult ement emms-player-simple-mpv emms-state + esh-help eshell-fringe-status eshell-vterm esup + evil-collection evil-easymotion evil-snipe + evil-surround exwm-firefox-evil exwm-modeline eyebrowse + fish-mode flycheck flycheck-aspell flymake-aspell + flymake-diagnostic-at-point fold-this folding free-keys + frog-jump-buffer gdscript-mode gxref haskell-mode + helm-exwm helm-hoogle highlight hindent hl-todo + ibuffer-project ibuffer-projectile imenu-anywhere + ivy-hydra ivy-prescient lsp-haskell magit marginalia + markdown-preview-mode minions nginx-mode oauth2 + orderless pass password-store + persp-mode-projectile-bridge popwin pyim-basedict + pyim-cangjiedict pyvenv racket-mode rainbow-delimiters + rustic sdcv sideline-flycheck sideline-flymake + sideline-lsp simple-httpd spell-fu telephone-line + tempel tree-sitter-langs treemacs treemacs-evil + vertico-prescient vimgolf visible-mark volume which-key + winum workgroups yaml-mode)) '(pyim-assistant-scheme 'cangjie) '(safe-local-variable-values '((LEXICAL-binding . t))) '(scroll-bar-mode nil) @@ -126,7 +172,8 @@ '(tool-bar-mode nil) '(transient-mark-mode nil) '(whitespace-style - '(face trailing tabs lines-tail missing-newline-at-eof indentation space-after-tab space-before-tab tab-mark) t)) + '(face trailing tabs lines-tail missing-newline-at-eof indentation + space-after-tab space-before-tab tab-mark) t)) ;; --------------------------------------------------------------------- ;; non-package specific config @@ -153,8 +200,13 @@ (setq async-shell-command-buffer 'new-buffer) ;; start additional async shell commands in new buffers without asking (setq-default proced-auto-update-flag t) +(setq-default proced-auto-update-interval 1) ;; always auto update proced +;; this is to avoid loading evil entirely, and ease some of the +;; internconnection complexity of the config +(setq want-evil nil) + ;; -------------------------------------------------------------------- ;; external packages @@ -194,7 +246,7 @@ ("C-h B" . embark-bindings) ;; alternative for `describe-bindings' ) :init - (add-hook 'eldoc-documentation-functions #'embark-eldoc-first-target) + ;; (add-hook 'eldoc-documentation-functions #'embark-eldoc-first-target) :config ;; Hide the mode line of the Embark live/completions buffers (add-to-list 'display-buffer-alist @@ -202,12 +254,6 @@ nil (window-parameters (mode-line-format . none))))) -(use-package all-the-icons) -(use-package all-the-icons-completion - :after (marginalia all-the-icons) - :hook (marginalia-mode . all-the-icons-completion-marginalia-setup) - :init (all-the-icons-completion-mode)) - (use-package orderless ;; ordering (minibuffer) completions :custom @@ -231,23 +277,27 @@ (corfu-quit-no-match t) :bind (("M-/" . completion-at-point))) +(use-package corfu-terminal + :init + (corfu-terminal-mode 1) + :custom + (corfu-terminal-disable-on-gui nil)) + (use-package cape ;; extend completion frameworks :bind ("C-c p" . cape-prefix-map) :config (advice-add 'pcomplete-completions-at-point :around 'cape-wrap-silent) (advice-add 'pcomplete-completions-at-point :around 'cape-wrap-purify) - :custom - (completion-at-point-functions . '(cape-dict - tags-completion-at-point-function - cape-keyword - cape-dabbrev - cape-symbol))) + :init + (setq completion-at-point-functions '(tags-completion-at-point-function + cape-keyword + cape-dabbrev + cape-symbol + cape-dict))) (use-package dabbrev - ;; Swap M-/ and C-M-/ - :bind ( ;; ("M-/" . completion-at-point) - ("C-M-/" . dabbrev-expand)) + :bind (("C-M-/" . dabbrev-expand)) :config (add-to-list 'dabbrev-ignored-buffer-regexps "\\` ") ;; Since 29.1, use `dabbrev-ignored-buffer-regexps' on older. @@ -307,14 +357,24 @@ " " filename-and-process) (mark " " (name 16 -1) - " " filename)))) + " " filename))) + :bind + ("C-x C-b" . ibuffer) + :hook + (ibuffer . (lambda () + (unless (eq ibuffer-sorting-mode 'alphabetic) + (ibuffer-do-sort-by-alphabetic))))) (use-package buffer-move :bind ("C-x -" . buf-move-right)) +(use-package winum + :init + (winum-mode 1)) + (use-package consult - :custom (consult-preview-excluded-buffers '(major-mode . exwm-mode)) - :bind ("C-x b" . consult-buffer)) + :custom (consult-preview-excluded-buffers t) + :bind (("C-x b" . consult-buffer))) ;; (use-package beacon ;; :init @@ -334,6 +394,12 @@ (visible-mark-max 1) ) +(use-package avy + :bind (("C-'" . avy-goto-char-2))) + +(use-package balanced-windows + :bind ("C-x w b" . balanced-windows-mode)) + ;; eshell stuff (use-package eshell :init @@ -346,13 +412,27 @@ (keymap-set eshell-hist-mode-map "C-c C-n" 'next-line) (keymap-set eshell-hist-mode-map "C-c C-p" 'previous-line) (keymap-set eshell-mode-map "C-l" 'eshell/clear) - (add-hook 'eshell-mode-hook 'eldoc-mode)) + (add-hook 'eshell-mode-hook 'eldoc-mode) + (if want-evil + (add-hook 'eshell-mode-hook (lambda () (evil-local-mode -1))))) (use-package eat :init (add-hook 'eshell-load-hook #'eat-eshell-mode) - (add-hook 'eshell-load-hook #'eat-eshell-visual-command-mode) - (push "pass" eshell-visual-commands)) + (add-hook 'eshell-load-hook #'eat-eshell-visual-command-mode)) + +;; file browser +(use-package treemacs + :bind (("C-c t" . treemacs))) + +;; password integration +(use-package password-store) +(use-package auth-source-pass + :init (auth-source-pass-enable)) +(use-package pass + :custom + (pass-supress-confirmations t)) +(setq epg-pinentry-mode 'loopback) ;; make tramp not prompt for autosaving root owned files (setq tramp-allow-unsafe-temporary-files t) @@ -360,13 +440,14 @@ ;; ---------------------------------------------------------------------- ;; my custom stuff -;; (require 'evil-config) +(if want-evil (require 'evil-config)) (require 'my-funcs) (require 'my-binds) (require 'coding-config) (require 'modeline-config) (require 'general-text) (require 'exwm-pref) +(require 'irc-config) ;; ---------------------------------------------------------------------- ;; theme stuff diff --git a/emacs/site-lisp/coding-config.el b/emacs/site-lisp/coding-config.el index 9d228f0..25dd372 100755 --- a/emacs/site-lisp/coding-config.el +++ b/emacs/site-lisp/coding-config.el @@ -24,6 +24,8 @@ (use-package lsp-haskell) +(use-package pyvenv) + (use-package sideline :init (setq sideline-backends-right '())) @@ -51,16 +53,7 @@ (global-set-key (kbd "M-I") 'xref-find-definitions) (setq imenu-auto-rescan t) - -;; make ibuffer play with projectile -(use-package ibuffer - :bind - ("C-x C-b" . ibuffer) - :hook - (ibuffer . (lambda () - (ibuffer-projectile-set-filter-groups) - (unless (eq ibuffer-sorting-mode 'alphabetic) - (ibuffer-do-sort-by-alphabetic))))) +(setq imenu-flatten t) ;; make shells and whatnot slightly better (require 'comint) @@ -94,13 +87,15 @@ (require 'my-funcs) (add-hook 'prog-mode-hook (lambda () (hs-minor-mode 1) + (hl-todo-mode 1) (superword-mode 1) - (modify-syntax-entry ?_ "w") ) - (display-fill-column-indicator-mode 1) - (add-hook 'before-save-hook - (lambda () - (if (not (eq major-mode 'makefile-gmake-mode)) - (clean-prog-file (current-buffer)))))) + (modify-syntax-entry ?_ "w") + + (display-fill-column-indicator-mode 1) + (add-hook 'before-save-hook + (lambda () + (if (not (eq major-mode 'makefile-gmake-mode)) + (clean-prog-file (current-buffer))))))) ;; haskell flavor and tags (use-package haskell-mode @@ -125,3 +120,9 @@ "rg -i -M 120 --no-heading --line-number --color never '%s' %s") (global-set-key (kbd "C-s") 'counsel-grep-or-swiper) (global-set-key (kbd "C-S-s") 'isearch-forward) + +;; racket +(use-package racket-mode) + +;; rust +(use-package rustic) diff --git a/emacs/site-lisp/evil-config.el b/emacs/site-lisp/evil-config.el index b019146..38db735 100644 --- a/emacs/site-lisp/evil-config.el +++ b/emacs/site-lisp/evil-config.el @@ -30,8 +30,11 @@ (define-key evil-normal-state-map (kbd "M-.") 'xref-find-definitions) (define-key evil-normal-state-map (kbd "M-Z") 'suspend-frame) +(use-package treemacs-evil) + (define-key evil-motion-state-map (kbd "TAB") 'indent-for-tab-command) (evil-set-initial-state 'vterm-mode 'emacs) +(evil-set-initial-state 'eshell-mode 'emacs) ;;; sasha bindings (defun evil-window-split-and-switch () diff --git a/emacs/site-lisp/exwm-pref.el b/emacs/site-lisp/exwm-pref.el index fee729f..f03711c 100644 --- a/emacs/site-lisp/exwm-pref.el +++ b/emacs/site-lisp/exwm-pref.el @@ -6,9 +6,10 @@ (require 'exwm-randr) (require 'exwm-xim) (require 'exwm-systemtray) +(require 'exwm-manage) -(setq exwm-workspace-number 1) -;; (setq exwm-randr-workspace-monitor-plist '(0 "DP-0" 1 "HDMI-0" 2 "DVI-I-1")) +(setq exwm-workspace-number 2) +(setq exwm-randr-workspace-monitor-plist '(0 "DP-0" 1 "HDMI-0")) (setq exwm-workspace-show-all-buffers t) (setq exwm-layout-show-all-buffers t) @@ -22,9 +23,9 @@ ;; (require 'exwm-firefox) ;; (exwm-firefox-mode) -(setq persp-auto-resume-time 0) +(setq exwm-title-length 50) -(setq exwm-title-length 70) +(setq exwm-manage-force-tiling t) (defun b3n-exwm-set-buffer-name () (if (and exwm-title (string-match "\\`http[^ ]+" exwm-title)) @@ -33,6 +34,10 @@ (setq-local exwm-title (replace-regexp-in-string (concat (regexp-quote url) " - ") "" + exwm-title)) + (setq-local exwm-title (replace-regexp-in-string + " - Mozilla Firefox" + "" exwm-title)))) (setq-local exwm-title @@ -41,7 +46,7 @@ "<" ;; (if (<= (length exwm-title) exwm-title-length) exwm-title - ;; (concat (substring exwm-title 0 exwm-title-length) "…")) + ;; (concat (substring exwm-title 0 exwm-title-length) "…")) ">")) (exwm-workspace-rename-buffer exwm-title)) @@ -75,7 +80,7 @@ ;; super hacky, assumes that there are only two active workspaces (exwm-workspace-switch-create (exwm-workspace--workspace-from-frame-or-index (let* ((workspace-list (seq-filter 'exwm-workspace--active-p exwm-workspace--list)) - (active-workspaces workspace-list)) + (active-workspaces workspace-list)) (while (not (eq (car active-workspaces) (selected-frame))) (setq active-workspaces (cdr active-workspaces))) (setq active-workspaces (cdr active-workspaces)) @@ -98,6 +103,7 @@ ;;(exwm-config-default) (exwm-systemtray-mode) (push ?\C-\\ exwm-input-prefix-keys) ;;C-\ to switch input method +(push ?\C-u exwm-input-prefix-keys) ;; send C-u to all windows too ;; All buffers created in EXWM mode are named "*EXWM*". You may want to ;; change it in `exwm-update-class-hook' and `exwm-update-title-hook', which @@ -147,7 +153,7 @@ ;;fast workspace switch ([?\s-O] . exwm-other-assigned-workspace) - ;; ([?\M-O] . exwm-other-assigned-workspace) + ([?\M-O] . exwm-other-assigned-workspace) ;;quick calc switching ;; ([?\s-c] . switch-to-calc) @@ -179,42 +185,44 @@ (interactive (list (read-shell-command "$ "))) (start-process-shell-command command nil command))) ;; ([?\M-d] . (lambda (command) - ;; (interactive (list (read-shell-command "$ "))) - ;; (start-process-shell-command command nil command))) + ;; (interactive (list (read-shell-command "$ "))) + ;; (start-process-shell-command command nil command))) ;; browser ([?\s-e] . (lambda () (interactive) - (start-process-shell-command "vimb" nil "vimb"))) + (start-process-shell-command "firefox" nil "firefox"))) ;; ([?\M-e] . (lambda () - ;; (interactive) - ;; (start-process-shell-command "vimb" nil "vimb"))) + ;; (interactive) + ;; (start-process-shell-command "vimb" nil "vimb"))) ;;terminal - ([s-return] . 'eshell) - ;; ([M-return] . (lambda () - ;; (interactive) - ;;if we are already there, switch back - ;; (if (string= (buffer-name (current-buffer)) "*vterm*") - ;; (exwm-workspace-switch-to-buffer exwm-last-buffer) - ;; (progn - ;; (setq exwm-last-buffer (current-buffer)) - ;; (vterm))))) + ([s-return] . eshell) + ;; ((kbd "M-<return>") . eshell) + ;; ([?\M-return] . (lambda () + ;; (interactive) + ;;if we are already there, switch back + ;; (if (string= (buffer-name (current-buffer)) "*vterm*") + ;; (exwm-workspace-switch-to-buffer exwm-last-buffer) + ;; (progn + ;; (setq exwm-last-buffer (current-buffer)) + ;; (vterm))))) ;; return to the last window - ;; ([s-tab] . (lambda () + ;; ([?\s-tab] . (lambda () ;; (interactive) ;; (exwm-workspace-switch-to-buffer (other-buffer)))) ;; kill the current window and close the buffer if possible ([?\s-Q] . kill-buffer-and-window) + ([?\M-Q] . kill-buffer-and-window) ;; kill current buffer but leave window ([?\s-q] . (lambda () (interactive) (kill-buffer nil))) ;; suspend - ([?\s-`] . (lambda () - (interactive) - (start-process "" nil "loginctl" "suspend"))) + ;; ([?\s-`] . (lambda () + ;; (interactive) + ;; (start-process "" nil "loginctl" "suspend"))) )) ;; requires some custom shell scripts not included in my emacs config @@ -250,32 +258,39 @@ ;; list of cons cells (SRC . DEST), where SRC is the key sequence you press ;; and DEST is what EXWM actually sends to application. Note that both SRC ;; and DEST should be key sequences (vector or string). -;; (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 delete]) -;; ;; cut/paste. -;; ;; ([?\C-w] . [?\C-x]) -;; ;; ([?\M-w] . [?\C-c]) -;; ;; ([?\C-y] . [?\C-v]) -;; ;; search -;; ([?\C-s] . [?\C-f]))) +(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 delete]) + ;; cut/paste. + ;; ([?\C-w] . [?\C-x]) + ([?\M-w] . [?\C-c]) + ([?\C-y] . [?\C-v]) + ;; search + ([?\C-s] . [?\C-f]))) ;; You can hide the minibuffer and echo area when they're not used, by ;; uncommenting the following line. ;; (setq exwm-workspace-minibuffer-position 'bottom) + +;; specifically disable S-return in the minibuffer so you don't hit it on accident +;; This is here cause cause the other s-* bindings are here +(if vertico-mode + (define-key vertico-map (kbd "s-<return>") 'vertico-exit) + (define-key minibuffer-mode-map (kbd "s-<return>") 'minibuffer-complete-and-exit)) + ;; Do not forget to enable EXWM. It will start by itself when things are ;; ready. You can put it _anywhere_ in your configuration. (exwm-enable) diff --git a/emacs/site-lisp/general-text.el b/emacs/site-lisp/general-text.el index d03171a..e593487 100644 --- a/emacs/site-lisp/general-text.el +++ b/emacs/site-lisp/general-text.el @@ -20,7 +20,7 @@ (setq ispell-personal-dictionary "/home/tmu/.aspell.en.pws") (add-hook 'text-mode-hook (lambda () - (ispell-mode 1) + (ispell-minor-mode 1) (local-set-key (kbd "M-l") 'dict-map))) (electric-pair-mode 1) diff --git a/emacs/site-lisp/irc-config.el b/emacs/site-lisp/irc-config.el new file mode 100644 index 0000000..d9213ef --- /dev/null +++ b/emacs/site-lisp/irc-config.el @@ -0,0 +1,24 @@ + +;; erc stuff +(require 'erc) +(setq erc-modules '(services autojoin button completion fill imenu irccontrols list match menu + move-to-prompt netsplit networks readonly ring stamp track) + erc-nick "tccq" + erc-use-auth-source-for-nickserv-password t + erc-autojoin-channels-alist '(("libera.chat" + "#emacs" "#emacs-social" "#linux" "#archlinux" "#haskell" "#invidious")) + + erc-hide-list '("JOIN" "PART" "QUIT") + erc-current-nick-highlight-type 'nick + erc-keywords nil + erc-track-exclude-types '("JOIN" "PART" "QUIT" "NICK" "MODE") + erc-track-use-faces t + erc-track-faces-priority-list '(erc-current-nick-face erc-keyword-face) + erc-track-priority-faces-only 'all) + +(defun start-erc () + "Start erc and autojoin various channels" + (interactive) + (erc :server "irc.libera.chat" :port 6667)) + +(provide 'irc-config) diff --git a/emacs/site-lisp/modeline-config.el b/emacs/site-lisp/modeline-config.el index 873f855..b74a15d 100644 --- a/emacs/site-lisp/modeline-config.el +++ b/emacs/site-lisp/modeline-config.el @@ -2,8 +2,8 @@ (provide 'modeline-config) -(require 'battery) -(display-battery-mode 1) +;; (require 'battery) +;; (display-battery-mode 1) (use-package doom-modeline :init diff --git a/emacs/site-lisp/my-binds.el b/emacs/site-lisp/my-binds.el index d3455e4..bb80e62 100644 --- a/emacs/site-lisp/my-binds.el +++ b/emacs/site-lisp/my-binds.el @@ -17,8 +17,6 @@ (keymap-set dired-mode-map "C-o" 'dired-display-file) (keymap-set dired-mode-map "F" 'dired-do-find-marked-files) - -(global-set-key (kbd "M-l") 'forward-char) -(global-set-key (kbd "M-j") 'next-line) -(global-set-key (kbd "M-k") 'previous-line) -(global-set-key (kbd "M-h") 'backward-char) +;; searching +(global-set-key (kbd "M-s g") 'rgrep) +(global-set-key (kbd "M-s r") 'counsel-rg) diff --git a/emacs/site-lisp/my-funcs.el b/emacs/site-lisp/my-funcs.el index b1cfdec..8bed290 100644 --- a/emacs/site-lisp/my-funcs.el +++ b/emacs/site-lisp/my-funcs.el @@ -91,19 +91,21 @@ BEG and END define the region." (let ((transient-mark-mode nil)) (yank-advised-indent-function (region-beginning) (region-end))))) -(defadvice evil-paste-before (after yank-indent activate) - "If current mode is one of 'yank-indent-modes, indent yanked text (with prefix arg don't indent)." - (if (and (not (ad-get-arg 0)) - (member major-mode yank-indent-modes)) - (let ((transient-mark-mode nil)) - (yank-advised-indent-function (region-beginning) (region-end))))) - -(defadvice evil-paste-after (after yank-indent activate) - "If current mode is one of 'yank-indent-modes, indent yanked text (with prefix arg don't indent)." - (if (and (not (ad-get-arg 0)) - (member major-mode yank-indent-modes)) - (let ((transient-mark-mode nil)) - (yank-advised-indent-function (region-beginning) (region-end))))) +(if want-evil + (progn + (defadvice evil-paste-before (after yank-indent activate) + "If current mode is one of 'yank-indent-modes, indent yanked text (with prefix arg don't indent)." + (if (and (not (ad-get-arg 0)) + (member major-mode yank-indent-modes)) + (let ((transient-mark-mode nil)) + (yank-advised-indent-function (region-beginning) (region-end))))) + + (defadvice evil-paste-after (after yank-indent activate) + "If current mode is one of 'yank-indent-modes, indent yanked text (with prefix arg don't indent)." + (if (and (not (ad-get-arg 0)) + (member major-mode yank-indent-modes)) + (let ((transient-mark-mode nil)) + (yank-advised-indent-function (region-beginning) (region-end))))))) (defun fold-this-fold-forward (&optional arg) "Fold forward ARG number of sexps, defaulting to one." diff --git a/firefox/chrome/userChrome.css b/firefox/chrome/userChrome.css new file mode 100644 index 0000000..510b37d --- /dev/null +++ b/firefox/chrome/userChrome.css @@ -0,0 +1,4 @@ +/* Hide tab bar. */ +#tabbrowser-tabs, #tabbrowser-tabs arrowscrollbox { min-height: 0 !important; } +#tabbrowser-tabs tab { height: var(--tab-min-height); } +#tabbrowser-tabs tab:first-of-type:last-of-type { display: none !important; } diff --git a/firefox/user.js b/firefox/user.js new file mode 100644 index 0000000..9045107 --- /dev/null +++ b/firefox/user.js @@ -0,0 +1,11 @@ +// Allow chrome/userChrome.css +user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); + +// Force all links to open in the same window. +user_pref("browser.link.open_newwindow", 1); + +// Disable horrible tab switcher. +user_pref("browser.ctrlTab.recentlyUsedOrder", false); + +// Disable horrible new tab page. +user_pref("browser.newtabpage.enabled", false); |
