summaryrefslogtreecommitdiff
path: root/config/picom
diff options
context:
space:
mode:
Diffstat (limited to 'config/picom')
-rwxr-xr-xconfig/picom/picom-animations.conf310
-rwxr-xr-xconfig/picom/picom.conf151
2 files changed, 461 insertions, 0 deletions
diff --git a/config/picom/picom-animations.conf b/config/picom/picom-animations.conf
new file mode 100755
index 0000000..b59cfcb
--- /dev/null
+++ b/config/picom/picom-animations.conf
@@ -0,0 +1,310 @@
+{
+ match = "window_type = 'normal'";
+ animations = (
+ {
+ triggers = ["close"];
+ opacity = {
+ curve = "cubic-bezier(0,1,1,1)";
+ duration = 0.3;
+ 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.3;
+ 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";
+ },
+
+ {
+ triggers = ["open"];
+ opacity = {
+ curve = "cubic-bezier(0,1,1,1)";
+ duration = 0.3;
+ start = 0;
+ end = "window-raw-opacity";
+ };
+ blur-opacity = "opacity";
+ shadow-opacity = "opacity";
+
+ scale-x = {
+ curve = "cubic-bezier(0,1.3,1,1)";
+ duration = 0.3;
+ 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";
+ },
+
+ {
+ triggers = ["geometry"];
+ scale-x = {
+ curve = "cubic-bezier(0,0,0,1.28)";
+ duration = 0.3;
+ start = "window-width-before / window-width";
+ end = 1;
+ };
+
+ scale-x-reverse = {
+ curve = "cubic-bezier(0,0,0,1.28)";
+ duration = 0.4;
+ start = "window-width / window-width-before";
+ end = 1;
+ };
+ scale-y = {
+ curve = "cubic-bezier(0,0,0,1.28)";
+ duration = 0.3;
+ start = "window-height-before / window-height";
+ end = 1;
+ };
+ scale-y-reverse = {
+ curve = "cubic-bezier(0,0,0,1.28)";
+ duration = 0.4;
+ start = "window-height / window-height-before";
+ end = 1;
+ };
+ offset-x = {
+ curve = "cubic-bezier(0,0,0,1.28)";
+ duration = 0.3;
+ start = "window-x-before - window-x";
+ end = 0;
+ };
+ offset-y = {
+ curve = "cubic-bezier(0,0,0,1.28)";
+ duration = 0.3;
+ 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";
+ }
+ )
+},
+
+{
+ match = "class_g = 'Rofi'";
+ animations = (
+ {
+ triggers = ["close", "hide"];
+ preset = "disappear";
+ duration = 0.05;
+ scale = 0.4;
+ },
+ {
+ triggers = ["open", "show"];
+ preset = "appear";
+ duration = 0.15;
+ scale = 0.4;
+ }
+ )
+},
+
+{
+ match = "class_g = 'dunst'";
+ animations = (
+ {
+ triggers = ["close", "hide"];
+ preset = "fly-out";
+ direction = "up";
+ duration = 0.15;
+ },
+ {
+ triggers = ["open", "show"];
+ preset = "fly-in";
+ direction = "up";
+ duration = 0.15;
+ }
+ )
+},
+
+{
+ match = "class_g = 'jgmenu'";
+ animations = (
+ {
+ triggers = ["close", "hide"];
+ preset = "disappear";
+ duration = 0.05;
+ scale = 0.4;
+ },
+ {
+ triggers = ["open", "show"];
+ preset = "appear";
+ duration = 0.1;
+ scale = 0.4;
+ }
+ )
+},
+
+{
+ match = "class_g = 'bspwm-scratch'";
+ animations = (
+ {
+ triggers = ["close", "hide"];
+ preset = "fly-out";
+ direction = "up";
+ duration = 0.15;
+ },
+ {
+ triggers = ["open", "show"];
+ preset = "fly-in";
+ direction = "up";
+ duration = 0.15;
+ }
+ )
+},
+
+{
+ match = "name = 'Eww - launchermenu'";
+ animations = (
+ {
+ triggers = ["close", "hide"];
+ preset = "slide-out";
+ direction = "right";
+ duration = 0.15;
+ },
+ {
+ triggers = ["open", "show"];
+ preset = "slide-in";
+ direction = "right";
+ duration = 0.15;
+ }
+ )
+},
+
+{
+ match = "name = 'Eww - music'";
+ animations = (
+ {
+ triggers = ["close", "hide"];
+ preset = "slide-out";
+ direction = "up";
+ duration = 0.15;
+ },
+ {
+ triggers = ["open", "show"];
+ preset = "slide-in";
+ direction = "up";
+ duration = 0.15;
+ }
+ )
+},
+
+{
+ match = "name = 'Eww - date'";
+ animations = (
+ {
+ triggers = ["close", "hide"];
+ preset = "fly-out";
+ direction = "up";
+ duration = 0.15;
+ },
+ {
+ triggers = ["open", "show"];
+ preset = "fly-in";
+ direction = "up";
+ duration = 0.15;
+ }
+ )
+},
+
+{
+ match = "name = 'Eww - csheet'";
+ animations = (
+ {
+ triggers = ["close", "hide"];
+ preset = "disappear";
+ duration = 0.05;
+ scale = 0.4;
+ },
+ {
+ triggers = ["open", "show"];
+ preset = "appear";
+ duration = 0.1;
+ scale = 0.4;
+ }
+ )
+},
+
+{
+ match = "window_type = 'dock'";
+ animations = (
+ {
+ triggers = ["focus-in", "focus-out"];
+ opacity = {
+ curve = "cubic-bezier(0, 0, 0, 1)";
+ duration = 0.1;
+ start = 0;
+ end = 1;
+ };
+ blur-opacity = "opacity";
+ shadow-opacity = "opacity";
+
+ scale-x = {
+ curve = "cubic-bezier(0, 0, 0, 1)";
+ duration = 0.15;
+ start = 0.9;
+ 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";
+ },
+
+ {
+ triggers = ["focus-out"];
+ opacity = {
+ curve = "cubic-bezier(0, 0, 0, 1)";
+ duration = 0.1;
+ start = 1;
+ end = 0;
+ };
+ blur-opacity = "opacity";
+ shadow-opacity = "opacity";
+
+ scale-x = {
+ curve = "cubic-bezier(0, 0, 0, 1)";
+ duration = 0.15;
+ start = 1;
+ end = 0.9;
+ };
+ 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";
+ }
+ )
+}
diff --git a/config/picom/picom.conf b/config/picom/picom.conf
new file mode 100755
index 0000000..29f35a2
--- /dev/null
+++ b/config/picom/picom.conf
@@ -0,0 +1,151 @@
+shadow-radius = 1;
+shadow-opacity = .1;
+shadow-offset-x = -7;
+shadow-offset-y = -7;
+shadow-color = "#000000"
+
+fading = true;
+fade-in-step = 0.03;
+fade-out-step = 0.03;
+fade-delta = 5
+no-fading-openclose = false;
+no-fading-destroyed-argb = false
+
+frame-opacity = 1.0;
+
+backend = "glx"
+dithered-present = false;
+vsync = true;
+
+detect-rounded-corners = true;
+detect-client-opacity = true;
+detect-transient = true;
+
+use-damage = true;
+
+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;
+ shadow = true;
+ },
+ {
+ match = "window_type = 'dialog'";
+ shadow = true;
+ },
+ {
+ 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 = 0.8;
+ blur-background = true;
+ },
+ {
+ 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;
+ },
+ {
+ match = "window_type = 'normal'";
+ animations = (
+ {
+ triggers = ["open"];
+ opacity = {
+ curve = "cubic-bezier(0,1,1,1)";
+ duration = 0.3;
+ start = 0;
+ end = "window-raw-opacity";
+ };
+ blur-opacity = "opacity";
+ shadow-opacity = "opacity";
+
+ scale-x = {
+ curve = "cubic-bezier(0,1.3,1,1)";
+ duration = 0.3;
+ 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";
+ },
+ {
+ triggers = ["close"];
+ opacity = {
+ curve = "cubic-bezier(0,1,1,1)";
+ duration = 0.3;
+ 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.3;
+ 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";
+ }
+ )
+ },
+ @include "picom-animations.conf"
+)