summaryrefslogtreecommitdiff
path: root/config/picom/picom.conf
blob: 29f35a2990b67bcdbe9d4ba1c8e2915d912eca04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
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"
)