diff options
| -rw-r--r-- | init.el | 3 | ||||
| -rw-r--r-- | lisp/appearance/modeline.el | 34 | ||||
| -rw-r--r-- | lisp/documents.el | 3 |
3 files changed, 30 insertions, 10 deletions
@@ -71,6 +71,9 @@ (setq gc-cons-threshold most-positive-fixnum) (setq gc-cons-percentage 0.6) +;; Fill whatever space the window manager has given us. +(setq frame-resize-pixelwise t) + ;; straight.el is my package manager of choice. Here's the necessary bootstrap ;; code for that. diff --git a/lisp/appearance/modeline.el b/lisp/appearance/modeline.el index 53ee967..c3acaf7 100644 --- a/lisp/appearance/modeline.el +++ b/lisp/appearance/modeline.el @@ -64,6 +64,30 @@ RIGHT aligned respectively." (defun remove-unicode (s) "Remove non-ASCII or non-printable ASCII characters from `S'." (apply #'string (seq-filter #'(lambda (c) (and (>= c ? ) (<= c ?~))) s))) +(defvar mode-line-time-tracking nil) +(defvar mode-line-time-tracking-counter -1) +(defvar mode-line-time-tracking-timer nil) + +(defun mode-line-time-tracking-update () + (setq mode-line-time-tracking-counter + (+ 1 mode-line-time-tracking-counter)) + (setq mode-line-time-tracking + (format "[%.2d:%.2d] %s" + (floor (/ mode-line-time-tracking-counter 60)) + (floor (% mode-line-time-tracking-counter 60)) + org-clock-heading))) + +(defun mode-line-time-tracking-enable () + (setq mode-line-time-tracking-counter -1) + (setq mode-line-time-tracking-timer + (run-at-time nil 60 #'mode-line-time-tracking-update))) + +(defun mode-line-time-tracking-disable () + (setq mode-line-time-tracking "") + (cancel-timer mode-line-time-tracking-timer)) + +(add-hook 'org-clock-in-hook #'mode-line-time-tracking-enable) +(add-hook 'org-clock-out-hook #'mode-line-time-tracking-disable) (setq-default mode-line-format '((:eval @@ -91,12 +115,4 @@ RIGHT aligned respectively." (concat "%b [%m] [%*] Ln: %l/" (number-to-string (1+ (count-lines 1 (point-max)))) " Col: %c"))) - (cond ((string= (system-name) "Upsilon") - (format "%s | %s" - (mode-line-time) - battery-mode-line-string)) - (t (let ((eyebrowse-widget (eyebrowse-mode-line-indicator)) - (time-widget (mode-line-time))) - (if (cl-plusp (length eyebrowse-widget)) - (format "%s | %s" eyebrowse-widget time-widget) - time-widget)))))))) + mode-line-time-tracking)))) diff --git a/lisp/documents.el b/lisp/documents.el index 990f6e6..38df6b3 100644 --- a/lisp/documents.el +++ b/lisp/documents.el @@ -334,7 +334,8 @@ Visits LINK, or if LINK names a subdirectory of (use-package ledger-mode :hook - (ledger-mode . flycheck-mode)) + (ledger-mode . flycheck-mode) + (ledger-mode . company-mode)) (use-package flycheck-ledger) |