refactor code structure
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
-- Base visual behavior. Theme colors are intentionally applied separately at
|
||||
-- the end of this module because Noctalia generates them.
|
||||
hl.config({
|
||||
-- Window spacing, borders, and compositor-wide rendering behavior.
|
||||
general = {
|
||||
gaps_in = 5,
|
||||
gaps_out = 20,
|
||||
border_size = 2,
|
||||
resize_on_border = false,
|
||||
allow_tearing = false,
|
||||
},
|
||||
|
||||
-- Window shape, opacity, shadows, and background blur.
|
||||
decoration = {
|
||||
rounding = 10,
|
||||
rounding_power = 2,
|
||||
active_opacity = 1.0,
|
||||
inactive_opacity = 1.0,
|
||||
|
||||
shadow = {
|
||||
enabled = true,
|
||||
range = 4,
|
||||
render_power = 3,
|
||||
color = 0xee1a1a1a,
|
||||
},
|
||||
|
||||
blur = {
|
||||
enabled = true,
|
||||
size = 3,
|
||||
passes = 1,
|
||||
vibrancy = 0.1696,
|
||||
},
|
||||
},
|
||||
|
||||
-- This is the global animation switch; individual animation tracks below
|
||||
-- control timing and style.
|
||||
animations = {
|
||||
enabled = true,
|
||||
},
|
||||
|
||||
-- Keep the built-in wallpaper enabled as a fallback.
|
||||
misc = {
|
||||
force_default_wallpaper = -1,
|
||||
disable_hyprland_logo = false,
|
||||
},
|
||||
})
|
||||
|
||||
-- Curves are data-driven so adding or tuning one does not require another
|
||||
-- standalone `hl.curve` call.
|
||||
local curves = {
|
||||
{ "easeOutQuint", { type = "bezier", points = { { 0.23, 1 }, { 0.32, 1 } } } },
|
||||
{ "easeInOutCubic", { type = "bezier", points = { { 0.65, 0.05 }, { 0.36, 1 } } } },
|
||||
{ "linear", { type = "bezier", points = { { 0, 0 }, { 1, 1 } } } },
|
||||
{ "almostLinear", { type = "bezier", points = { { 0.5, 0.5 }, { 0.75, 1 } } } },
|
||||
{ "quick", { type = "bezier", points = { { 0.15, 0 }, { 0.1, 1 } } } },
|
||||
{ "easy", { type = "spring", mass = 1, stiffness = 238.1191, dampening = 24.21279333 } },
|
||||
}
|
||||
|
||||
for _, curve in ipairs(curves) do
|
||||
hl.curve(curve[1], curve[2])
|
||||
end
|
||||
|
||||
-- Animation tracks inherit from broader leaves unless a more specific track
|
||||
-- (for example windowsIn or workspacesOut) overrides them.
|
||||
local animations = {
|
||||
{ leaf = "global", enabled = true, speed = 10, bezier = "default" },
|
||||
{ leaf = "border", enabled = true, speed = 5.39, bezier = "easeOutQuint" },
|
||||
{ leaf = "windows", enabled = true, speed = 4.79, spring = "easy" },
|
||||
{ leaf = "windowsIn", enabled = true, speed = 4.1, spring = "easy", style = "popin 87%" },
|
||||
{ leaf = "windowsOut", enabled = true, speed = 1.49, bezier = "linear", style = "popin 87%" },
|
||||
{ leaf = "fadeIn", enabled = true, speed = 1.73, bezier = "almostLinear" },
|
||||
{ leaf = "fadeOut", enabled = true, speed = 1.46, bezier = "almostLinear" },
|
||||
{ leaf = "fade", enabled = true, speed = 3.03, bezier = "quick" },
|
||||
{ leaf = "layers", enabled = true, speed = 3.81, bezier = "easeOutQuint" },
|
||||
{ leaf = "layersIn", enabled = true, speed = 4, bezier = "easeOutQuint", style = "fade" },
|
||||
{ leaf = "layersOut", enabled = true, speed = 1.5, bezier = "linear", style = "fade" },
|
||||
{ leaf = "fadeLayersIn", enabled = true, speed = 1.79, bezier = "almostLinear" },
|
||||
{ leaf = "fadeLayersOut", enabled = true, speed = 1.39, bezier = "almostLinear" },
|
||||
{ leaf = "workspaces", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" },
|
||||
{ leaf = "workspacesIn", enabled = true, speed = 1.21, bezier = "almostLinear", style = "fade" },
|
||||
{ leaf = "workspacesOut", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" },
|
||||
{ leaf = "zoomFactor", enabled = true, speed = 7, bezier = "quick" },
|
||||
}
|
||||
|
||||
for _, animation in ipairs(animations) do
|
||||
hl.animation(animation)
|
||||
end
|
||||
|
||||
-- Noctalia generates the palette module; appearance owns when it is applied.
|
||||
require("noctalia").apply_theme()
|
||||
Reference in New Issue
Block a user