CorvetteCole / blur-provider

A Gnome extension that allows you to manually apply blur to applications, and provides an easy way for applications to request blur themselves
GNU General Public License v3.0
80 stars 4 forks source link

This extension is no longer being maintained.

I am working on merging all existing functionality along with planned features such as manual application blurring in to blur-my-shell. You can track the progress of this initial merge here: https://github.com/aunetx/blur-my-shell/pull/35

blur-provider

A Gnome extension that allows you to manually apply blur to applications, and provides an easy way for applications to request blur themselves

While Gnome supports blur since 3.36, it isn't as easy as applying that blur to any old window. The problem is, the blur also applies to the shadow around windows and looks terrible. This extension works by adding an extra actor that excludes the shadows and tracking that actor behind a target window. Then blur is applied to that, working around the issue of blur being applied to shadows. This is not an easy implementation for applications to just include, so this extension exists as a convenient way for applications to simply request blur with a property.

screenshot of blur-provider

Installation

Install from extensions.gnome.org

Get it on GNOME Extensions

Install from GitHub

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

  3. clone https://github.com/AryToNeX/Glasstron
  4. cd in to Glasstron/test
  5. run npm install && npm test

Applications with blur-provider support built-in

Support development

https://paypal.me/CGerdemann

Will add crypto links if requested. I am quite broke right now, and money is a good motivator to keep me working on my projects while I study :)

Integrate blur in to your application

To request your application to be blurred, you simply need to add a property to your window.

add below keypair to property _MUTTER_HINTS

keypair template: blur-provider=${sigma-value} apply blur with given sigma value (note, ${sigma-value} is a value between 0 and 111)

You can test this with xprop: "xprop -f _MUTTER_HINTS 8s -set _MUTTER_HINTS blur-provider=${sigma-value}"

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

Behavior (simply by modifiying the _MUTTER_HINTS property you can adjust blur instantly)

TODO