[PR #9785] [MERGED] Make the window name _quake special #27748

Open
opened 2026-01-31 09:23:59 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/9785
Author: @zadjii-msft
Created: 4/12/2021
Status: ✅ Merged
Merged: 4/26/2021
Merged by: @undefined

Base: main ← Head: dev/migrie/f/653-special-_quake-window


📝 Commits (10+)

  • 7560ee3 The _quake window starts in focus mode, on the top half the screen.
  • 8d9c1f1 Prevent resizing the quake window
  • 2db7fd5 Prevent the window from being moved as well
  • 04a4249 suppress the resize handle on the top
  • 87c6c2d Renaming a window to _quake will snap it into quake mode
  • 34f0dfd Get rid of the margin on either side
  • 2a1b468 most of the PR feedback
  • 1e43eef some of this logic was weird
  • beb96e3 give til the long superpower
  • d3861c5 Merge remote-tracking branch 'origin/main' into dev/migrie/f/653-special-_quake-window

📊 Changes

15 files changed (+284 additions, -42 deletions)

View changed files

📝 .github/actions/spelling/expect/expect.txt (+6 -0)
📝 src/cascadia/TerminalApp/AppLogic.cpp (+16 -2)
📝 src/cascadia/TerminalApp/AppLogic.h (+2 -0)
📝 src/cascadia/TerminalApp/AppLogic.idl (+2 -0)
📝 src/cascadia/TerminalApp/TabManagement.cpp (+11 -6)
📝 src/cascadia/TerminalApp/TerminalPage.cpp (+31 -3)
📝 src/cascadia/TerminalApp/TerminalPage.h (+4 -0)
📝 src/cascadia/TerminalApp/TerminalPage.idl (+2 -0)
📝 src/cascadia/WindowsTerminal/AppHost.cpp (+54 -25)
📝 src/cascadia/WindowsTerminal/AppHost.h (+3 -0)
📝 src/cascadia/WindowsTerminal/IslandWindow.cpp (+109 -4)
📝 src/cascadia/WindowsTerminal/IslandWindow.h (+6 -1)
📝 src/cascadia/WindowsTerminal/NonClientIslandWindow.cpp (+20 -1)
📝 src/inc/til/point.h (+13 -0)
📝 src/inc/til/size.h (+5 -0)

📄 Description

Summary of the Pull Request

This PR adds some special behavior to the window named "_quake".

  • When creating the quake window, it ignores "initialRows" and "initialCols" and opens on the top half of the monitor.
    • It uses initialPosition to determine which monitor this is
  • It cannot be moved
  • It can only be vertically resized on the bottom border.
  • It's always in focus mode.
    • We should probably have an issue tracking "Allow showing tabs in focus mode"? Maybe?
    • This one element is maybe the one I'm least attached to

When renaming a window to "_quake", it adopts all those behaviors as well. It does not exit focus mode when leaving QM, nor does it resize back. That seemed unnecessary.

References

PR Checklist

Detailed Description of the Pull Request / Additional comments

Note that this doesn't do things like:

  • dropdown
  • global hotkey summon
  • summon to the current monitor
  • summon to the current desktop

I'm doing #653 very piecemeal, to try and make the PRs less egregious.

Validation Steps Performed

  • validated that center on launch still works
  • validated that QM works on different monitors based on initialPosition
  • validated entering/exiting QM behaves as expected

TODO!

  • When snapping the quake window between desktops with win+shift+arrow, the window doesn't horizontally re-size to the new monitor dimensions. It should.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/9785 **Author:** [@zadjii-msft](https://github.com/zadjii-msft) **Created:** 4/12/2021 **Status:** ✅ Merged **Merged:** 4/26/2021 **Merged by:** [@undefined](undefined) **Base:** `main` ← **Head:** `dev/migrie/f/653-special-_quake-window` --- ### 📝 Commits (10+) - [`7560ee3`](https://github.com/microsoft/terminal/commit/7560ee338f0f9a1d11af187aa6fcc05f2601c8ce) The _quake window starts in focus mode, on the top half the screen. - [`8d9c1f1`](https://github.com/microsoft/terminal/commit/8d9c1f121336aa3e066b0a68cd98f0f38b4d0446) Prevent resizing the quake window - [`2db7fd5`](https://github.com/microsoft/terminal/commit/2db7fd5a4c8a4760de5a650208a88a24919024d6) Prevent the window from being moved as well - [`04a4249`](https://github.com/microsoft/terminal/commit/04a4249bf554e00290cc8aadae35fa6f48cc9eb0) suppress the resize handle on the top - [`87c6c2d`](https://github.com/microsoft/terminal/commit/87c6c2da6d909e3aa31465027aec84e094f9026c) Renaming a window to _quake will snap it into quake mode - [`34f0dfd`](https://github.com/microsoft/terminal/commit/34f0dfdaff641ff740377d910f52ec9e54f85982) Get rid of the margin on either side - [`2a1b468`](https://github.com/microsoft/terminal/commit/2a1b4688104d8183389e3064936218ccdd112bb1) most of the PR feedback - [`1e43eef`](https://github.com/microsoft/terminal/commit/1e43eefad9c5fcc27066601dc0e7bab8bce85675) some of this logic was weird - [`beb96e3`](https://github.com/microsoft/terminal/commit/beb96e3a359613b221b8f8a3fc2b5ffb220ee370) give til the `long` superpower - [`d3861c5`](https://github.com/microsoft/terminal/commit/d3861c505b51f92e57c2e91ad7e6a4f88df1bb8f) Merge remote-tracking branch 'origin/main' into dev/migrie/f/653-special-_quake-window ### 📊 Changes **15 files changed** (+284 additions, -42 deletions) <details> <summary>View changed files</summary> 📝 `.github/actions/spelling/expect/expect.txt` (+6 -0) 📝 `src/cascadia/TerminalApp/AppLogic.cpp` (+16 -2) 📝 `src/cascadia/TerminalApp/AppLogic.h` (+2 -0) 📝 `src/cascadia/TerminalApp/AppLogic.idl` (+2 -0) 📝 `src/cascadia/TerminalApp/TabManagement.cpp` (+11 -6) 📝 `src/cascadia/TerminalApp/TerminalPage.cpp` (+31 -3) 📝 `src/cascadia/TerminalApp/TerminalPage.h` (+4 -0) 📝 `src/cascadia/TerminalApp/TerminalPage.idl` (+2 -0) 📝 `src/cascadia/WindowsTerminal/AppHost.cpp` (+54 -25) 📝 `src/cascadia/WindowsTerminal/AppHost.h` (+3 -0) 📝 `src/cascadia/WindowsTerminal/IslandWindow.cpp` (+109 -4) 📝 `src/cascadia/WindowsTerminal/IslandWindow.h` (+6 -1) 📝 `src/cascadia/WindowsTerminal/NonClientIslandWindow.cpp` (+20 -1) 📝 `src/inc/til/point.h` (+13 -0) 📝 `src/inc/til/size.h` (+5 -0) </details> ### 📄 Description ## Summary of the Pull Request This PR adds some special behavior to the window named "\_quake". * When creating the quake window, it ignores "initialRows" and "initialCols" and opens on the top half of the monitor. - It uses `initialPosition` to determine which monitor this is * It cannot be moved * It can only be vertically resized on the bottom border. * It's always in focus mode. - We should probably have an issue tracking "Allow showing tabs in focus mode"? Maybe? - This one element is maybe the one I'm least attached to When renaming a window to "\_quake", it adopts all those behaviors as well. It does not exit focus mode when leaving QM, nor does it resize back. That seemed unnecessary. ## References * As spec'ed in #9274 * See also #8888 ## PR Checklist * [x] In the pursuit of #653 * [x] I work here * [ ] Tests added/passed * [ ] Requires documentation to be updated, but I'm not gonna do any of that till quake mode is totally done. ## Detailed Description of the Pull Request / Additional comments Note that this doesn't do things like: * dropdown * global hotkey summon * summon to the current monitor * summon to the current desktop I'm doing #653 _very_ piecemeal, to try and make the PRs less egregious. ## Validation Steps Performed * validated that center on launch still works * validated that QM works on different monitors based on `initialPosition` * validated entering/exiting QM behaves as expected ## TODO! * [ ] When snapping the quake window between desktops with <kbd>win+shift+arrow</kbd>, the window doesn't horizontally re-size to the new monitor dimensions. It should. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:23:59 +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#27748