Oreon-Lime-R2/blur-my-shell/blur-my-shell-29/README.md

143 lines
5.7 KiB
Markdown

# GNOME Shell Extension - Blur my Shell
[<img src="https://github.com/aunetx/files_utils/raw/master/get_it_on_gnome_extensions.png" height="100" align="right">](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
<img src="https://github.com/aunetx/files_utils/raw/master/blur-my-shell@4x.png" height="128" align="right">
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.