Files
dotfiles/.config/hypr/looknfeel.lua
T

170 lines
6.4 KiB
Lua
Raw Normal View History

2026-06-07 19:03:11 +01:00
-- Variables
local colors = dofile(os.getenv("HOME") .. "/.cache/wal/colors.lua")
local activeBorderColor = colors.color14
local inactiveBorderColor = colors.background
hl.config({
-- https://wiki.hyprland.org/Configuring/Variables/#general
general = {
gaps_in = 5,
gaps_out = 10,
border_size = 2,
-- https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col = {
active_border = activeBorderColor,
inactive_border = inactiveBorderColor,
},
-- Set to true enable resizing windows by clicking and dragging on borders and gaps
resize_on_border = false,
-- Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false,
-- layout = scrolling, # Change to niri-like side-scrolling layout
2026-06-07 22:38:07 +01:00
layout = "dwindle",
2026-06-07 19:03:11 +01:00
},
-- https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration = {
-- rounding = 8 # Use round window corners
rounding = 0,
-- Dim unfocused windows (0.0 = no dim, 1.0 = fully dimmed)
-- dim_inactive = true,
-- dim_strength = 0.15,
shadow = {
enabled = true,
range = 2,
render_power = 3,
color = "rgba(1a1a1aee)",
},
-- https://wiki.hyprland.org/Configuring/Variables/#blur
blur = {
enabled = true,
size = 2,
passes = 2,
special = true,
brightness = 0.60,
contrast = 0.75,
},
},
-- https://wiki.hypr.land/Configuring/Variables/#group
group = {
col = {
border_active = activeBorderColor,
border_inactive = inactiveBorderColor,
-- border_locked_active = -1,
-- border_locked_inactive = -1,
},
groupbar = {
font_size = 12,
font_family = "monospace",
font_weight_active = "ultraheavy",
font_weight_inactive = "normal",
indicator_height = 0,
indicator_gap = 5,
height = 22,
gaps_in = 5,
gaps_out = 0,
text_color = "rgb(ffffff)",
text_color_inactive = "rgba(ffffff90)",
col = {
active = "rgba(00000040)",
inactive = "rgba(00000020)",
},
gradients = true,
gradient_rounding = 0,
gradient_round_only_edges = false,
},
},
-- https://wiki.hyprland.org/Configuring/Variables/#animations
animations = {
-- enabled = no # Disable all animations
enabled = true,
},
-- See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle = {
-- pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true, -- You probably want this
force_split = 2, -- Always split on the right
},
-- See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master = {
new_status = "master",
},
-- https://wiki.hyprland.org/Configuring/Variables/#misc
misc = {
disable_hyprland_logo = true,
disable_splash_rendering = true,
focus_on_activate = true,
anr_missed_pings = 3,
on_focus_under_fullscreen = 1,
disable_watchdog_warning = true,
},
-- https://wiki.hypr.land/Configuring/Variables/#cursor
cursor = {
hide_on_key_press = true,
warp_on_change_workspace = 1,
},
-- Auto toggle scratchpad on switching workspace from scratchpad
binds = {
hide_special_on_workspace_change = true,
},
-- https://wiki.hypr.land/Configuring/Variables/#layout
layout = {
-- Avoid overly wide single-window layouts on wide screens
-- single_window_aspect_ratio = 1 1,
},
})
-- Default curves and animations, see https://wiki.hypr.land/Configuring/Advanced-and-Cool/Animations/
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.curve("linear", { type = "bezier", points = { { 0, 0 }, { 1, 1 } } })
hl.curve("almostLinear", { type = "bezier", points = { { 0.5, 0.5 }, { 0.75, 1 } } })
hl.curve("quick", { type = "bezier", points = { { 0.15, 0 }, { 0.1, 1 } } })
-- Default springs
hl.curve("easy", { type = "spring", mass = 1, stiffness = 71.2633, dampening = 15.8273644 })
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 = 4.79, spring = "easy" })
hl.animation({ leaf = "windowsIn", enabled = true, speed = 4.1, spring = "easy", 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 = "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 = 1.94, bezier = "almostLinear", style = "fade" })
hl.animation({ leaf = "workspacesIn", enabled = true, speed = 1.21, bezier = "almostLinear", style = "fade" })
hl.animation({ leaf = "workspacesOut", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" })
hl.animation({ leaf = "zoomFactor", enabled = true, speed = 7, bezier = "quick" })
-- Style Gum confirm to match terminal theme
hl.env("GUM_CONFIRM_PROMPT_FOREGROUND", "6") -- Cyan
hl.env("GUM_CONFIRM_SELECTED_FOREGROUND", "0") -- Black
hl.env("GUM_CONFIRM_SELECTED_BACKGROUND", "2") -- Green
hl.env("GUM_CONFIRM_UNSELECTED_FOREGROUND", "7") -- White
hl.env("GUM_CONFIRM_UNSELECTED_BACKGROUND", "8") -- Dark grey