Coder Social home page Coder Social logo

weblate / blur-my-shell Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aunetx/blur-my-shell

0.0 0.0 0.0 22.37 MB

Extension that adds a blur look to different parts of the GNOME Shell, including the top panel, dash and overview

Home Page: https://extensions.gnome.org/extension/3193/blur-my-shell/

License: GNU General Public License v3.0

JavaScript 90.51% CSS 8.38% Makefile 0.56% GLSL 0.56%

blur-my-shell's Introduction

GNOME Shell Extension - Blur my Shell

GitHub License GitHub release (latest by date) Weblate project translated GitHub Sponsors Keybase BTC

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?

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:

Screenshots

Blurred Overview: Blurred Overview

Blurred Top Panel: Blurred Top Panel

Preferences: Screenshot from 2022-04-03 00-35-16

Translations

You can help translating the extension into your language, either by directly opening a pull request with the additions you've made, or by using Weblate!

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
  • 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:

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). 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

Up to version 29, Blur my Shell supports GNOME Shell versions:

  • 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.

blur-my-shell's People

Contributors

a2leexx avatar aunetx avatar codedore avatar comradekingu avatar corvettecole avatar crestfalln avatar freder avatar io12 avatar mbrla0 avatar oscfdezdz avatar pesader avatar saadulkh avatar schneegans avatar shemgp avatar weblate avatar yozoon avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.