Files
linux-dotfiles/hypr/look-and-feel.lua
2026-05-21 00:08:15 +02:00

224 lines
6.0 KiB
Lua

--####################
--## LOOK AND FEEL ###
--####################
local colors = require("colors")
-- Refer to https://wiki.hypr.land/Configuring/Variables/
-- https://wiki.hypr.land/Configuring/Variables/#general
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 } } })
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,
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 = "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 = "easeOutQuint",
style = "slide",
})
hl.animation({
leaf = "workspacesIn",
enabled = true,
speed = 1.21,
bezier = "easeOutQuint",
style = "slide",
})
hl.animation({
leaf = "workspacesOut",
enabled = true,
speed = 1.94,
bezier = "easeOutQuint",
style = "slide",
})
hl.animation({
leaf = "zoomFactor",
enabled = true,
speed = 7,
bezier = "quick",
})
hl.config({
general = {
gaps_in = 5,
gaps_out = 20,
border_size = 2,
-- https://wiki.hypr.land/Configuring/Variables/#variable-types for info about colors
col = {
active_border = colors.inverse_primary,
inactive_border = colors.on_secondary,
},
-- Set to true enable resizing windows by clicking and dragging on borders and gaps
resize_on_border = false,
-- Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on
allow_tearing = false,
layout = "dwindle",
},
-- https://wiki.hypr.land/Configuring/Variables/#decoration
decoration = {
rounding = 5,
rounding_power = 2,
-- Change transparency of focused and unfocused windows
active_opacity = 1.0,
inactive_opacity = 0.85,
shadow = {
enabled = true,
range = 4,
render_power = 3,
color = "rgba(1a1a1aee)",
},
-- https://wiki.hypr.land/Configuring/Variables/#blur
blur = {
enabled = true,
size = 10,
passes = 2,
noise = 0.0117,
popups = false,
vibrancy = 0.1696,
new_optimizations = true,
},
},
-- https://wiki.hypr.land/Configuring/Variables/#animations
animations = {
enabled = true,
-- Default curves, see https://wiki.hypr.land/Configuring/Animations/#curves
-- NAME, X0, Y0, X1, Y1
-- Default animations, see https://wiki.hypr.land/Configuring/Animations/
-- NAME, ONOFF, SPEED, CURVE, [STYLE]
},
-- Ref https://wiki.hypr.land/Configuring/Workspace-Rules/
-- "Smart gaps" / "No gaps when only"
-- uncomment all if you wish to use that.
-- workspace = w[tv1], gapsout:0, gapsin:0
-- workspace = f[1], gapsout:0, gapsin:0
-- windowrule {
-- name = no-gaps-wtv1
-- match:float = false
-- match:workspace = w[tv1]
--
-- border_size = 0
-- rounding = 0
-- }
--
-- windowrule {
-- name = no-gaps-f1
-- match:float = false
-- match:workspace = f[1]
--
-- border_size = 0
-- rounding = 0
-- }
-- See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more
dwindle = {
preserve_split = true, -- You probably want this
smart_split = false, -- Remove outer gaps when there's only one window
},
-- See https://wiki.hypr.land/Configuring/Master-Layout/ for more
master = {
new_status = "master",
},
--##################
--## PERMISSIONS ###
--##################
-- See https://wiki.hypr.land/Configuring/Permissions/
-- Please note permission changes here require a Hyprland restart and are not applied on-the-fly
-- for security reasons
-- ecosystem {
-- enforce_permissions = 1
-- }
-- permission = /usr/(bin|local/bin)/grim, screencopy, allow
-- permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
-- permission = /usr/(bin|local/bin)/hyprpm, plugin, allow
-- https://wiki.hypr.land/Configuring/Variables/#misc
misc = {
force_default_wallpaper = -1, -- Set to 0 or 1 to disable the anime mascot wallpapers
disable_hyprland_logo = false, -- If true disables the random hyprland logo / anime girl background. :(
},
})