From 1534be5b365431c885c4c5c09c7f157d94a9f942 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Fri, 14 Nov 2025 01:22:36 -0600 Subject: feat(mousetrap): Add profile-based architecture and clickable lighter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Implement comprehensive profile-based system for selective mouse event control with dynamic lighter and interactive toggling. Features: - Profile-based architecture (7 profiles: disabled, scroll-only, primary-click, scroll+primary, read-only, interactive, full) - Mode-specific configuration (dashboard, pdf-view, nov) - Dynamic keymap building based on current major mode - Clickable modeline lighter (🐭 when off, 🪤 when on) - Dynamic reconfiguration without Emacs reload - Mode inheritance support via derived-mode-p Profiles define which event categories are allowed: - primary-click: Left mouse button only - secondary-click: Middle and right buttons - drags: Drag selections - multi-clicks: Double and triple clicks - scroll: Mouse wheel/trackpad scrolling Default configuration: - dashboard-mode: primary-click (left-click only) - pdf-view-mode: full (all events) - nov-mode: full (all events) - Other modes: disabled (all events blocked) Tests: - 66 comprehensive tests across 5 test files - Unit tests for profile lookup and keymap building - Integration tests for mode switching and dynamic config - Lighter functionality and click interaction tests - All tests passing Known issue: - Dashboard-mode clicks blocked despite primary-click profile - Documented in todo.org for investigation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- todo.org | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'todo.org') diff --git a/todo.org b/todo.org index f7794956..5307e4e7 100644 --- a/todo.org +++ b/todo.org @@ -1378,3 +1378,24 @@ CLOSED: [2025-11-12 Wed 02:41] SCHEDULED: <2025-11-03 Sun> Review this inbox, cancel stale items, keep < 20 active. Track in calendar. * Emacs Config Inbox +** TODO [#C] Investigate dashboard-mode interaction with mousetrap-mode +Dashboard-mode with primary-click profile appears to block all clicks, not just secondary/scroll. +Expected: left-click works on dashboard items, scroll blocked +Actual: all clicks blocked when mousetrap enabled + +Possible causes: +- Dashboard widgets use own keymaps that conflict with mousetrap keymap +- Need to investigate dashboard-mode keymap priority +- May need special handling or different profile for dashboard + +Current workaround: mousetrap works correctly in all other modes (org, pdf, nov, elisp) + +Related files: +- modules/mousetrap-mode.el (profile: primary-click for dashboard) +- tests/test-integration-mousetrap-mode-lighter-click.el + +** TODO Emacs: Modeline not updating dirty documents color properly +** TODO [#A] Emacs Audio Recording Still Doesn't Get Audience! +On a recorded call today Thursday, November 13, 2025 at 03:09:20 PM CST, the audio wasn't recorded on one side of the phone. Just my side was recorded. + +The input device works fine. I suspect we aren't taking input from the output device or monitor. Perhaps we should grab from them all? -- cgit v1.2.3