summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob L. Kreuze2021-06-15 22:01:03 -0400
committerJakob L. Kreuze2021-06-15 22:01:03 -0400
commita8a6d56b8fd8b0fb371b956329e9d14aeae7b7c5 (patch)
treea130476f8f0ec6819ef93ed23484d669ed0bb547
parent2ac452566af344fffcb3639f0ab75b0240e8d662 (diff)
Enable company in ledger-mode
-rw-r--r--init.el3
-rw-r--r--lisp/appearance/modeline.el34
-rw-r--r--lisp/documents.el3
3 files changed, 30 insertions, 10 deletions
diff --git a/init.el b/init.el
index 4429b93..62fe679 100644
--- a/init.el
+++ b/init.el
@@ -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)

© 2015 - 2026 Jakob L. Kreuze