Repository navigation
Open
Labels
Area-WindowingWindow frame, quake mode, tearoutWindow frame, quake mode, tearoutIssue-ScenarioProduct-TerminalThe new Windows Terminal.The new Windows Terminal.
Milestone
Description
[Original thread: #653] [Spec: #9274, doc] [Project]
See also Quake Mode FAQ
1.9 tasks
- Add support for win in keybindings (PR: Add support for the
winkey in keybindings #9783)- this is in
dev/migrie/f/win-in-keybindings
- this is in
- _quake window opens in focus mode, on the top half, and can't be moved or resized (except on bottom) (PR: Make the window name
_quakespecial #9785)- This is in
dev/migrie/f/653-special-_quake-window
- This is in
-
quakeModeaction activates the_quakewindow (or creates one) (PR: AddglobalSummonaction #9854)- This is in
dev/migrie/f/653-QUAKE-MODE
- This is in
-
quakeModesummons the window to the current desktop (PR: Adddesktopparam toglobalSummon; set _quake = toCurrent #9954)- This is implemented in
dev/migrie/f/quake-toCurrent-desktop
- This is implemented in
-
quakeMode/globalSummonhides the window if it's currently active (PR: When the window is summoned and is already active, minimize it. #9963) -
quakeModedoes the dropdown dance on entrance (PR: Add property to control dropdown speed of global summon #9977)- Started this in a6cd981 but that feels really hacky and bad. See
dev/migrie/f/quake-dropdownfor more progress dev/migrie/f/quake-dropdown-2has the most research notes in it, for future readers.
- Started this in a6cd981 but that feels really hacky and bad. See
- Exempt the
_quakewindow from window glomming (PR: Exempt the_quakewindow from glomming #9956) -
quakeModesummons the window to the current monitor
2.0 tasks
-
globalSummonto summon a window by name (PR: AddglobalSummonaction #9854)- This is in
dev/migrie/f/653-QUAKE-MODE
- This is in
- Basic
globalSummonaction (PR: AddglobalSummonaction #9854)- Add support for the
toggleVisibilityproperty (PR: When the window is summoned and is already active, minimize it. #9963) - Add support for the
desktopproperty to control how window summoning interacts with virtual desktops- This is implemented in
dev/migrie/f/quake-toCurrent-desktop
- This is implemented in
- Add support for the
monitorwhich monitor the window appears on.-
"monitor": "toCurrent"|"any"for on the current vs where it is (PR Add"monitor": "any"|"toCurrent"|"toMouse"setting to globalSummon #10092) -
"monitor": "toMouse"for to where the mouse pointer is (PR Add"monitor": "any"|"toCurrent"|"toMouse"setting to globalSummon #10092) -
"monitor": "onCurrent"
-
- Add support for the
dropdownDurationproperty (PR: Add property to control dropdown speed of global summon #9977)
- Add support for the
- We need a commandline arg to force the window to ignore
initialPositionand use the current monitor instead. - Add the
minimizeToTraysetting, and implement it without any sort of flyout-
_quakewindow is hidden when minimized (PR: Hide_quakewindow on minimize ALWAYS #10113) - Add tray icon when quake window is minimized Add tray icon when quake window is minimized #10179
- Add a list of windows to the right-click flyout on the tray icon
- Add support for the
alwaysShowTrayIconsetting
-
- Exiting
_quakemode should restore the focus mode state, window position that the window had before. - There should maybe be a default action like:
{ "name": "Promote to quake window", "command": { "action": "renameWindow", "name": "_quake" } }- KNOWN ISSUE: If you try to summon the window while task manager is focused, the window will not get activated. Presumably this can happen with other apps as well. UWP OneNote seems affected as well.
- Wrong size on Quake mode with hetero sized screens Wrong size on Quake mode with hetero sized screens #10182
- Quake Mode has incorrect window size after toggling fullscreen mode Quake Mode has incorrect window size after toggling fullscreen mode #10199
- 1px window border of the quake dropdown terminal "leaks" onto horizontally adjacent monitor: 1px window border of the quake dropdown terminal "leaks" onto horizontally adjacent monitor: #10201
- Make Quake mode work with a German keyboard layout Make Quake mode work with a German keyboard layout #10203
- Quake Mode multi monitor setup Quake Mode multi monitor setup #10274
- More...
Backlog
- Add per-window-name global settings Add per-window-name global settings #9992
- READ: "configure the
_quakewindow to have some different set of settings - size, profile, etc."
- READ: "configure the
- Allow the tabs to be visible in quake mode / don't force
_quakeinto focus mode. This might be best served by Add per-window-name global settings #9992 - Allow other, non-
_quakewindows to be locked to the top half of the display. Probably should be a global setting. Consider Add per-window-name global settings #9992 when authoring this. - Allow windows to be docked to other sides of the display? That might be insane though.
- Enable
globalSummon/quakeModeto work even when there isn't a running Terminal EnableglobalSummon/quakeModeto work even when there isn't a running Terminal #9996 -
globalSummona new tab in explorer CWDglobalSummona new tab in explorer CWD #10202 - Quake mode hot-key stops working after a while. Restart of terminal fixes it Quake mode hot-key stops working after a while. Restart of terminal fixes it #10340
- Terminal should be able to auto-minimize on focus lost #10660
- Adjust styling of quake window (default height, etc) #11162
- Quake Mode - Allow Horizontal resizing #11174
- Quake mode has rounded corners in Windows 11 #10534
- The animation is wonky:
- Quake Mode reveal animation tears/flickers #12293: The dropdown animation could be better. It would be better if it animated the whole window frame, but it's gotta look good. Add property to control dropdown speed of global summon #9977 has notes on what I tried and didn't work for me.
- Quake mode sometimes leaves ghost window frame #12121
- Quake mode: Add support for reserved tabs #10279
- Also: Command-line to toggle visibility #13276, for
wt summon - Closely related is Summon window and switch to profile #12135, for
wt summon --profile
- Also: Command-line to toggle visibility #13276, for
- Exclude Quake window from FancyZones #10197
- Minimized quake mode restores to the monitor with the tray #10672
- Quake mode does not consider vertical taskbar width #10999
- Quake command palette entry doesn't work #11014
- Quake mode doesn't scale width when changing monitor size #11125
- Elevated profile doesn't open Quake terminal #12173
- Quake Mode should remember its size #12594
- Setting launch mode to full screen also applies to Quake mode #12894
- Show/Hide maximized terminal window resizes it briefly #12944
- Quake mode full screen doesn't reopen with full heightwhen closing and resummoning #16175
- More...
Reacted by Trouble, Ryan Nett, Ilya Borisov, Nishchal Gautam, tristanjthompson, Pedro Miranda, Kristen McWilliam, Michael Keck, Adriano Cahete, Karol Sejka and 14 more
Reacted by Armin Osaj, Borja Sánchez García, Nishchal Gautam, Michael Keck, Karol Sejka, Nicole, Afonso Lage, Aziz Gaynetdinov, Sepehr Soltanieh, Simon Felix and 1 more
Reacted by Morrison Cole, Michael Keck, Karol Sejka, Jonathan Moore, Afonso Lage, Sepehr Soltanieh and Filip Todorić
Metadata
Metadata
Assignees
Labels
Area-WindowingWindow frame, quake mode, tearoutWindow frame, quake mode, tearoutIssue-ScenarioProduct-TerminalThe new Windows Terminal.The new Windows Terminal.
Activity
[-]<camper>[/-][+][MEGATHREAD] Quake Mode & Global Summon[/+]Add support for the `win` key in keybindings (#9783)
Add support for the `win` key in keybindings (microsoft#9783)
Make the window name `_quake` special (#9785)
52 remaining items
Add logging, test for #10875 (#10907)
kulkalkul commentedon Aug 18, 2021
Couldn't find the issue about task manager focus, so posting it here. It also happens with IntelliJ IDEs.
Re-evaluate the size of the quake window when it's summoned to a moni…
Prevent the quake window's borders from hanging onto adjacent monitors (
Recalculate quake window size when snapping across monitors (#10744)
Nacimota commentedon Sep 15, 2022
Apologies if this has been discussed elsewhere (I did do a quick search), but I imagine this is UIPI related? If so, my understanding is that you would normally solve that by requesting
UIAccess=true, though I wouldn't be able to test that because it needs to be signed and so on to work. I'm not sure how applicable that approach is to this project, so maybe someone who knows more can chime in?Curiously enough, when I have Task Manager (or any other high integrity/UWP app) in focus, I can summon the quake window if it is not currently shown, but once it is visible on the desktop I cannot dismiss/focus the quake window using the hotkey (if taskmgr/whatever is in focus). I'm not entirely sure why that is, but (assuming my experience isn't unique) I suspect what's actually happening when a user says they can't summon the window is that is was already present on the desktop, but perhaps out of focus and hidden by other windows (like a maximized browser or something) and it's not capturing the hotkey so it doesn't take focus again.
If so that raises a couple of questions in my mind:
I feel like it's kind of transient UI in much the same way that (for example) the start menu is, in the sense that it floats on top of everything else while you're using it and disappears when you're done. But if you don't manually dismiss it with the hotkey and get distracted with other windows, you might mistakenly think you've dismissed it when it's actually still there.
Following on from above, I think this makes a fair bit of sense. I don't think the expectations for how a quake-style window would behave are exactly the same as a regular window (or at least, I don't think they are for me). This also has the added benefit of potentially solving the Task Manager problem, assuming the hotkey does consistently work to summon the window when it isn't currently shown.
The problem also appears to go away for programs like Task Manager if you run the terminal as admin, though that doesn't seem like much of a solution. This doesn't appear to work for UWP apps, though, presumably because of AppContainers and various other things that they do which might as well be magic as far as I know.
zadjii-msft commentedon Sep 15, 2022
I honestly don't know. The way we make this work is admittedly pretty hacky:
terminal/src/cascadia/WindowsTerminal/IslandWindow.cpp
Lines 1511 to 1527 in e2b2d9b
I never dug to far into it, but I just assumed that Task Manager was protected s.t. I couldn't
AttachThreadInputto it.Whatever the solution to this is, utimately, it should work for non-quake windows as well. Quake mode is the most visible implementation here, but whatever we come up with should work for any old window.
Nacimota commentedon Sep 15, 2022
Yeah, I am fairly confident UIPI is the mechanism at play there. My understanding is that you're not allowed to
AttachThreadInput(among several other things) to a process running at a higher integrity level than you, which in practice applies not just to Task Manager but presumably any app running as administrator. It's the same reason that PowerToys needs to run as admin for shortcuts to work when elevated windows (like taskmgr) are in focus. PowerToys doesn't seem to have problems with UWP apps though... but UWP is a bit of a mystery to me.Anyway, requesting
UIAccessis basically a way of bypassing UIPI without running as admin, but I don't see it used very often. I suppose because it involves a bunch of extra hurdles (process must be in a trusted location [system32/program files], authenticode signed, etc.) that are less convenient than requiring admin, especially for portable installations. I'm not sure thatUIAccessis the right solution here either, I'm just saying I do suspect UIPI is the cause.Yep, that seems reasonable. Though it may not be the best solution for the problem at hand, I'd still propose always-on-top/auto-dismiss behaviours for quake mode have merit regardless, but that is a separate discussion I guess.
chylex commentedon Jul 28, 2025
This feature has been driving me crazy. I've been triggering it by accident for years and it's way too hard to figure out how to disable it. Finally figured out I have to go to Actions and remove the "Show/Hide Quake window"
win+sc(41)binding to stop it.