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