f60b7e263b
m+1/m-1 only cycle existing workspaces on the active monitor and wrap at the edges, so SUPER+Right never created a workspace. Replace them with a Lua helper: advancing past the last workspace on the monitor now creates a fresh (empty) workspace there; going before the first wraps to the monitor's last workspace.
122 lines
3.4 KiB
Lua
122 lines
3.4 KiB
Lua
-- 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({
|
|
binds = {
|
|
-- Let SUPER+scroll workspace cycling wrap around instead of stopping at
|
|
-- the edges. (SUPER+Left/Right wrapping is handled directly in binds.lua.)
|
|
allow_workspace_cycles = true,
|
|
},
|
|
})
|
|
|
|
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,
|
|
},
|
|
})
|