Quake Mode should remember its size #16891

Open
opened 2026-01-31 05:26:17 +00:00 by claunia · 28 comments
Owner

Originally created by @gamagan on GitHub (Feb 28, 2022).

Description of the new feature/enhancement

I often want the Quake Mode terminal window to be different sizes, depending on what I'm doing at the time. However, the window size always resets upon closing and reopening.

There can be a setting in the config file to allow the Quake Mode window to remember its size upon opening/closing.

Originally created by @gamagan on GitHub (Feb 28, 2022). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING: 1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement. 2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement. 3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number). 4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement. 5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement. All good? Then proceed! --> # Description of the new feature/enhancement I often want the Quake Mode terminal window to be different sizes, depending on what I'm doing at the time. However, the window size always resets upon closing and reopening. There can be a setting in the config file to allow the Quake Mode window to remember its size upon opening/closing.
Author
Owner

@zadjii-msft commented on GitHub (Feb 28, 2022):

Huh, coulda swore I had a dupe for this.

I don't think we should even have a setting for this, it should probably just always do this.

@zadjii-msft commented on GitHub (Feb 28, 2022): Huh, coulda swore I had a dupe for this. I don't think we should even have a setting for this, it should probably just always do this.
Author
Owner

@gamagan commented on GitHub (Feb 28, 2022):

I have a 3 monitor setup. I hadn't notice this before, but the window size is remembered on 1 of the monitors (not the primary one). It's remembered as long as you toggle the window only on that monitor. Once you open it in a different monitor, then the size resets in the remembered one, too.

@gamagan commented on GitHub (Feb 28, 2022): I have a 3 monitor setup. I hadn't notice this before, but the window size is remembered on 1 of the monitors (not the primary one). It's remembered as long as you toggle the window only on that monitor. Once you open it in a different monitor, then the size resets in the remembered one, too.
Author
Owner

@nakdeyes commented on GitHub (Dec 3, 2022):

Looking forward to a fix for this one day! Quake mode in windows terminal made me finally bail on CMDR / Cygwin combo I have been using for years. Just need this freature to match the functionality there.

@nakdeyes commented on GitHub (Dec 3, 2022): Looking forward to a fix for this one day! Quake mode in windows terminal made me finally bail on CMDR / Cygwin combo I have been using for years. Just need this freature to match the functionality there.
Author
Owner

@riotrah commented on GitHub (Dec 4, 2022):

Just putting my vote in for this. I heavily use quake mode for a variety of use cases that benefit from a specific height that usually persists per continuous computer usage "session" - so fixed configurable height is great but auto-remembering all height changes is even better.

Getting all the closer to my macos iTerm2 setup <3 !!

@riotrah commented on GitHub (Dec 4, 2022): Just putting my vote in for this. I heavily use quake mode for a variety of use cases that benefit from a specific height that usually persists per continuous computer usage "session" - so fixed configurable height is great but auto-remembering all height changes is even better. Getting all the closer to my macos iTerm2 setup <3 !!
Author
Owner

@nakdeyes commented on GitHub (Dec 4, 2022):

Hot tip until this feature comes online: don’t forget about F11 to full screen while in quake mode.

it nicely fills the screen and it does appear that quake mode will remember this setting and can hide/reveal back into full screen.

helps me a lot anyways as my main use case is “I want it taller”. I at least have 2 sizes to choose between now!

@nakdeyes commented on GitHub (Dec 4, 2022): Hot tip until this feature comes online: don’t forget about F11 to full screen while in quake mode. it nicely fills the screen and it does appear that quake mode will remember this setting and can hide/reveal back into full screen. helps me a lot anyways as my main use case is “I want it taller”. I at least have 2 sizes to choose between now!
Author
Owner

@riotrah commented on GitHub (Dec 8, 2022):

Screenshot_20221207-213159.png

Nooooooooo! 😭

@riotrah commented on GitHub (Dec 8, 2022): ![Screenshot_20221207-213159.png](https://user-images.githubusercontent.com/22646419/206364690-aa32ed64-4e76-45d4-99b4-4f9a15cad1cc.png) Nooooooooo! 😭
Author
Owner

@riotrah commented on GitHub (Dec 8, 2022):

Hot tip until this feature comes online: don’t forget about F11 to full screen while in quake mode.

it nicely fills the screen and it does appear that quake mode will remember this setting and can hide/reveal back into full screen.

helps me a lot anyways as my main use case is “I want it taller”. I at least have 2 sizes to choose between now!

Brilliant, gonna do that now

@riotrah commented on GitHub (Dec 8, 2022): > Hot tip until this feature comes online: don’t forget about F11 to full screen while in quake mode. > > it nicely fills the screen and it does appear that quake mode will remember this setting and can hide/reveal back into full screen. > > helps me a lot anyways as my main use case is “I want it taller”. I at least have 2 sizes to choose between now! Brilliant, gonna do that now
Author
Owner

@rationalthinker1 commented on GitHub (Feb 4, 2023):

Hot tip until this feature comes online: don’t forget about F11 to full screen while in quake mode.

it nicely fills the screen and it does appear that quake mode will remember this setting and can hide/reveal back into full screen.

helps me a lot anyways as my main use case is “I want it taller”. I at least have 2 sizes to choose between now!

Unforunately, it doesn't work on multiple monitors.

@rationalthinker1 commented on GitHub (Feb 4, 2023): > Hot tip until this feature comes online: don’t forget about F11 to full screen while in quake mode. > > it nicely fills the screen and it does appear that quake mode will remember this setting and can hide/reveal back into full screen. > > helps me a lot anyways as my main use case is “I want it taller”. I at least have 2 sizes to choose between now! Unforunately, it doesn't work on multiple monitors.
Author
Owner

@gbiagini commented on GitHub (Mar 28, 2023):

Just wanted to +1, this feature would make quake mode complete.

Even allowing the full screen to persist on multi-monitor setups would be good enough.

@gbiagini commented on GitHub (Mar 28, 2023): Just wanted to +1, this feature would make quake mode complete. Even allowing the full screen to persist on multi-monitor setups would be good enough.
Author
Owner

@Keropon commented on GitHub (Jul 6, 2023):

Would love this feature to be honest, since I discovered the Quake mode I've been using it daily, so this would only just make it better

@Keropon commented on GitHub (Jul 6, 2023): Would love this feature to be honest, since I discovered the Quake mode I've been using it daily, so this would only just make it better
Author
Owner

@FxAlex commented on GitHub (Jul 10, 2023):

besides of showing the open tabs it is the most useful feature the terminal in quake mode can have

@FxAlex commented on GitHub (Jul 10, 2023): besides of showing the open tabs it is the most useful feature the terminal in quake mode can have
Author
Owner

@GreatestFool commented on GitHub (Oct 1, 2023):

I'd really appreciate this and also just being able to set a default size in the config. I generally decrease the Quake Mode height to about 25% of my screen instead of half.

@GreatestFool commented on GitHub (Oct 1, 2023): I'd really appreciate this and also just being able to set a default size in the config. I generally decrease the Quake Mode height to about 25% of my screen instead of half.
Author
Owner

@shayded-exe commented on GitHub (Mar 12, 2024):

How is this still an issue in 2024? Makes quake mode unusable on laptops.

@shayded-exe commented on GitHub (Mar 12, 2024): How is this still an issue in 2024? Makes quake mode unusable on laptops.
Author
Owner

@slrgt commented on GitHub (Apr 11, 2024):

any update on this?

@slrgt commented on GitHub (Apr 11, 2024): any update on this?
Author
Owner

@zadjii-msft commented on GitHub (Apr 15, 2024):

Nope. We'll make sure to update this thread when there is. In the meantime, might I recommend the Subscribe button?
image
That way you'll be notified of any updates to this thread, without needlessly pinging everyone on this thread ☺️

Alternatively, if anyone is particularly passionate about this, I could help point to the right code in IslandWindow.cpp to start investigating.

@zadjii-msft commented on GitHub (Apr 15, 2024): Nope. We'll make sure to update this thread when there is. In the meantime, might I recommend the Subscribe button? ![image](https://user-images.githubusercontent.com/18356694/91237459-5cbb0c80-e700-11ea-9347-b9b1ec2813b1.png) That way you'll be notified of any updates to this thread, without needlessly pinging everyone on this thread ☺️ Alternatively, if anyone is particularly passionate about this, I could help point to the right code in `IslandWindow.cpp` to start investigating.
Author
Owner

@codevogel commented on GitHub (May 8, 2024):

Alternatively, if anyone is particularly passionate about this, I could help point to the right code in IslandWindow.cpp to start investigating.

Yes please! I have no prior experience in this codebase, but this would make it perfect for me when used in conjunction with TMUX.
It would offer me the option to quickly collapse and restore all my development windows and summon them back again. Having a dedicated button shortcut to summon my terminal to my current window would be much better than leaving a terminal window in fullscreen and having to alt-tab back to it.

@codevogel commented on GitHub (May 8, 2024): > Alternatively, if anyone is particularly passionate about this, I could help point to the right code in `IslandWindow.cpp` to start investigating. Yes please! I have no prior experience in this codebase, but this would make it perfect for me when used in conjunction with TMUX. It would offer me the option to quickly collapse and restore all my development windows and summon them back again. Having a dedicated button shortcut to summon my terminal to my current window would be much better than leaving a terminal window in fullscreen and having to alt-tab back to it.
Author
Owner

@zadjii-msft commented on GitHub (May 8, 2024):

@CodeVogel for what it's worth, you may be more interested in just plain-old globalSummmon, which you can use with any window (not just a quake one):

I have it bound like:

        {
            "command":
            {
                "action": "globalSummon",
                "monitor": "any"
            },
            "keys": "win+sc(41)"
        },

but sounds like you want "monitor": "toCurrent"

@zadjii-msft commented on GitHub (May 8, 2024): @CodeVogel for what it's worth, you may be more interested in just plain-old [`globalSummmon`](https://learn.microsoft.com/en-us/windows/terminal/customize-settings/actions#global-summon), which you can use with any window (not just a quake one): I have it bound like: ```json { "command": { "action": "globalSummon", "monitor": "any" }, "keys": "win+sc(41)" }, ``` but sounds like you want `"monitor": "toCurrent"`
Author
Owner

@codevogel commented on GitHub (May 8, 2024):

@zadjii-msft awesome! that is pretty much exactly what I was looking for.

The toCurrent strategy behaves a little weird, as when I dismiss the terminal on my right monitor and have nothing else in focus on the right monitor, it opens on the left monitor, but that's unrelated to this issue.

@codevogel commented on GitHub (May 8, 2024): @zadjii-msft awesome! that is pretty much exactly what I was looking for. The `toCurrent` strategy behaves a little weird, as when I dismiss the terminal on my right monitor and have nothing else in focus on the right monitor, it opens on the left monitor, but that's unrelated to this issue.
Author
Owner

@mmaazahmed commented on GitHub (Nov 4, 2024):

My solution:

step 1) add the following setting to your settings json:
{ "command": { "action": "globalSummon", "monitor": "any" }, "keys": "win+sc(41)" },

