Add setting to control Acrylic "Blur" in addition to opacity #2450

Closed
opened 2026-01-30 22:55:14 +00:00 by claunia · 74 comments
Owner

Originally created by @zadjii-msft on GitHub (Jul 1, 2019).

Pretty much the title.

Right now we're only using the default blur amount.

Originally created by @zadjii-msft on GitHub (Jul 1, 2019). Pretty much the title. Right now we're only using the default blur amount.
Author
Owner

@mdtauk commented on GitHub (Jul 1, 2019):

Opacity slider, with a toggle for turning Acrylic on or off, would also work

@mdtauk commented on GitHub (Jul 1, 2019): Opacity slider, with a toggle for turning Acrylic on or off, would also work
Author
Owner

@DHowett-MSFT commented on GitHub (Jul 2, 2019):

Yanking the triage tag. This is a known amount of work that we just need to do.

@DHowett-MSFT commented on GitHub (Jul 2, 2019): Yanking the triage tag. This is a known amount of work that we just need to _do_.
Author
Owner

@zadjii-msft commented on GitHub (Jul 3, 2019):

This might be impossible...

When I filed this issue I mistakenly thought there was a "Blur" property on the AcrylicBrush, but that doesn't look like it's exposed at all. See its page on MSDN.

And looking at this issue, it looks like this might just be impossible, for security reasons.

