Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Picom blurs bright windows in proximity #596

Closed
sortedcord opened this issue Feb 26, 2021 · 1 comment
Closed

Picom blurs bright windows in proximity #596

sortedcord opened this issue Feb 26, 2021 · 1 comment

Comments

@sortedcord
Copy link

Platform

Arch Linux- Awesomewm 4

GPU, drivers, and screen setup

Using intel graphics

Environment

awesomewm

picom version

vgit-a8445

Configuration:

# Shadow

shadow = true;
shadow-radius = 12;
shadow-offset-x = -12;
shadow-offset-y = -12;
shadow-opacity = 0.7;

# shadow-red = 0.0;
# shadow-green = 0.0;
# shadow-blue = 0.0;

# shadow-exclude-reg = "x10+0+0";
# xinerama-shadow-crop = true;

shadow-exclude = [
	"class_g = 'Conky'",
	"class_g ?= 'Notify-osd'",
	"class_g = 'Cairo-clock'",
	"class_g = 'slop'",
	"class_g = 'Firefox' && argb",
	"class_g = 'Rofi'",
	"_GTK_FRAME_EXTENTS@:c",
	"_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
];

# Logs
log-level = "ERROR";
log-file = "~/.cache/picom-log.log";


# Opacity

# inactive-opacity = 0.8;
# active-opacity = 0.8;
# frame-opacity = 0.7;
inactive-opacity-override = false;

opacity-rule = [ 

	"76:class_g = 'Spotify'",
	"80:class_g = 'UXTerm'",
	"87:class_g = 'discord'",
	"87:class_g = 'Org.gnome.Nautilus'",		# Add a tiny bit of opacity to all normal windows to apply blur
	"99:window_type = 'dialog'",		# Add a tiny bit of opacity to all dialog windows to apply blur
	"99:window_type = 'popup_menu'",	# Add a tiny bit of opacity to all popup_menu windows to apply blur
	"87:window_type = 'notification'"	# Add a tiny bit of opacity to all popup_menu windows to apply blur
];

# inactive-dim = 0.2;
# inactive-dim-fixed = true;


# Blur

blur: {
	method = "dual_kawase";
    	strength = 6.9;
	# deviation = 1.0;
	# kernel = "11x11gaussian";
}

blur-background = true;
# blur-background-frame = false;
# blur-kern = "3x3box";
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
blur-background-fixed = true;

blur-background-exclude = [
	"class_g = 'rofi'",
	"name = 'rofi - Search'",
];

# max-brightness = 0.66

# Fading

fading = false;
fade-delta = 3;
fade-in-step = 0.03;
fade-out-step = 0.03;
# no-fading-openclose = true;
# no-fading-destroyed-argb = true;
fade-exclude = [ ];

# Other

backend = "glx";
mark-wmwin-focused = true;
mark-ovredir-focused = true;
# use-ewmh-active-win = true;
detect-rounded-corners = true;
detect-client-opacity = true;
refresh-rate = 0;
vsync = true;
# sw-opti = true;
unredir-if-possible = false;
# unredir-if-possible-delay = 5000;
# unredir-if-possible-exclude = [ ];
# focus-exclude = [ "class_g = 'Cairo-clock'" ];

focus-exclude = [
	"class_g = 'Cairo-clock'",
	"class_g ?= 'rofi'",
	"class_g ?= 'slop'",
	"class_g ?= 'Steam'"
];


detect-transient = true;
detect-client-leader = true;
invert-color-include = [ ];
# resize-damage = 1;

# GLX backend

glx-no-stencil = true;
# glx-no-rebind-pixmap = true;
# xrender-sync-fence = true;
use-damage = true;

# Window type settings

wintypes:
{
	tooltip = { fade = true; shadow = false; focus = false;	};
	normal = { shadow = false; };
	dock = { shadow = false; };
	dnd = { shadow = false; };
	popup_menu = { shadow = true; focus = false; opacity = 0.90; };
	dropdown_menu = { shadow = false; focus = false; };
	above = { shadow = true; };
	splash = { shadow = false; };
	utility = { focus = false; shadow = false; };
	notification = { shadow = false; };
	desktop = { shadow = false };
	menu = { focus = false };
	dialog = { shadow = true; };
};


Expected behavior

Picom is supposed to blur only the background.

Current Behavior

recordinng-2021-02-26_08.15.55.mp4
@tryone144
Copy link
Collaborator

This "bleeding" is an intentional design choice.
The algorithm actually blurs a larger area than the window to prevent the background rapidly changing its color at the edge. See #382 (comment) for a more detailed explanation.

A better/"fixed" implementation of --transparent-clipping could possibly be used to restrict some windows (like the bar) to only blur the wallpaper (and not the windows below) to get your expected behaviour, as would probably be preferable for tiling window managers in general. This requires some changes in the rendering interface though. As of now, this is not possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants