Skip to content

Add per-app profile switching (Doesn't write to mouse memory) - #8

Merged
Zer0codestuff merged 1 commit into
Zer0codestuff:mainfrom
LoessCode:main
Oct 23, 2026
Merged

Zer0codestuff merged 1 commit into
Zer0codestuff:mainfrom
LoessCode:main

Conversation

@LoessCode

Copy link
Copy Markdown
Contributor
image image

OpenNaga now loads the profile bound to the frontmost app, in software, so it works over Bluetooth.

  • ConfigManager keeps the selected profile apart from the live one. Bindings are stored as Settings.appProfiles; autoSwitchProfiles is no longer wiped on every save. Rename and delete update the bindings.
  • AppProfileSwitcher follows NSWorkspace.didActivateApplicationNotification and resolves the profile with the pure AppProfileResolver. Only regular apps count, and switching pauses for mouse-memory profiles.
  • ButtonMapper.swapMapping replaces the mapping without releasing held buttons.
  • New App Profiles section with an app picker (installed, running and Steam game apps, plus Choose Other), and a popover toggle.
  • Add --snapshot-section for UI renders.

Tests: 46 new checks, 1359 total. Verified by the user on the physical mouse over Bluetooth.

OpenNaga now loads the profile bound to the frontmost app, in software, so
it works over Bluetooth.

- ConfigManager keeps the selected profile apart from the live one. Bindings
  are stored as Settings.appProfiles; autoSwitchProfiles is no longer wiped on
  every save. Rename and delete update the bindings.
- AppProfileSwitcher follows NSWorkspace.didActivateApplicationNotification
  and resolves the profile with the pure AppProfileResolver. Only regular
  apps count, and switching pauses for mouse-memory profiles.
- ButtonMapper.swapMapping replaces the mapping without releasing held
  buttons.
- New App Profiles section with an app picker (installed, running and Steam
  game apps, plus Choose Other), and a popover toggle.
- Add --snapshot-section for UI renders.

Tests: 46 new checks, 1359 total. Verified by the user on the physical mouse
over Bluetooth.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@Zer0codestuff
Zer0codestuff merged commit 98848d2 into Zer0codestuff:main Oct 23, 2026
1 check passed
LoessCode added a commit to LoessCode/OpenNaga that referenced this pull request Oct 24, 2026
Brings in the PR Zer0codestuff#8 merge commit and the 2.7.0 release. AGENTS.md entries from
both sides are kept.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants