Skip to content

Quake Mode should remember its size #12594

Open

Description

@gamagan

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.

Activity

  1. added
    Issue-FeatureComplex enough to require an in depth planning process and actual budgeted, scheduled work.
    on Feb 28, 2022
  2. ghost added
    Needs-TriageIt's a new issue that the core contributor team needs to triage at the next triage meeting
    on Feb 28, 2022
  3. ghost added
    Needs-Tag-FixDoesn't match tag requirements
    on Feb 28, 2022
  4. zadjii-msft commented on Feb 28, 2022

    @zadjii-msft
    Member

    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.

  5. added
    Area-WindowingWindow frame, quake mode, tearout
    Help WantedWe encourage anyone to jump in on these.
    Issue-BugIt either shouldn't be doing this or needs an investigation.
    and removed
    Issue-FeatureComplex enough to require an in depth planning process and actual budgeted, scheduled work.
    on Feb 28, 2022
  6. ghost removed
    Needs-Tag-FixDoesn't match tag requirements
    on Feb 28, 2022
  7. changed the title [-]Please, provide a setting to allow the Quake Mode window to remember its size[/-] [+]Quake Mode should remember its size[/+] on Feb 28, 2022
  8. removed
    Needs-TriageIt's a new issue that the core contributor team needs to triage at the next triage meeting
    on Feb 28, 2022
  9. gamagan commented on Feb 28, 2022

    @gamagan
    Author

    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.

  10. 16 remaining items

  11. zadjii-msft commented on Apr 15, 2024

    @zadjii-msft
    Member

    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.

  12. codevogel commented on May 8, 2024

    @codevogel

    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.

  13. zadjii-msft commented on May 8, 2024

    @zadjii-msft
    Member

    Kamiel de Visser (@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"

  14. codevogel commented on May 8, 2024

    @codevogel

    Mike Griese (@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.

  15. mmaazahmed commented on Nov 4, 2024

    @mmaazahmed

    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

  16. romanbeldent commented on Nov 16, 2025

    @romanbeldent

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

  17. zadjii-msft commented on Nov 17, 2025

    @zadjii-msft
    Member

    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!

  18. metal-gabe commented on Nov 18, 2025

    @metal-gabe

    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

  19. zadjii-msft commented on Nov 18, 2025

    @zadjii-msft
    Member

    I'd probably start looking near this function:

    // Method Description:
    // - Get the size and position of the window that a "quake mode" should occupy
    // on the given monitor.
    // - The window will occupy the top half of the monitor.
    // Arguments:
    // - <none>
    // Return Value:
    // - <none>
    til::rect IslandWindow::_getQuakeModeSize(HMONITOR hmon)
    {

    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%)
  20. foreignmeloman commented on Nov 18, 2025

    @foreignmeloman

    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.

  21. FxAlex commented on Nov 18, 2025

    @FxAlex

    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.

  22. Keropon commented on Nov 18, 2025

    @Keropon

    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.

  23. zadjii-msft commented on Nov 18, 2025

    @zadjii-msft
    Member

    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

  24. metal-gabe commented on Nov 19, 2025

    @metal-gabe

    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 up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-WindowingWindow frame, quake mode, tearoutHelp WantedWe encourage anyone to jump in on these.In-PRThis issue has a related PRIssue-BugIt either shouldn't be doing this or needs an investigation.Priority-3A description (P3)Product-TerminalThe new Windows Terminal.

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions