Yshui just released a new version of picom with animations that are pretty stable. I have been using the Chaotic-AUR build since Sunday and really like the new rules and the animations are decent. I just would like to have more like KDE has (wobbly, genie lamp, fire…). I also would like to be able to set frame opacity and background opacity per application.
1 Like
Two things, is this pushed via picom-git on the AUR and is there documentation for those new rules and animations?
i am using this for a longer time now… very stable too:
local/picom-ftlabs-git 2236_2024.02.17-1
picom fork by FT-Labs including animations (git-version)
It is in the AUR as picom or from Chaotic-AUR repository as picom-git. The rules and animations are explained on yshui’s github under the next branch. I have a working version, but it is not totally to where I want it for my setup.
###################
# Animations
###################
# animations = (
# {
# triggers = [ "open", "show" ];
# preset = "fly-in";
# direction = "right";
# duration = 1;
# },
# {
# triggers = [ "close", "hide" ];
# preset = "slide-out";
# direction = "down";
# duration = 1;
# },
# )
###################
# Shadow
###################
shadow = true;
shadow-radius = 12;
shadow-opacity = 0.8;
shadow-offset-x = -7;
shadow-offset-y = -5;
#shadow-red = 0.141176;
#shadow-green = 0.156863;
#shadow-blue = 0.219608;
shadow-color = "#c0caf5"
crop-shadow-to-monitor = true;
# shadow-exclude = [
# "! name~=''",
# "name = 'Notification'",
# "name = 'Plank'",
# "name *= 'VLC'",
# "name *= 'picom'",
# "name *= 'Chromium'",
# "name *= 'Chrome'",
# "class_g = 'Firefox' && argb",
# "class_g = 'Conky'",
# "class_g = 'Synapse'",
# "class_g = 'Xfce4-panel' && window_type = 'dock'",
# "class_g = 'firefox' && argb",
# "window_type = 'tooltip'",
# "window_type = 'menu'"
# ];
###################
# Fading
###################
# fading = true;
# fade-in-step = 0.04;
# fade-out-step = 0.04;
# fade-delta = 5;
# no-fading-openclose = false;
###################
# Opacity
###################
frame-opacity = 1;
# opacity-rule = [
# "100:window_type = 'tooltip'",
# "90:class_g = 'Alacritty' && focused",
# "70:class_g = 'Alacritty' && !focused",
# "95:class_g = 'kitty' && focused",
# "75:class_g = 'kitty' && !focused",
# "90:class_g = 'Xfce4-terminal' && focused",
# "70:class_g = 'Xfce4-terminal' && !focused",
# "90:class_g = 'kate' && focused",
# "70:class_g = 'kate' && !focused",
# "100:class_g = 'easyeffects' && focused",
# "70:class_g = 'easyeffects' && !focused",
# "100:class_g = 'brave-browser' && focused",
# "70:class_g = 'brave-browser' && !focused",
# "100:class_g = 'betterbird' && focused",
# "70:class_g = 'betterbird' && !focused",
# "100:class_g = 'chromium' && focused",
# "70:class_g = 'chromium' && !focused",
# "70:class_g = 'Rofi'"
# ];
###################
# Corner
###################
# corner-radius = 12;
# rounded-corners-exclude = [
# # "class_g = 'Dunst'",
# # "class_g = 'Rofi'",
# "window_type = 'dock'",
# "window_type = 'desktop'",
#
# ];
###################
# Background blurring
###################
# blur-background-exclude = [
# "name = 'plank'",
# "window_type = 'dock'",
# "window_type = 'desktop'",
# "window_type = 'menu'",
# "window_type = 'notification'",
# "window_type = 'popup_menu'"
# ];
blur:
{
kernel = "3x3box";
method = "dual_kawase";
size = 10;
strength = 6;
};
###################
# Other
###################
detect-rounded-corners = true;
detect-client-opacity = true;
use-ewmh-active-win = true;
vsync = true;
dbe = false;
unredir-if-possible = true;
# focus-exclude = [ ];
detect-transient = true;
detect-client-leader = true;
daemon = true;
log-level = "warn";
###################
# Backend
###################
backend = "glx";
glx-no-stencil = true;
glx-copy-from-front = false;
glx-no-rebind-pixmap = false;
use-damage = true;
xrender-sync-fence = true;
###################
# Window type settings
###################
# wintypes:
# {
# combo = {}
# desktop = {}
# dialog = {}
# dnd = { shadow = false; }
# dock = { clip-shadow-above = true; shadow = false; }
# dropdown_menu = { opacity = 0.75; shadow = false; }
# menu = { opacity = 1.0; }
# normal = { blur-background = true; fade = true; focus = true; opacity = 1.0; shadow = true; }
# notification = { blur-background = false; fade = true; focus = false; opacity = 1.0; shadow = true; }
# popup_menu = { opacity = 1.0; }
# splash = {}
# tooltip = { fade = true; focus = true; full-shadow = false; opacity = 0.75; shadow = false; }
# toolbar = {}
# unknown = {}
# utility = {}
# };
###################
# Rules
###################
rules = (
{
match = "focused";
blur-background = true;
corner-radius = 12;
opacity = 1;
shadow = true;
},
{
focused = 0;
blur-background = false;
corner-radius = 12;
opacity = 0.7;
shadow = false;
},
{
match = "window_type = 'dock' && focused";
blur-background = false;
corner-radius = 0;
opacity = 1;
shadow = false;
},
{
match = "window_type = 'dock' && !focused";
blur-background = false;
corner-radius = 0;
opacity = 0.6;
shadow = false;
},
{
match = "window_type = 'dropdown_menu'";
blur-background = false;
corner-radius = 0;
opacity = 0.5;
shadow = false;
},
{
match = "window_type = 'menu'";
blur-background = false;
corner-radius = 0;
opacity = 0.5;
shadow = false;
},
{
match = "window_type = 'normal' && focused";
animations =
(
{
triggers = [ "open", "show" ];
preset = "fly-in";
direction = "right";
duration = 1;
},
{
triggers = [ "close", "hide" ];
preset = "slide-out";
direction = "down";
duration = 1;
},
);
blur-background = true;
corner-radius = 0;
opacity = 0.9;
shadow = true;
},
{
match = "window_type = 'normal' && !focused";
animations =
(
{
triggers = [ "open", "show" ];
preset = "fly-in";
direction = "right";
duration = 1;
},
{
triggers = [ "close", "hide" ];
preset = "slide-out";
direction = "down";
duration = 1;
},
);
blur-background = true;
corner-radius = 0;
opacity = 0.7;
shadow = false;
},
{
match = "window_type = 'notification' && focused";
animations =
(
{
triggers = [ "open", "show" ];
preset = "slide-in";
direction = "down";
duration = 1;
},
{
triggers = [ "close", "hide" ];
preset = "slide-out";
direction = "up";
duration = 1;
},
);
blur-background = true;
corner-radius = 0;
opacity = 0.9;
shadow = true;
},
{
match = "window_type = 'notification' && !focused";
animations =
(
{
triggers = [ "open", "show" ];
preset = "slide-in";
direction = "down";
duration = 1;
},
{
triggers = [ "close", "hide" ];
preset = "slide-out";
direction = "up";
duration = 1;
},
);
blur-background = true;
corner-radius = 0;
opacity = 0.7;
shadow = false;
},
{
match = "window_type = 'popup_menu'";
blur-background = false;
corner-radius = 0;
opacity = 0.5;
shadow = false;
},
{
match = "window_type = 'tooltip'";
blur-background = false;
corner-radius = 0;
opacity = 0.5;
shadow = false;
},
{
match = "class_i = 'plank' && focused";
blur-background = false;
corner-radius = 0;
opacity = 0.7;
shadow = false;
},
{
match = "class_i = 'plank' && !focused";
blur-background = false;
corner-radius = 0;
opacity = 0.5;
shadow = false;
},
{
match = "class_g = 'kate' && focused";
animations =
(
{
triggers = [ "open", "show" ];
preset = "fly-in";
direction = "right";
duration = 1;
},
{
triggers = [ "close", "hide" ];
preset = "slide-out";
direction = "down";
duration = 1;
},
);
blur-background = true;
corner-radius = 0;
opacity = 0.9;
shadow = true;
},
{
match = "class_g = 'kate' && !focused";
animations =
(
{
triggers = [ "open", "show" ];
preset = "fly-in";
direction = "right";
duration = 1;
},
{
triggers = [ "close", "hide" ];
preset = "slide-out";
direction = "down";
duration = 1;
},
);
blur-background = true;
corner-radius = 0;
opacity = 0.7;
shadow = false;
},
{
match = "class_i = 'brave-browser' && focused";
animations =
(
{
triggers = [ "open", "show" ];
preset = "fly-in";
direction = "right";
duration = 3;
},
{
triggers = [ "close", "hide" ];
preset = "slide-out";
direction = "down";
duration = 3;
},
);
blur-background = true;
corner-radius = 0;
opacity = 0.9;
shadow = true;
},
{
match = "class_i = 'brave-browser' && !focused";
animations =
(
{
triggers = [ "open", "show" ];
preset = "fly-in";
direction = "right";
duration = 3;
},
{
triggers = [ "close", "hide" ];
preset = "slide-out";
direction = "down";
duration = 3;
},
);
blur-background = true;
corner-radius = 0;
opacity = 0.7;
shadow = false;
},
)