# GNOME Shell Extension - Blur my Shell [](https://extensions.gnome.org/extension/3193/blur-my-shell/) A GNOME Shell extension that adds a blur look to different parts of the GNOME Shell, including the top panel, dash and overview. [Want to integrate simple automatic blurring in to your application?](https://github.com/aunetx/blur-my-shell#integrate-in-to-your-application) Functionalities: - blur dash with opacity prefs - blur panel - blur overview - blur appfolders - blur workspaces separation - blur applications that request it (blur-provider) - change lockscreen blur settings - change appgrid's folders background blur intensity - choose between static blur (generated once) and dynamic blur (generated each frame) for panel blur - change performances settings This extension is guaranteed to be compatible with the following extensions: - [Dash to Dock](https://github.com/micheleg/dash-to-dock) (from dash blur switch) - [Dash to Panel](https://github.com/home-sweet-gnome/dash-to-panel) (from panel blur switch) - [Window List](https://extensions.gnome.org/extension/602/window-list/) (from dedicated switch) - [Hide Top Bar](https://github.com/mlutfy/hidetopbar) (from dedicated option) ## Screenshots Blurred Overview: ![Blurred Overview](https://user-images.githubusercontent.com/38633812/116588850-779beb80-a935-11eb-8f2f-81bcd46fe694.png) Blurred Top Panel: ![Blurred Top Panel](https://user-images.githubusercontent.com/38633812/116588885-81bdea00-a935-11eb-9c80-c97716369b7c.png) Preferences: ![Preferences](https://user-images.githubusercontent.com/31563930/130880374-4345abd9-2ed0-4f97-95b3-66d9039395e1.png) ## Known bugs ### Note This extension can be buggy, as the gnome-shell's blur implementation is quite flawed in some ways. To entirely remove artefacts from the top panel, you can use static blur with the appropriate switch, **use static blur**. Moreover, if you don't use static blur, selecting *no artefacts* in the settings allows the blur to regenerate itself a lot better, at the expense of CPU time (but cannot currently tell the difference, less than 0.5% CPU on my middle-range i5) Selecting another profile might be enough (especially if you have disabled animations and/or windows borders), feel free to test! ### List of bugs - artefacts on blurred parts [gnome shell bug](https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2857) - some apps may become transparent, a weird issue... - cannot create rounded blur (so no rounded dash-to-dock, or panel corners, ...) - overview blur is transparent on second monitor when using Wayland, sometimes :( - etc (see in *issues*) If you find other bugs, please report them! ## Advanced ### Install from source To install the latest version (though maybe unstable), use the makefile: ```sh git clone https://github.com/aunetx/blur-my-shell cd blur-my-shell make install ``` And restart GNOME Shell if needed. ### Application Blurring Blur my Shell now supports providing blur to applications (formerly [blur-provider](https://github.com/CorvetteCole/blur-provider)). Soon, this will allow users to choose applications out of a list to manually apply background blur to. #### Try it out! **Method 1** 1. run `xprop -f _MUTTER_HINTS 8s -set _MUTTER_HINTS blur-provider=${sigma-value}` 2. click on the window you want blur applied to (it needs to have transparency for the blur to be visible) **Method 2** 1. `git clone https://github.com/AryToNeX/Glasstron` 2. `cd Glasstron/test` 3. `npm install && npm test` #### Integrate in to your application To request your application to be blurred, you simply need to add a property to your window. Add one of the below keypairs to property `_MUTTER_HINTS`: - `blur-provider=-1` to use the default Blur my Shell value, defined by the user - `blur-provider=15` to select the sigma value yourself, where 15 can be replaced by any number from 0 to 111 You can test this with xprop: `xprop -f _MUTTER_HINTS 8s -set _MUTTER_HINTS blur-provider=15`. *Infos about `_MUTTER_HINTS` property* The purpose of the hints is to allow fine-tuning of the Window Manager and Compositor behaviour on per-window basis, and is intended primarily for hints that are plugin-specific. The property is a list of colon-separated `key=value` pairs. The key names for any plugin-specific hints must be suitably namespaced to allow for shared use; `mutter-` key prefix is reserved for internal use, and must not be used by plugins. ### Force overview blur update In case you have problems with your dynamic timed wallpaper not being updated due to using third-party process to change the wallpaper, you can force the overview blur to be updated with the command:\ `gsettings set org.gnome.desktop.background picture-opacity 99 && gsettings set org.gnome.desktop.background picture-opacity 100` ### Versions support The current extension supports these GNOME Shell versions: - 42 -- `master` branch - 41 -- `master` branch - 40 -- `master` branch Older GNOME Shell versions are supported up to Blur my Shell version 6, and by versions 17, 19 and 22: - 3.38 -- `pre_40` branch - 3.36 -- `pre_40` branch ## Special thanks Special thanks to @swyknox for the awesome icon! Many thanks to @CorvetteCole for his awesome contributions, especially for the applications blur :p Of course, I am really grateful to the people sponsoring my work, it is really cool to be supported like this! And an enormous thank you to every contributors, issue openers or simple users -- this is a fun project to manage :) ## License This program is distributed under the terms of the GNU General Public License, version 2 or later.