From 892e32439e2b494adcf7000616cc47f3f1ce33ab Mon Sep 17 00:00:00 2001 From: Steve Beaulac Date: Fri, 28 Aug 2026 11:54:51 -0400 Subject: [PATCH] refactor(hyprland): tune visuals, overhaul animations, add cursor/binds settings --- config/hypr/hyprland.lua | 68 ++++++++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 27 deletions(-) diff --git a/config/hypr/hyprland.lua b/config/hypr/hyprland.lua index a5c840e..fa4621b 100644 --- a/config/hypr/hyprland.lua +++ b/config/hypr/hyprland.lua @@ -44,8 +44,8 @@ hl.config({ }, general = { - gaps_in = 0, - gaps_out = 0, + gaps_in = 3, + gaps_out = 3, border_size = 2, allow_tearing = true, snap = { @@ -68,7 +68,6 @@ hl.config({ dwindle = { preserve_split = true, - smart_split = false, force_split = 2, }, @@ -78,13 +77,21 @@ hl.config({ fullscreen_on_one_column = true }, + cursor = { + hide_on_key_press = true, + warp_on_change_workspace = 1, + }, + + binds = { + hide_special_on_workspace_change = true, + }, decoration = { - rounding = 3, + rounding = 1, active_opacity = 1.0, - inactive_opacity = 1.0, - dim_inactive = false, + inactive_opacity = 0.95, + dim_inactive = true, dim_special = 0.0, - dim_strength = 0.2, + dim_strength = 0.3, shadow = { enabled = false, @@ -110,13 +117,18 @@ hl.config({ misc = { disable_hyprland_logo = true, disable_splash_rendering = true, + disable_scale_notification = true, focus_on_activate = true, + anr_missed_pings = 3, + on_focus_under_fullscreen = 1, mouse_move_enables_dpms = true, animate_manual_resizes = true, mouse_move_focuses_monitor = true, enable_swallow = true, enable_anr_dialog = false, force_default_wallpaper = true, + initial_workspace_tracking = 0, + allow_session_lock_restore = true, }, xwayland = { @@ -125,35 +137,37 @@ hl.config({ animations = { enabled = true, - - -- animation = borderangle, 1, 50, linear, loop - - -- bezier = generic, 0.05, 0.9, 0.1, 1.08 - -- bezier = almostLinear,0.5,0.5,0.75,1.0 - -- bezier = quick,0.15,0,0.1,1 - -- - -- animation = windows, 1, 3, almostLinear - -- animation = windowsOut, 1, 3, quick - -- animation = windowsIn, 1, 3, quick - -- animation = border, 1, 10, generic - -- animation = fade, 1, 3, almostLinear - -- animation = workspaces, 1, 1, quick - -- animation = layers, 1, 3, quick - } }) hl.curve("almostLinear", { type = "bezier", points = { { 0.5, 0.5 }, { 0.75, 1.0 } } }) +hl.curve("linear", { type = "bezier", points = { { 0, 0 }, { 1, 1 } } }) hl.curve("generic", { type = "bezier", points = { { 0.5, 0.9 }, { 0.1, 1.08 } } }) hl.curve("quick", { type = "bezier", points = { { 0.15, 0 }, { 0.1, 1.0 } } }) hl.curve("overshoot", { type = "bezier", points = { { 0.5, 0.9 }, { 0.1, 1.1 } } }) hl.curve("rubber", { type = "spring", mass = 1, stiffness = 70, dampening = 10 }) -hl.animation({ leaf = "windows", enabled = true, speed = 3, bezier = "almostLinear" }) -hl.animation({ leaf = "border", enabled = true, speed = 1, spring = "rubber" }) -hl.animation({ leaf = "workspaces", enabled = true, speed = 1, bezier = "quick" }) -hl.animation({ leaf = "layers", enabled = true, speed = 3, bezier = "quick" }) -hl.animation({ leaf = "fade", enabled = true, speed = 3, bezier = "almostLinear" }) +hl.curve("easeOutQuint", { type = "bezier", points = { { 0.23, 1 }, { 0.32, 1 } } }) +hl.curve("easeInOutCubic", { type = "bezier", points = { { 0.65, 0.05 }, { 0.36, 1 } } }) + +hl.animation({ leaf = "global", enabled = true, speed = 10, bezier = "default" }) +hl.animation({ leaf = "border", enabled = true, speed = 5.39, bezier = "easeOutQuint" }) +hl.animation({ leaf = "windows", enabled = true, speed = 3.79, bezier = "easeOutQuint" }) +hl.animation({ leaf = "windowsIn", enabled = true, speed = 4.1, bezier = "easeOutQuint", style = "popin 87%" }) +hl.animation({ leaf = "windowsOut", enabled = true, speed = 1.49, bezier = "linear", style = "popin 87%" }) +hl.animation({ leaf = "fadeIn", enabled = true, speed = 1.73, bezier = "almostLinear" }) +hl.animation({ leaf = "fadeOut", enabled = true, speed = 1.46, bezier = "almostLinear" }) +hl.animation({ leaf = "fade", enabled = true, speed = 3.03, bezier = "quick" }) +hl.animation({ leaf = "fadeSwitch", enabled = false }) +hl.animation({ leaf = "layers", enabled = true, speed = 3.81, bezier = "easeOutQuint" }) +hl.animation({ leaf = "layersIn", enabled = true, speed = 4, bezier = "easeOutQuint", style = "fade" }) +hl.animation({ leaf = "layersOut", enabled = true, speed = 1.5, bezier = "linear", style = "fade" }) +hl.animation({ leaf = "fadeLayersIn", enabled = true, speed = 1.79, bezier = "almostLinear" }) +hl.animation({ leaf = "fadeLayersOut", enabled = true, speed = 1.39, bezier = "almostLinear" }) +hl.animation({ leaf = "workspaces", enabled = true, speed = 0.5, bezier = "quick" }) + +hl.animation({ leaf = "specialWorkspaceIn", enabled = true, speed = 3, bezier = "easeOutQuint", style = "slide top" }) +hl.animation({ leaf = "specialWorkspaceOut", enabled = true, speed = 2, bezier = "easeInOutCubic", style = "slide bottom" }) -- Keybindings