Hyprland Tweaks¶
Curated, community-popular Hyprland (Lua config, hyprland.lua) tweaks. Reviewed against
the 0.55 Lua API. None were added to the live config — kept here as a reference for a
limited/minimal setup. Snippets use the hl.* Lua API and drop into the relevant module
under ~/.config/hypr/modules/.
Performance (good for limited hardware)¶
hl.config({ misc = { cursor_inactive_pause = true } }) -- stop rendering when nothing changes
appearance.lua: blur = { size = 4, passes = 2 } instead of 6/3.
- hl.config({ render = { explicit_sync = true } }) — avoids frame stutter on supported GPUs (newer).
Quality-of-life (most-loved community bits)¶
hl.config({
binds = {
workspace_back_and_forth = true, -- same workspace key toggles last one
allow_workspace_cycles = true, -- 1 -> 0 wraps to 10
workspace_center_on = true, -- focus follows on switch
mouse_move_enables_dpms = true, -- moving mouse wakes screen
},
dwindle = { persist_focus = true }, -- keep focus when switching workspaces
misc = { layers_hog_keyboard_focus = false }, -- launchers/rofi grab keys properly
})
Groups & layout polish¶
hl.config({
group = { auto_group = true, group_on_movetoworkspace = true }, -- auto-tab similar windows
master = { mfact = 0.55, orientation = "left" }, -- nicer master split
input = { repeat_rate = 50, repeat_delay = 300 }, -- snappier key repeat
})
Useful window rules (popular)¶
hl.window_rule({ match = { class = "Pavucontrol" }, float = true, center = true, size = "800 600" })
hl.window_rule({ match = { class = "Keepassxc" }, float = true, center = true })
hl.window_rule({ match = { class = ".(b|d)luemanage" }, float = true, center = true })
hl.window_rule({ match = { class = "xdg-desktop-portal" }, no_focus = true, float = false })
hl.config({ xwayland = { force_zero_scaling = true } }).
Security (optional but popular)¶
hl.config({ ecosystem = { enforce_permissions = true } })
hl.permission({ binary = "/usr/bin/grim", type = "screencopy", mode = "allow" })
hl.permission({ binary = "/usr/bin/hyprshot", type = "screencopy", mode = "allow" })
hl.permission({ binary = "/usr/bin/wlogin", type = "keyboard", mode = "ask" })
Recommended subset for a limited setup¶
If performance/lag is a concern, prioritise:
- cursor_inactive_pause
- workspace_back_and_forth, allow_workspace_cycles
- layers_hog_keyboard_focus = false
- the floating window rules
- reducing blur passes/size