step 2: go to settings>appearance > enable Hide terminal in the notification area when minimized and automatically hide window

step 3: go to start up > launch parameters > set launch mode to focus.

you now have a quake mode that works with windows tiling and rememebers its size and position. Here's a short demo:

Image
https://github.com/user-attachments/assets/eeb974e4-c149-42bc-b6ec-283e3882269b

@mmaazahmed commented on GitHub (Nov 4, 2024): # My solution: step 1) add the following setting to your settings json: ``{ "command": { "action": "globalSummon", "monitor": "any" }, "keys": "win+sc(41)" },`` step 2: go to settings>appearance > enable `Hide terminal in the notification area when minimized` and `automatically hide window` step 3: go to start up > launch parameters > set launch mode to focus. you now have a `quake mode` that works with windows tiling and rememebers its size and position. Here's a short demo: ![Image](https://github.com/user-attachments/assets/e0edc2dc-0505-44dd-8406-03dad1a6a1d6) https://github.com/user-attachments/assets/eeb974e4-c149-42bc-b6ec-283e3882269b
Author
Owner

@romanbeldent commented on GitHub (Nov 16, 2025):

Hey, no fix for quake height size or for quake remembering its size when re-opening ?

@romanbeldent commented on GitHub (Nov 16, 2025): Hey, no fix for quake height size or for quake remembering its size when re-opening ?
Author
Owner

@zadjii-msft commented on GitHub (Nov 17, 2025):

We'd be happy to accept a PR for this, and if anyone's willing to contribute, I could try and point them at where in the code I think this might be!

@zadjii-msft commented on GitHub (Nov 17, 2025): We'd be happy to accept a PR for this, and if anyone's willing to contribute, I could try and point them at where in the code I think this might be!
Author
Owner

@metal-gabe commented on GitHub (Nov 18, 2025):

We'd be happy to accept a PR for this, and if anyone's willing to contribute, I could try and point them at where in the code I think this might be!

I'd be willing to give it a shot 🙂 a point in the right code direction would be greatly appreciated

@metal-gabe commented on GitHub (Nov 18, 2025): > We'd be happy to accept a PR for this, and if anyone's willing to contribute, I could try and point them at where in the code I think this might be! I'd be willing to give it a shot 🙂 a point in the right code direction would be greatly appreciated
Author
Owner

@zadjii-msft commented on GitHub (Nov 18, 2025):

I'd probably start looking near this function:

fb668f3a4a/src/cascadia/WindowsTerminal/IslandWindow.cpp (L1678-L1687)

