Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QOL: Paint terminal win32 host background so it looks like the launch profile? #5572

Closed
letmaik opened this issue Apr 25, 2020 · 16 comments
Closed
Labels
Area-User Interface Issues pertaining to the user interface of the Console or Terminal Help Wanted We encourage anyone to jump in on these. Issue-Task It's a feature request, but it doesn't really need a major design. Needs-Tag-Fix Doesn't match tag requirements Priority-3 A description (P3) Product-Terminal The new Windows Terminal.
Milestone

Comments

@letmaik
Copy link
Member

letmaik commented Apr 25, 2020

Environment

Windows build number: 10.0.18363.778
Windows Terminal version (if applicable): 0.11.1121.0

Steps to reproduce

Start Terminal and observe the short gray-to-default-profile-background-color flicker before the shell is loaded. Close Terminal and observe the same in reverse.

Expected behavior

There should be no flickering. When starting, the background of the "empty" shell area should be the same color as the default profile. When closing, the shell area should use the background color of the currently active profile/shell.

Actual behavior

The "empty" shell area is always gray, which means it transitions very quickly from gray to (typically) black when the default profile shell is displayed. Similarly when closing Terminal.

@ghost ghost added Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Tag-Fix Doesn't match tag requirements labels Apr 25, 2020
@WSLUser

This comment has been minimized.

@letmaik

This comment has been minimized.

@zadjii-msft

This comment has been minimized.

@zadjii-msft
Copy link
Member

@letmaik do you mean a gray window like this?
image

@zadjii-msft zadjii-msft added Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something Product-Terminal The new Windows Terminal. labels Apr 27, 2020
@letmaik
Copy link
Member Author

letmaik commented Apr 27, 2020

This is what the moment looks like when it starts/exits:
grafik

@ghost ghost added Needs-Attention The core contributors need to come back around and look at this ASAP. and removed Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something labels Apr 27, 2020
@WSLUser

This comment has been minimized.

@dreadnaut
Copy link

dreadnaut commented May 4, 2020

This happens for me as well, in the most recent release but also in previous ones. The terminal window appears initially with a white background:
image
then the correct theme background is applied. Both with standard decorations, or with tabs in the titlebar. The same when closing the window.

Switching the system's "default app mode" to dark does not change the flash colour: it's still white. I don't use acrylic in Terminal, and transparencies are disabled at system level.

@DHowett
Copy link
Member

DHowett commented May 18, 2020

Thanks for writing this all up!

I think it would be a nice quality of life improvement if we were to paint the window in a color closer to the one it'll eventually be filled with.

@dreadnaut your issue seems different, somehow... that titlebar doesn't look familiar to me (the standard Windows one is narrower, and the custom one we draw has different caption buttons ...)

@DHowett DHowett changed the title Flickering when starting/closing Terminal QOL: Paint terminal win32 host background so it looks like the launch profile? May 18, 2020
@DHowett DHowett added Area-User Interface Issues pertaining to the user interface of the Console or Terminal Help Wanted We encourage anyone to jump in on these. Issue-Task It's a feature request, but it doesn't really need a major design. Priority-3 A description (P3) labels May 18, 2020
@ghost ghost removed the Needs-Tag-Fix Doesn't match tag requirements label May 18, 2020
@DHowett DHowett removed Needs-Attention The core contributors need to come back around and look at this ASAP. Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting labels May 18, 2020
@DHowett DHowett added this to the Terminal Backlog milestone May 18, 2020
@DHowett
Copy link
Member

DHowett commented May 18, 2020

(name changed to encompass what I think would be best)

@dreadnaut
Copy link

@dreadnaut your issue seems different, somehow... that titlebar doesn't look familiar to me (the standard Windows one is narrower, and the custom one we draw has different caption buttons ...)

I use Terminal with acrylic disabled, and

    "alwaysShowTabs" : false,
    "showTabsInTitlebar" : false,

which means I only see the standard Windows titlebar until I open a second tab. If I switch to tabs-in-titlebar, the flash has the same colour. I'd say it's the same issue 🙂

@zadjii-msft
Copy link
Member

I'm gonna also x-ref #11561 here. With the transparency changes in 1.12, the backgound starts as totally transparent, instead of gray/white.

There's also now the possibility that the Terminal is launching:

  • with some profile other than the default profile
  • with multiple tabs & panes, which might complicate this.

So this isn't necessarily straighforward "use the default profile's BG to paint the window".

@zadjii-msft zadjii-msft modified the milestones: Terminal Backlog, Backlog Jan 4, 2022
@mentalisttraceur
Copy link

mentalisttraceur commented Apr 7, 2022

In case this changes priority at all: getting flashbanged in the eyes like this is the number one thing I know of that makes dark themes unhelpful for some people - if your eyes are sensitive in the right way, light theme is bad and unpleasant but still better than to let your eyes get used to dark only to get sliced across the eyes with a momentary flash.

@mentalisttraceur
Copy link

For anyone looking for a slightly better experience, I noticed that if I install WSL Debian, set my default terminal application to Windows Terminal instead of Windows Console Host, and then run Debian, I only get the flash on close rather than on open.

(I presume you'd get the same improvement with any command-line program which indirectly launches Windows Terminal instead of directly, but I haven't checked.)

@mentalisttraceur
Copy link

Actually I take that last statement back.

Upon further testing it seems that it's only sometimes fast enough to not do the white-ish flash on launch in those cases, but other times I still get the flash.

Also an interesting effect is that the initial color on start and final color on close are different. The open color seems dimmer, like a gray, while the close color seems closer to a white.

@zadjii-msft
Copy link
Member

You know what, like 8 months ago we started having the HWND be entirely hidden until the window is ready to render. That basically makes this issue moot 😄

@zadjii-msft zadjii-msft closed this as not planned Won't fix, can't repro, duplicate, stale Mar 6, 2024
@microsoft-github-policy-service microsoft-github-policy-service bot added the Needs-Tag-Fix Doesn't match tag requirements label Mar 6, 2024
@mentalisttraceur
Copy link

Now that you mention it, I don't remember being bothered by this problem lately.

(I moved to Emacs through gWSL as my daily driver terminal emulator about a year ago, so in those 8 months I've only opened the terminal a handful of times.)

Checking now, I can confirm that this issue seems to no longer happen, on both open and close. Big thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-User Interface Issues pertaining to the user interface of the Console or Terminal Help Wanted We encourage anyone to jump in on these. Issue-Task It's a feature request, but it doesn't really need a major design. Needs-Tag-Fix Doesn't match tag requirements Priority-3 A description (P3) Product-Terminal The new Windows Terminal.
Projects
None yet
Development

No branches or pull requests

6 participants