Skip to content

feat(core): add macos desktop switch actions#67

Merged
AprilNEA merged 2 commits into
AprilNEA:masterfrom
LouisDISPA:feat/macos-desktop-switch
Jun 2, 2026
Merged

feat(core): add macos desktop switch actions#67
AprilNEA merged 2 commits into
AprilNEA:masterfrom
LouisDISPA:feat/macos-desktop-switch

Conversation

@LouisDISPA
Copy link
Copy Markdown
Contributor

Context

Adds macOS desktop switching actions and separates. At first I tried to use ctrl + arrow shortcuts 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

  • Add PreviousDesktop and NextDesktop actions
  • Route macOS Space switching through CGS symbolic hotkeys

Testing

Chip: Apple M5
System Version: macOS 26.5
Mouse: MX Vertical
Connection: Bluetooth

Copy link
Copy Markdown

@pullfrog pullfrog Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ℹ️ 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/NextDesktop variants — new Action enum members, their label()/category()/catalog() entries, and routing through Action::execute() to the new symbolic_hotkey submodule
  • Extract shared app_services symbol resolver — factored dlopen/dlsym out of dock into a sibling module so both dock and symbolic_hotkey can resolve private ApplicationServices SPI symbols
  • Implement CGS symbolic hotkey switching — new symbolic_hotkey module 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

Pullfrog  | Fix it ➔View workflow run | Using Big Pickle (free) (credentials for Anthropic not configured) | 𝕏

@LouisDISPA LouisDISPA force-pushed the feat/macos-desktop-switch branch from e7c05e6 to 81a866b Compare June 1, 2026 20:03
Copy link
Copy Markdown

@pullfrog pullfrog Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Prior feedback addressed — no new issues found.

Reviewed changes — force-push (e7c05e681a866b) that adds the category_navigation_variants test assertions for PreviousDesktop/NextDesktop, closing the prior review's test-coverage gap.

  • Add category_navigation_variants test coverage — two new assertions verify that Action::PreviousDesktop and Action::NextDesktop both return Category::Navigation

Pullfrog  | View workflow run | Using Big Pickle (free) (credentials for Anthropic not configured) | 𝕏

AprilNEA
AprilNEA previously approved these changes Jun 2, 2026
@AprilNEA AprilNEA merged commit 12a6328 into AprilNEA:master Jun 2, 2026
7 checks passed
@aprilnea aprilnea Bot mentioned this pull request Jun 2, 2026
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