CorvetteCole / blur-provider

A Gnome extension that allows you to manually apply blur to applications, and provides an easy way for applications to request blur themselves
GNU General Public License v3.0
80 stars 4 forks source link

Wayland support #2

Open xerz-one opened 3 years ago

xerz-one commented 3 years ago

Hi! I just tried to play around with the extension, but I quickly noticed you use an X11 property to tell Mutter which windows to render with blur, thus meaning any Wayland applications are out. Is there any particular reason Wayland applications are excluded? What options are there for support?

xerz-one commented 3 years ago

Update: got it to work on Wayland just by commenting out the Mutter hints-related code

It applies blur to the whole window surface, so it also blurs behind the shadows, but otherwise it works. As well as GNOME Shell itself supports the effect, that is - it's glitchy here no matter if the app is Wayland or X11. Particularly, the effect has flickering and attempting a screenshot crashes GNOME Shell.

CorvetteCole commented 3 years ago

screenshots crash the shell for me too, but cannot be reproduced on newer gnome builds. so no bug report has been filed. on X11, that shadow issue is not present because it should properly track actors within what the user views as a window. I am not sure why this does not work on Wayland since it should do the exact same thing

xerz-one commented 3 years ago

As far as I know, there's no way for GNOME Shell to actually know where is the shadow since it's fully rendered in the client side, and it's thus taken as part of the window itself. Would be worth asking with the GNOME team over at IRC or Gitlab?

CorvetteCole commented 3 years ago

@xerz-one meta_window.get_frame_rect() should be able to do this from the documentation. This needs further research

CorvetteCole commented 3 years ago

Hey there, didn't want to leave you hanging. I am working on merging all existing functionality along with planned features such as manual application blurring in to blur-my-shell. You can track the progress of this initial merge here: https://github.com/aunetx/blur-my-shell/pull/35