Mica effect (static application blur)#819
Mica effect (static application blur)#819fractioneater wants to merge 12 commits intoaunetx:masterfrom
Conversation
|
New discovery: this has some issues with X11 windows (noticed with OrcaSlicer). |
|
The luminosity effect won't be needed once I create a PR adding a blend-mode dropdown to the Color effect. |
|
Thanks for confirming my suspicion, @a-lupow. I'll take a look at it, but my multi-monitor setup is not the most pleasant (I'll just say it involves a projector), so if you feel comfortable working on this as well, go ahead. |
|
Hello, because I asked for it I tried the static application blur and there seems to be a little graphical problem, it's not a problem for me at all but it might be worse on bigger screens : Capture.video.du.2026-01-24.15-47-50.mp4As you can see there is a line on the border of the smaller window, and depending on the position it shows on a side or the other. I really like what you added to this already incredible gnome extension ! Thank you (sorry for my bad english) EDIT : I'm on X11 |
That explains why I haven't seen it. It looks like Debian 14 no longer supports X11, so I'll do whatever is necessary (maybe use a VM) to test and fix it. |
|
Okay nice ! But if you want I can test for you, I have a lot of time |
Thanks! I'd appreciate that. Can you confirm that the line does not happen with dynamic blur? |
|
Yeah, it only happens with static blur |
|
I'd recommend looking in |
|
You're welcome ! Good luck |
|
And don't mind to ask me if you want to test something on X11 |
|
@Monsieur-Machine What GTK theme are you using, and how do your windows not have shadows? |
|
I'm using the default gtk theme (adwaita) but it's the extension "Open Bar" that customize this. |
|
Oh ! Maybe it's because Open Bar removes the borders, if I have the borders on, it doesn't appears..... |
|
So if a theme removes borders, this pixel line shows up |
|
I've been playing around with Open Bar (in Wayland, though), and I can't get the line to show up. Sorry, I don't think there's much I can do to help with this, because I have no idea what the cause is—it could be Open Bar, BmS mica effect, or even BmS corner effect. If you want this fixed, you'll probably have to play around with it yourself. You could also disable GTK style overrides in Open Bar and use a transparent GTK theme. I use Fluent by Vinceliuice, modified, along with heavily modified Chromaflow to set the accent color based on wallpaper for both GTK and shell themes. |
|
I understand that this is a problem that can be fixed by the user. Thanks anyway ! |
|
An update to prove I am actually working on the multiple monitor thing: The MetaBackgroundActor managed by the BackgroundManager for each window now updates accordingly when dragging between monitors. There's no noticeable difference, but I think this is a step closer to a solution. And also, I've managed to make windows blurred on my projector screen, resulting in them being un-blurred on my laptop. |
|
@a-lupow Try it now :) |
|
Wow, nice and quick fix, thank you. I will let you know tomorrow how it goes |
Interesting, I haven't observed that when I've opened windows on the other monitor.
I was actually aware of this one; as far as I can tell, there's no signal for monitor updated, and currently it switches the blur actor's monitor index on position or size changed. And the third issue, blur on two monitors at once, is a major refactor (there needs to be a blur actor and bg manager for each monitor, and that means handling creation, destruction, and signals for both windows and monitors). I've got it "working," meaning there's probably a bug somewhere and I haven't tested enough to find it. |
|
This is the "working" version if you have more time than I do and want to test it. Just replace |
|
Great work, thank you. I've spent some time tweaking it to solve at least some of the issues I've faced, and it seems like the main issue in my setup is Wayland framebuffer scaling. You see, I have monitors with different scaling settings, one is 150%, another 100%. That is allegedly causing Wayland to scale window's content automatically, and which is caused the first and last issue. I was able to solve the issue with swapping monitors, but unfortunately minimizing an maximizing still results in glitched blur position (see screenshot) Here is the tweaked version. |
|
The scaling thing makes sense. That may have been why I didn't notice the problems you did. I still don't understand the last one, about why it's trying to position it incorrectly, though, and I've never seen it happen. Sorry, but with the limited time I have and inconvenience of it, I'm not going to be testing two monitors anymore. After all, I already have static blur working perfectly for me. If you figure out the random inconsistencies that are causing your issues, I will gladly put your code in this PR, and hide it behind some settings so people like me, who only use one monitor, don't have the extra monitor intersection code and other computations degrading performance. |
|
Hello, slight issue I encountered with this pull req. I use Mosaic WM and whenever I move the window, the window starts bouncing all around like it is resisting the move. This doesn't occur with dynamic blur |
|
I have attached video of the issue happening Screencast.From.2026-02-14.16-58-36.mp4 |
|
Sorry all, I do not have the time to continue to test and maintain this PR. Chances are, even if I left it open, it wouldn't be merged; the creator is not terribly active on this project. If something breaks this for a basic, standard system, I will push code to fix it. This is because I wrote this for myself. If you're encountering issues that I am not, like those using Mosaic WM, fractional scaling, or multiple monitors, you will probably have to fix them yourself. If you do, feel free to send them in a comment here for others. Apologies again. |




Fixes #223, #810, #811, and #762, most of which are the same thing.
Static application blur
The applications prefs page now has a static/dynamic picker like panel and dash-to-dock. A pipeline chooser is visible when static blur is selected, and the dynamic blur options are available when dynamic is selected.
(the transparency is my GTK theme's fault)
Things I've tested
Why this is still a draft
applications.js, line 179I tried with and without dividing by the scale variable, and it didn't appear to make a difference. Has Wayland changed since it was implemented, or is something weird on my end?
applications.js, line 422Is there a less brutal way to redo all blur effects thandisable()andenable()-ing the whole thing?Resolved—it now uses an already-existing function for pipeline changes.
luminosity.glsl, line 32I didn't intend to keep this in here. It'll go away and reappear in another PR—as its own effect—soon.Resolved. The other PR is Blend modes for Color effect #821.
I'm aware of Add the luminosity effect #773, and this PR shadows the name "luminosity". I originally called my effect "mica" instead of luminosity, but mica is much more than this one effect; it mostly means a static blur.Resolved by removing luminosity effect in favor of color effect (from pull Blend modes for Color effect #821).
Various X11 apps are covered by the mica layer.