Skip to content

Make global shortcut toggle the tray flyout#185

Merged
Finesssee merged 1 commit into
nesszer:mainfrom
shirafukayayoi:fix/global-shortcut-toggle-flyout
Jul 13, 2026
Merged

Make global shortcut toggle the tray flyout#185
Finesssee merged 1 commit into
nesszer:mainfrom
shirafukayayoi:fix/global-shortcut-toggle-flyout

Conversation

@shirafukayayoi

Copy link
Copy Markdown

Summary

Change the global shortcut so it performs the same action as a left-click on the tray icon: toggle the dedicated tray flyout instead of reopening the full PopOut dashboard.

This keeps the full window available through Show Window while making the shortcut behavior consistent with the tray-first workflow.

Fixes #184

Affected areas

  • Tray panel
  • Settings UI
  • Config file / settings persistence
  • CLI
  • Provider-specific behavior
  • Installer / release packaging
  • Startup / background behavior
  • Documentation
  • Other: Global shortcut handler

Validation

  • powershell.exe -ExecutionPolicy Bypass -NoProfile -File scripts\local-check.ps1
  • Thermo-nuclear code quality review completed before submitting
  • Diff reviewed: the shortcut handler now calls the same toggle_with_blur_consume path as the tray-icon left-click.

Local Windows runtime validation was not available in this environment.

UI / tray proof

  • Not applicable
  • CUA Driver visual proof attached
  • CUA Driver could not be used; manual validation is required on Windows.

Notes for reviewers

The change is limited to shortcut_bridge.rs: it updates the handler and its comments. Please verify first press opens the flyout, second press closes it, click-outside dismissal remains unchanged, and Show Window still opens the full dashboard.

@Finesssee

Copy link
Copy Markdown
Collaborator

Hey, thanks for the PR. I will review this ASAP.

@Finesssee
Finesssee merged commit 4ed481f into nesszer:main Jul 13, 2026
2 of 3 checks passed
@shirafukayayoi

Copy link
Copy Markdown
Author

Tested this on a physical Windows machine against head commit 9e592459b310d0ced989b787a571b4bfa643510f.

Environment: Windows 11 Pro 10.0.26200, Node.js 24.14.1, pnpm 10.18.1, Rust 1.95.0.

Results:

  • Confirmed that Ctrl+Shift+U registers as the global shortcut.
  • Confirmed that pressing the shortcut toggles the tray flyout instead of opening the PopOut window.
  • Confirmed repeated shortcut presses do not cause crashes, freezes, duplicate windows, or panics.
  • Confirmed the shortcut is registered again after restarting the app.
  • cargo fmt --all --check: passed.
  • Desktop Rust tests: 306 passed, 0 failed.
  • Shared Rust tests: 588 passed, 0 failed.
  • Frontend build: passed.
  • scripts/local-check.ps1: passed.

I also reviewed the diff. The shortcut now calls the same toggle_with_blur_consume(app, None) path used by a left-click on the tray icon. I did not find anything that required an additional code change.

Note: Clippy on Rust 1.95.0 reports two pre-existing collapsible_match findings in cli_reset.rs, outside this PR's diff. I found no warning or error caused by this change.

Copy link
Copy Markdown
Author

Tested on a physical Windows machine against head commit 9e592459b310d0ced989b787a571b4bfa643510f.

Environment

  • Windows 11 Pro 10.0.26200
  • Node.js 24.14.1
  • pnpm 10.18.1
  • Rust 1.95.0

Runtime validation

  • Confirmed Ctrl+Shift+U registers as the global shortcut.
  • Confirmed pressing the shortcut toggles the tray flyout instead of opening the PopOut window.
  • Confirmed repeated shortcut presses do not cause crashes, freezes, duplicate windows, or panics.
  • Confirmed the shortcut is registered again after restarting the app.
  • Confirmed the implementation calls the same toggle_with_blur_consume(app, None) path used by a tray-icon left-click.

Checks

  • cargo fmt --all --check: passed
  • Desktop Rust tests: 306 passed, 0 failed
  • Shared Rust tests: 588 passed, 0 failed
  • Frontend build: passed
  • scripts/local-check.ps1: passed

Notes

Clippy on Rust 1.95.0 reports two pre-existing collapsible_match findings in cli_reset.rs, outside this PR's diff. No warning or error was caused by this change.

No additional code changes were required. Based on this validation, the PR is ready to merge.

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.

Global shortcut should toggle the tray flyout like a tray-icon click

2 participants