2026-06-07 19:03:11 +01:00
|
|
|
-- Variables
|
|
|
|
|
|
2026-08-16 16:42:16 +01:00
|
|
|
local colors = dofile(os.getenv 'HOME' .. '/.cache/wal/colors-hypr.lua')
|
2026-06-07 19:03:11 +01:00
|
|
|
|
|
|
|
|
local activeBorderColor = colors.color14
|
|
|
|
|
local inactiveBorderColor = colors.background
|
|
|
|
|
|
2026-08-16 16:42:16 +01:00
|
|
|
hl.config {
|
2026-06-07 19:03:11 +01:00
|
|
|
-- 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-09-02 14:30:16 +01:00
|
|
|
layout = 'master',
|
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,
|
2026-08-16 16:42:16 +01:00
|
|
|
color = 'rgba(1a1a1aee)',
|
2026-06-07 19:03:11 +01:00
|
|
|
},
|
|
|
|
|
|
|
|
|
|
-- 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,
|
2026-08-16 16:42:16 +01:00
|
|
|
font_family = 'monospace',
|
|
|
|
|
font_weight_active = 'ultraheavy',
|
|
|
|
|
font_weight_inactive = 'normal',
|
2026-06-07 19:03:11 +01:00
|
|
|
|
|
|
|
|
indicator_height = 0,
|
|
|
|
|
indicator_gap = 5,
|
|
|
|
|
height = 22,
|
|
|
|
|
gaps_in = 5,
|
|
|
|
|
gaps_out = 0,
|
|
|
|
|
|
2026-08-16 16:42:16 +01:00
|
|
|
text_color = 'rgb(ffffff)',
|
|
|
|
|
text_color_inactive = 'rgba(ffffff90)',
|
2026-06-07 19:03:11 +01:00
|
|
|
col = {
|
2026-08-16 16:42:16 +01:00
|
|
|
active = 'rgba(00000040)',
|
|
|
|
|
inactive = 'rgba(00000020)',
|
2026-06-07 19:03:11 +01:00
|
|
|
},
|
|
|
|
|
|
|
|
|
|
gradients = true,
|
|
|
|
|
gradient_rounding = 0,
|
|
|
|
|
gradient_round_only_edges = false,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
-- https://wiki.hyprland.org/Configuring/Variables/#animations
|
|
|
|
|
animations = {
|
|
|
|
|
-- enabled = no # Disable all animations
|
2026-08-16 16:42:16 +01:00
|
|
|
enabled = false,
|
2026-06-07 19:03:11 +01:00
|
|
|
},
|
|
|
|
|
-- 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 = {
|
2026-08-16 16:42:16 +01:00
|
|
|
new_status = 'master',
|
2026-06-07 19:03:11 +01:00
|
|
|
},
|
|
|
|
|
|
|
|
|
|
-- 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,
|
|
|
|
|
},
|
2026-08-16 18:50:55 +01:00
|
|
|
|
|
|
|
|
render = {
|
|
|
|
|
direct_scanout = false,
|
|
|
|
|
},
|
2026-08-16 16:42:16 +01:00
|
|
|
}
|
2026-06-07 19:03:11 +01:00
|
|
|
|
|
|
|
|
-- Default curves and animations, see https://wiki.hypr.land/Configuring/Advanced-and-Cool/Animations/
|
2026-08-16 16:42:16 +01:00
|
|
|
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 } } })
|
2026-06-07 19:03:11 +01:00
|
|
|
|
|
|
|
|
-- Default springs
|
2026-08-16 16:42:16 +01:00
|
|
|
hl.curve('easy', { type = 'spring', mass = 1, stiffness = 71.2633, dampening = 15.8273644 })
|
2026-06-07 19:03:11 +01:00
|
|
|
|
2026-08-16 16:42:16 +01:00
|
|
|
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' }
|
2026-06-07 19:03:11 +01:00
|
|
|
|
|
|
|
|
-- Style Gum confirm to match terminal theme
|
2026-08-16 16:42:16 +01:00
|
|
|
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
|
|
|
|
|
|