-
-
Notifications
You must be signed in to change notification settings - Fork 769
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
Feature Request: Ability to blur non-opaque windows #1614
Comments
This needs to be considered on multiple platforms to make sure that we get the right configuration for it. https://stackoverflow.com/questions/41475551/how-can-i-use-nsvisualeffectview-to-blend-window-with-background suggests that there is something relatively straight forward to try to apply, however, I don't know how that will interact with OpenGL. It is possible that the two things cannot be combined. On WIndows, there may be a thing possible with the DWM api. On X11: there is not single API and whether this is possible depends on the Window manager and its compositing abilities. I don't have any immediate plans to look at this, but would be happy to shepherd a PR for macOS or Windows as a starting point if someone has time to invest here. |
If an application want blur in KDE wayland, we could use this protocol to tell Kwin: https://invent.kde.org/libraries/plasma-wayland-protocols/-/blob/master/src/protocols/blur.xml. |
Inspired by the comment above and this blog article, I came up with this config to get blur on KDE X11 without any changes in wezterm: wezterm.on("window-focus-changed", function()
os.execute('xdotool search -classname org.wezfurlong.wezterm | xargs -I{} xprop -f _KDE_NET_WM_BLUR_BEHIND_REGION 32c -set _KDE_NET_WM_BLUR_BEHIND_REGION 0 -id {}')
end) |
@Gkirito Could you elaborate on how to use NSVisualEffectView? Thanks in advance! |
Current status:
|
On Gnome Wayland, there is the Blur my shell extension which provides the ability to blur the background of applications with transparency, It appears that it also offers a way for application to request blur by setting some window hints, maybe this could be used in wezterm to enable it by default easily. |
Wayland doesn't have a hints concept, so that will only work on X11 mutter |
For kwin_wayland (KDE Plasma compositor) there is the blur protocol. |
For KDE wayland, this protocol can now be interacted with crate wayland-protocol-plasma |
I am trying to look into this and implement it for Kde/Wayland. I am currently stuck at trying to instantiate a OrgKdeKwinBlurManager struct. I understand that I need to implement it either in corresponding state block or in the window itself. So would the proper way be to implepement OrgKdeKwinBlurManager in state.rs, and call it's .create implementation somewhere from window.rs? I have no experience programming for wayland protocol, and I can not find any Rust blur implementations I could reference anywhere, but I really want to figure it out. |
Just FYI anyone watching this for KDE implementation, I got stuck with it and can not currently dedicate any time to research this. |
Is your feature request related to a problem? Please describe.
No, purely new aesthetic feature.
Describe the solution you'd like
Ability to toggle on and off a customizable blur on windows with some amount of opacity (i.e != 1.0).
The ability to enable a blur via a toggle would be good, but the ability to do so and also specify the radius or "amount" of blur would be awesome.
Describe alternatives you've considered
I tried looking through the docs/source to make sure I just wasn't missing it, and the only thing I seemed to notice was this old previous wezterm issue which addresses transparency, but not blur, which is what this is requesting.
Additional context
macOS operating system
version:
The text was updated successfully, but these errors were encountered: