summaryrefslogtreecommitdiff
path: root/modules/modeline-config.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2025-11-14 01:22:36 -0600
committerCraig Jennings <c@cjennings.net>2025-11-14 01:22:36 -0600
commit1534be5b365431c885c4c5c09c7f157d94a9f942 (patch)
tree76df1c4d2daf3b799b179ef0c1ee0ad1a2935cfb /modules/modeline-config.el
parentce58581c4a8cc00054e063d4bbf4fbbaeb0a7b35 (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 'modules/modeline-config.el')
0 files changed, 0 insertions, 0 deletions