diff options
| author | Thomas Ulmer <thomasmulmer02@gmail.com> | 2025-04-13 14:41:15 -0700 |
|---|---|---|
| committer | Thomas Ulmer <thomasmulmer02@gmail.com> | 2025-04-13 14:41:15 -0700 |
| commit | ae2bf0a9162084af6e32df20258ed689a24048bc (patch) | |
| tree | 242a37ef087ce37f5d80abd88e04febfe8bb8f93 | |
| parent | afc8816016987374b40ecd527d0c95d9923ce54f (diff) | |
various bits to make it more plug-n-play
| -rw-r--r-- | emacs/init.el | 43 | ||||
| -rwxr-xr-x | emacs/site-lisp/coding-config.el | 4 | ||||
| -rw-r--r-- | emacs/site-lisp/exwm-pref.el | 29 | ||||
| -rwxr-xr-x | emacs/site-lisp/single-header.el | 40 |
4 files changed, 69 insertions, 47 deletions
diff --git a/emacs/init.el b/emacs/init.el index 4b47b96..4ea51ae 100644 --- a/emacs/init.el +++ b/emacs/init.el @@ -141,30 +141,13 @@ '(helm-minibuffer-history-key "M-p") '(menu-bar-mode nil) '(package-selected-packages - '(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)) + '(balanced-windows buffer-move cape consult corfu-terminal counsel + doom-modeline eat embark esh-help exwm-modeline + fold-this haskell-mode hl-todo lsp-haskell magit + marginalia minions orderless pass pyvenv + racket-mode rustic sideline-flycheck + sideline-flymake sideline-lsp tempel treemacs + vertico visible-mark vterm winum)) '(pyim-assistant-scheme 'cangjie) '(safe-local-variable-values '((LEXICAL-binding . t))) '(scroll-bar-mode nil) @@ -210,11 +193,6 @@ ;; -------------------------------------------------------------------- ;; external packages -(use-package benchmark-init - :config - ;; To disable collection of benchmark data after init is done. - (add-hook 'after-init-hook 'benchmark-init/deactivate)) - ;; enable external packages (require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")) @@ -224,6 +202,11 @@ (setq use-package-always-ensure t) ;; (setq use-package-always-demand t) +(use-package benchmark-init + :config + ;; To disable collection of benchmark data after init is done. + (add-hook 'after-init-hook 'benchmark-init/deactivate)) + (use-package vertico ;; better minibuffer complete :init @@ -418,6 +401,8 @@ (if want-evil (add-hook 'eshell-mode-hook (lambda () (evil-local-mode -1))))) +(use-package vterm) + (use-package eat :init (eat-eshell-mode) diff --git a/emacs/site-lisp/coding-config.el b/emacs/site-lisp/coding-config.el index 25dd372..edf252f 100755 --- a/emacs/site-lisp/coding-config.el +++ b/emacs/site-lisp/coding-config.el @@ -115,7 +115,9 @@ (push '("\\*compilation\\*" . (nil (reusable-frames . t))) display-buffer-alist) ;; better searching -(require 'counsel) +(use-package swiper) +(use-package counsel) +(use-package ivy) (setq counsel-grep-base-command "rg -i -M 120 --no-heading --line-number --color never '%s' %s") (global-set-key (kbd "C-s") 'counsel-grep-or-swiper) diff --git a/emacs/site-lisp/exwm-pref.el b/emacs/site-lisp/exwm-pref.el index c6d51d1..816ebb7 100644 --- a/emacs/site-lisp/exwm-pref.el +++ b/emacs/site-lisp/exwm-pref.el @@ -8,8 +8,33 @@ (require 'exwm-systemtray) (require 'exwm-manage) -(setq exwm-workspace-number 2) -(setq exwm-randr-workspace-monitor-plist '(0 "DP-0" 1 "HDMI-0")) +(let ((buf (generate-new-buffer "*xrandr-output*")) + (out-plist nil)) + (call-process-shell-command "xrandr --listmonitors -q" nil buf nil) + (with-current-buffer buf + (keep-lines "[^[:word:]]connected" (point-min) (point-max) nil) + (message (buffer-substring (point-min) (point-max))) + (let ((num-monitors (count-lines (point-min) (point-max))) + (i 0)) + (setq exwm-workspace-number num-monitors) + (goto-char (point-min)) + (while (< i num-monitors) + (message "iter") + (move-beginning-of-line 1) + (push-mark) + (search-forward-regexp " ") + (backward-char) + (message (buffer-substring (mark) (point))) + (push (buffer-substring (mark) (point)) out-plist) + (push i out-plist) + (setq i (+ i 1)) + (pop-mark) + (next-line)))) + (kill-buffer buf) + (setq exwm-randr-workspace-monitor-plist out-plist)) + +;; (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) diff --git a/emacs/site-lisp/single-header.el b/emacs/site-lisp/single-header.el index d8a8630..da57426 100755 --- a/emacs/site-lisp/single-header.el +++ b/emacs/site-lisp/single-header.el @@ -13,9 +13,7 @@ (defun make-header-info-string () "generates the mode line string that contains all the info to the right" - (let ((win (when (buffer-live-p single-header--current-header-buffer) - (get-buffer-window single-header--current-header-buffer))) - (str (concat + (let ((str (concat (format-time-string "%a, %b %+4Y-%0m-%0d ") (with-face (format-time-string "%R ") :weight 'bold) @@ -23,19 +21,19 @@ :foreground "#da70d6") (with-face (let* ((mi (memory-info)) (tm (float (car mi))) - (fm (float (car (cdr mi)))) - (ts (float (car (cdr (cdr mi))))) - (fs (float (car (cdr (cdr (cdr mi))))))) + (fm (float (cadr mi))) + (ts (float (caddr mi))) + (fs (float (cadddr mi)))) (format "{%.2f %.2f} " (- 1 (/ fm tm)) (- 1 (/ fs ts)))) :foreground "#00ced1") (with-face (battery-format "[%b%p%%] " (and battery-status-function (funcall battery-status-function))) :weight 'bold) ))) (setq str (concat str - (cond (win (make-string - (- (window-max-chars-per-line win 'single-header) (length str)) ? )) - (t "")) - )) + (make-string + (- (window-max-chars-per-line (minibuffer-window) 'single-header) + (length str)) + ? ))) (with-face str 'single-header))) (defun single-header-init-buffer (buf) @@ -98,12 +96,24 @@ (when (buffer-live-p single-header--current-header-buffer) (with-current-buffer single-header--current-header-buffer (erase-buffer) - (insert (eval single-header-format))))) + (insert (eval single-header-format))) -;; (add-hook 'after-make-frame-functions (lambda (frame) -;; (with-selected-frame frame -;; (single-header-show single-header--current-header-buffer)))) + ;; (when exwm-state + ;; (exwm-input--set-active-window + ;; (or (frame-parameter exwm-workspace--current 'exwm-outer-id) + ;; xcb:Window:None))) + )) + +(add-hook 'after-make-frame-functions (lambda (frame) + (with-selected-frame frame + (single-header-show single-header--current-header-buffer)))) + +;; (use-package lv + ;; :custom ((lv-use-separator . nil))) ;; do init frame seperately (single-header-show single-header--current-header-buffer) -(run-with-timer 1 1 'single-header-update) +(setq single-header--timer nil) +(unless single-header--timer + (setq single-header--timer (run-with-timer 0 3 'single-header-update))) + |
