# ───────────────────────────────────────────────────────────────────────────── # hyprlock — lock screen # # Tokyo Night Moon, matching quickshell/config/Theme.qml: # accent #82aaff fg #c8d3f5 dim #828bb8 bg #222436 red #ff757f # # hyprlang syntax, not Lua — hyprlock is a separate project from Hyprland. # ───────────────────────────────────────────────────────────────────────────── general { hide_cursor = true # 2 = auto. Matters at the 1.5x fractional scale this display runs. fractional_scaling = 2 # 0 = GPU-accelerated screencopy. 1 is a CPU fallback and is very slow at # 4500x3000. screencopy_mode = 0 fail_timeout = 2000 } auth { pam:enabled = true pam:module = hyprlock } # ── Background ────────────────────────────────────────────────────────────── # `path = screenshot` grabs the desktop at lock time and blurs it in place, # which is what GNOME does. # # Caveat: this uses screencopy. If the desktop is ever switched to full-time # HDR (see hypr/overrides.lua), this background may come back black — that is # the same upstream screencopy bug, not a hyprlock misconfiguration. background { monitor = path = screenshot blur_passes = 3 blur_size = 8 noise = 0.0117 contrast = 0.9 brightness = 0.8 vibrancy = 0.17 vibrancy_darkness = 0.05 # Shown if the screenshot is unavailable. color = rgba(34, 36, 54, 1.0) zindex = -1 } # ── Clock ─────────────────────────────────────────────────────────────────── label { monitor = text = cmd[update:1000] date +"%-I:%M" color = rgba(200, 211, 245, 1.0) font_size = 120 font_family = Adwaita Sans Light position = 0, 260 halign = center valign = center } label { monitor = text = cmd[update:60000] date +"%A, %B %-d" color = rgba(130, 139, 184, 1.0) font_size = 24 font_family = Adwaita Sans position = 0, 160 halign = center valign = center } # ── Password field ────────────────────────────────────────────────────────── input-field { monitor = size = 340, 52 position = 0, -40 halign = center valign = center outline_thickness = 2 rounding = 26 outer_color = rgba(130, 170, 255, 0.9) inner_color = rgba(46, 47, 61, 0.85) font_color = rgba(200, 211, 245, 1.0) check_color = rgba(130, 170, 255, 1.0) fail_color = rgba(255, 117, 127, 1.0) dots_size = 0.25 dots_spacing = 0.3 dots_center = true placeholder_text = Password fail_text = $FAIL ($ATTEMPTS) fade_on_empty = false hide_input = false } # ── User ──────────────────────────────────────────────────────────────────── label { monitor = text = $USER color = rgba(200, 211, 245, 0.9) font_size = 16 font_family = Adwaita Sans position = 0, -110 halign = center valign = center }