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

Make windows Acrylic / Transparent #1084

Open
jt-github opened this issue Jan 13, 2020 · 17 comments
Open

Make windows Acrylic / Transparent #1084

jt-github opened this issue Jan 13, 2020 · 17 comments
Labels
Idea-New PowerToy Suggestion for a PowerToy

Comments

@jt-github
Copy link

Summary of the new feature/enhancement

It would be so awesome (if not necessarily easy to code) to be able to select areas of ANY application that you wanted to make acrylic.

Example: "Acrylicize" Outlook so that everything but the list of messages and the message frame was transparent with a blurred background to help focus the user on what matters (just the next evolution from using the dark theme with it).

Proposed technical implementation details

Such a PowerToy would allow:

  1. Selecting an app
  2. Selecting one or more areas to modify
  3. Seting transparency, blur, tint, and/or other visual effects to be applied to the objects seen through those elements, possibly with some presets like "Windows Acrylic", of course
  4. Selecting what the transparent areas reveal:
    1. The applications beneath it (the way Windows does such things currently)
    2. The desktop background (act as if applications beneath it do not exist)
    3. The applications beneath it when not maximized and the desktop background when maximized (I suggest this be the default because it's awesome)
  5. Enabling/disabling per app (and remember settings while disabled)
  6. Resetting settings per app (to go back to defaults in case things get weird)
  7. Changes to be saved across application close/open and system restarts, of course.
  8. Starting automatically with Windows as a service, etc.

A user should never have to draw areas that should be affected but rather select existing window elements both on classic/legacy applications and UWP apps, just as developers are currently used to doing when using "developer mode" on all modern browsers.

This will obviously cause some serious redraw and possibly some performance issues, so there should probably be warnings to that effect.

@jt-github
Copy link
Author

I wrote the original idea on:
https://docs.microsoft.com/en-us/windows/uwp/design/style/acrylic
(which shows off acrylic's awesomeness, too)

@crutkas crutkas added Product-Tweak UI Design Refers to the idea of a UI Design tweaker and removed Product-Tweak UI Design Refers to the idea of a UI Design tweaker labels Jan 16, 2020
@crutkas
Copy link
Member

crutkas commented Jan 16, 2020

this would have a big impact on battery life and based on how you're talking about this, we'd have to DOM inspect / inject into the app. That could be ... hard

@jt-github
Copy link
Author

It would definitely require more horsepower and yeah, I assumed coding it would be a challenging effort just because of the inspection/injection required, but if any team could pull it off, it's the @powertoys team! :)

@crutkas crutkas added the Idea-New PowerToy Suggestion for a PowerToy label Jan 21, 2020
@crutkas crutkas added this to the Suggested Ideas milestone Mar 9, 2020
@prakharb5
Copy link

There is an old app named Glass8K or something which has ability to turn any app to partly transparent. It can change a window opacity. But it is abandoned sadly. It would be great if simething like that could be implemented.

@jt-github
Copy link
Author

Yes, that's Glass2K (as in The Year 2000, probably) by Chime Software and, amazingly, it still works on the latest version of Windows 10, but controlling opacity is only half the game. It's the acrylic affect specifically (that adds in blurring, etc. on top of transparency) that I would love to apply to all windows except the active one.

@prakharb5
Copy link

Yes, that's Glass2K (as in The Year 2000, probably) by Chime Software

Whoops! 😅

@COLEplusTEN
Copy link

So did we say screw it?

@jt-github
Copy link
Author

I vote for no involvement of spirally grooved solid metal cylinders, but I can totally understand if this is shoved into a backlog since the OS itself doesn't support this (at least natively).

@MolotovCherry
Copy link

MolotovCherry commented Nov 19, 2022

Edit: Blanking out this comment since it seems no longer relevant

@MolotovCherry
Copy link

@MolotovCherry You know what, you are right. I removed the problematic part of my message. Now it should be better. I did not write any name or link to my app. It is just an example that what you ask is possible to implement

Thanks for sharing possible implementation ideas 🙂

@CommandPrompt-Wang
Copy link

CommandPrompt-Wang commented Dec 18, 2022

recordedVideo_x264.mp4

image

like these above?

during my test, i found the function requires ADMIN.

in the video, the program uses SetLayeredWindowAttributes()
->https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setlayeredwindowattributes?redirectedfrom=MSDN

and the most important part is the following:

SetLayeredWindowAttributes(hwnd,RGB(0,0,0),(BYTE) [Transparence Here] ,LWA_ALPHA);
//LWA_ALPHA told this function only focus on the 3rd parameter, 'balpha'

souce here:Documents.zip

Maybe this would help

once again, it reqires ADMIN

@cjwijtmans
Copy link

cjwijtmans commented Jan 25, 2023

recordedVideo_x264.mp4
image

Off-topic... but what cursor is that?

@Kuithei
Copy link

Kuithei commented May 9, 2024

I would use it with a text editor in prolonged typing sessions to be able to avoid burn-in to my display, playing backround video in full screen and have the text/code on top by Always On Top.

A 55KB discontinued freeware from the dark ages (2001) called Glass2k seems to still do the trick on windows 11 Home

@solarite1797
Copy link

bump + lgtm

@dimateos
Copy link

dimateos commented Nov 4, 2024

I used https://github.com/navossoc/MenuTools in the past for setting the window on top + transparency.
I did not notice any battery drain!

Probably starting simple is the way to go if it cover most use cases:

  1. manually activated with a hotkey (like window on top)
  2. simple transparency with no effects (no need to inspect etc)
  3. no click-through? (dunno if that requires complexity or is as simple as event handling)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Idea-New PowerToy Suggestion for a PowerToy
Projects
None yet
Development

No branches or pull requests

10 participants