All transitions are animated using Tweener. So no "animate" setting is required anymore.
Every background needs its own blur effect because the shader uses the width and height of the actor to calculate the apropriate blur intensity.
Fortunately we can access the Clutter effect of the actor using .get_effect("name"); so we just have to keep a list of the actors.


4 bugs (so far):
	- Wallpaper change creates one bg actor too much -> gets copied, and some metadata causes a crash of the mutter background actor instance
	- Reapplying the same background from settings menu causes the background actor to appears as if the vignette effect was applied, even though the vignette property is set to false. 
	- After certain value changes (settings change listener) with [BlurEffect].updateUniforms(...), the shader effect seems to forget the direction property of the glsl shader (only horizontal/ vertical blur).
	- Blurred panel appears at screen shade and login screen after waking from hibernation





Mode
activities_only = 1
panel_only = 2
both = 3

== Startup ==
Fetch settings
If !panel_only
	Inject JS
Remove vignette effect for all overview backgrounds
Register callbacks

Maybe we should add the blurred actors, managed by a background manager, directly to Main.layoutManager.overviewGroup 

== Callbacks ==
Background changed  								
--> Regenerate overview backgrounds and panel background
Monitor setup changed								
--> Regenerate overview backgrounds and panel background
--> Reconnect Background change listener
Gnome session changed (e.g. wake from hibernate)	
--> Regenerate overview backgrounds and panel background
Settings changed
--> What mode were we in?
	1 panel_only: What mode did the user select?
		2 activities_only: 
			- remove blurred panel actor
			- disable vignette effect 
			- generate overview background actors
			- register callbacks for overview showing/ hiding
		3 both: 
			- disable vignette effect 
			- generate overview background actors
			- register callbacks for overview showing/ hiding
	2 activities_only: What mode did the user select?
		1 panel_only: 
			- remove blurred overview background actors
			- restore vignette effect
			- generate blurred panel actor
			- unregister callbacks for overview showing/ hiding
		3 both:
			- generate blurred panel actor
	3 both: What mode did the user select?
		1 panel_only: 
			- remove blurred activities actors
			- restore vignette effect
			- unregister callbacks for overview showing/ hiding
		2 activities_only:
			- remove blurred panel actor



	(possible switch case with old state (1,2 or 3) * 10 plus new state)

--> Update overview backgrounds and panel background 

Overview showing		
--> Start tweening for each background (front background opacity: 255 -> 0)
Overview hiding			
--> Start tweening for each background (front background opacity: 0 -> 255)


Error:
meta_background_get_texture: assertion 'monitor_index >= 0 && monitor_index < priv->n_monitors' failed
cogl-sampler-cache.c:200: GL error (1280): Invalid enumeration value

cogl-sampler-cache.c:200: GL error (1280): Invalid enumeration value

cogl-sampler-cache.c:200: GL error (1280): Invalid enumeration value





/*
In tweener:
onComplete: Lang.bind(this, function() {
                    log("complete shade");
                })
                */