@zadjii-msft commented on GitHub (Jul 3, 2019): This might be impossible... When I filed this issue I mistakenly thought there was a "Blur" property on the AcrylicBrush, but that doesn't look like it's exposed at all. See [its page on MSDN](https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.media.acrylicbrush). And looking at [this issue](https://github.com/Microsoft/WindowsCompositionSamples/issues/202), it looks like this might just be impossible, for security reasons.
Author
Owner

@kobenauf commented on GitHub (Jul 4, 2019):

In this vein, I would like two independent properties to set acrylic values for when the window is in the foreground and when it is in the background. For example, I would like the window to be at 90% opacity when the window has focus, and 70% opacity when it does not.

@kobenauf commented on GitHub (Jul 4, 2019): In this vein, I would like two independent properties to set acrylic values for when the window is in the foreground and when it is in the background. For example, I would like the window to be at 90% opacity when the window has focus, and 70% opacity when it does not.
Author
Owner

@KylePreuss commented on GitHub (Jul 6, 2019):

For clarification, would this allow transparency of the window without the blurring (i.e. act like cmd and PS)? It would be great to be able to read text behind the window.

@KylePreuss commented on GitHub (Jul 6, 2019): For clarification, would this allow transparency of the window without the blurring (i.e. act like cmd and PS)? It would be great to be able to read text behind the window.
Author
Owner

@iamakulov commented on GitHub (Jul 23, 2019):

When I filed this issue I mistakenly thought there was a "Blur" property on the AcrylicBrush, but that doesn't look like it's exposed at all. See its page on MSDN.

Isn’t that controlled by TintOpacity? https://docs.microsoft.com/en-us/windows/uwp/design/style/acrylic#custom-acrylic-brush

I guess this is what most people (or, at least, me) mean when talking about changing the blur level.

@iamakulov commented on GitHub (Jul 23, 2019): > When I filed this issue I mistakenly thought there was a "Blur" property on the AcrylicBrush, but that doesn't look like it's exposed at all. See its page on MSDN. Isn’t that controlled by [`TintOpacity`](https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.media.acrylicbrush.tintopacity#Windows_UI_Xaml_Media_AcrylicBrush_TintOpacity)? https://docs.microsoft.com/en-us/windows/uwp/design/style/acrylic#custom-acrylic-brush I guess this is what most people (or, at least, me) mean when talking about changing the blur level.
Author
Owner

@wjk commented on GitHub (Aug 11, 2019):

I have found (at least one) way to accomplish this effect, but not via UWP. The really old, Vista-era API DwmEnableBlurBehindWindow, if called on Windows 10, changes the window background to a semi-transparent black, without a blur. How ironic given the function’s name, huh? AFAICT, this doesn’t present any security issues, as the app cannot read the contents of the background shown, as it is processed entirely within dwm.exe.

That being said, wouldn’t we be able to use SetLayeredWindowAttributes on the root HWND, just as conhostV2 does? As I understand the docs, this should also affect the child windows. If it does so in a way that would be unsatisfactory, we can then use that same function to set the alpha of the child HWNDs to 255 (opaque), then clear the child windows with a transparent color to erase the default background fill. After that we should be able to draw whatever we want on top of the transparent background window. This may take a bit of refactoring of the Cascadia architecture, but I see no reason why it wouldn’t be able to be done. Hope this helps!

@wjk commented on GitHub (Aug 11, 2019): I have found (at least one) way to accomplish this effect, but not via UWP. The really old, Vista-era API `DwmEnableBlurBehindWindow`, if called on Windows 10, changes the window background to a semi-transparent black, *without* a blur. How ironic given the function’s name, huh? AFAICT, this doesn’t present any security issues, as the app cannot read the contents of the background shown, as it is processed entirely within dwm.exe. That being said, wouldn’t we be able to use `SetLayeredWindowAttributes` on the root HWND, just as conhostV2 does? As I understand the docs, this should also affect the child windows. If it does so in a way that would be unsatisfactory, we can then use that same function to set the alpha of the child HWNDs to 255 (opaque), then clear the child windows with a transparent color to erase the default background fill. After that we should be able to draw whatever we want on top of the transparent background window. This may take a bit of refactoring of the Cascadia architecture, but I see no reason why it wouldn’t be able to be done. Hope this helps!
Author
Owner

@rkitover commented on GitHub (Sep 12, 2019):

To add my 2 cents, I would really like the sort of transparency and blur options iterm2 has on Mac. You have regular transparency, and you can add just a bit of blur to reduce eye strain but still make out the background wallpaper or whatever clearly.

The acrylic just looks terrible, and the thing under the window is completely unrecognizable.

@rkitover commented on GitHub (Sep 12, 2019): To add my 2 cents, I would really like the sort of transparency and blur options iterm2 has on Mac. You have regular transparency, and you can add just a bit of blur to reduce eye strain but still make out the background wallpaper or whatever clearly. The acrylic just looks terrible, and the thing under the window is completely unrecognizable.
Author
Owner

@mcgov commented on GitHub (Sep 25, 2019):

@zadjii-msft @DHowett-MSFT We're not limited by the published API as MSFT devs. If you reach out to the library maintainers you can probably get this sorted out, them building their thing in a stupid way doesn't mean we all just have to live with it right?

@mcgov commented on GitHub (Sep 25, 2019): @zadjii-msft @DHowett-MSFT We're not limited by the published API as MSFT devs. If you reach out to the library maintainers you can probably get this sorted out, them building their thing in a stupid way doesn't mean we all just have to live with it right?
Author
Owner

@fquinner commented on GitHub (Oct 8, 2019):

For the record, this is the final must-have feature for me and window transparency isn't really usable without it imo. At least background image transparency works though, but it's much nicer to be able to see actual apps underneath and / or your real desktop. Terminus, Alacritty and Conemu all manage this (albeit with varying degrees of success).

@fquinner commented on GitHub (Oct 8, 2019): For the record, this is the final must-have feature for me and window transparency isn't really usable without it imo. At least background image transparency works though, but it's much nicer to be able to see actual apps underneath and / or your real desktop. Terminus, Alacritty and Conemu all manage this (albeit with varying degrees of success).
Author
Owner

@jacrys commented on GitHub (Oct 11, 2019):

@zadjii-msft @DHowett-MSFT We're not limited by the published API as MSFT devs. If you reach out to the library maintainers you can probably get this sorted out, them building their thing in a stupid way doesn't mean we all just have to live with it right?

👆🏻 this. so much this.

@jacrys commented on GitHub (Oct 11, 2019): > @zadjii-msft @DHowett-MSFT We're not limited by the published API as MSFT devs. If you reach out to the library maintainers you can probably get this sorted out, them building their thing in a stupid way doesn't mean we all just have to live with it right? 👆🏻 this. so much this.
Author
Owner

@qodfathr commented on GitHub (Oct 11, 2019):

I'll note that https://github.com/goreliu/wsl-terminal handles transparency just fine (and I believe the way the majority of the people here want), so investigating that codebase is probably a reasonable place to start.

** EDIT **

And the transparency option really comes from the underlying https://github.com/mintty/mintty project

@qodfathr commented on GitHub (Oct 11, 2019): I'll note that https://github.com/goreliu/wsl-terminal handles transparency just fine (and I believe the way the majority of the people here want), so investigating that codebase is probably a reasonable place to start. ** EDIT ** And the transparency option really comes from the underlying https://github.com/mintty/mintty project
Author
Owner

@JVimes commented on GitHub (Dec 12, 2019):

I want to read what's behind the window, usually code samples on a web page. In that vein, would it be better to have a hotkey that toggles between blur and non-blur transparency? Aka, turns acrylic off but maintains transparency. It could be push-and-hold or toggle, would be fun to try both.

@JVimes commented on GitHub (Dec 12, 2019): I want to read what's behind the window, usually code samples on a web page. In that vein, would it be better to have a hotkey that toggles between blur and non-blur transparency? Aka, turns acrylic off but maintains transparency. It could be push-and-hold or toggle, would be fun to try both.
Author
Owner

@zadjii-msft commented on GitHub (Dec 30, 2019):

This comment (https://github.com/microsoft/terminal/issues/1375#issuecomment-569483109) from @JasonStein might be relevant to this thread:

Hey guys, I am the author of Notepads, this is how I make background acrylic effect "always on" for both title bar and window body of Notepads App: JasonStein/Notepads:src/Notepads/Services/ThemeSettingsService.cs@12940ad#L253

I created the Acrylic brush myself using "AcrylicBackgroundSource.HostBackdrop" with help of UICompositionAnimations library to make my life easier (ref: Sergio0694/UICompositionAnimations).

It is basically creating the brush from scratch using composition APIs (AcrylicBackgroundSource.HostBackdrop + Noise texture).

@zadjii-msft commented on GitHub (Dec 30, 2019): This comment (https://github.com/microsoft/terminal/issues/1375#issuecomment-569483109) from @JasonStein might be relevant to this thread: > > > Hey guys, I am the author of Notepads, this is how I make background acrylic effect "always on" for both title bar and window body of Notepads App: [JasonStein/Notepads:src/Notepads/Services/ThemeSettingsService.cs@`12940ad`#L253](https://github.com/JasonStein/Notepads/blob/12940adc674a9ba6fa336e3aaa8652978e8a8c8e/src/Notepads/Services/ThemeSettingsService.cs#L253) > > I created the Acrylic brush myself using "AcrylicBackgroundSource.HostBackdrop" with help of UICompositionAnimations library to make my life easier (ref: [Sergio0694/UICompositionAnimations](https://github.com/Sergio0694/UICompositionAnimations)). > > It is basically creating the brush from scratch using composition APIs (AcrylicBackgroundSource.HostBackdrop + Noise texture).
Author
Owner

@TechCiel commented on GitHub (Feb 9, 2020):

AcrylicBrush API is not the only choice. I'd really like to have an option for simply non-blur opacity, apart from acrylic options. It's strange to drop useful feature of cmd when making this Windows Terminal as cmd-ng.

@TechCiel commented on GitHub (Feb 9, 2020): AcrylicBrush API is not the only choice. I'd really like to have an option for simply non-blur opacity, apart from acrylic options. It's strange to drop useful feature of cmd when making this Windows Terminal as cmd-ng.
Author
Owner

@b-hayes commented on GitHub (Feb 27, 2020):

Transparency with no blur at all if that can be done without acrylic even would be great so I don't have to alt-tab mid command to double-check something.

On mac and Linux I use transparent terminal all the time because I am often reading a document or some source code in the window underneath as I type its extremely handy.

Controlling blur would be ideal tho. (on the mac I use 3% blur just to make terminal text stand out without making text behind it hard to read.)

@b-hayes commented on GitHub (Feb 27, 2020): Transparency with no blur at all if that can be done without acrylic even would be great so I don't have to alt-tab mid command to double-check something. On mac and Linux I use transparent terminal all the time because I am often reading a document or some source code in the window underneath as I type its extremely handy. Controlling blur would be ideal tho. (on the mac I use 3% blur just to make terminal text stand out without making text behind it hard to read.)
Author
Owner

@Chiramisudo commented on GitHub (May 19, 2020):

For clarification, would this allow transparency of the window without the blurring (i.e. act like cmd and PS)? It would be great to be able to read text behind the window.

Exactly! In fact, I won't even consider switching to Windows Terminal (as much as I love it) until this is implemented. I keep checking back, but disappointed to see that it still hasn't been done.

This feature is especially useful for those with a single monitor or limited screen real estate. I almost always have some web page or other text behind my terminal that I want to be able to read while in terminal. I adjust my transparency / opacity appropriately to make this a comfortable experience so I can still read my terminal well.

Please implement this ASAP. I'm looking forward to using WT and have been following it since the first Alpha release.

@Chiramisudo commented on GitHub (May 19, 2020): > For clarification, would this allow transparency of the window without the blurring (i.e. act like cmd and PS)? It would be great to be able to read text behind the window. Exactly! In fact, I won't even consider switching to Windows Terminal (as much as I love it) until this is implemented. I keep checking back, but disappointed to see that it still hasn't been done. This feature is especially useful for those with a single monitor or limited screen real estate. I almost always have some web page or other text behind my terminal that I want to be able to read while in terminal. I adjust my transparency / opacity appropriately to make this a comfortable experience so I can still read my terminal well. Please implement this ASAP. I'm looking forward to using WT and have been following it since the first Alpha release.
Author
Owner

@Chiramisudo commented on GitHub (May 19, 2020):

As a bonus, there should also be a boolean to toggle whether the transparency / opacity should also apply to the text in the Terminal. This would ensure that the text in the terminal remains vibrant and visible to make it more distinguishable from any other text in windows behind the terminal.

@Chiramisudo commented on GitHub (May 19, 2020): As a bonus, there should also be a boolean to toggle whether the transparency / opacity should also apply to the text in the Terminal. This would ensure that the text in the terminal remains vibrant and visible to make it more distinguishable from any other text in windows behind the terminal.
Author
Owner

@mdtauk commented on GitHub (May 19, 2020):

If the blur is to be referred to as Acrylic, I don't think it should deviate from the visual construction of other Acrylic surfaces beyond the opacity (which is variable with Acrylic Brushes)

If you start pulling apart the various layers like the Noise, Luminosity, or Blur amounts - it is no longer "Acrylic" but a composition layer set of effects.

@mdtauk commented on GitHub (May 19, 2020): If the blur is to be referred to as Acrylic, I don't think it should deviate from the visual construction of other Acrylic surfaces beyond the opacity (which is variable with Acrylic Brushes) If you start pulling apart the various layers like the Noise, Luminosity, or Blur amounts - it is no longer "Acrylic" but a composition layer set of effects.
Author
Owner

@DHowett commented on GitHub (May 19, 2020):

I keep checking back

good news! You'll get an e-mail when we close this bug 😄 for better or for worse

@DHowett commented on GitHub (May 19, 2020): > I keep checking back good news! You'll get an e-mail when we close this bug :smile: for better or for worse
Author
Owner

@ghost commented on GitHub (May 20, 2020):

I have to echo what everyone else is saying; I currently use the PowerShell Core msi install as my primary shell. As a very large component of my job, I am in this console half- or full-screen on an ultra-wide all day and need to be able to see things clearly underneath.

I love the idea and appreciate the effort Microsoft is putting into some of the admin utilities on Windows but, at this point, this new Terminal is simply a novelty that can't meaningful replace the original console. Please see the screenshot below; both windows are laid over the same spot on this page. One is great and the other is unusable, I don't have to point out which is which.

image

@ghost commented on GitHub (May 20, 2020): I have to echo what everyone else is saying; I currently use the PowerShell Core msi install as my primary shell. As a very large component of my job, I am in this console half- or full-screen on an ultra-wide all day and need to be able to see things clearly underneath. I love the idea and appreciate the effort Microsoft is putting into some of the admin utilities on Windows but, at this point, this new Terminal is simply a novelty that can't meaningful replace the original console. Please see the screenshot below; both windows are laid over the same spot on this page. One is great and the other is unusable, I don't have to point out which is which. ![image](https://user-images.githubusercontent.com/26640273/82456370-2414f280-9a82-11ea-8e4a-2a00482f634f.png)
Author
Owner

@DHowett commented on GitHub (May 20, 2020):

this new Terminal is simply a novelty

I appreciate your kind criticism of the project we've been working on for the past year and a half, but could you possibly not?

@DHowett commented on GitHub (May 20, 2020): > this new Terminal is simply a novelty I appreciate your kind criticism of the project we've been working on for the past year and a half, but could you possibly _not_?
Author
Owner

@ghost commented on GitHub (May 20, 2020):

I empathize with how you feel; it isn't a fun spot, but also place yourself into the perspective of the user base (of largely paying customers) that has been waiting for this for a year and a half. I wanted to echo the other thoughts that seem to be pervading the community regarding this product and I wanted to at least provide a screenshot to be constructive since no one else had done so to this point. Without actually seeing what the issue is, it would be easy to dismiss the issue as minor or whining, but I hope you recognize that the top console in my screenshot is clearly non-functional. I hope it can be fixed.

@ghost commented on GitHub (May 20, 2020): I empathize with how you feel; it isn't a fun spot, but also place yourself into the perspective of the user base (of largely paying customers) that has been waiting for this for a year and a half. I wanted to echo the other thoughts that seem to be pervading the community regarding this product and I wanted to at least provide a screenshot to be constructive since no one else had done so to this point. Without actually seeing what the issue is, it would be easy to dismiss the issue as minor or whining, but I hope you recognize that the top console in my screenshot is clearly non-functional. I hope it can be fixed.
Author
Owner

@zadjii-msft commented on GitHub (May 26, 2020):

  1. Don't worry, everyone on the team is a daily user of the Terminal. We're all the user base just as much as our external customers are.
  2. For the record, the Terminal was only announced last April, so y'all have only been waiting for 13 months 😉
  3. We've been investigating this issue for a while now. We understand that this isn't a trivial graphical issue, but unfortunately, it's not a technically trivial issue to fix 😕
@zadjii-msft commented on GitHub (May 26, 2020): 1. Don't worry, everyone on the team is a daily user of the Terminal. We're all the user base just as much as our external customers are. 2. For the record, the Terminal was only announced last April, so y'all have only been waiting for 13 months 😉 3. [We've been investigating this issue](https://github.com/microsoft/terminal/issues/603#issuecomment-626830075) for a while now. We understand that this isn't a trivial graphical issue, but unfortunately, it's not a technically trivial issue to fix 😕
Author
Owner

@ghost commented on GitHub (May 29, 2020):

@zadjii-msft I understand the third part which is why I posted the screenshot to kind of illustrate what everyone is complaining about in this and other issue threads. I appreciate you guys working to build cool products with a more OS agnostic approach, I hope it keeps moving along without too much headache for you.

@ghost commented on GitHub (May 29, 2020): @zadjii-msft I understand the third part which is why I posted the screenshot to kind of illustrate what everyone is complaining about in this and other issue threads. I appreciate you guys working to build cool products with a more OS agnostic approach, I hope it keeps moving along without too much headache for you.
Author
Owner

@Chiramisudo commented on GitHub (May 30, 2020):

"Our mission is to empower every person and every organization on the planet to achieve more." -Microsoft

Unfortunately, this new Terminal kinda toes the line. It definitely comes with some amazing features, like tabs! AMAZING!!! However, as developers we have to take the good with the bad, and sometimes we don't realize that there are features missing that end up being very important to the user until after launch. 🤦🏼‍♂️ This is free software, so I'm incredibly grateful for that and the fantastic commitment to Open Source from Microsoft in recent years (especially since Satya turned the company around). At the same time, the transparency of any terminal is a must in my book. The Acrylic effects are pretty to be sure, but not everyone is going to be OK with the blur, myself included, especially with limited screen real estate. 🥰

Keep up the great work Windows Terminal team!

@Chiramisudo commented on GitHub (May 30, 2020): "Our mission is to empower every person and every organization on the planet to achieve more." -[Microsoft](https://www.microsoft.com/en-us/about) Unfortunately, this new Terminal kinda toes the line. It definitely comes with some amazing features, like tabs! AMAZING!!! However, as developers we have to take the good with the bad, and sometimes we don't realize that there are features missing that end up being very important to the user until after launch. 🤦🏼‍♂️ This is free software, so I'm incredibly grateful for that and the fantastic commitment to Open Source from Microsoft in recent years (especially since Satya turned the company around). At the same time, the transparency of any terminal is a must in my book. The Acrylic effects are pretty to be sure, but not everyone is going to be OK with the blur, myself included, especially with limited screen real estate. 🥰 Keep up the great work Windows Terminal team!
Author
Owner

@nickthewitcher commented on GitHub (Jun 1, 2020):

I really will love if the Microsoft team add this feature, the question is, how can we ask for this feature to be included in the next release? I'm pretty sure that this can be achieved, thanks for all the work that you have achieved with this terminal so far. Yeah it´s not a technical problem, is a new requirement for the terminal.

@nickthewitcher commented on GitHub (Jun 1, 2020): I really will love if the Microsoft team add this feature, the question is, how can we ask for this feature to be included in the next release? I'm pretty sure that this can be achieved, thanks for all the work that you have achieved with this terminal so far. Yeah it´s not a technical problem, is a new requirement for the terminal.
Author
Owner

@zadjii-msft commented on GitHub (Jun 1, 2020):

I'd love to have this in the next release, but as I've outlined at length in https://github.com/microsoft/terminal/issues/603#issuecomment-626830075, this is a technical problem that doesn't have an easy solution, so I can't really commit on adding it in any particular release.

@zadjii-msft commented on GitHub (Jun 1, 2020): I'd _love_ to have this in the next release, but as I've outlined at length in https://github.com/microsoft/terminal/issues/603#issuecomment-626830075, this _is_ a technical problem that doesn't have an easy solution, so I can't really commit on adding it in any particular release.
Author
Owner

@p-sherratt commented on GitHub (Jul 2, 2020):

impressed so far with the efforts and looking forward to this configurable blur (or even just plain semi-transparency without the acrylic!) eventually being added in.. but until then will be sticking with wsltty.

@p-sherratt commented on GitHub (Jul 2, 2020): impressed so far with the efforts and looking forward to this configurable blur (or even just plain semi-transparency without the acrylic!) eventually being added in.. but until then will be sticking with wsltty.
Author
Owner

@prubini87 commented on GitHub (Jul 24, 2020):

Transparency is a must for a terminal window, since most power users need to see through the window often. Blur is mostly cosmetic while transparency is a actual tool.

@prubini87 commented on GitHub (Jul 24, 2020): Transparency is a must for a terminal window, since most power users need to see through the window often. Blur is mostly cosmetic while transparency is a actual tool.
Author
Owner

@zadjii-msft commented on GitHub (Aug 3, 2020):

@harounhajem that's not the same thing being discussed in this thread - the task in this thread is about controlling how much the Terminal blurs the background with acrylic enabled. I assumed that "Blur" was a property on the AcrylicBrush, when it's really not.

Honestly, this is probably a dupe of #603 at this point, but I'm leaving it open because there's at least 22 other people who are already following this thread for a resolution.

@zadjii-msft commented on GitHub (Aug 3, 2020): @harounhajem that's not the same thing being discussed in this thread - the task in this thread is about controlling how much the Terminal blurs the background with acrylic enabled. I assumed that "Blur" was a property on the `AcrylicBrush`, when it's really not. Honestly, this is probably a dupe of #603 at this point, but I'm leaving it open because there's at least 22 other people who are already following this thread for a resolution.
Author
Owner

@b-hayes commented on GitHub (Aug 4, 2020):

Lol @zadjii-msft he totally missed the point. And appears he removed his comment. 😅
But yes many of us are waiting for the day we can use this terminal app. 👀

@b-hayes commented on GitHub (Aug 4, 2020): Lol @zadjii-msft he totally missed the point. And appears he removed his comment. 😅 But yes many of us are waiting for the day we can use this terminal app. 👀
Author
Owner

@RobBiddle commented on GitHub (Sep 4, 2020):

Not sure if this should be a separate issue or not. I'd also really like an option to maintain opacity when Terminal is not the active window, or better yet, the option to use an alternate opacity value when inactive.

@RobBiddle commented on GitHub (Sep 4, 2020): Not sure if this should be a separate issue or not. I'd also really like an option to maintain opacity when Terminal is not the active window, or better yet, the option to use an alternate opacity value when inactive.
Author
Owner

@munael commented on GitHub (Sep 4, 2020):

For now, I have a shortcut to set the active window to ~80% opacity, which works really nice with Acrylic blur as I can see what's behind but the blur effect helps the terminal text remain quite readable.

WT's acrylic is set to 0.8, while the AutoHotKey function sets opacity to 200 (200/255).

@munael commented on GitHub (Sep 4, 2020): For now, I have a shortcut to set the active window to ~80% opacity, which works really nice with Acrylic blur as I can see what's behind but the blur effect helps the terminal text remain quite readable. WT's acrylic is set to `0.8`, while the AutoHotKey function sets opacity to `200` (200/255).
Author
Owner

@cblake777 commented on GitHub (Sep 4, 2020):

For now, I have a shortcut to set the active window to ~80% opacity, which works really nice with Acrylic blur as I can see what's behind but the blur effect helps the terminal text remain quite readable.

WT's acrylic is set to 0.8, while the AutoHotKey function sets opacity to 200 (200/255).

I’d be curious to read more about your setup for that if you’d be willing to share. It sounds like something I’d find useful.

@cblake777 commented on GitHub (Sep 4, 2020): > For now, I have a shortcut to set the active window to ~80% opacity, which works really nice with Acrylic blur as I can see what's behind but the blur effect helps the terminal text remain quite readable. > > WT's acrylic is set to `0.8`, while the AutoHotKey function sets opacity to `200` (200/255). I’d be curious to read more about your setup for that if you’d be willing to share. It sounds like something I’d find useful.
Author
Owner

@munael commented on GitHub (Sep 5, 2020):

AutoHotKey function:

#^Esc::
  WinGet, TransLevel, Transparent, A
  If (TransLevel = OFF) {
    WinSet, Transparent, 180, A
  } Else {
    WinSet, Transparent, OFF, A
  }
return

This toggles the active window between full opacity and 180/255 opacity. Shortcut is Win+Ctrl+Esc.
For Windows Terminal just set "acrylicOpacity" to something between 0.7 and 0.9, depending on your background color (darker = more noticeably transparent). I use:

"background" : "#560152",
"acrylicOpacity" : 0.75,
@munael commented on GitHub (Sep 5, 2020): AutoHotKey function: ```ahk #^Esc:: WinGet, TransLevel, Transparent, A If (TransLevel = OFF) { WinSet, Transparent, 180, A } Else { WinSet, Transparent, OFF, A } return ``` This toggles the active window between full opacity and 180/255 opacity. Shortcut is `Win+Ctrl+Esc`. For Windows Terminal just set `"acrylicOpacity"` to something between `0.7` and `0.9`, depending on your background color (darker = more noticeably transparent). I use: ```json "background" : "#560152", "acrylicOpacity" : 0.75, ```
Author
Owner

@rkitover commented on GitHub (Sep 5, 2020):

@narfanar Thank you so much for this! I have a transparent terminal on Windows now!

This didn't work for me as is, for some reason my version of windows does not understand the OFF setting, so I modified it slightly:

; Toggle window transparency.
#^Esc::
WinGet, TransLevel, Transparent, A
If (TransLevel = 255) {
    WinSet, Transparent, 205, A
} Else {
    WinSet, Transparent, 255, A
}
return
@rkitover commented on GitHub (Sep 5, 2020): @narfanar Thank you so much for this! I have a transparent terminal on Windows now! This didn't work for me as is, for some reason my version of windows does not understand the `OFF` setting, so I modified it slightly: ```autohotkey ; Toggle window transparency. #^Esc:: WinGet, TransLevel, Transparent, A If (TransLevel = 255) { WinSet, Transparent, 205, A } Else { WinSet, Transparent, 255, A } return ```
Author
Owner

@b-hayes commented on GitHub (Sep 6, 2020):

AutoHotKey function:

OMG Thank you so much! Never even occurred to me that AHK could do this. Tweaking the acrylic setting to get the desired blur amount seems to work. Still bit more distracting than the blur you get on mac terminal but it does the job.

Can use this terminal as my main now ty @narfanar

@b-hayes commented on GitHub (Sep 6, 2020): > AutoHotKey function: OMG Thank you so much! Never even occurred to me that AHK could do this. Tweaking the acrylic setting to get the desired blur amount seems to work. Still bit more distracting than the blur you get on mac terminal but it does the job. Can use this terminal as my main now ty @narfanar
Author
Owner

@b-hayes commented on GitHub (Jan 27, 2021):

RE:

I'll note that https://github.com/goreliu/wsl-terminal handles transparency...
... comes from the underlying https://github.com/mintty/mintty project
AND:
AutoHotKey function...

The only problem with the AHK workaround and with mintty style implementations is, it also makes text transparent.
image
So I find myself toggling transparency with AHK script all the time because it makes the text less readable when it's on.

Controlling acrylic blur would be the ultimate solution IMO as only the background is affected and adding a very slight blur is also ideal.
As I understand its not an easy thing to implement could we perhaps have a mintty style transparency be applied to the background only in the interim?

What's the consensus on this is there an approach that's already in the works?

@b-hayes commented on GitHub (Jan 27, 2021): RE: > I'll note that https://github.com/goreliu/wsl-terminal handles transparency... > ... comes from the underlying https://github.com/mintty/mintty project AND: > AutoHotKey function... The only problem with the AHK workaround and with mintty style implementations is, it also makes text transparent. ![image](https://user-images.githubusercontent.com/30540495/105924228-fa40b080-6091-11eb-933a-cef7ca975782.png) So I find myself toggling transparency with AHK script all the time because it makes the text less readable when it's on. Controlling acrylic blur would be the ultimate solution IMO as only the background is affected and adding a very slight blur is also ideal. As I understand its not an easy thing to implement could we perhaps have a mintty style transparency be applied to the background only in the interim? What's the consensus on this is there an approach that's already in the works?
Author
Owner

@zadjii-msft commented on GitHub (Jan 27, 2021):

As I outlined in https://github.com/microsoft/terminal/issues/603#issuecomment-626830075, and the rest of that thread, We're working with the WinUI team to get this added in to WinUI 3.0. I believe this is being tracked in https://github.com/microsoft/microsoft-ui-xaml/issues/1247. This is the path we'll be pursuing to get this feature added to the Terminal, because driving this solution also means driving an important dev platform feature for the entire platform, one that'll help improve other applications on Windows as well.

@zadjii-msft commented on GitHub (Jan 27, 2021): As I outlined in https://github.com/microsoft/terminal/issues/603#issuecomment-626830075, and the rest of that thread, We're working with the WinUI team to get this added in to WinUI 3.0. I believe this is being tracked in https://github.com/microsoft/microsoft-ui-xaml/issues/1247. This is the path we'll be pursuing to get this feature added to the Terminal, because driving this solution also means driving an important dev platform feature for the entire platform, one that'll help improve other applications on Windows as well.
Author
Owner

@desmap commented on GitHub (Feb 13, 2021):

@munael 🏆🏆🏆 you are my hero, I am a heavy AHK user and your solution is so brilliant, thanks so much
@DHowett @zadjii-msft this hack should be on the README at the top until this feature is implemented natively, og Acrylic should be labeled as highly experimental/use at your own risk in order to not scare users away or waste their time; you don't want to know how many times I checked out Terminal and deinstalled it again in the past year because of the broken Acrylic, had I knew this hack earlier...
@Chiramisu wrote This is free software, it's not, Windows isn't free; an OS w/o devs using it is dead, hence an OS must have a killer terminal, so at least a good terminal should be already included; besides, one of Satya's main mission is to get devs back; so while I highly appreciate this project, I would say this piece of software is a must and not some fun project

Whatever, this terminal is on a good way and with this hack Windows Terminal just became my daily driver haha...

Again, if you want a fool-proof, no-nonsense transparency use @munael's solution and install AHK before, fwiw I set the transparency to 222 instead 180 (this gives me the perfect balance between terminal text and background readability but it depends very much on the used color theme and yeah, test yourself, it's great):

#^Esc::
  WinGet, TransLevel, Transparent, A
  If (TransLevel = OFF) {
    WinSet, Transparent, 222, A
  } Else {
    WinSet, Transparent, OFF, A
  }
return

PS and why this solution is so much better than Acrylic: Now also tab headers, the window header and backgrounds in the shell, eg from nvim or vim are consistently transparent, not like with Acrylic; @zadjii-msft in this regard IDK if it's enough to just add a blur slider to Acrylic because of the aforementioned problems—Acrylic's transparency is highly inconsistent independently from the blur problem + this strange on and off when changing focus which is even more annoying; finally, this Acrylic seems to be a style guide thing from Windows which should be consistent across all Windows apps, so IDK if every app should have their own blur settings, I just think that Acrylic is something which was not meant for something like Windows Terminal

@desmap commented on GitHub (Feb 13, 2021): @munael 🏆🏆🏆 you are my hero, I am a heavy AHK user and your solution is so brilliant, thanks so much @DHowett @zadjii-msft this hack should be on the README at the top until this feature is implemented natively, og Acrylic should be labeled as *highly experimental/use at your own risk* in order to not scare users away or waste their time; you don't want to know how many times I checked out Terminal and deinstalled it again in the past year because of the broken Acrylic, had I knew this hack earlier... @Chiramisu wrote *This is free software*, it's not, Windows isn't free; an OS w/o devs using it is dead, hence an OS must have a killer terminal, so at least a good terminal should be already included; besides, one of Satya's main mission is to get devs back; so while I highly appreciate this project, I would say this piece of software is a must and not some fun project **Whatever, this terminal is on a good way and with this hack Windows Terminal just became my daily driver haha...** Again, if you want a fool-proof, no-nonsense transparency use @munael's solution and install AHK before, fwiw I set the transparency to 222 instead 180 (this gives me the perfect balance between terminal text and background readability but it depends very much on the used color theme and yeah, test yourself, it's great): ``` #^Esc:: WinGet, TransLevel, Transparent, A If (TransLevel = OFF) { WinSet, Transparent, 222, A } Else { WinSet, Transparent, OFF, A } return ``` PS and why this solution is so much better than Acrylic: Now also tab headers, the window header and backgrounds in the shell, eg from nvim or vim are consistently transparent, not like with Acrylic; @zadjii-msft in this regard IDK if it's enough to just add a blur slider to Acrylic because of the aforementioned problems—Acrylic's transparency is highly inconsistent independently from the blur problem + this strange on and off when changing focus which is even more annoying; finally, this Acrylic seems to be a style guide thing from Windows which should be consistent across all Windows apps, so IDK if every app should have their own blur settings, I just think that Acrylic is something which was not meant for something like Windows Terminal
Author
Owner

@cblake777 commented on GitHub (Feb 13, 2021):

I completely agree with @desmap that the AHK solution has completely changed my workflow and Windows Terminal is now my go-to terminal when I'm using Windows. I added a bit to the AHK script so that I could adjust the transparency on the fly with a couple additional key combos. The approach is so handy I've found myself using for a lot of different things, not just Windows Terminal.

TLevel = 180

#^Esc::
    WinGet, CurrentTLevel, Transparent, A
    If (CurrentTLevel = OFF) {
        WinSet, Transparent, %TLevel%, A
    } Else {
        WinSet, Transparent, OFF, A
    }
return

 SetTransparency:
    WinGet, CurrentTLevel, Transparent, A
    WinSet, Transparent, %TLevel%, A
return

#^=::
    TLevel += 10
    If TLevel >= 255
    {
        TLevel = 255
    }
    
    Gosub, SetTransparency
return

#^-::
    TLevel -= 10
    If TLevel <= 0
    {
        TLevel = 0
    }
    
    Gosub, SetTransparency
return
@cblake777 commented on GitHub (Feb 13, 2021): I completely agree with @desmap that the AHK solution has completely changed my workflow and Windows Terminal is now my go-to terminal when I'm using Windows. I added a bit to the AHK script so that I could adjust the transparency on the fly with a couple additional key combos. The approach is so handy I've found myself using for a lot of different things, not just Windows Terminal. TLevel = 180 #^Esc:: WinGet, CurrentTLevel, Transparent, A If (CurrentTLevel = OFF) { WinSet, Transparent, %TLevel%, A } Else { WinSet, Transparent, OFF, A } return SetTransparency: WinGet, CurrentTLevel, Transparent, A WinSet, Transparent, %TLevel%, A return #^=:: TLevel += 10 If TLevel >= 255 { TLevel = 255 } Gosub, SetTransparency return #^-:: TLevel -= 10 If TLevel <= 0 { TLevel = 0 } Gosub, SetTransparency return
Author
Owner

@desmap commented on GitHub (Feb 14, 2021):

@cblake777 your script is perfect and should be a standard feature of any OS haha! Just one minor thing: Switching it on the first time, sets the transparency to 0 instead of 180 so the window gets initially invisible, not a big deal, just wondering that I must have done something wrong but I just copy and pasted your lines.

Edit: I found the solution, TLevel = 180, so the first line should be also one of the first lines in your AHK script; I had it first after all my AHK init stuff and I guess one of them interfered, eg #NoEnv, #InstallKeyboardHook or whatever

@desmap commented on GitHub (Feb 14, 2021): @cblake777 your script is perfect and should be a standard feature of any OS haha! Just one minor thing: Switching it on the first time, sets the transparency to `0` instead of `180` so the window gets initially invisible, not a big deal, just wondering that I must have done something wrong but I just copy and pasted your lines. Edit: I found the solution, `TLevel = 180`, so the first line should be also one of the first lines in your AHK script; I had it first after all my AHK init stuff and I guess one of them interfered, eg `#NoEnv`, `#InstallKeyboardHook` or whatever
Author
Owner

@cblake777 commented on GitHub (Feb 14, 2021):

Weird, I did have to fuss with it a little to make the markdown work, maybe something went strange, but I can't see it at the moment. Attached is my AHK file for the script, see if that works better for you.

(GitHub doesn't support files with an AHK extension, so you'll have to change the extension if you want to run it)

WindowTransparency.ahk.txt

@cblake777 commented on GitHub (Feb 14, 2021): Weird, I did have to fuss with it a little to make the markdown work, maybe something went strange, but I can't see it at the moment. Attached is my AHK file for the script, see if that works better for you. (GitHub doesn't support files with an AHK extension, so you'll have to change the extension if you want to run it) [WindowTransparency.ahk.txt](https://github.com/microsoft/terminal/files/5976794/WindowTransparency.ahk.txt)
Author
Owner

@desmap commented on GitHub (Feb 14, 2021):

@cblake777 Just edited my comment, so all good and I found my mistake haha. So, your AHK solution is 🥇 and everyone should try it asap, it is a life saver.

Edit: here a screenshot of how my Windows Terminal looks with AHK-powered transparency and some Fortnite wallpaper—I couldn't be happier:

image

ps & fwiw, AHK is an awesome utility beyond this use case and actually the main reason I'm on Windows

@desmap commented on GitHub (Feb 14, 2021): @cblake777 Just edited my comment, so all good and I found my mistake haha. So, [your AHK solution](https://github.com/microsoft/terminal/issues/1753#issuecomment-778649347 ) is 🥇 and everyone should try it asap, it is a life saver. Edit: here a screenshot of how my Windows Terminal looks with AHK-powered transparency and some Fortnite wallpaper—I couldn't be happier: ![image](https://user-images.githubusercontent.com/43666255/107865635-dc809300-6e68-11eb-9656-aaf86564ae66.png) ps & fwiw, AHK is an awesome utility beyond this use case and actually the main reason I'm on Windows
Author
Owner

@zadjii-msft commented on GitHub (Feb 16, 2021):

Just FYI - if you're manually changing the opacity of the entire window, things are gonna be weird: https://github.com/microsoft/terminal/issues/603#issuecomment-552470153

After thinking about this over the long weekend, there's not really a difference between this thread and #603. There might have been at the start, but they've both converged on "enable vintage-style opacity for the Terminal window". Considering this, I'm gonna close this as a dupe of #603, and just track the issue in a single thread.

To save people the effort of reading that massive thread themselves:

Thanks everyone!

/dup #603

@zadjii-msft commented on GitHub (Feb 16, 2021): Just FYI - if you're manually changing the opacity of the entire window, things are gonna be weird: https://github.com/microsoft/terminal/issues/603#issuecomment-552470153 After thinking about this over the long weekend, there's not really a difference between this thread and #603. There might have been at the start, but they've both converged on "enable vintage-style opacity for the Terminal window". Considering this, I'm gonna close this as a dupe of #603, and just track the issue in a single thread. To save people the effort of reading that massive thread themselves: * I experimented with this once in the past and it didn't work out as well as I had hoped: https://github.com/microsoft/terminal/issues/603#issuecomment-626830075 * The current plan of record (https://github.com/microsoft/terminal/issues/603#issuecomment-644130120) involves waiting for WinUI 3, which will let us get rid of the opaque App background, letting us get vintage-style opacity easily. Thanks everyone! /dup #603
Author
Owner

@ghost commented on GitHub (Feb 16, 2021):

Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!

@ghost commented on GitHub (Feb 16, 2021): Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!
Author
Owner

@desmap commented on GitHub (Feb 16, 2021):

if you're manually changing the opacity of the entire window, things are gonna be weird

@zadjii-msft Can't follow. It depends very much on the transparency level which @cblake777's solution allows to be set granularly. In your examples in the other issue your transparency is way too low, so ofc it looks bad, no surprise. Also that you call it "vintage-style" doesn't make sense to me—this is exactly how users want transparency, no on and off on focus, no mandatory blur, no random opaque backgrounds/tabs/headers, no resource hog, no blurry fonts. If "vintage" is internal MS lingo then it's wrong, detached from your user base and should be changed.

Also multiple panes work like charm, see below.

I am a bit surprised that you downtalk such a brilliant solution, did you try exactly this solution with AHK and @cblake777's script? If not pls do, this solution is amazing, feels more polished than any macOS or Linux terminal and doesn't have any flaw, not a single one. I even use it now for Spotify and some dark browser windows such as Github in dark mode, I am so happy because other than this strange Acrylic mess the new Windows Terminal is awesome, a perfect package and probably the best terminal experience across OSes.

image

@desmap commented on GitHub (Feb 16, 2021): > if you're manually changing the opacity of the entire window, things are gonna be weird @zadjii-msft Can't follow. It depends very much on the transparency level which @cblake777's [solution](https://github.com/microsoft/terminal/issues/1753#issuecomment-778649347) allows to be set granularly. In your examples in the other issue your transparency is way too low, so ofc it looks bad, no surprise. Also that you call it "vintage-style" doesn't make sense to me—this is exactly how users want transparency, _no on and off on focus, no mandatory blur, no random opaque backgrounds/tabs/headers, no resource hog, no blurry fonts._ If "vintage" is internal MS lingo then it's wrong, detached from your user base and should be changed. Also multiple panes work like charm, see below. I am a bit surprised that you downtalk such a brilliant solution, did you try exactly this solution with AHK and @cblake777's [script](https://github.com/microsoft/terminal/issues/1753#issuecomment-778649347)? If not pls do, this solution is amazing, feels more polished than any macOS or Linux terminal and doesn't have any flaw, not a single one. I even use it now for Spotify and some dark browser windows such as Github in dark mode, I am so happy because other than this strange Acrylic mess the new Windows Terminal is awesome, a perfect package and probably the best terminal experience across OSes. ![image](https://user-images.githubusercontent.com/43666255/108122200-3325e100-70a4-11eb-97df-11f3b38e619f.png)
Author
Owner

@DHowett commented on GitHub (Feb 16, 2021):

downtalk such a brilliant solution

doesn't have any flaw

image

image

I cannot see a single flaw, because I cannot see the application. We need a better solution because we want just the terminal part of Terminal to be transparent.

@DHowett commented on GitHub (Feb 16, 2021): > downtalk such a brilliant solution > doesn't have any flaw ![image](https://user-images.githubusercontent.com/189190/108124236-d0105c00-705b-11eb-8477-44c448adeef7.png) ![image](https://user-images.githubusercontent.com/189190/108124328-e8807680-705b-11eb-9939-7b94eba2db56.png) I cannot see a single flaw, _because I cannot see the application_. We need a better solution because we want **just the terminal part of Terminal** to be transparent.
Author
Owner

@desmap commented on GitHub (Feb 16, 2021):

@DHowett in your examples the transparency level is much too low, ofc it looks bad, did you read my prior comment? I am just repeating myself. Did you try the granular script from @cblake777 Btw, no need to get confrontative. I am a big fan of your work.

@desmap commented on GitHub (Feb 16, 2021): @DHowett in your examples the transparency level is much too low, ofc it looks bad, did you read my prior comment? I am just repeating myself. Did you try the [granular script](https://github.com/microsoft/terminal/issues/1753#issuecomment-778649347) from @cblake777 Btw, no need to get confrontative. I am a big fan of your work.
Author
Owner

@DHowett commented on GitHub (Feb 16, 2021):

I did -- that's actually from cblake777's script! 😄

@DHowett commented on GitHub (Feb 16, 2021): I did -- that's actually from cblake777's script! :smile:
Author
Owner

@desmap commented on GitHub (Feb 16, 2021):

then try to set the TLevel higher, eg above 200 or even higher depending on the window and background(s) 😀

@desmap commented on GitHub (Feb 16, 2021): then try to set the `TLevel` higher, eg above 200 or even higher depending on the window and background(s) 😀
Author
Owner

@cblake777 commented on GitHub (Feb 16, 2021):

I don't disagree @DHowett that there certainly could be better solutions, but I also agree with @desmap that it looks like you need to adjust the transparency level to compensate. That's why my AHK script has the additional key combos for CTRL+Win+- and CTRL+Win++ so that I can adjust the transparency level of each window on the fly as needed. It's not a perfect solution, but for me it is a good solution, and it works really well right now.

EDIT: I should also say that I don't use the command pallet as I'm more of a hotkey driven user, so I fully admit that I may not run into the same problems you do.

@cblake777 commented on GitHub (Feb 16, 2021): I don't disagree @DHowett that there certainly could be better solutions, but I also agree with @desmap that it looks like you need to adjust the transparency level to compensate. That's why my AHK script has the additional key combos for CTRL+Win+- and CTRL+Win++ so that I can adjust the transparency level of each window on the fly as needed. It's not a *perfect* solution, but for me it is a *good* solution, and it works really well right now. EDIT: I should also say that I don't use the command pallet as I'm more of a hotkey driven user, so I fully admit that I may not run into the same problems you do.
Author
Owner

@adicadi commented on GitHub (Mar 30, 2021):

I completely agree with @desmap that the AHK solution has completely changed my workflow and Windows Terminal is now my go-to terminal when I'm using Windows. I added a bit to the AHK script so that I could adjust the transparency on the fly with a couple additional key combos. The approach is so handy I've found myself using for a lot of different things, not just Windows Terminal.

TLevel = 180

#^Esc::
    WinGet, CurrentTLevel, Transparent, A
    If (CurrentTLevel = OFF) {
        WinSet, Transparent, %TLevel%, A
    } Else {
        WinSet, Transparent, OFF, A
    }
return

 SetTransparency:
    WinGet, CurrentTLevel, Transparent, A
    WinSet, Transparent, %TLevel%, A
return

#^=::
    TLevel += 10
    If TLevel >= 255
    {
        TLevel = 255
    }
    
    Gosub, SetTransparency
return

#^-::
    TLevel -= 10
    If TLevel <= 0
    {
        TLevel = 0
    }
    
    Gosub, SetTransparency
return

how to use this script ???

@adicadi commented on GitHub (Mar 30, 2021): > I completely agree with @desmap that the AHK solution has completely changed my workflow and Windows Terminal is now my go-to terminal when I'm using Windows. I added a bit to the AHK script so that I could adjust the transparency on the fly with a couple additional key combos. The approach is so handy I've found myself using for a lot of different things, not just Windows Terminal. > > ``` > TLevel = 180 > > #^Esc:: > WinGet, CurrentTLevel, Transparent, A > If (CurrentTLevel = OFF) { > WinSet, Transparent, %TLevel%, A > } Else { > WinSet, Transparent, OFF, A > } > return > > SetTransparency: > WinGet, CurrentTLevel, Transparent, A > WinSet, Transparent, %TLevel%, A > return > > #^=:: > TLevel += 10 > If TLevel >= 255 > { > TLevel = 255 > } > > Gosub, SetTransparency > return > > #^-:: > TLevel -= 10 > If TLevel <= 0 > { > TLevel = 0 > } > > Gosub, SetTransparency > return > ``` how to use this script ???
Author
Owner

@JamesDBartlett3 commented on GitHub (Mar 30, 2021):

how to use this script ???

@adicadi: Copy the text to your clipboard, open a text editor, paste the text, save it as a .AHK file, then open it using AutoHotkey.

If you want to make it run automatically when you login, create a shortcut to your .AHK file, cut the shortcut to your clipboard, type shell:startup in the Windows Explorer location bar, hit Enter, and paste the file there.

@JamesDBartlett3 commented on GitHub (Mar 30, 2021): > how to use this script ??? @adicadi: Copy the text to your clipboard, open a text editor, paste the text, save it as a `.AHK` file, then open it using AutoHotkey. If you want to make it run automatically when you login, create a shortcut to your `.AHK` file, cut the shortcut to your clipboard, type `shell:startup` in the Windows Explorer location bar, hit Enter, and paste the file there.
Author
Owner

@cblake777 commented on GitHub (Mar 30, 2021):

Note that the part I pasted was not the entire script, only a portion. The entire script is found as an attachment to a later post (https://github.com/microsoft/terminal/issues/1753#issuecomment-778700217).

@cblake777 commented on GitHub (Mar 30, 2021): Note that the part I pasted was not the entire script, only a portion. The entire script is found as an attachment to a later post (https://github.com/microsoft/terminal/issues/1753#issuecomment-778700217).
Author
Owner

@lilonpro commented on GitHub (Aug 11, 2021):

Everytime I open terminal I need to do Win+ctrl+ESC. Is there a way to run this automaticly?

@lilonpro commented on GitHub (Aug 11, 2021): Everytime I open terminal I need to do Win+ctrl+ESC. Is there a way to run this automaticly?
Author
Owner

@b-hayes commented on GitHub (Aug 11, 2021):

Everytime I open terminal I need to do Win+ctrl+ESC. Is there a way to run this automaticly?

You might have to go look at AHK docs or forums it can pretty much do anything. Would probably only be one line in your script to run the set transparency function when the terminal gains focus.
Quick google search got me here hope that helps: https://autohotkey.com/board/topic/84069-running-code-on-window-focusunfocus/

@b-hayes commented on GitHub (Aug 11, 2021): > Everytime I open terminal I need to do Win+ctrl+ESC. Is there a way to run this automaticly? You might have to go look at AHK docs or forums it can pretty much do anything. Would probably only be one line in your script to run the set transparency function when the terminal gains focus. Quick google search got me here hope that helps: https://autohotkey.com/board/topic/84069-running-code-on-window-focusunfocus/
Author
Owner

@darkguy2008 commented on GitHub (Oct 24, 2021):

So the MS bot closed this issue with no reason because it's a mindless bot, yet the issue is still ongoing as of date. I wanted to set the terminal transparent and I get a horrible blur along with the acrylic that I want to remove, I don't want the blur, I just want the window transparency while keeping the titlebar/borders opaque and no weird AHK hacks or 3rd-party terminals.

I disagree this issue should be closed, such a feature like this has been available in linux terminals ever since compwiz or other compositors were available almost two decades ago.

Is there any progress regarding this feature, officially from MS?

@darkguy2008 commented on GitHub (Oct 24, 2021): So the MS bot closed this issue with no reason because it's a mindless bot, yet the issue is still ongoing as of date. I wanted to set the terminal transparent and I get a horrible blur along with the acrylic that I want to remove, I don't want the blur, I just want the window transparency **while keeping the titlebar/borders opaque and no weird AHK hacks or 3rd-party terminals**. I disagree this issue should be closed, such a feature like this has been available in linux terminals ever since compwiz or other compositors were available almost two decades ago. Is there any progress regarding this feature, officially from MS?
Author
Owner

@fquinner commented on GitHub (Oct 24, 2021):

So the MS bot closed this issue with no reason because it's a mindless bot, yet the issue is still ongoing as of date. I wanted to set the terminal transparent and I get a horrible blur along with the acrylic that I want to remove, I don't want the blur, I just want the window transparency while keeping the titlebar/borders opaque and no weird AHK hacks or 3rd-party terminals.

I disagree this issue should be closed, such a feature like this has been available in linux terminals ever since compwiz or other compositors were available almost two decades ago.

Is there any progress regarding this feature, officially from MS?

Its available in the latest preview build now. But yes a comment here to say that would have been nice. I guess this is that comment now :).

@fquinner commented on GitHub (Oct 24, 2021): > So the MS bot closed this issue with no reason because it's a mindless bot, yet the issue is still ongoing as of date. I wanted to set the terminal transparent and I get a horrible blur along with the acrylic that I want to remove, I don't want the blur, I just want the window transparency **while keeping the titlebar/borders opaque and no weird AHK hacks or 3rd-party terminals**. > > I disagree this issue should be closed, such a feature like this has been available in linux terminals ever since compwiz or other compositors were available almost two decades ago. > > Is there any progress regarding this feature, officially from MS? Its available in the latest preview build now. But yes a comment here to say that would have been nice. I guess this is that comment now :).
Author
Owner

@zadjii-msft commented on GitHub (Oct 24, 2021):

@darkguy2008 If you'd read the thread, you'd find my post where I closed this issue, where I link it to #603 as a duplicate. That thread was closed by a PR, which you'll note was released in 1.12, which you can also find out about in the release notes, or reading the release blog post.

Would you like something more official than that?

@zadjii-msft commented on GitHub (Oct 24, 2021): @darkguy2008 If you'd read the thread, you'd [find my post where I closed this issue](https://github.com/microsoft/terminal/issues/1753#issuecomment-779891078), where I link it to #603 as a duplicate. _That_ thread was [closed by a PR](https://github.com/microsoft/terminal/pull/11180), which you'll note [was released in 1.12](https://github.com/microsoft/terminal/pull/11180#issuecomment-947863198), which you can also find out about in[ the release notes](https://github.com/microsoft/terminal/releases/tag/v1.12.2922.0), or reading the [release blog post](https://devblogs.microsoft.com/commandline/windows-terminal-preview-1-12-release/). Would you like something more official than that?
Author
Owner

@darkguy2008 commented on GitHub (Oct 24, 2021):

So the MS bot closed this issue with no reason because it's a mindless bot, yet the issue is still ongoing as of date. I wanted to set the terminal transparent and I get a horrible blur along with the acrylic that I want to remove, I don't want the blur, I just want the window transparency while keeping the titlebar/borders opaque and no weird AHK hacks or 3rd-party terminals.
I disagree this issue should be closed, such a feature like this has been available in linux terminals ever since compwiz or other compositors were available almost two decades ago.
Is there any progress regarding this feature, officially from MS?

Its available in the latest preview build now. But yes a comment here to say that would have been nice. I guess this is that comment now :).

Oh I didn't know that, I agree that a comment would've been nice. Thanks for the input!

@darkguy2008 If you'd read the thread, you'd find my post where I closed this issue, where I link it to #603 as a duplicate. That thread was closed by a PR, which you'll note was released in 1.12, which you can also find out about in the release notes, or reading the release blog post.

Would you like something more official than that?

Well, in the post where you closed the issue I didn't see anything about "it's been released". It's just that "we're going to track this to a single issue because too many yadda yadda duplicate yadda yadda". I wasn't even aware the PR meant that the feature was released. The blog post doesn't say anything about the opacity field (new in the 1.12, per your link) and what's more, it was released in the preview build.

I've been stuck in LTSC land for a long time, and just gave a try at Windows 11 today... Considering the time it's been in development since then I had expected this feature to be available already... And although I'm very happy to know it finally made to the preview release (and hopefully to the public releases soon)...

I'm afraid to say that, no, it wasn't that obvious as you think it was. I came here from a google search looking for "how to remove acrylic blur from windows terminal" so 🤷🏻‍♂️ my bad!

Edit: I just gave a try at the preview build and it's light years from the stock version provided in Windows 11 as-is. IMO this should be the default already, it even has an UI for the settings so I didn't even have to touch the JSON file to achieve the transparency effect I wanted. Amazing, thank you!

@darkguy2008 commented on GitHub (Oct 24, 2021): > > So the MS bot closed this issue with no reason because it's a mindless bot, yet the issue is still ongoing as of date. I wanted to set the terminal transparent and I get a horrible blur along with the acrylic that I want to remove, I don't want the blur, I just want the window transparency **while keeping the titlebar/borders opaque and no weird AHK hacks or 3rd-party terminals**. > > I disagree this issue should be closed, such a feature like this has been available in linux terminals ever since compwiz or other compositors were available almost two decades ago. > > Is there any progress regarding this feature, officially from MS? > > Its available in the latest preview build now. But yes a comment here to say that would have been nice. I guess this is that comment now :). Oh I didn't know that, I agree that a comment would've been nice. Thanks for the input! > @darkguy2008 If you'd read the thread, you'd [find my post where I closed this issue](https://github.com/microsoft/terminal/issues/1753#issuecomment-779891078), where I link it to #603 as a duplicate. _That_ thread was [closed by a PR](https://github.com/microsoft/terminal/pull/11180), which you'll note [was released in 1.12](https://github.com/microsoft/terminal/pull/11180#issuecomment-947863198), which you can also find out about in[ the release notes](https://github.com/microsoft/terminal/releases/tag/v1.12.2922.0), or reading the [release blog post](https://devblogs.microsoft.com/commandline/windows-terminal-preview-1-12-release/). > > Would you like something more official than that? Well, in the post where you closed the issue I didn't see anything about "it's been released". It's just that "we're going to track this to a single issue because too many yadda yadda duplicate yadda yadda". I wasn't even aware the PR meant that the feature was released. The blog post doesn't say **anything** about the `opacity` field (new in the 1.12, per your link) and what's more, it was released in the **preview** build. I've been stuck in LTSC land for a long time, and just gave a try at Windows 11 today... Considering the time it's been in development since then I had expected this feature to be available already... And although I'm very happy to know it finally made to the preview release (and hopefully to the public releases soon)... I'm afraid to say that, no, it wasn't that obvious as you think it was. I came here from a google search looking for "how to remove acrylic blur from windows terminal" so 🤷🏻‍♂️ my bad! Edit: I just gave a try at the preview build and it's light years from the stock version provided in Windows 11 as-is. IMO this should be the default already, it even has an UI for the settings so I didn't even have to touch the JSON file to achieve the transparency effect I wanted. Amazing, thank you!
Author
Owner

@b-hayes commented on GitHub (Nov 1, 2021):

@darkguy2008 I can't go win11 just yet no time to risk my dev env breaking atm. Can you tell me, does it actually let you control the Acrylic Blur amount or is it only controlling transparency. I suspect from the linked PR only turning blur off entirely was addressed.

IF that's the case then this issue isn't technically resolved.

@b-hayes commented on GitHub (Nov 1, 2021): @darkguy2008 I can't go win11 just yet no time to risk my dev env breaking atm. Can you tell me, does it actually let you control the Acrylic Blur amount or is it only controlling transparency. I suspect from the linked PR only turning blur off entirely was addressed. IF that's the case then this issue isn't technically resolved.
Author
Owner

@darkguy2008 commented on GitHub (Nov 1, 2021):

@darkguy2008 I can't go win11 just yet no time to risk my dev env breaking atm. Can you tell me, does it actually let you control the Acrylic Blur amount or is it only controlling transparency. I suspect from the linked PR only turning blur off entirely was addressed.

IF that's the case then this issue isn't technically resolved.

Yeah sure, the new Preview version allows you to control both things. I'm very happy now:

image

The only issue I see is that once you change the slider, the "Enable acrylic" toggle turns on, but you can just toggle it off once you're happy with the opacity :)

I moved my entire dev env to Win11 and can't be happier. It only bugged on me once with the task manager and explorer icons flashing, but it was fixed after a reboot, so I recommend switching. The OS feels faster/snappier, too.

@darkguy2008 commented on GitHub (Nov 1, 2021): > @darkguy2008 I can't go win11 just yet no time to risk my dev env breaking atm. Can you tell me, does it actually let you control the Acrylic Blur amount or is it only controlling transparency. I suspect from the linked PR only turning blur off entirely was addressed. > > IF that's the case then this issue isn't technically resolved. Yeah sure, the new Preview version allows you to control both things. I'm very happy now: ![image](https://user-images.githubusercontent.com/6304136/139752746-4863571e-afd7-4848-ba5a-17479c28fc6e.png) The only issue I see is that once you change the slider, the "Enable acrylic" toggle turns on, but you can just toggle it off once you're happy with the opacity :) I moved my entire dev env to Win11 and can't be happier. It only bugged on me once with the task manager and explorer icons flashing, but it was fixed after a reboot, so I recommend switching. The OS feels faster/snappier, too.
Author
Owner

@rkitover commented on GitHub (Nov 1, 2021):

This is not working for me. The transparency works in the powershell commandline, but once I open vim, where I do not change the background color, it changes to solid black. While the autohotkey script works fine.

@rkitover commented on GitHub (Nov 1, 2021): This is not working for me. The transparency works in the powershell commandline, but once I open vim, where I do not change the background color, it changes to solid black. While the autohotkey script works fine.
Author
Owner

@rkitover commented on GitHub (Feb 2, 2022):

I did some more testing with vim and Neovim with this, and it works fine in Neovim but not in regular vim.

I have this in my ~/.vimrc:

if !has('gui_running') && match($TERM, "screen") == -1
  set termguicolors
  au ColorScheme * hi Normal ctermbg=0
endif

This enables 24 bit color and sets the background to black.

In Neovim the background is transparent, while in regular vim the background is solid black except for the region right under the statusbar.

My screenshot program is broken right now for some reason.

@rkitover commented on GitHub (Feb 2, 2022): I did some more testing with vim and Neovim with this, and it works fine in Neovim but not in regular vim. I have this in my `~/.vimrc`: ```vim if !has('gui_running') && match($TERM, "screen") == -1 set termguicolors au ColorScheme * hi Normal ctermbg=0 endif ``` This enables 24 bit color and sets the background to black. In Neovim the background is transparent, while in regular vim the background is solid black except for the region right under the statusbar. My screenshot program is broken right now for some reason.
Author
Owner

@ghost commented on GitHub (Feb 22, 2022):

I completely agree with @desmap that the AHK solution has completely changed my workflow and Windows Terminal is now my go-to terminal when I'm using Windows. I added a bit to the AHK script so that I could adjust the transparency on the fly with a couple additional key combos. The approach is so handy I've found myself using for a lot of different things, not just Windows Terminal.

TLevel = 180

#^Esc::
    WinGet, CurrentTLevel, Transparent, A
    If (CurrentTLevel = OFF) {
        WinSet, Transparent, %TLevel%, A
    } Else {
        WinSet, Transparent, OFF, A
    }
return

 SetTransparency:
    WinGet, CurrentTLevel, Transparent, A
    WinSet, Transparent, %TLevel%, A
return

#^=::
    TLevel += 10
    If TLevel >= 255
    {
        TLevel = 255
    }
    
    Gosub, SetTransparency
return

#^-::
    TLevel -= 10
    If TLevel <= 0
    {
        TLevel = 0
    }
    
    Gosub, SetTransparency
return

For anyone not getting what #^Esc is, it's Win + Ctrl + Esc

@ghost commented on GitHub (Feb 22, 2022): > I completely agree with @desmap that the AHK solution has completely changed my workflow and Windows Terminal is now my go-to terminal when I'm using Windows. I added a bit to the AHK script so that I could adjust the transparency on the fly with a couple additional key combos. The approach is so handy I've found myself using for a lot of different things, not just Windows Terminal. > > ``` > TLevel = 180 > > #^Esc:: > WinGet, CurrentTLevel, Transparent, A > If (CurrentTLevel = OFF) { > WinSet, Transparent, %TLevel%, A > } Else { > WinSet, Transparent, OFF, A > } > return > > SetTransparency: > WinGet, CurrentTLevel, Transparent, A > WinSet, Transparent, %TLevel%, A > return > > #^=:: > TLevel += 10 > If TLevel >= 255 > { > TLevel = 255 > } > > Gosub, SetTransparency > return > > #^-:: > TLevel -= 10 > If TLevel <= 0 > { > TLevel = 0 > } > > Gosub, SetTransparency > return > ``` For anyone not getting what `#^Esc` is, it's `Win + Ctrl + Esc`
Author
Owner

@GatoVuelta commented on GitHub (Apr 30, 2022):

What about acrylic blur amount? The default Windows acrylic blur is a bit too high so we can't really appreaciate the background elements when the acrylic is enabled, and mixing transparency with the high blur amount gives not enough satisfying results:

(Default acrylic)
WindowsTerminal_yTK74Sgb8L

(No Acrylic, Using Terminal settings bg transparency)
WindowsTerminal_4S60C7GjCs

(No Acrylic, Using AHK transparency)
WindowsTerminal_rde0N8Qbjh

(Acrylic, Using AHK transparency)
WindowsTerminal_wWe1IHoosl

An expected result would be like this (Tweaked Neovim):
msedge_F3x1F2G3O5

@GatoVuelta commented on GitHub (Apr 30, 2022): What about acrylic blur amount? The default Windows acrylic blur is a bit too high so we can't really appreaciate the background elements when the acrylic is enabled, and mixing transparency with the high blur amount gives not enough satisfying results: (Default acrylic) ![WindowsTerminal_yTK74Sgb8L](https://user-images.githubusercontent.com/79285823/166116378-e44694af-7b66-45ae-9bfe-c4055904356f.png) (No Acrylic, Using Terminal settings bg transparency) ![WindowsTerminal_4S60C7GjCs](https://user-images.githubusercontent.com/79285823/166116484-968d7515-e2e5-4a5f-8493-cabe1975b19d.png) (No Acrylic, Using AHK transparency) ![WindowsTerminal_rde0N8Qbjh](https://user-images.githubusercontent.com/79285823/166116599-46f35401-9979-4b62-9343-108a6cde4977.png) (Acrylic, Using AHK transparency) ![WindowsTerminal_wWe1IHoosl](https://user-images.githubusercontent.com/79285823/166116706-ee461932-2276-4e41-b2af-4c35e12a2914.png) An expected result would be like this (Tweaked Neovim): ![msedge_F3x1F2G3O5](https://user-images.githubusercontent.com/79285823/166116818-2fd72c0f-d75c-46e5-81bf-212f77446e98.png)
Author
Owner

@rkitover commented on GitHub (May 1, 2022):

@Komodroid nice screenshots, I would say that the acrylic is a bit too blurry, try iterm2 on a mac with a small amount of blur, it lets you focus on the foreground but still have the background be distinct and visible.

@rkitover commented on GitHub (May 1, 2022): @Komodroid nice screenshots, I would say that the acrylic is a bit too blurry, try iterm2 on a mac with a small amount of blur, it lets you focus on the foreground but still have the background be distinct and visible.
Author
Owner

@b-hayes commented on GitHub (May 2, 2022):

This issue shouldn't have been closed as controlling the blur amount is much more ideal than simply having transparency.

Also, that's the point of this question.
https://github.com/microsoft/terminal/issues/603 is NOT the same thing at all.

While I appreciate that WT can now be transparent with clear text, we are still working around the fact that acrylic blur is way too much and we need to turn the blur amount down.

The best so far is on macOS terminal. Having say 3% blur is perfect for keeping the terminal crisp and distinct from the still readable text behind it.

@b-hayes commented on GitHub (May 2, 2022): This issue shouldn't have been closed as controlling the blur amount is much more ideal than simply having transparency. Also, that's the point of this question. https://github.com/microsoft/terminal/issues/603 is NOT the same thing at all. While I appreciate that WT can now be transparent with clear text, we are still working around the fact that acrylic blur is way too much and we need to turn the blur amount down. The best so far is on macOS terminal. Having say 3% blur is perfect for keeping the terminal crisp and distinct from the still readable text behind it.
Author
Owner

@VladimirPal commented on GitHub (Jan 22, 2024):

If someone looking autoscript v2 script for transparency switching, script which works for me well:

#Requires AutoHotkey v2.0
TLevel := 180
TMode := "full" 
WS_EX_LAYERED := 0x80000
LWA_ALPHA := 0x2

#^Esc::ToggleTransparency()  ; Ctrl + Win + Esc
#^=::IncreaseTransparency()  ; Ctrl + Win + =
#^-::DecreaseTransparency()  ; Ctrl + Win + -

ToggleTransparency() {
    global TMode
    hwnd := WinExist("A")
    EnsureLayered(hwnd)
    if (TMode = "full") {
        TMode := 'manual'
        SetTransparency(hwnd, TLevel)
    } else {
        TMode := 'full'
        SetTransparency(hwnd, 255)
    }
}

IncreaseTransparency() {
    global TLevel
    TLevel += 10
    if (TLevel > 255)
        TLevel := 255
    
    SetTransparency(WinExist("A"), TLevel)
}

DecreaseTransparency() {
    global TLevel
    TLevel -= 10
    if (TLevel < 0)
        TLevel := 0
    
    SetTransparency(WinExist("A"), TLevel)
}

SetTransparency(hwnd, Level) {
    global TLevel
    EnsureLayered(hwnd)
    if (hwnd != 0) {
        DllCall("SetLayeredWindowAttributes", "ptr", hwnd, "uint", 0, "uchar", Level, "uint", LWA_ALPHA)
    }
}

EnsureLayered(hwnd) {
    exStyle := DllCall("GetWindowLongPtr", "ptr", hwnd, "int", -20, "UPtr")
    if ((exStyle & WS_EX_LAYERED) != WS_EX_LAYERED) {
        DllCall("SetWindowLongPtr", "ptr", hwnd, "int", -20, "UPtr", exStyle | WS_EX_LAYERED)
    }
}
@VladimirPal commented on GitHub (Jan 22, 2024): If someone looking autoscript v2 script for transparency switching, script which works for me well: ```autohotkey #Requires AutoHotkey v2.0 TLevel := 180 TMode := "full" WS_EX_LAYERED := 0x80000 LWA_ALPHA := 0x2 #^Esc::ToggleTransparency() ; Ctrl + Win + Esc #^=::IncreaseTransparency() ; Ctrl + Win + = #^-::DecreaseTransparency() ; Ctrl + Win + - ToggleTransparency() { global TMode hwnd := WinExist("A") EnsureLayered(hwnd) if (TMode = "full") { TMode := 'manual' SetTransparency(hwnd, TLevel) } else { TMode := 'full' SetTransparency(hwnd, 255) } } IncreaseTransparency() { global TLevel TLevel += 10 if (TLevel > 255) TLevel := 255 SetTransparency(WinExist("A"), TLevel) } DecreaseTransparency() { global TLevel TLevel -= 10 if (TLevel < 0) TLevel := 0 SetTransparency(WinExist("A"), TLevel) } SetTransparency(hwnd, Level) { global TLevel EnsureLayered(hwnd) if (hwnd != 0) { DllCall("SetLayeredWindowAttributes", "ptr", hwnd, "uint", 0, "uchar", Level, "uint", LWA_ALPHA) } } EnsureLayered(hwnd) { exStyle := DllCall("GetWindowLongPtr", "ptr", hwnd, "int", -20, "UPtr") if ((exStyle & WS_EX_LAYERED) != WS_EX_LAYERED) { DllCall("SetWindowLongPtr", "ptr", hwnd, "int", -20, "UPtr", exStyle | WS_EX_LAYERED) } } ```
Author
Owner

@zadjii-msft commented on GitHub (Jan 22, 2024):

That seems.... kinda like overkill, for something there are already actions for in the Terminal itself:

3d0dfdce-b7d4-4e54-ae89-d72e21b6563e

Or to any value in between

@zadjii-msft commented on GitHub (Jan 22, 2024): That seems.... kinda like overkill, for something there are already actions for in the Terminal itself: ![3d0dfdce-b7d4-4e54-ae89-d72e21b6563e](https://github.com/microsoft/terminal/assets/18356694/de489f4c-4c96-49a5-9211-d6058eb28f76) [Or to any value in between](https://learn.microsoft.com/en-us/windows/terminal/customize-settings/actions#adjust-opacity)
Author
Owner

@VladimirPal commented on GitHub (Jan 22, 2024):

That seems.... kinda like overkill, for something there are already actions for in the Terminal itself.

Agree. But set background opacity using terminal actions will not make a background transparent in combination with enabled acrylic material. With autoscript you will achieve window fogging effect. Plus it works with all windows.

@VladimirPal commented on GitHub (Jan 22, 2024): > That seems.... kinda like overkill, for something there are already actions for in the Terminal itself. Agree. But set background opacity using terminal actions will not make a background transparent in combination with enabled acrylic material. With autoscript you will achieve window fogging effect. Plus it works with all windows.
Author
Owner

@WROIATE commented on GitHub (Dec 15, 2024):

I turn on the acrylic and set transparency to 75%, the border will be flashing. Is this a bug?
Terminal version is 1.21.3231.0
Image

@WROIATE commented on GitHub (Dec 15, 2024): I turn on the acrylic and set transparency to 75%, the border will be flashing. Is this a bug? Terminal version is 1.21.3231.0 ![Image](https://github.com/user-attachments/assets/b713ff52-c544-4077-b315-d29c69f2f6ce)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#2450