Share

Share this URL with your friends and let them edit or delete the document.

Permissions

gobin
#################################
#             Shadows           #
#################################

shadow = true;
shadow-radius = 8;
shadow-offset-x = -7;
shadow-offset-y = -7;
shadow-exclude = [
  "_GTK_FRAME_EXTENTS@",
    "window_type = 'menu'",
    # "window_type = 'dock'",
    "window_type = 'dropdown_menu'",
    "window_type = 'popup_menu'",
    "window_type = 'tooltip'"
    

];


#################################
#           Fading              #
#################################
fading = true
fading = true;
fade-in-step = 0.04;
fade-out-step = 0.04;

#################################
#   Transparency / Opacity      #
#################################

inactive-dim=0
inactive-opacity = 0.8;
frame-opacity = 0.7;

inactive-opacity-override = false;
focus-exclude = [ 
    "class_g = 'Rofi'",
];

# frame-opacity = 1;
active-opacity = 1;
inactive-opacity = 0.9;
dropdown_menu = { opacity = 1; }
popup_menu = { opacity = 1; }

#################################
#           Corners             #
#################################

# Sets the radius of rounded window corners. When > 0, the compositor will
# round the corners of windows. Does not interact well with
# `transparent-clipping`.

corner-radius = 6;
round-borders = 6;

# Exclude conditions for rounded corners.
rounded-corners-exclude = [
  # "window_type = 'dock'",
  "window_type = 'desktop'"
];

# frame-opacity = 1;
active-opacity = 1;
inactive-opacity = 0.9;
dropdown_menu = { opacity = 1; }
popup_menu = { opacity = 1; }


active-opacity-rule = []

opacity-rule = [ 
	"100:_NET_WM_STATE@:32a = '_NET_WM_STATE_FULLSCREEN'",
    # Syntax:
    #    ""<opacity>:class_g = 'Case sensitive appname'",
    # Tip: 
    #    90 is same as global 0.9 opacity
    
	"100:class_g	= 'Polybar'",
	"100:class_g	= 'Rofi'",
	"100:class_g	= 'gwenview'", 
	"90:class_g	    = 'copyq'", 
    # "90:class_g     = 'Alacritty' && focused",
    "90:class_g     = 'Chromium' && focused",
    # "93:class_g     = 'Code' && focused",
];


#################################
#     Background-Blurring       #
#################################


blur: {
	method = "dual_kawase";
	strength = 6;
}


blur-background-exclude = [
	"_GTK_FRAME_EXTENTS@:c",
	"class_g = 'Maim'",
	"class_g = 'conky'",
    
    "window_type = 'menu'",
    "window_type = 'dock'",
    "window_type = 'dropdown_menu'",
    "window_type = 'popup_menu'",
    "window_type = 'tooltip'",

];


#################################
#       General Settings        #
#################################

backend = "glx"
dithered-present = false;
vsync = true;
mark-wmwin-focused = true;
mark-ovredir-focused = true;
unredir-if-possible = true;
detect-rounded-corners = true;
detect-client-opacity = true;
detect-transient = true;
use-damage = true;
log-level = "warn";

wintypes:
{
  tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true};
  dock = { shadow = true; clip-shadow-above = false; }
  # dnd = { shadow = true; }
  dropdown_menu = { opacity = 0.9; }
};


#################################
#       Animation Settings      #
#################################


rules = ({
    match = "WM_TRANSIENT_FOR@";
    animations = ({
        triggers = ["open", "show"];
        opacity = {
            curve = "linear";
            duration = 0.15;
            start = "window-raw-opacity-before";
            end = "window-raw-opacity";
        };
        blur-opacity = {
            curve = "linear";
            duration = 0.1;
            delay = 0.15;
            start = "window-raw-opacity-before";
            end = "window-raw-opacity";
        };
        shadow-opacity = "opacity";
        scale-y = {
            curve = "cubic-bezier(0.24, 0.64, 0.79, 0.98)";
            duration = 0.15;
            start = 0.8;
            end = 1;
        };
        offset-y = "(-window-height/2) + (window-height/2) * scale-y";
        shadow-scale-y = "scale-y";
        shadow-offset-y = "offset-y";
    },{
        triggers = ["close", "hide"];
        opacity = {
            curve = "linear";
            duration = 0.15;
            start = "window-raw-opacity-before";
            end = "0";
        };
        blur-opacity = 0;
        shadow-opacity = "opacity";
        scale-y = {
            curve = "cubic-bezier(0.21, 0.02, 0.76, 0.36)";
            duration = 0.15;
            start = 1;
            end = 0.7;
        };
        offset-y = "(-window-height/2) + (window-height/2) * scale-y";
        shadow-scale-y = "scale-y";
        shadow-offset-y = "offset-y";
    });
}, {
    match = "window_type = 'dropdown_menu' || window_type = 'popup_menu' || window_type = 'menu'";
    animations = ({
        triggers = ["open", "show"];
        opacity = {
            curve = "linear";
            duration = 0.15;
            start = "window-raw-opacity-before";
            end = "window-raw-opacity";
        };
        blur-opacity = {
            curve = "linear";
            duration = 0.1;
            delay = 0.15;
            start = "window-raw-opacity-before";
            end = "window-raw-opacity";
        };
        shadow-opacity = "opacity";
        scale-y = {
            curve = "cubic-bezier(0.24, 0.64, 0.79, 0.98)";
            duration = 0.15;
            start = 0.8;
            end = 1;
        };
        shadow-scale-y = "scale-y";
    },{
        triggers = ["close", "hide"];
        opacity = {
            curve = "linear";
            duration = 0.15;
            start = "window-raw-opacity-before";
            end = "0";
        };
        blur-opacity = 0;
        shadow-opacity = "opacity";
        scale-y = {
            curve = "cubic-bezier(0.21, 0.02, 0.76, 0.36)";
            duration = 0.15;
            start = 1;
            end = 0.7;
        };
        shadow-scale-y = "scale-y";
    });
}, {
    match = "window_type = 'dropdown_menu' || window_type = 'popup_menu' || window_type = 'menu'";
    opacity = 0.9;
}, {
    match = "window_type = 'dock' || window_type = 'desktop'";
    blur-background = false;
    corner-radius = 0;
}, {
    match = "class_g *= 'i3lock' || _NET_WM_STATE@[1] = '_NET_WM_STATE_FULLSCREEN' || _NET_WM_STATE@[2] = '_NET_WM_STATE_FULLSCREEN' || _NET_WM_STATE@[3] = '_NET_WM_STATE_FULLSCREEN' || _NET_WM_STATE@[4] = '_NET_WM_STATE_FULLSCREEN'";
    shadow = false;
    corner-radius = 0;
    animations = ({
        triggers = ["open", "show"];
        opacity = {
            curve = "linear";
            duration = 0.15;
            start = "window-raw-opacity-before";
            end = "window-raw-opacity";
        };
        blur-opacity = {
            curve = "linear";
            duration = 0.1;
            delay = 0.15;
            start = "window-raw-opacity-before";
            end = "window-raw-opacity";
        };
        shadow-opacity = "opacity";
    },{
        triggers = ["close", "hide"];
        opacity = {
            curve = "linear";
            duration = 0.15;
            start = "window-raw-opacity-before";
            end = "0";
        };
        blur-opacity = 0;
        shadow-opacity = "opacity";
    });
});

animations = ({
    triggers = ["close", "hide"];
    opacity = {
        curve = "linear";
        duration = 0.15;
        start = "window-raw-opacity-before";
        end = "window-raw-opacity";
    };
    blur-opacity = "0";
    shadow-opacity = "opacity";
    offset-x = "(1 - scale-x) / 2 * window-width";
    offset-y = "(1 - scale-y) / 2 * window-height * 5";
    scale-x = {
        curve = "cubic-bezier(0.21, 0.02, 0.76, 0.36)";
        duration = 0.15;
        start = 1;
        end = 0.9;
    };
    scale-y = "scale-x";
    shadow-scale-x = "scale-x";
    shadow-scale-y = "scale-y";
    shadow-offset-x = "offset-x";
    shadow-offset-y = "offset-y";
}, {
    triggers = ["open", "show"];
    opacity = {
        curve = "linear";
        duration = 0.15;
        start = "window-raw-opacity-before";
        end = "window-raw-opacity";
    };
    blur-opacity = {
        curve = "linear";
        duration = 0.1;
        delay = 0.15;
        start = "window-raw-opacity-before";
        end = "window-raw-opacity";
    };
    shadow-opacity = "opacity";
    offset-x = "(1 - scale-x) / 2 * window-width";
    offset-y = "(1 - scale-y) / 2 * window-height * 5";
    scale-x = {
        curve = "cubic-bezier(0.24, 0.64, 0.79, 0.98)";
        duration = 0.15;
        start = 0.95;
        end = 1;
    };
    scale-y = "scale-x";
    shadow-scale-x = "scale-x";
    shadow-scale-y = "scale-y";
    shadow-offset-x = "offset-x";
    shadow-offset-y = "offset-y";
},

# Half Window Size Desktop Switch
{
    triggers = ["workspace-out"];
    offset-y = {
        curve = "cubic-bezier(0.21, 0.02, 0.76, 0.36)";
        duration = 0.15;
        start = "0";
        end = "- window-height / 2";
    };
    shadow-offset-y = "offset-y";
    opacity = {
        curve = "linear";
        duration = 0.15;
        start = "window-raw-opacity-before";
        end = "window-raw-opacity";
    };
    blur-opacity = "0";
    shadow-opacity = "opacity";
}, {
    triggers = ["workspace-out-inverse"];
    offset-y = {
        curve = "cubic-bezier(0.21, 0.02, 0.76, 0.36)";
        duration = 0.15;
        start = "0";
        end = "window-height / 2";
    };
    shadow-offset-y = "offset-y";
    opacity = {
        curve = "linear";
        duration = 0.15;
        start = "window-raw-opacity-before";
        end = "window-raw-opacity";
    };
    blur-opacity = "0";
    shadow-opacity = "opacity";
}, {
    triggers = ["workspace-in"];
    offset-y = {
        curve = "cubic-bezier(0.24, 0.64, 0.79, 0.98)";
        duration = 0.15;
        start = "window-height / 2";
        end = "0";
    };
    shadow-offset-y = "offset-y";
    opacity = {
        curve = "linear";
        duration = 0.15;
        start = "0";
        end = "window-raw-opacity";
    };
    blur-opacity = {
        curve = "linear";
        duration = 0.1;
        delay = 0.15;
        start = "0";
        end = "window-raw-opacity";
    };
    shadow-opacity = "opacity";
}, {
    triggers = ["workspace-in-inverse"];
    offset-y = {
        curve = "cubic-bezier(0.24, 0.64, 0.79, 0.98)";
        duration = 0.15;
        start = "- window-height / 2";
        end = "0";
    };
    shadow-offset-y = "offset-y";
    opacity = {
        curve = "linear";
        duration = 0.15;
        start = "0";
        end = "window-raw-opacity";
    };
    blur-opacity = {
        curve = "linear";
        duration = 0.1;
        delay = 0.15;
        start = "0";
        end = "window-raw-opacity";
    };
    shadow-opacity = "opacity";
}, {
    triggers = [ "geometry" ];
    preset = "geometry-change";
})