picom
This commit is contained in:
parent
ff525961b3
commit
33fc8e201c
2 changed files with 405 additions and 130 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;
|
||||
animation-stiffness-in-tag = 120;
|
||||
animation-stiffness-tag-change = 90.0;
|
||||
animation-window-mass = 0.3;
|
||||
animation-dampening = 5;
|
||||
animation-clamping = false;
|
||||
## ----- Shadows ----- ##
|
||||
|
||||
animation-for-open-window = "zoom";
|
||||
animation-for-unmap-window = "zoom";
|
||||
animation-for-transient-window = "zoom";
|
||||
animation-for-prev-tag = "zoom";
|
||||
animation-for-next-tag = "zoom";
|
||||
animation-for-workspace-switch-in = "zoom";
|
||||
animation-for-workspace-switch-out = "zoom";
|
||||
#shadow = true;
|
||||
|
||||
animation-max-size = 20;
|
||||
shadow-radius = 1;
|
||||
shadow-opacity = .1;
|
||||
shadow-offset-x = -7;
|
||||
shadow-offset-y = -7;
|
||||
shadow-color = "#000000"
|
||||
|
||||
## ----- Fading ----- ##
|
||||
|
||||
enable-fading-prev-tag = true;
|
||||
enable-fading-next-tag = true;
|
||||
fading = true;
|
||||
fade-in-step = 0.07;
|
||||
fade-out-step = 0.06;
|
||||
fade-delta = 5;
|
||||
|
||||
shadow = true;
|
||||
shadow-radius = 12;
|
||||
shadow-offset-x = -5;
|
||||
shadow-offset-y = -5;
|
||||
shadow-opacity = 0.7;
|
||||
shadow-color = "#000000";
|
||||
shadow-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'"
|
||||
];
|
||||
fade-in-step = 0.03;
|
||||
fade-out-step = 0.03;
|
||||
fade-delta = 5
|
||||
no-fading-openclose = false
|
||||
no-fading-destroyed-argb = false
|
||||
|
||||
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'"
|
||||
];
|
||||
## ----- Transparency ----- ##
|
||||
|
||||
rounded-corners-exclude = [
|
||||
"class_g = 'slop'",
|
||||
"class_g = 'maim'"
|
||||
];
|
||||
frame-opacity = 1.0;
|
||||
|
||||
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'"
|
||||
];
|
||||
# inactive-dim-fixed = true
|
||||
|
||||
focus-exclude = [
|
||||
"class_g = 'slop'",
|
||||
"class_g = 'maim'"
|
||||
];
|
||||
## ----- Corners ----- ##
|
||||
|
||||
animation-exclude = [
|
||||
"class_g = 'slop'",
|
||||
"class_g = 'maim'"
|
||||
];
|
||||
corner-radius = 0
|
||||
|
||||
#################################
|
||||
# General Settings #
|
||||
#################################
|
||||
|
||||
# Available backends "xrender" "glx" "egl"
|
||||
backend = "xrender"
|
||||
|
||||
daemon = false;
|
||||
backend = "glx";
|
||||
dithered-present = false;
|
||||
vsync = true;
|
||||
mark-wmwin-focused = true;
|
||||
mark-ovredir-focused = true;
|
||||
|
||||
detect-rounded-corners = true;
|
||||
detect-client-opacity = true;
|
||||
use-ewmh-active-win = true;
|
||||
unredir-if-possible = false;
|
||||
detect-transient = true;
|
||||
glx-no-stencil = true;
|
||||
use-damage = true;
|
||||
xrender-sync-fence = true;
|
||||
window-shader-fg = "default";
|
||||
transparent-clipping = false;
|
||||
log-level = "warn";
|
||||
|
||||
wintypes: {
|
||||
tooltip = {
|
||||
fade = true;
|
||||
shadow = true;
|
||||
opacity = 0.95;
|
||||
focus = true;
|
||||
animations = true;
|
||||
animation-for-open-window = "zoom";
|
||||
};
|
||||
dock = {
|
||||
shadow = false;
|
||||
clip-shadow-above = true;
|
||||
};
|
||||
dnd = {
|
||||
shadow = false;
|
||||
};
|
||||
popup_menu = {
|
||||
opacity = 0.95;
|
||||
animations = true;
|
||||
shadow = true;
|
||||
animation-for-open-window = "zoom";
|
||||
};
|
||||
dropdown_menu = {
|
||||
opacity = 0.95;
|
||||
animations = true;
|
||||
shadow = true;
|
||||
animation-for-open-window = "zoom";
|
||||
};
|
||||
unknown = {
|
||||
fade = false;
|
||||
shadow = false;
|
||||
opacity = 1.0;
|
||||
focus = false;
|
||||
full-shadow = false;
|
||||
clip-shadow-above = false;
|
||||
animations = false;
|
||||
};
|
||||
};
|
||||
use-damage = true;
|
||||
# xrender-sync-fence = false
|
||||
# transparent-clipping = false
|
||||
|
||||
#################################
|
||||
# Rules #
|
||||
#################################
|
||||
|
||||
|
||||
|
||||
blur:
|
||||
|
||||
{
|
||||
method = "dual_kawase";
|
||||
size = 10;
|
||||
deviation = 2.5;
|
||||
}
|
||||
|
||||
rules: (
|
||||
|
||||
{
|
||||
blur-background = true;
|
||||
blur-background-fixed = true;
|
||||
fade = false;
|
||||
},
|
||||
|
||||
{
|
||||
match = "window_type = 'dock'";
|
||||
corner-radius = 0;
|
||||
shadow = false;
|
||||
},
|
||||
|
||||
{
|
||||
match = "class_g = 'dwm' || class_g = 'Polybar' || class_g = 'dmenu'";
|
||||
corner-radius = 0;
|
||||
blur-background = true;
|
||||
opacity = 0.80;
|
||||
shadow = 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