That's what calculates the size the quake window should be at. But instead of it just always being half, we'd need to somehow know

  • That someone resized it to be a different size
  • what percent of the monitor that is now (so that on different monitors, we'll still use the same relative height)
  • and then the next time we're summoned, use that percent (instead of always 50%)
@zadjii-msft commented on GitHub (Nov 18, 2025): I'd probably start looking near this function: https://github.com/microsoft/terminal/blob/fb668f3a4ad14a876585c2f1603880dd159f64eb/src/cascadia/WindowsTerminal/IslandWindow.cpp#L1678-L1687 That's what calculates the size the quake window should be at. But instead of it just always being half, we'd need to somehow know * That someone resized it to be a different size * what percent of the monitor that is now (so that on different monitors, we'll still use the same relative height) * and then the next time we're summoned, use that percent (instead of always 50%)
Author
Owner

@foreignmeloman commented on GitHub (Nov 18, 2025):

Maybe it's worth to have a setting to just define the precentage? I don't see a scenario where someone would manually adjust the quake termial size constantly.

@foreignmeloman commented on GitHub (Nov 18, 2025): Maybe it's worth to have a setting to just define the precentage? I don't see a scenario where someone would manually adjust the quake termial size constantly.
Author
Owner

@FxAlex commented on GitHub (Nov 18, 2025):

Maybe it's worth to have a setting to just define the precentage? I don't see a scenario where someone would manually adjust the quake termial size constantly.

I disagree. It would certainly be better to save the height each time it changes.

@FxAlex commented on GitHub (Nov 18, 2025): > Maybe it's worth to have a setting to just define the precentage? I don't see a scenario where someone would manually adjust the quake termial size constantly. I disagree. It would certainly be better to save the height each time it changes.
Author
Owner

@Keropon commented on GitHub (Nov 18, 2025):

It's a terminal, that might or might not be okay with 50% of the total screen state. I'd personally prefer to set a size in pixels, since I'd know more or less when I have 10 or 20 lines to work with, just by multiplying the font size.

What I would really like tho is that the terminal size could be saved by a screen-basis, so if I summon the terminal while in my 4k or my 1080p screen it will keep the size I set the last time for each.

@Keropon commented on GitHub (Nov 18, 2025): It's a terminal, that might or might not be okay with 50% of the total screen state. **I'd personally prefer to set a size in pixels**, since I'd know more or less when I have 10 or 20 lines to work with, just by multiplying the font size. What I would really like tho is that the terminal size could be saved by a screen-basis, so if I summon the terminal while in my 4k or my 1080p screen it will keep the size I set the last time for each.
Author
Owner

@zadjii-msft commented on GitHub (Nov 18, 2025):

My pro-tip for 3p contributions is start small.

  • Start by just making a change that persists the relative size when the user changes it.
  • Then maybe a follow-up PR could make that persist per-monitor.
  • Then another PR could add a setting for the "default" size to open at.
  • then maybe another PR takes that setting and parses any of { 50%, 400dip, 600px, 32 (cells) } and does The Right Thing depending on the unit

But always start small and make incremental improvement. I wouldn't want meaningful piecewise improvements to be locked behind attempting to boil the ocean

@zadjii-msft commented on GitHub (Nov 18, 2025): My pro-tip for 3p contributions is _start small_. * _Start_ by just making a change that persists the relative size when the user changes it. * Then maybe a follow-up PR could make that persist per-monitor. * Then another PR could add a setting for the "default" size to open at. * then maybe another PR takes that setting and parses any of { `50%`, `400dip`, `600px`, `32` (cells) } and does The Right Thing depending on the unit But always start small and make incremental improvement. I wouldn't want meaningful piecewise improvements to be locked behind attempting to boil the ocean
Author
Owner

@metal-gabe commented on GitHub (Nov 19, 2025):

My pro-tip for 3p contributions is start small.

  • Start by just making a change that persists the relative size when the user changes it.
  • Then maybe a follow-up PR could make that persist per-monitor.
  • Then another PR could add a setting for the "default" size to open at.
  • then maybe another PR takes that setting and parses any of { 50%, 400dip, 600px, 32 (cells) } and does The Right Thing depending on the unit

But always start small and make incremental improvement. I wouldn't want meaningful piecewise improvements to be locked behind attempting to boil the ocean

will do, thanks for the advice!

@metal-gabe commented on GitHub (Nov 19, 2025): > My pro-tip for 3p contributions is _start small_. > > * _Start_ by just making a change that persists the relative size when the user changes it. > * Then maybe a follow-up PR could make that persist per-monitor. > * Then another PR could add a setting for the "default" size to open at. > * then maybe another PR takes that setting and parses any of { `50%`, `400dip`, `600px`, `32` (cells) } and does The Right Thing depending on the unit > > But always start small and make incremental improvement. I wouldn't want meaningful piecewise improvements to be locked behind attempting to boil the ocean will do, thanks for the advice!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#16891