[PR #9854] Add globalSummon action #27797

Closed
opened 2026-01-31 09:24:17 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/microsoft/terminal/pull/9854

State: closed
Merged: Yes


Summary of the Pull Request

Adds support for two new actions:

  • globalSummon, which can be used to activate a window using a global (READ: OS-level) hotkey.
    • accepts an optional name argument. When provided, this will attempt to summon with the given name. When omitted, we'll try to summon the most recent window.
  • quakeMode which is globalSummon for the _quake window.

These actions are stored in the actions array, but are read by the WindowsTerminal level and bound to the OS in IslandWindow. The monarch registers for these keybindings with the OS. When one is pressed, the monarch will recieve a WM_HOTKEY message. It'll use that to look up the corresponding action args. It'll use those to try and simmon the right window.

References

  • #8888: Quake mode megathread
  • #9274: Spec (guys seriously i just need one more ✔️)
  • #9785: The start of granting "_quake" super powers

PR Checklist

Detailed Description of the Pull Request / Additional comments

I'd love to post screenshots and gifs of this all over twitter, but hey that's frowned upon

Validation Steps Performed

  • Validated that it works with win keys
  • Validated that it works without win keys
  • Validated that it hot-reloads
  • Validated that it moves to the new monarch
  • Validated that you can bind both globalSummon and quakeMode at the same time and do different things
  • Validated that you can bind globalSummon with a name and it creates that name if it doesn't already exist
**Original Pull Request:** https://github.com/microsoft/terminal/pull/9854 **State:** closed **Merged:** Yes --- ## Summary of the Pull Request Adds support for two new actions: * `globalSummon`, which can be used to activate a window using a _global_ (READ: OS-level) hotkey. - accepts an optional `name` argument. When provided, this will attempt to summon with the given name. When omitted, we'll try to summon the most recent window. * `quakeMode` which is `globalSummon` for the `_quake` window. These actions are stored in the actions array, but are read by the `WindowsTerminal` level and bound to the OS in `IslandWindow`. The monarch registers for these keybindings with the OS. When one is pressed, the monarch will recieve a `WM_HOTKEY` message. It'll use that to look up the corresponding action args. It'll use those to try and simmon the right window. ## References * #8888: Quake mode megathread * #9274: Spec (**guys seriously i just need one more ✔️**) * #9785: The start of granting "\_quake" super powers ## PR Checklist * [x] Closes #653 - I'm gonna say this closes it for now, though we have _many_ follow-ups in #8888 * [x] I work here * [x] Tests added/passed * [ ] Requires documentation to be updated - I'm explicitly not adding docs until this is more rounded out at the end of 1.9, because this area's going to get a lot of churn ## Detailed Description of the Pull Request / Additional comments I'd love to post screenshots and gifs of this all over twitter, but hey that's frowned upon ## Validation Steps Performed * Validated that it works with `win` keys * Validated that it works without `win` keys * Validated that it hot-reloads * Validated that it moves to the new monarch * Validated that you can bind both `globalSummon` and `quakeMode` at the same time and do different things * Validated that you can bind `globalSummon` with a name and it creates that name if it doesn't already exist
claunia added the pull-request label 2026-01-31 09:24:17 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#27797