Skip to content
This repository has been archived by the owner on Jun 9, 2023. It is now read-only.

Blur on dock please! #8

Open
Cookie74 opened this issue Jul 16, 2017 · 16 comments
Open

Blur on dock please! #8

Cookie74 opened this issue Jul 16, 2017 · 16 comments

Comments

@Cookie74
Copy link

Cookie74 commented Jul 16, 2017

I want request the blur effect on gnome dock ,like OS X ,when the bar is half transparent.
image
image

@Cookie74
Copy link
Author

Thank you very much

@corebots
Copy link

would be nice if this would also work with the dash-to-dock extension

@SolarLiner
Copy link

More generally, I'd love the possibility for GNOME to have translucent menus and dock. Like a 20% visibility on the blurred background behind whatever color your theme is using. The blue radius would need to be quite large to make it more or less uniform, but it'd be worth it IMHO.

@Wissben
Copy link

Wissben commented Dec 16, 2017

We need this so baldy 😢

@JohannesKahl
Copy link

Hoping for this aswell, it would be so cool and would make transparent Gnome Shell themes really worth it

@Feichtmeier
Copy link

Hi there @yozoon
We (new ubuntu theme developing community) are facing a problem (windows behind panel and or dock) with multimonitor settings and dash to dock / ubuntu dock (fork) and the top panel:
ubuntu/gnome-shell-communitheme#173 (this issue only describes the top panel but the same problem happens to the dock, too)
screenshot from 2018-05-22 17-51-19
Uploading Screenshot from 2018-05-22 17-49-34.png…

So I'd like to ask you, would it be generally possible to provide the same blur effect to the panel and the dock in the normal mode (not dash overview)?

Best regards

@yozoon
Copy link
Owner

yozoon commented May 22, 2018

Hi @Feichtmeier ,
yes, theoretically it is possible to blur the background of the dock, but there are some major development challenges to be overcome before implementing this feature:

TL;DR: my implementation of the frosted glass effect is not actually blurring the background, but it's blurring an image of the background - which can currently only be done with static backgrounds. Ideally the compositor (mutter) should implement the background blur effect - but that's nothing I can change with my extension. My idea of a workaround would come with a huge performance trade-off.

Currently the blur effect works by copying the overview background actor and adding it to the overview group behind the actor the background is copied from. Afterwards the blur effect is applied only once to this new hidden-by-default actor. Everytime a the overview transition is started, the blurred background actor is revealed by fading out the actor in front of it. The blurring of the panel background is based on the same procedure, just without all the animation stuff. So this leads us to the problem of the dock background blur: the dock (as opposed to the overview screen and the panel (ideally)) doesn't have a purely statical background, because it is possible that some part of a window is moved below the dock. Now the problem is that - at least with the current implementation of the blur effect - the blurred background of the dock wouldn't be updated to include the part of the window which is below the dock - so it get's visually cut off - which wouldn't do any good to design consistency.

How can we solve this issue?: Ideally the compositor itself (mutter) should have a feature to blur a certain part of the screen before a specific window (the one we want to blur the background of) is drawn (e.g. we want to blur the background of the window on top of the window stack: at first we draw all the windows below this window, then we apply the blur and finally we continue drawing the top window)
As this requires changes to parts of gnome shell which are out of reach of a shell extension we have to find another way of solving this.
My idea was to screen grab the part of the desktop below the dock and use this image as the background of the dock. That way we can apply the blur effect to this image and make it seem as if the dock was just a pane of frosted glass. But to make the illusion convincing we mustn't have any noticeable lag of moving a window below the dock, updating the background of the dock and re-applying the blur effect - which seems quite unrealistic considering the fact that we are constantly capturing the screen, which, in my experience, is quite resource intensive. Additionally I don't even know if it is possible to capture a part of the desktop below another window/actor (maybe we can get some inspiration from Peek)

At the moment I unfortunately do not see any viable way of applying a background blur to the dock, even though I would love to have this feature on my desktop as well. But, as always, I am open to suggestions!

@Feichtmeier
Copy link

Feichtmeier commented May 22, 2018

Thank you for the detailed explanation @yozoon
The idea to cut the part of the background behind the dock and the panel and apply your frosted glass effect sounds very nice. For us it would be enough to have a static not dynamic piece of the wallpaper applied to both dock a and panel to overcome a) the "dark block of doom" consisting of the dark panel , the dark header and top bars and eventually plus dark menus and b) the multimonitor problem.
Could this "cheat" be done by pure CSS in our shell theme file or would this need additional JS portions in an extension?
Best regards

@yozoon
Copy link
Owner

yozoon commented May 24, 2018

Some part of this always has to be implemented in JS, because the CSS on GNOME currently ignores the 'blur' keyword (which works in browsers, but is not yet implemented in GTK/Clutter).

@jcklpe
Copy link

jcklpe commented Jul 21, 2018

@yozoon I mention in another thread that this has been done in KDE recently. Let me link it here: https://www.reddit.com/r/kde/comments/7szqqk/i_implemented_a_new_blur_effect_in_kde_it/

The creator of the effect has some fairly extensive discussions in that thread. Maybe of use! :)

@MaCroX95
Copy link

+1 for Blured dock! I really hate the way that transparent dock without blur looks, it would look much nicer and more professional if it could be themed as well.

@HunGUard
Copy link

Excuse me @yozoon , but is this usable to achieve the desired effect?
https://developer.gnome.org/clutter/stable/ClutterBlurEffect.html

@yozoon
Copy link
Owner

yozoon commented May 16, 2020

@HunGUard no unfortunately the ClutterBlurEffect only has a blur very low blur intensity which cannot be changed, because it is baked into the GLSL shader they use. Starting with Gnome 3.36 a new blur effect was introduced which can be used very similarly to the aforementioned ClutterBlurEffect, but this new effect does have the option to change the blur intensity. This effect is already being used in the current version of the Blyr extension, and is the main factor contributing to the performance improvements. ShellBlurEffect source code: https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/master/src/shell-blur-effect.c

@hrdwrrsk
Copy link

this new extension apparently implements blur effect on dash, but buggy and lacks background clipping so dash corners are getting blurred (with dash-to-dock) unless if you use "Force straight corners" or use "panel (fill screen) mode" instead

(apparently i can't screenshot because that extension crash my shell :\ ) I screenshot it using flameshot instead of gnome-screenshot

2020-06-23_08-00

@zak39
Copy link

zak39 commented Nov 19, 2020

Thanks @hrdwrrsk !

It's work about me !

I am testing during few weeks :)

@vinayvp
Copy link

vinayvp commented Feb 4, 2022

If you want only your dock to be blurred install this https://extensions.gnome.org/extension/3193/blur-my-shell/ , go to gnome tweaks/extensions/blur my shell/disable top panel and make the necessary changes you like.. and IT WORKSS

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests