picom
This commit is contained in:
parent
ff525961b3
commit
33fc8e201c
2 changed files with 415 additions and 140 deletions
262
config/picom/picom-animations.conf
Executable file
262
config/picom/picom-animations.conf
Executable file
|
|
@ -0,0 +1,262 @@
|
||||||
|
# Animations for NORMAL windows.
|
||||||
|
{
|
||||||
|
match = "window_type = 'normal'";
|
||||||
|
animations = (
|
||||||
|
{
|
||||||
|
triggers = ["close"];
|
||||||
|
opacity = {
|
||||||
|
curve = "cubic-bezier(0,1,1,1)";
|
||||||
|
duration = 0.6;
|
||||||
|
start = "window-raw-opacity-before";
|
||||||
|
end = 0;
|
||||||
|
};
|
||||||
|
blur-opacity = "opacity";
|
||||||
|
shadow-opacity = "opacity";
|
||||||
|
|
||||||
|
scale-x = {
|
||||||
|
curve = "cubic-bezier(0,1.3,1,1)";
|
||||||
|
duration = 0.6;
|
||||||
|
start = 1;
|
||||||
|
end = 0.6;
|
||||||
|
};
|
||||||
|
scale-y = "scale-x";
|
||||||
|
|
||||||
|
offset-x = "(1 - scale-x) / 2 * window-width";
|
||||||
|
offset-y = "(1 - scale-y) / 2 * window-height";
|
||||||
|
|
||||||
|
shadow-scale-x = "scale-x";
|
||||||
|
shadow-scale-y = "scale-y";
|
||||||
|
shadow-offset-x = "offset-x";
|
||||||
|
shadow-offset-y = "offset-y";
|
||||||
|
},
|
||||||
|
|
||||||
|
# Animación de APERTURA
|
||||||
|
{
|
||||||
|
triggers = ["open"];
|
||||||
|
opacity = {
|
||||||
|
curve = "cubic-bezier(0,1,1,1)";
|
||||||
|
duration = 0.5;
|
||||||
|
start = 0;
|
||||||
|
end = "window-raw-opacity";
|
||||||
|
};
|
||||||
|
blur-opacity = "opacity";
|
||||||
|
shadow-opacity = "opacity";
|
||||||
|
|
||||||
|
scale-x = {
|
||||||
|
curve = "cubic-bezier(0,1.3,1,1)";
|
||||||
|
duration = 0.5;
|
||||||
|
start = 0.6;
|
||||||
|
end = 1;
|
||||||
|
};
|
||||||
|
scale-y = "scale-x";
|
||||||
|
|
||||||
|
offset-x = "(1 - scale-x) / 2 * window-width";
|
||||||
|
offset-y = "(1 - scale-y) / 2 * window-height";
|
||||||
|
|
||||||
|
shadow-scale-x = "scale-x";
|
||||||
|
shadow-scale-y = "scale-y";
|
||||||
|
shadow-offset-x = "offset-x";
|
||||||
|
shadow-offset-y = "offset-y";
|
||||||
|
},
|
||||||
|
|
||||||
|
# Animación de GEOMETRÍA (modificada para ambos casos)
|
||||||
|
{
|
||||||
|
triggers = ["geometry"];
|
||||||
|
# Cuando la ventana CRECE (abrir/mover/redimensionar)
|
||||||
|
scale-x = {
|
||||||
|
curve = "cubic-bezier(0,0,0,1.28)";
|
||||||
|
duration = 0.5;
|
||||||
|
start = "window-width-before / window-width";
|
||||||
|
end = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Cuando la ventana ENCOGE (cerrar/mover/redimensionar)
|
||||||
|
scale-x-reverse = {
|
||||||
|
curve = "cubic-bezier(0,0,0,1.28)";
|
||||||
|
duration = 0.6;
|
||||||
|
start = "window-width / window-width-before";
|
||||||
|
end = 1;
|
||||||
|
};
|
||||||
|
scale-y = {
|
||||||
|
curve = "cubic-bezier(0,0,0,1.28)";
|
||||||
|
duration = 0.5;
|
||||||
|
start = "window-height-before / window-height";
|
||||||
|
end = 1;
|
||||||
|
};
|
||||||
|
scale-y-reverse = {
|
||||||
|
curve = "cubic-bezier(0,0,0,1.28)";
|
||||||
|
duration = 0.6;
|
||||||
|
start = "window-height / window-height-before";
|
||||||
|
end = 1;
|
||||||
|
};
|
||||||
|
offset-x = {
|
||||||
|
curve = "cubic-bezier(0,0,0,1.28)";
|
||||||
|
duration = 0.5;
|
||||||
|
start = "window-x-before - window-x";
|
||||||
|
end = 0;
|
||||||
|
};
|
||||||
|
offset-y = {
|
||||||
|
curve = "cubic-bezier(0,0,0,1.28)";
|
||||||
|
duration = 0.5;
|
||||||
|
start = "window-y-before - window-y";
|
||||||
|
end = 0;
|
||||||
|
};
|
||||||
|
shadow-scale-x = "scale-x";
|
||||||
|
shadow-scale-y = "scale-y";
|
||||||
|
shadow-offset-x = "offset-x";
|
||||||
|
shadow-offset-y = "offset-y";
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
|
||||||
|
# Animations for Rofi launchers.
|
||||||
|
{
|
||||||
|
match = "class_g = 'Rofi'";
|
||||||
|
animations = (
|
||||||
|
{
|
||||||
|
triggers = ["close", "hide"];
|
||||||
|
preset = "disappear";
|
||||||
|
duration = 0.05;
|
||||||
|
scale = 0.5;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
triggers = ["open", "show"];
|
||||||
|
preset = "appear";
|
||||||
|
duration = 0.2;
|
||||||
|
scale = 0.5;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
|
||||||
|
# Animations for Dunst notifications.
|
||||||
|
{
|
||||||
|
match = "class_g = 'dunst'";
|
||||||
|
animations = (
|
||||||
|
{
|
||||||
|
triggers = ["close", "hide"];
|
||||||
|
preset = "fly-out"; #-dunst-close-preset
|
||||||
|
direction = "up"; #-dunst-close-direction
|
||||||
|
duration = 0.2;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
triggers = ["open", "show"];
|
||||||
|
preset = "fly-in"; #-dunst-open-preset
|
||||||
|
direction = "up"; #-dunst-open-direction
|
||||||
|
duration = 0.2;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
|
||||||
|
# Animations for Jgmenu.
|
||||||
|
{
|
||||||
|
match = "class_g = 'jgmenu'";
|
||||||
|
animations = (
|
||||||
|
{
|
||||||
|
triggers = ["close", "hide"];
|
||||||
|
preset = "disappear";
|
||||||
|
duration = 0.08;
|
||||||
|
scale = 0.5;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
triggers = ["open", "show"];
|
||||||
|
preset = "appear";
|
||||||
|
duration = 0.15;
|
||||||
|
scale = 0.5;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
|
||||||
|
# Animations for Scratchpad.
|
||||||
|
{
|
||||||
|
match = "class_g = 'bspwm-scratch'";
|
||||||
|
animations = (
|
||||||
|
{
|
||||||
|
triggers = ["close", "hide"];
|
||||||
|
preset = "fly-out";
|
||||||
|
direction = "up";
|
||||||
|
duration = 0.2;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
triggers = ["open", "show"];
|
||||||
|
preset = "fly-in";
|
||||||
|
direction = "up";
|
||||||
|
duration = 0.2;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
|
||||||
|
# Animations for Eww Profile card.
|
||||||
|
{
|
||||||
|
match = "name = 'Eww - launchermenu'";
|
||||||
|
animations = (
|
||||||
|
{
|
||||||
|
triggers = ["close", "hide"];
|
||||||
|
preset = "slide-out";
|
||||||
|
direction = "right";
|
||||||
|
duration = 0.2;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
triggers = ["open", "show"];
|
||||||
|
preset = "slide-in";
|
||||||
|
direction = "right";
|
||||||
|
duration = 0.2;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
|
||||||
|
# Animations for Eww Music player.
|
||||||
|
{
|
||||||
|
match = "name = 'Eww - music'";
|
||||||
|
animations = (
|
||||||
|
{
|
||||||
|
triggers = ["close", "hide"];
|
||||||
|
preset = "slide-out";
|
||||||
|
direction = "up";
|
||||||
|
duration = 0.2;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
triggers = ["open", "show"];
|
||||||
|
preset = "slide-in";
|
||||||
|
direction = "up";
|
||||||
|
duration = 0.2;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
|
||||||
|
# Animations for Eww calendar.
|
||||||
|
{
|
||||||
|
match = "name = 'Eww - date'";
|
||||||
|
animations = (
|
||||||
|
{
|
||||||
|
triggers = ["close", "hide"];
|
||||||
|
preset = "fly-out";
|
||||||
|
direction = "up";
|
||||||
|
duration = 0.2;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
triggers = ["open", "show"];
|
||||||
|
preset = "fly-in";
|
||||||
|
direction = "up";
|
||||||
|
duration = 0.2;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
|
||||||
|
# Animations for Eww Cheatsheet.
|
||||||
|
{
|
||||||
|
match = "name = 'Eww - csheet'";
|
||||||
|
animations = (
|
||||||
|
{
|
||||||
|
triggers = ["close", "hide"];
|
||||||
|
preset = "disappear";
|
||||||
|
duration = 0.08;
|
||||||
|
scale = 0.5;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
triggers = ["open", "show"];
|
||||||
|
preset = "appear";
|
||||||
|
duration = 0.15;
|
||||||
|
scale = 0.5;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
@ -1,147 +1,160 @@
|
||||||
animations = true;
|
## ----- Shadows ----- ##
|
||||||
animation-stiffness-in-tag = 120;
|
|
||||||
animation-stiffness-tag-change = 90.0;
|
#shadow = true;
|
||||||
animation-window-mass = 0.3;
|
|
||||||
animation-dampening = 5;
|
shadow-radius = 1;
|
||||||
animation-clamping = false;
|
shadow-opacity = .1;
|
||||||
|
shadow-offset-x = -7;
|
||||||
animation-for-open-window = "zoom";
|
shadow-offset-y = -7;
|
||||||
animation-for-unmap-window = "zoom";
|
shadow-color = "#000000"
|
||||||
animation-for-transient-window = "zoom";
|
|
||||||
animation-for-prev-tag = "zoom";
|
## ----- Fading ----- ##
|
||||||
animation-for-next-tag = "zoom";
|
|
||||||
animation-for-workspace-switch-in = "zoom";
|
|
||||||
animation-for-workspace-switch-out = "zoom";
|
|
||||||
|
|
||||||
animation-max-size = 20;
|
|
||||||
|
|
||||||
enable-fading-prev-tag = true;
|
|
||||||
enable-fading-next-tag = true;
|
|
||||||
fading = true;
|
fading = true;
|
||||||
fade-in-step = 0.07;
|
|
||||||
fade-out-step = 0.06;
|
fade-in-step = 0.03;
|
||||||
fade-delta = 5;
|
fade-out-step = 0.03;
|
||||||
|
fade-delta = 5
|
||||||
shadow = true;
|
no-fading-openclose = false
|
||||||
shadow-radius = 12;
|
no-fading-destroyed-argb = false
|
||||||
shadow-offset-x = -5;
|
|
||||||
shadow-offset-y = -5;
|
## ----- Transparency ----- ##
|
||||||
shadow-opacity = 0.7;
|
|
||||||
shadow-color = "#000000";
|
frame-opacity = 1.0;
|
||||||
shadow-exclude = [
|
|
||||||
"class_g = 'slop'",
|
# inactive-dim-fixed = true
|
||||||
"class_g = 'maim'",
|
|
||||||
"class_g = 'import'",
|
## ----- Corners ----- ##
|
||||||
"class_g = 'imagemagick'",
|
|
||||||
"name = 'slop'",
|
corner-radius = 0
|
||||||
"name = 'select-region'",
|
|
||||||
"name = 'select region'",
|
#################################
|
||||||
"window_type = 'utility'",
|
# General Settings #
|
||||||
"window_type = 'notification'",
|
#################################
|
||||||
"window_type = 'dock'",
|
|
||||||
"_NET_WM_WINDOW_TYPE@:32a *= '_NET_WM_WINDOW_TYPE_DOCK'"
|
# Available backends "xrender" "glx" "egl"
|
||||||
];
|
backend = "xrender"
|
||||||
|
|
||||||
blur-background = true;
|
|
||||||
blur-background-frame = true;
|
|
||||||
blur-method = "dual_kawase";
|
|
||||||
blur-strength = 6;
|
|
||||||
blur-kern = "3x3box";
|
|
||||||
blur-background-fixed = false;
|
|
||||||
blur-exclude = [
|
|
||||||
"class_g = 'slop'",
|
|
||||||
"class_g = 'maim'",
|
|
||||||
"class_g = 'import'",
|
|
||||||
"class_g = 'imagemagick'",
|
|
||||||
"name = 'slop'",
|
|
||||||
"name = 'select-region'",
|
|
||||||
"name = 'select region'",
|
|
||||||
"window_type = 'utility'",
|
|
||||||
"window_type = 'notification'",
|
|
||||||
"window_type = 'dock'",
|
|
||||||
"_NET_WM_WINDOW_TYPE@:32a *= '_NET_WM_WINDOW_TYPE_DOCK'"
|
|
||||||
];
|
|
||||||
|
|
||||||
rounded-corners-exclude = [
|
|
||||||
"class_g = 'slop'",
|
|
||||||
"class_g = 'maim'"
|
|
||||||
];
|
|
||||||
|
|
||||||
opacity-rule = [
|
|
||||||
"93:class_g = 'discord'",
|
|
||||||
"93:class_g = 'spotify'",
|
|
||||||
"80:class_g = 'st'",
|
|
||||||
"80:class_g = 'urxvt'",
|
|
||||||
"80:class_g = 'dmenu'",
|
|
||||||
"85:class_g = 'dwm'",
|
|
||||||
"100:class_g = 'floorp'",
|
|
||||||
"100:class_g = 'firefox'",
|
|
||||||
"100:class_g = 'slop'"
|
|
||||||
];
|
|
||||||
|
|
||||||
focus-exclude = [
|
|
||||||
"class_g = 'slop'",
|
|
||||||
"class_g = 'maim'"
|
|
||||||
];
|
|
||||||
|
|
||||||
animation-exclude = [
|
|
||||||
"class_g = 'slop'",
|
|
||||||
"class_g = 'maim'"
|
|
||||||
];
|
|
||||||
|
|
||||||
daemon = false;
|
|
||||||
backend = "glx";
|
|
||||||
dithered-present = false;
|
dithered-present = false;
|
||||||
vsync = true;
|
vsync = true;
|
||||||
mark-wmwin-focused = true;
|
|
||||||
mark-ovredir-focused = true;
|
|
||||||
detect-rounded-corners = true;
|
detect-rounded-corners = true;
|
||||||
detect-client-opacity = true;
|
detect-client-opacity = true;
|
||||||
use-ewmh-active-win = true;
|
|
||||||
unredir-if-possible = false;
|
|
||||||
detect-transient = true;
|
detect-transient = true;
|
||||||
glx-no-stencil = true;
|
|
||||||
use-damage = true;
|
use-damage = true;
|
||||||
xrender-sync-fence = true;
|
# xrender-sync-fence = false
|
||||||
window-shader-fg = "default";
|
# transparent-clipping = false
|
||||||
transparent-clipping = false;
|
|
||||||
log-level = "warn";
|
#################################
|
||||||
|
# Rules #
|
||||||
wintypes: {
|
#################################
|
||||||
tooltip = {
|
|
||||||
fade = true;
|
|
||||||
shadow = true;
|
|
||||||
opacity = 0.95;
|
blur:
|
||||||
focus = true;
|
|
||||||
animations = true;
|
{
|
||||||
animation-for-open-window = "zoom";
|
method = "dual_kawase";
|
||||||
};
|
size = 10;
|
||||||
dock = {
|
deviation = 2.5;
|
||||||
shadow = false;
|
}
|
||||||
clip-shadow-above = true;
|
|
||||||
};
|
rules: (
|
||||||
dnd = {
|
|
||||||
shadow = false;
|
{
|
||||||
};
|
blur-background = true;
|
||||||
popup_menu = {
|
blur-background-fixed = true;
|
||||||
opacity = 0.95;
|
fade = false;
|
||||||
animations = true;
|
},
|
||||||
shadow = true;
|
|
||||||
animation-for-open-window = "zoom";
|
{
|
||||||
};
|
match = "window_type = 'dock'";
|
||||||
dropdown_menu = {
|
corner-radius = 0;
|
||||||
opacity = 0.95;
|
shadow = false;
|
||||||
animations = true;
|
},
|
||||||
shadow = true;
|
|
||||||
animation-for-open-window = "zoom";
|
{
|
||||||
};
|
match = "class_g = 'dwm' || class_g = 'Polybar' || class_g = 'dmenu'";
|
||||||
unknown = {
|
corner-radius = 0;
|
||||||
fade = false;
|
blur-background = true;
|
||||||
shadow = false;
|
opacity = 0.80;
|
||||||
opacity = 1.0;
|
shadow = false;
|
||||||
focus = false;
|
},
|
||||||
full-shadow = false;
|
|
||||||
clip-shadow-above = false;
|
{
|
||||||
animations = false;
|
match = "fullscreen = true";
|
||||||
};
|
corner-radius = 0;
|
||||||
};
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "window_type = 'normal'";
|
||||||
|
fade = true; #-fade-switch
|
||||||
|
shadow = true; #-shadow-switch
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "window_type = 'dialog'";
|
||||||
|
shadow = true; #-shadow-switch
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "window_type = 'tooltip'";
|
||||||
|
corner-radius = 0;
|
||||||
|
opacity = 0.90;
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "window_type = 'dock'";
|
||||||
|
corner-radius = 0;
|
||||||
|
fade = true;
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "window_type = 'dropdown_menu' || window_type = 'menu' || window_type = 'popup' || window_type = 'popup_menu'";
|
||||||
|
corner-radius = 0;
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "class_g = 'Alacritty' || class_g = 'kitty' || class_g = 'FloaTerm'";
|
||||||
|
opacity = 1.0; #-term-opacity-switch
|
||||||
|
blur-background = true; #-blur-switch
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "class_g = 'Polybar' || "
|
||||||
|
"class_g = 'eww-bar' || "
|
||||||
|
"class_g = 'Viewnior' || "
|
||||||
|
"class_g = 'Rofi' || "
|
||||||
|
"class_g = 'mpv' || "
|
||||||
|
"class_g = 'bspwm-scratch' || "
|
||||||
|
"class_g = 'Dunst' || "
|
||||||
|
"class_g = 'retroarch'";
|
||||||
|
corner-radius = 0;
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
match = "name = 'Notification' || "
|
||||||
|
"class_g ?= 'Notify-osd' || "
|
||||||
|
"class_g = 'Dunst' || "
|
||||||
|
"class_g = 'Polybar' || "
|
||||||
|
"class_g = 'Eww' || "
|
||||||
|
"class_g = 'jgmenu' || "
|
||||||
|
"class_g = 'scratch' || "
|
||||||
|
"class_g = 'Spotify' || "
|
||||||
|
"class_g = 'retroarch' || "
|
||||||
|
"class_g = 'firefox' || "
|
||||||
|
"class_g = 'Rofi' || "
|
||||||
|
"class_g = 'Screenkey' || "
|
||||||
|
"class_g = 'mpv' || "
|
||||||
|
"class_g = 'Viewnior' || "
|
||||||
|
"_GTK_FRAME_EXTENTS@";
|
||||||
|
shadow = false;
|
||||||
|
},
|
||||||
|
|
||||||
|
@include "picom-animations.conf"
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue