Files
mw-pfeddersheim-workstation/docs/hyprland-uwsm.md
T
ja 1fcb467c04 feat: uwsm integration and hyprland worktime saver keybinds
- Replace SDDM with greetd+tuigreet (VT1) using uwsm-managed Hyprland
- Remove legacy exec-once from hyprland.conf
- Create 6 systemd user services: hyprpaper, waybar, dunst, hypridle,
  hyprlauncher, cliphist (all WantedBy=graphical-session.target)
- Add worktime saver keybinds: fullscreen, float, cycle windows,
  scratchpad, reload config, browser, keybind menu
- Home row navigation: HJKL for focus, move, resize (SUPER+ALT)
- Replace wofi with hyprlauncher (first-party, uwsm app prefix)
- Add hyprlauncher config with finders: desktop, math, unicode, font
- New ansible role templates: systemd/user services
- Documentation: hyprland-uwsm.md, cheatsheet.txt

KDE Wallet -> Bitwarden migration deferred (extract script prepared)
2026-05-20 16:02:53 +02:00

2.3 KiB

Hyprland Configuration - uwsm Integration

Architecture

Session management uses UWSM (Universal Wayland Session Manager) wrapping Hyprland in systemd user services.

greetd → tuigreet → uwsm start → systemd user session → Hyprland
                                    ↓
              systemd units: hyprpaper, waybar, dunst, hypridle, hyprlauncher, cliphist
              XDG autostart: Nextcloud, JetBrains Toolbox, Flameshot, etc.

Session Services

All session services are managed via systemd user units (~/.config/systemd/user/*.service):

Service Purpose Status
hyprpaper.service Wallpaper daemon active
waybar.service Status bar active
dunst.service Notification daemon active
hypridle.service Idle/screenlock control active
hyprlauncher.service App launcher daemon active
cliphist.service Clipboard history store active

Management Commands

# Check all session services
systemctl --user list-units | grep -E 'hypr|waybar|dunst|cliphist'

# Restart a specific service
systemctl --user restart waybar.service

# View logs
journalctl --user -u waybar.service -f

Launchers

Component Tool Keybind
App Launcher hyprlauncher SUPER+D
Keybind Menu hyprlauncher -o (piped) SUPER+CTRL+K

hypr launcher config: ~/.config/hypr/hyprlauncher.conf

  • desktop_launch_prefix = uwsm app -- (proper systemd scoping)
  • Cache enabled for frequency-based sorting
  • Finders: desktop (default), math (=), unicode (.), font (')

Login Manager

greetd with tuigreet on VT 1. Config: /etc/greetd/config.toml Default command: tuigreet --time --remember --asterisks --cmd 'uwsm start -e -D Hyprland hyprland.desktop'

Key Categories

Category Modifier Keys Action
Focus SUPER H/J/K/L, Arrows Move focus
Move Window SUPER+SHIFT H/J/K/L, Arrows Move window
Resize Window SUPER+ALT H/J/K/L Resize active window
Windows SUPER F, SPACE, TAB, `, P, J Window actions
Apps SUPER Q, B, E, D Launch apps
Workspaces SUPER 1-9 Switch/move workspaces
Lock SUPER+CTRL L Lock screen

See ~/.config/hypr/cheatsheet.txt for the full reference.