################################# # Fading # ################################# fading = false; fade-in-step = 0.04; fade-out-step = 0.04; ################################# # Corners # ################################# corner-radius = 12; ################################# # FAST SNAPPY ANIMATIONS # ################################# 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.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"; }, { triggers = ["geometry"]; scale-x = { curve = "cubic-bezier(0,0,0,1.28)"; duration = 0.5; start = "window-width-before / window-width"; end = 1; }; scale-x-reverse = { curve = "cubic-bezier(0,0,0,1.28)"; duration = 0.3; 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.5; 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"; }, ) ################################# # General Settings # ################################# backend = "xrender"; dithered-present = false; vsync = true; detect-rounded-corners = true; detect-client-opacity = true; detect-transient = true; use-damage = true; log-level = "warn"; ################################# # Window Rules # ################################# rules: ( # No rounded corners on dock and desktop { match = "window_type = 'dock' || window_type = 'desktop'"; corner-radius = 0; }, { match = "class_g = 'Rofi'"; animations = ( { triggers = ["open", "show"]; opacity = { curve = "cubic-bezier(0, 1, 1, 1)"; duration = 0.2; start = 0; end = "window-raw-opacity"; }; shadow-opacity = "opacity"; scale-y = { curve = "cubic-bezier(0.2, 0, 0, 1)"; duration = 0.2; start = 0.55; end = 1; }; shadow-scale-y = "scale-y"; }, { triggers = ["close", "hide"]; opacity = { curve = "cubic-bezier(0, 1, 1, 1)"; duration = 0.15; start = "window-raw-opacity-before"; end = 0; }; shadow-opacity = "opacity"; scale-y = { curve = "cubic-bezier(0.2, 0, 0, 1)"; duration = 0.15; start = 1; end = 0.55; }; shadow-scale-y = "scale-y"; }, ); }, )