Published multiple files
All checks were successful
Build and Deploy Quartz / build (push) Successful in 26s
All checks were successful
Build and Deploy Quartz / build (push) Successful in 26s
This commit is contained in:
188
content/10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/hyprlock.md
Normal file
188
content/10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/hyprlock.md
Normal file
@@ -0,0 +1,188 @@
|
||||
---
|
||||
publish: true
|
||||
permalink: /10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/hyprlock.md
|
||||
title: hyprlock
|
||||
created: 2026-02-05T09:31:46.736-07:00
|
||||
modified: 2026-02-05T09:35:55.743-07:00
|
||||
tags:
|
||||
- hyprland
|
||||
- lockscreen
|
||||
- security
|
||||
cssclasses: ""
|
||||
---
|
||||
|
||||
hyprlock is the lock screen for Hyprland with support for fingerprint authentication.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
sudo pacman -S hyprlock
|
||||
```
|
||||
|
||||
## My Configuration
|
||||
|
||||
Config: `~/.config/hypr/hyprlock.conf`
|
||||
|
||||
```bash
|
||||
$font = Monospace
|
||||
|
||||
general {
|
||||
hide_cursor = false
|
||||
}
|
||||
|
||||
# Fingerprint authentication
|
||||
auth {
|
||||
fingerprint {
|
||||
enabled = true
|
||||
ready_message = Scan fingerprint to unlock
|
||||
present_message = Scanning...
|
||||
retry_delay = 250 # in milliseconds
|
||||
}
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = true
|
||||
bezier = linear, 1, 1, 0, 0
|
||||
animation = fadeIn, 1, 5, linear
|
||||
animation = fadeOut, 1, 5, linear
|
||||
animation = inputFieldDots, 1, 2, linear
|
||||
}
|
||||
|
||||
background {
|
||||
monitor =
|
||||
path = screenshot
|
||||
blur_passes = 3
|
||||
}
|
||||
|
||||
input-field {
|
||||
monitor =
|
||||
size = 20%, 5%
|
||||
outline_thickness = 3
|
||||
inner_color = rgba(0, 0, 0, 0.0) # no fill
|
||||
|
||||
outer_color = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
check_color = rgba(00ff99ee) rgba(ff6633ee) 120deg
|
||||
fail_color = rgba(ff6633ee) rgba(ff0066ee) 40deg
|
||||
|
||||
font_color = rgb(143, 143, 143)
|
||||
fade_on_empty = false
|
||||
rounding = 15
|
||||
|
||||
font_family = $font
|
||||
placeholder_text = Input password...
|
||||
fail_text = $PAMFAIL
|
||||
|
||||
dots_spacing = 0.3
|
||||
|
||||
position = 0, -20
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
# TIME
|
||||
label {
|
||||
monitor =
|
||||
text = $TIME
|
||||
font_size = 90
|
||||
font_family = $font
|
||||
|
||||
position = -30, 0
|
||||
halign = right
|
||||
valign = top
|
||||
}
|
||||
|
||||
# DATE
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:60000] date +"%A, %d %B %Y"
|
||||
font_size = 25
|
||||
font_family = $font
|
||||
|
||||
position = -30, -150
|
||||
halign = right
|
||||
valign = top
|
||||
}
|
||||
|
||||
# KEYBOARD LAYOUT
|
||||
label {
|
||||
monitor =
|
||||
text = $LAYOUT[en,ru]
|
||||
font_size = 24
|
||||
onclick = hyprctl switchxkblayout all next
|
||||
|
||||
position = 250, -20
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
```
|
||||
|
||||
## Key Features
|
||||
|
||||
### Fingerprint Support
|
||||
|
||||
Requires [[10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/fprintd]] to be configured. The `auth` block enables fingerprint unlock:
|
||||
```bash
|
||||
auth {
|
||||
fingerprint {
|
||||
enabled = true
|
||||
ready_message = Scan fingerprint to unlock
|
||||
present_message = Scanning...
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Screenshot Background
|
||||
|
||||
Uses a screenshot of the current screen with blur:
|
||||
```bash
|
||||
background {
|
||||
path = screenshot
|
||||
blur_passes = 3
|
||||
}
|
||||
```
|
||||
|
||||
### Gradient Border
|
||||
|
||||
Input field has a gradient border matching Hyprland theme:
|
||||
```bash
|
||||
outer_color = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
```
|
||||
|
||||
## Integration with hypridle
|
||||
|
||||
hypridle triggers hyprlock on idle. See [[10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Hyprland Setup#Idle Management (hypridle)]].
|
||||
|
||||
Key config in `~/.config/hypr/hypridle.conf`:
|
||||
```bash
|
||||
general {
|
||||
lock_cmd = pidof hyprlock || hyprlock # Prevent multiple instances
|
||||
before_sleep_cmd = loginctl lock-session
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 300 # 5 min
|
||||
on-timeout = loginctl lock-session
|
||||
}
|
||||
```
|
||||
|
||||
## Manual Lock
|
||||
|
||||
```bash
|
||||
hyprlock
|
||||
```
|
||||
|
||||
Or via keybind:
|
||||
```bash
|
||||
bind = $mainMod, L, exec, hyprlock
|
||||
```
|
||||
|
||||
## Shortcuts
|
||||
|
||||
While locked:
|
||||
- `ESC` — Clear password
|
||||
- `Ctrl+U` — Clear password
|
||||
- `Ctrl+Backspace` — Clear password
|
||||
|
||||
## Resources
|
||||
|
||||
- Wiki: https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock
|
||||
Reference in New Issue
Block a user