dotfiles/config/picom/picom-animations.conf
2025-07-12 07:34:05 +03:30

262 lines
6.2 KiB
Text
Executable file

# 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;
}
)
}