summaryrefslogtreecommitdiff
path: root/emacs
diff options
context:
space:
mode:
authorThomas Ulmer <thomasmulmer02@gmail.com>2025-04-13 14:41:15 -0700
committerThomas Ulmer <thomasmulmer02@gmail.com>2025-04-13 14:41:15 -0700
commitae2bf0a9162084af6e32df20258ed689a24048bc (patch)
tree242a37ef087ce37f5d80abd88e04febfe8bb8f93 /emacs
parentafc8816016987374b40ecd527d0c95d9923ce54f (diff)
various bits to make it more plug-n-play
Diffstat (limited to 'emacs')
-rw-r--r--emacs/init.el43
-rwxr-xr-xemacs/site-lisp/coding-config.el4
-rw-r--r--emacs/site-lisp/exwm-pref.el29
-rwxr-xr-xemacs/site-lisp/single-header.el40
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)))
+