From ae2bf0a9162084af6e32df20258ed689a24048bc Mon Sep 17 00:00:00 2001 From: Thomas Ulmer Date: Sun, 13 Apr 2025 14:41:15 -0700 Subject: various bits to make it more plug-n-play --- emacs/site-lisp/single-header.el | 40 +++++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 15 deletions(-) (limited to 'emacs/site-lisp/single-header.el') 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))) + -- cgit v1.2.3