-- Hyprland config (Lua) -- Converted from hyprlang .conf files. See https://wiki.hypr.land/Configuring/Start/ -- This file is a stow symlink; Hyprland resolves it to the repo path, so make -- sure requires (e.g. mocha.lua from the hyprmocha package) resolve through -- the real config dir. package.path = os.getenv("HOME") .. "/.config/hypr/?.lua;" .. package.path require("keywords") require("variables") require("mocha") require("monitors") require("env") require("input") require("device") require("window_rules") require("binds") require("exec") hl.config({ xwayland = { force_zero_scaling = true, }, }) hl.config({ general = { border_size = 3, col = { active_border = { colors = { mauve, flamingo }, angle = 90 }, inactive_border = subtext0, }, resize_on_border = true, gaps_in = 2, gaps_out = 4, layout = "dwindle", -- Please see https://wiki.hypr.land/Configuring/Advanced-and-Cool/Tearing/ before you turn this on allow_tearing = false, }, }) hl.config({ decoration = { rounding = 4, blur = { enabled = true, size = 3, passes = 1, new_optimizations = true, }, shadow = { enabled = true, range = 4, render_power = 3, color = "rgba(1a1a1aee)", }, dim_inactive = true, dim_strength = 0.05, dim_special = 0.07, }, }) hl.config({ animations = { enabled = true, }, }) hl.curve("linear", { type = "bezier", points = { { 0, 0 }, { 1, 1 } } }) -- borderangle disabled: the old "loop" style animated continuously, forcing -- constant redraws and spiking idle CPU usage even with VFR enabled. hl.animation({ leaf = "borderangle", enabled = false, speed = 50, bezier = "linear", style = "loop" }) hl.animation({ leaf = "workspaces", enabled = true, speed = 0.5, bezier = "default" }) hl.animation({ leaf = "windows", enabled = false }) hl.animation({ leaf = "fade", enabled = false }) hl.config({ dwindle = { -- pseudotile had no Lua config-table equivalent; toggled via the P bind preserve_split = true, }, }) -- master { -- new_is_master = true -- } -- CPU/power efficiency. See https://wiki.hypr.land/Configuring/Variables/#misc hl.config({ misc = { force_default_wallpaper = 0, -- Set to 0 or 1 to disable the anime mascot wallpapers middle_click_paste = false, -- Don't wake/re-render just because the cursor crossed a monitor edge. mouse_move_focuses_monitor = false, -- Skip drawing the Hyprland logo in the corner of empty workspaces. disable_hyprland_logo = true, -- Allow a new hyprlock to take over the lock after a crash; without this a -- dead lock client leaves the session permanently locked (no lockscreen). allow_session_lock_restore = true, }, }) -- Variable framerate: only redraw when the scene actually changes instead of -- running at a fixed rate. This is the single biggest idle-CPU saver; it is -- true by default, but set explicitly (note it lives under `debug:`). hl.config({ debug = { vfr = true, -- Temporarily on to diagnose the mystery re-lock (disable_logs=true -- default hides dispatch exec lines from hyprland.log). disable_logs = false, }, })