feat(core): add macos desktop switch actions#67
Conversation
There was a problem hiding this comment.
ℹ️ Minor suggestion only — one test-coverage gap worth fixing before merge.
Reviewed changes — adds PreviousDesktop and NextDesktop macOS Space-switching actions, extracted a shared app_services symbol resolver from the dock module, and added translations for both new actions.
- Add
PreviousDesktop/NextDesktopvariants — newActionenum members, theirlabel()/category()/catalog()entries, and routing throughAction::execute()to the newsymbolic_hotkeysubmodule - Extract shared
app_servicessymbol resolver — factoreddlopen/dlsymout ofdockinto a sibling module so bothdockandsymbolic_hotkeycan resolve private ApplicationServices SPI symbols - Implement CGS symbolic hotkey switching — new
symbolic_hotkeymodule reads the configured symbolic hotkey record for Space Left/Right (IDs 79/81), temporarily enables the hotkey if disabled, posts the key event, and restores state - Add locale entries — translations for
ja,ru,zh-CN,zh-HK
Note: 1 inline comment(s) dropped because they did not anchor to lines inside the PR diff:
crates/openlogi-core/src/binding.rs:1347(RIGHT) — line 1347 (RIGHT) is not inside a diff hunk
Big Pickle (free) (credentials for Anthropic not configured) | 𝕏
e7c05e6 to
81a866b
Compare
There was a problem hiding this comment.
✅ Prior feedback addressed — no new issues found.
Reviewed changes — force-push (e7c05e6 → 81a866b) that adds the category_navigation_variants test assertions for PreviousDesktop/NextDesktop, closing the prior review's test-coverage gap.
- Add
category_navigation_variantstest coverage — two new assertions verify thatAction::PreviousDesktopandAction::NextDesktopboth returnCategory::Navigation
Big Pickle (free) (credentials for Anthropic not configured) | 𝕏

Context
Adds macOS desktop switching actions and separates. At first I tried to use
ctrl + arrowshortcuts but it did not work. Then I used an AI agent (codex) to take the implementation in Mouser and translate it for this repo. I also cleaned a bit the code to share the symbol resolver and cache with the dock implementation.Summary
PreviousDesktopandNextDesktopactionsTesting
Chip: Apple M5
System Version: macOS 26.5
Mouse: MX Vertical
Connection: Bluetooth