diff options
| author | Craig Jennings <c@cjennings.net> | 2025-11-14 01:22:36 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2025-11-14 01:22:36 -0600 |
| commit | 1534be5b365431c885c4c5c09c7f157d94a9f942 (patch) | |
| tree | 76df1c4d2daf3b799b179ef0c1ee0ad1a2935cfb /todo.org | |
| parent | ce58581c4a8cc00054e063d4bbf4fbbaeb0a7b35 (diff) | |
feat(mousetrap): Add profile-based architecture and clickable lighter
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 <noreply@anthropic.com>
Diffstat (limited to 'todo.org')
| -rw-r--r-- | todo.org | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -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? |
