[PR #11180] [MERGED] Enable Vintage Opacity #28447

Open
opened 2026-01-31 09:28:35 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/11180
Author: @zadjii-msft
Created: 9/8/2021
Status: ✅ Merged
Merged: 9/20/2021
Merged by: @undefined

Base: main ← Head: dev/migrie/f/603-it-works-this-time


📝 Commits (10+)

  • 40cc30a This is what jevan told me to do, but I don't have the right SDK
  • b2a217e Hey this did work!
  • 4ce85b7 This did nothing honestly. Just a dead end
  • f959507 HOLY SHIT IT WORKED
  • 548a00b tiny cleanup
  • fa64eed Start working on a setting for this, which obviously doesn't work yet
  • 5adb068 This sorta fixes it on init. Sorta. Defaults to 50% tho?
  • ef91af9 fix some weird windowing issues
  • 492e22d fix the actual setting of this valuie
  • cc91b01 This substantially simplifies wheeling opacity

📊 Changes

33 files changed (+204 additions, -114 deletions)

View changed files

📝 doc/cascadia/profiles.schema.json (+9 -1)
📝 scratch/ScratchIslandApp/SampleApp/MySettings.h (+1 -1)
📝 src/cascadia/TerminalApp/Pane.cpp (+19 -6)
📝 src/cascadia/TerminalApp/TabManagement.cpp (+1 -1)
📝 src/cascadia/TerminalApp/TerminalPage.xaml (+2 -1)
📝 src/cascadia/TerminalControl/ControlCore.cpp (+7 -31)
📝 src/cascadia/TerminalControl/IControlAppearance.idl (+1 -0)
📝 src/cascadia/TerminalControl/IControlSettings.idl (+0 -1)
📝 src/cascadia/TerminalControl/TermControl.cpp (+7 -3)
📝 src/cascadia/TerminalControl/TermControl.xaml (+1 -0)
📝 src/cascadia/TerminalSettingsEditor/MainPage.xaml (+1 -0)
📝 src/cascadia/TerminalSettingsEditor/Profiles.h (+2 -2)
📝 src/cascadia/TerminalSettingsEditor/Profiles.idl (+2 -2)
📝 src/cascadia/TerminalSettingsEditor/Profiles.xaml (+23 -23)
📝 src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw (+12 -0)
📝 src/cascadia/TerminalSettingsModel/AppearanceConfig.cpp (+6 -0)
📝 src/cascadia/TerminalSettingsModel/AppearanceConfig.h (+1 -0)
📝 src/cascadia/TerminalSettingsModel/CascadiaSettings.cpp (+1 -1)
📝 src/cascadia/TerminalSettingsModel/IAppearanceConfig.idl (+1 -0)
📝 src/cascadia/TerminalSettingsModel/Profile.cpp (+0 -4)

...and 13 more files

📄 Description

Summary of the Pull Request

603-final

Adds support for vintage style opacity, on Windows 11+. The API we're using for this exists since the time immemorial, but there's a bug in XAML Islands that prevents it from working right until Windows 11 (which we're working on backporting).

Replaces the acrylicOpacity setting with opacity, which is a uint between 0 and 100 (inclusive), default to 100.

useAcrylic now controls whether acrylic is used or not. Setting an opacity < 100 with "useAcrylic": false will use vintage style opacity.

Mouse wheeling adjusts opacity. Whether acrylic is used or not is dependent upon useAcrylic.

opacity will stealthily default to 50 if useAcrylic:true is set.

PR Checklist

Detailed Description of the Pull Request / Additional comments

Opacity was moved to AppearanceConfig. In the future, I have a mind to allow unfocused acrylic, so that'll be important then.

Validation Steps Performed

just look at it


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/11180 **Author:** [@zadjii-msft](https://github.com/zadjii-msft) **Created:** 9/8/2021 **Status:** ✅ Merged **Merged:** 9/20/2021 **Merged by:** [@undefined](undefined) **Base:** `main` ← **Head:** `dev/migrie/f/603-it-works-this-time` --- ### 📝 Commits (10+) - [`40cc30a`](https://github.com/microsoft/terminal/commit/40cc30a9272f92bdf6761ee8e064267d137b60b2) This is what jevan told me to do, but I don't have the right SDK - [`b2a217e`](https://github.com/microsoft/terminal/commit/b2a217ef062115284d6ed48936818090bd951a39) Hey this _did_ work! - [`4ce85b7`](https://github.com/microsoft/terminal/commit/4ce85b76a0e47acfe42ebbdd852d6e52acbf9dfa) This did nothing honestly. Just a dead end - [`f959507`](https://github.com/microsoft/terminal/commit/f959507daa85c86a59faa7817ea76f3e86bb229a) HOLY SHIT IT WORKED - [`548a00b`](https://github.com/microsoft/terminal/commit/548a00b20c232ee891be28eae26831c2fd6096ce) tiny cleanup - [`fa64eed`](https://github.com/microsoft/terminal/commit/fa64eed620613cce908938a67d5bd96c234bc19b) Start working on a setting for this, which obviously doesn't work yet - [`5adb068`](https://github.com/microsoft/terminal/commit/5adb068df213eaa165ee99d31dfebad35a4c0bdb) This sorta fixes it on init. Sorta. Defaults to 50% tho? - [`ef91af9`](https://github.com/microsoft/terminal/commit/ef91af920264cd25bab20fb7b81489e7c212cc3a) fix some weird windowing issues - [`492e22d`](https://github.com/microsoft/terminal/commit/492e22dd6e864c2ce9237d1d88fa061284fbbf7c) fix the actual setting of this valuie - [`cc91b01`](https://github.com/microsoft/terminal/commit/cc91b01f48d6856d429af8c77e94c7042d47a2f2) This substantially simplifies wheeling opacity ### 📊 Changes **33 files changed** (+204 additions, -114 deletions) <details> <summary>View changed files</summary> 📝 `doc/cascadia/profiles.schema.json` (+9 -1) 📝 `scratch/ScratchIslandApp/SampleApp/MySettings.h` (+1 -1) 📝 `src/cascadia/TerminalApp/Pane.cpp` (+19 -6) 📝 `src/cascadia/TerminalApp/TabManagement.cpp` (+1 -1) 📝 `src/cascadia/TerminalApp/TerminalPage.xaml` (+2 -1) 📝 `src/cascadia/TerminalControl/ControlCore.cpp` (+7 -31) 📝 `src/cascadia/TerminalControl/IControlAppearance.idl` (+1 -0) 📝 `src/cascadia/TerminalControl/IControlSettings.idl` (+0 -1) 📝 `src/cascadia/TerminalControl/TermControl.cpp` (+7 -3) 📝 `src/cascadia/TerminalControl/TermControl.xaml` (+1 -0) 📝 `src/cascadia/TerminalSettingsEditor/MainPage.xaml` (+1 -0) 📝 `src/cascadia/TerminalSettingsEditor/Profiles.h` (+2 -2) 📝 `src/cascadia/TerminalSettingsEditor/Profiles.idl` (+2 -2) 📝 `src/cascadia/TerminalSettingsEditor/Profiles.xaml` (+23 -23) 📝 `src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw` (+12 -0) 📝 `src/cascadia/TerminalSettingsModel/AppearanceConfig.cpp` (+6 -0) 📝 `src/cascadia/TerminalSettingsModel/AppearanceConfig.h` (+1 -0) 📝 `src/cascadia/TerminalSettingsModel/CascadiaSettings.cpp` (+1 -1) 📝 `src/cascadia/TerminalSettingsModel/IAppearanceConfig.idl` (+1 -0) 📝 `src/cascadia/TerminalSettingsModel/Profile.cpp` (+0 -4) _...and 13 more files_ </details> ### 📄 Description ## Summary of the Pull Request ![603-final](https://user-images.githubusercontent.com/18356694/132585665-afed3210-257a-4fee-9b43-4273a0f5cf69.gif) Adds support for vintage style opacity, on Windows 11+. The API we're using for this exists since the time immemorial, but there's a bug in XAML Islands that prevents it from working right until Windows 11 (which we're working on backporting). Replaces the `acrylicOpacity` setting with `opacity`, which is a uint between 0 and 100 (inclusive), default to 100. `useAcrylic` now controls whether acrylic is used or not. Setting an opacity < 100 with `"useAcrylic": false` will use vintage style opacity. Mouse wheeling adjusts opacity. Whether acrylic is used or not is dependent upon `useAcrylic`. `opacity` will stealthily default to 50 if `useAcrylic:true` is set. ## PR Checklist * [x] Closes #603 * [x] I work here * [x] Tests added/passed * [x] https://github.com/MicrosoftDocs/terminal/pull/416 ## Detailed Description of the Pull Request / Additional comments Opacity was moved to AppearanceConfig. In the future, I have a mind to allow unfocused acrylic, so that'll be important then. ## Validation Steps Performed _just look at it_ --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:28:35 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#28447