summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2025-11-03 18:05:30 -0600
committerCraig Jennings <c@cjennings.net>2025-11-03 18:05:30 -0600
commit32b4f6f302ed0ce5310f137d81782e6ce2b71094 (patch)
tree1ba1de278b4398542331082c246dbe26ee325ef7
parent158bf2d78157c0dbbfba77b59879a7eefd1db458 (diff)
chore: Update mood-line task in todo.org with actual implementation details
Updated DONE task to reflect that we built a custom modeline instead of just switching to mood-line. Added comprehensive details about features, architecture, and bug fixes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
-rw-r--r--todo.org36
1 files changed, 29 insertions, 7 deletions
diff --git a/todo.org b/todo.org
index 8ef088b8..3641c912 100644
--- a/todo.org
+++ b/todo.org
@@ -223,15 +223,37 @@ Violates Intuitive value - muscle memory should help, not hurt.
Complete config already exists in someday-maybe.org. Just needs to be executed.
-** DONE [#C] Switch to mood-line
+** DONE [#C] Switch to mood-line (actually: built custom modeline)
CLOSED: [2025-11-03 Sun]
-✅ Replaced doom-modeline with mood-line in modules/modeline-config.el
-- Simplified from 70+ lines to ~10 lines of configuration
-- mood-line is lightweight, minimal, inspired by doom-modeline
-- Better performance with no dependencies
-- Features: buffer status, major mode, VCS, flycheck, cursor position
-- Net reduction: -40 lines of configuration code
+✅ **Built custom modeline (better than mood-line)**
+
+Went beyond mood-line and created a fully custom modeline using only built-in
+Emacs functionality to avoid native-compilation issues. Features:
+
+**Architecture:**
+- Named segment system using defvar-local (easy to reorder)
+- Emacs 30 built-in right-alignment (mode-line-format-right-align)
+- All segments marked as risky-local-variable for proper evaluation
+
+**Interactive Features:**
+- Color-coded buffer names (green=writeable, red=read-only, gold=overwrite)
+- VC branch with git symbol () and state-based coloring
+- Mouse click handlers: buffer name (prev/next), branch (vc-diff), mode (describe-mode)
+- Help-echo tooltips on all segments
+- String truncation for narrow windows (< 100 chars wide)
+- Active-window-only display for branch and misc-info (less clutter)
+
+**Layout:**
+- Left: Major mode, buffer name, position (L:# C:#)
+- Right: Git branch, chime notifications
+
+**Bug Fixes:**
+- Disabled async native compilation (prevented "Selecting deleted buffer" errors)
+- Fixed difftastic loading (:demand → :defer)
+- Abstracted buffer status colors to user-constants.el
+
+Inspired by Prot's modeline design. See commit c0c4b17.
** DONE [#C] Remove deprecated tree-sitter package (rely on treesit-auto)
CLOSED: [2025-11-03 Sun]