microsoft / terminal

The new Windows Terminal and the original Windows console host, all in the same place!
MIT License
94.47k stars 8.17k forks source link

Quake mode full screen doesn't reopen with full heightwhen closing and resummoning #16175

Open Lolle2000la opened 9 months ago

Lolle2000la commented 9 months ago

Windows Terminal version

1.18.2681.0

Windows build number

10.0.22621.0

Other Software

No response

Steps to reproduce

On a multi-monitor setup (primary monitor center: 2560x1400, other monitor left: 1920x1080). Does not happen with only one display (tested on Surface Pro 9)

  1. Summon quake mode window with the shortcut (bound to F10 on my machine) image
  2. Change to full screen with F11 image
  3. Hide the quake mode window again
  4. Resummon the window image

Expected Behavior

Quake mode window reappears again in full screen mode, covering my screen in its entirety.

Actual Behavior

Quake mode window reappears covering around half of the montor. Pressing F11 once restores the normal quake window view, pressing it again puts in to full screen properly again.

zadjii-msft commented 9 months ago

Huh. This is a bit like #12594, but definitely different. Thanks for the report!

Lolle2000la commented 9 months ago

Having read this comment in the issue you referenced, I've tried whether the issue also appears on my 1080p monitor to the left of my primary monitor, and it doesn't weidly enough. Could it be that full screen remembers the position correctly but not the height? Though the fact that it doesn't restore with 1080p height on the primary 1440p monitor does speak against it fetching the false values I think.

Lolle2000la commented 9 months ago

Ok I've set my primary monitor to be the monitor on the left in the windows settings, and after a restart of terminal the quake mode windows full screen gets correctly restored on my primary monitor but not the 1080p monitor.

I've also added the action I use to summon quake mode below, if that helps with diagnosing issues:

{
    "command": 
    {
        "action": "globalSummon",
        "desktop": "toCurrent",
        "dropdownDuration": 0,
        "monitor": "toMouse",
        "name": "_quake",
        "toggleVisibility": true
    },
    "keys": "f10"
}
Digital-gitz commented 5 months ago
        {
            "command": 
            {
                "action": "globalSummon",
                "desktop": "toCurrent",
                "MaximizeAfterToggle": true,
                "dropdownDuration": 0,
                "monitor": "toMouse",
                "name": "_quake",
                "toggleVisibility": true,
                "suppressApplicationTitle": true,
                "launchMode": "fullscreen"
            },
            "keys": "win+`"
        }

I have tried setting launch mode to full-screen just dose not work Docs not so helpful. this site seems to get it with max toggle but dose not work for me. link

micmarty-deepsense commented 2 months ago

any update on this?

zadjii-msft commented 2 months ago

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 ☺️


If someone in the community wants to take a crack at this, I'd more than welcome the help. IslandWindow.cpp is where I'd start by looking. We'd probably need to cache both size (for #12594) and fullscreen/maximized state (this thread) when the window gets dismissed, and use that size when it gets summoned.

(IIRC there's like, a WINODWPLACEMENT struct that might be what we're looking for)

marcelbrode commented 1 month ago

I want to share some observations, since I suffer the same issue.

It works on my secondary monitor (on the left), which is 16:9, but doesn't work on my main monitor, why is 21:9. I dunno if the resolution or the primary/secondary monitor is a thing, but maybe this helps