563 lines
15 KiB
Plaintext
563 lines
15 KiB
Plaintext
#################################
|
|
# Shadows #
|
|
#################################
|
|
|
|
# Enabled client-side shadows on windows. Note desktop windows
|
|
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
|
|
# unless explicitly requested using the wintypes option.
|
|
#
|
|
# shadow = false
|
|
shadow = false;
|
|
|
|
# The blur radius for shadows, in pixels. (defaults to 12)
|
|
# shadow-radius = 12
|
|
shadow-radius = 60;
|
|
|
|
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
|
|
# shadow-opacity = .75
|
|
|
|
# The left offset for shadows, in pixels. (defaults to -15)
|
|
# shadow-offset-x = -15
|
|
shadow-offset-x = -20;
|
|
|
|
# The top offset for shadows, in pixels. (defaults to -15)
|
|
# shadow-offset-y = -15
|
|
shadow-offset-y = -20;
|
|
|
|
# Red color value of shadow (0.0 - 1.0, defaults to 0).
|
|
# shadow-red = 0
|
|
|
|
# Green color value of shadow (0.0 - 1.0, defaults to 0).
|
|
# shadow-green = 0
|
|
|
|
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
|
|
# shadow-blue = 0
|
|
|
|
# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue)
|
|
# shadow-color = "#000000"
|
|
|
|
# Specify a list of conditions of windows that should have no shadow.
|
|
#
|
|
# examples:
|
|
# shadow-exclude = "n:e:Notification";
|
|
#
|
|
# shadow-exclude = []
|
|
# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window.
|
|
# clip-shadow-above = []
|
|
|
|
# Specify a X geometry that describes the region in which shadow should not
|
|
# be painted in, such as a dock window region. Use
|
|
# shadow-exclude-reg = "x10+0+0"
|
|
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
|
|
#
|
|
# shadow-exclude-reg = ""
|
|
|
|
# Crop shadow of a window fully on a particular monitor to that monitor. This is
|
|
# currently implemented using the X RandR extension.
|
|
# crop-shadow-to-monitor = false
|
|
|
|
|
|
#################################
|
|
# Fading #
|
|
#################################
|
|
|
|
|
|
# Fade windows in/out when opening/closing and when opacity changes,
|
|
# unless no-fading-openclose is used.
|
|
fading = true;
|
|
|
|
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
|
|
# fade-in-step = 0.028
|
|
fade-in-step = 0.028;
|
|
|
|
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
|
|
# fade-out-step = 0.03
|
|
fade-out-step = 0.03;
|
|
|
|
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
|
|
fade-delta = 10
|
|
|
|
# Specify a list of conditions of windows that should not be faded.
|
|
# fade-exclude = []
|
|
|
|
# Do not fade on window open/close.
|
|
# no-fading-openclose = false
|
|
|
|
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
|
|
# no-fading-destroyed-argb = false
|
|
|
|
|
|
#################################
|
|
# Transparency / Opacity #
|
|
#################################
|
|
|
|
|
|
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
|
|
# inactive-opacity = 1
|
|
|
|
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
|
|
# frame-opacity = 1.0
|
|
|
|
# Let inactive opacity set by -i override the '_NET_WM_WINDOW_OPACITY' values of windows.
|
|
# inactive-opacity-override = true
|
|
|
|
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
|
|
# active-opacity = 1.0
|
|
|
|
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
|
|
# inactive-dim = 0.0
|
|
|
|
# Specify a list of conditions of windows that should never be considered focused.
|
|
# focus-exclude = []
|
|
|
|
# Use fixed inactive dim value, instead of adjusting according to window opacity.
|
|
# inactive-dim-fixed = 1.0
|
|
|
|
#################################
|
|
# 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 = 0;
|
|
|
|
# Exclude conditions for rounded corners.
|
|
#rounded-corners-exclude = [
|
|
# "window_type = 'dock'",
|
|
# "window_type = 'desktop'"
|
|
#];
|
|
|
|
# Exclude conditions for background blur.
|
|
# blur-background-exclude = []
|
|
|
|
|
|
#################################
|
|
# General Settings #
|
|
#################################
|
|
|
|
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
|
|
# daemon = false
|
|
|
|
# Specify the backend to use: `xrender`, `glx`, `egl` or `xr_glx_hybrid`.
|
|
# `xrender` is the default one.
|
|
#
|
|
# Available backends "xrender" "glx" "egl"
|
|
backend = "glx"
|
|
|
|
dithered-present = true;
|
|
vsync = true;
|
|
|
|
detect-rounded-corners = true;
|
|
detect-client-opacity = true;
|
|
detect-transient = true;
|
|
|
|
use-damage = true;
|
|
|
|
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";
|
|
saved-image-blend = 0;
|
|
},{
|
|
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.25, 0.05, 0.28, 1)";
|
|
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";
|
|
saved-image-blend = 0;
|
|
});
|
|
}, {
|
|
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";
|
|
saved-image-blend = 0;
|
|
|
|
},{
|
|
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.25, 0.05, 0.28, 1)";
|
|
duration = 0.15;
|
|
start = 1;
|
|
end = 0.7;
|
|
};
|
|
shadow-scale-y = "scale-y";
|
|
saved-image-blend = 0;
|
|
|
|
});
|
|
}, {
|
|
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";
|
|
saved-image-blend = 0;
|
|
|
|
},{
|
|
triggers = ["close", "hide"];
|
|
opacity = {
|
|
curve = "linear";
|
|
duration = 0.15;
|
|
start = "window-raw-opacity-before";
|
|
end = "0";
|
|
}
|
|
blur-opacity = 0;
|
|
shadow-opacity = "opacity";
|
|
saved-image-blend = 0;
|
|
});
|
|
});
|
|
|
|
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";
|
|
scale-x = {
|
|
curve = "cubic-bezier(0.25, 0.05, 0.28, 1)";
|
|
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";
|
|
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.25, 0.05, 0.28, 1)";
|
|
duration = 0.15;
|
|
start = "0";
|
|
end = "- window-height / 2";
|
|
};
|
|
scale-x = {
|
|
curve = "cubic-bezier(0.25, 0.05, 0.28, 1)";
|
|
duration = 0.10;
|
|
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.25, 0.05, 0.28, 1)";
|
|
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"]
|
|
scale-x = {
|
|
curve = "cubic-bezier(0.16, 1, 0.3, 1)";
|
|
duration = 0.2;
|
|
start = "window-width-before / window-width";
|
|
end = 1;
|
|
}
|
|
scale-y = {
|
|
curve = "cubic-bezier(0.16, 1, 0.3, 1)";
|
|
duration = 0.2;
|
|
start = "window-height-before / window-height";
|
|
end = 1;
|
|
}
|
|
offset-x = {
|
|
curve = "cubic-bezier(0.16, 1, 0.3, 1)";
|
|
duration = 0.2;
|
|
start = "window-x-before - window-x";
|
|
end = 0;
|
|
}
|
|
offset-y = {
|
|
curve = "cubic-bezier(0.16, 1, 0.3, 1)";
|
|
duration = 0.2;
|
|
start = "window-y-before - window-y";
|
|
end = 0;
|
|
}
|
|
|
|
saved-image-blend = 0;
|
|
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.25, 0.05, 0.28, 1)";
|
|
# duration = 0.25;
|
|
# start = "window-width-before / window-width";
|
|
# end = 1;
|
|
# }
|
|
# scale-y = {
|
|
# curve = "cubic-bezier(0.25, 0.05, 0.28, 1)";
|
|
# duration = 0.25;
|
|
# start = "window-height-before / window-height";
|
|
# end = 1;
|
|
# }
|
|
# offset-x = {
|
|
# curve = "cubic-bezier(0.25, 0.05, 0.28, 1)";
|
|
# duration = 0.25;
|
|
# start = "window-x-before - window-x";
|
|
# end = "0";
|
|
# }
|
|
# offset-y = {
|
|
# curve = "cubic-bezier(0.25, 0.05, 0.28, 1)";
|
|
# duration = 0.25;
|
|
# start = "window-y-before - window-y";
|
|
# end = "0";
|
|
# }
|
|
# }
|
|
# Full Opaque Desktop Switch
|
|
#{
|
|
# triggers = ["workspace-out"];
|
|
# offset-y = {
|
|
# timing = "0.15s cubic-bezier(0.25, 0.05, 0.28, 1)";
|
|
# start = "0";
|
|
# end = "-window-monitor-height";
|
|
# };
|
|
# shadow-offset-y = "offset-y";
|
|
# opacity = {
|
|
# timing = "0.2s linear";
|
|
# start = "window-raw-opacity-before";
|
|
# end = "window-raw-opacity-before";
|
|
# };
|
|
# blur-opacity = "opacity";
|
|
# shadow-opacity = "opacity";
|
|
#}, {
|
|
# triggers = ["workspace-out-inverse"];
|
|
# offset-y = {
|
|
# timing = "0.15s cubic-bezier(0.25, 0.05, 0.28, 1)";
|
|
# start = "0";
|
|
# end = "window-monitor-height";
|
|
# };
|
|
# shadow-offset-y = "offset-y";
|
|
# opacity = {
|
|
# timing = "0.2s linear";
|
|
# start = "window-raw-opacity-before";
|
|
# end = "window-raw-opacity-before";
|
|
# };
|
|
# blur-opacity = "opacity";
|
|
# shadow-opacity = "opacity";
|
|
#}, {
|
|
# triggers = ["workspace-in"];
|
|
# offset-y = {
|
|
# timing = "0.15s cubic-bezier(0.24, 0.64, 0.79, 0.98)";
|
|
# start = "window-monitor-height";
|
|
# end = "0";
|
|
# };
|
|
# shadow-offset-y = "offset-y";
|
|
# opacity = {
|
|
# timing = "0.2s linear";
|
|
# start = "window-raw-opacity";
|
|
# end = "window-raw-opacity";
|
|
# };
|
|
# blur-opacity = "opacity";
|
|
# shadow-opacity = "opacity";
|
|
#}, {
|
|
# triggers = ["workspace-in-inverse"];
|
|
# offset-y = {
|
|
# timing = "0.15s cubic-bezier(0.24, 0.64, 0.79, 0.98)";
|
|
# start = "-window-monitor-height";
|
|
# end = "0";
|
|
# };
|
|
# shadow-offset-y = "offset-y";
|
|
# opacity = {
|
|
# timing = "0.2s linear";
|
|
# start = "window-raw-opacity";
|
|
# end = "window-raw-opacity";
|
|
# };
|
|
# blur-opacity = "opacity";
|
|
# shadow-opacity = "opacity";
|
|
#}
|
|
|
|
)
|