docs(wm): update cheatsheet, plan, progress for phases 1-3 complete

Refresh cheatsheet.md with tested DMS keybindings and actual working
setup (e.g. SUPER+T for terminal, DMS spotlight, lxpolkit instead of
broken hyprpolkitagent). Update plan.md to replace hyprpolkitagent
with lxpolkit (Qt 6 ABI issue). Add detailed phase 1-3 progress notes
including lxpolkit workaround, hyprland.conf + hyprpaper verification,
and dotfiles stow integration.
This commit is contained in:
jared 2026-04-18 18:13:42 -04:00
parent 7714c6ed78
commit 6d2638a3f4
3 changed files with 85 additions and 44 deletions

View File

@ -1,49 +1,57 @@
# Hyprland Cheat Sheet
> Mod key = **SUPER** (Windows key). Matches `~/.config/hypr/hyprland.conf`.
> **Mod key = SUPER** (Windows key). Bindings from DMS defaults + user additions in `~/.config/hypr/hyprland.conf`.
## Launch / quit
## Launch / Quit
| Keys | Action |
|---|---|
| `SUPER + Return` | Open terminal (kitty) |
| `SUPER + D` | App launcher (fuzzel) |
| `SUPER + E` | File manager (yazi in kitty) |
| `SUPER + T` | Open terminal (kitty — DMS default) |
| `SUPER + Space` | DMS spotlight launcher |
| `SUPER + D` | Fuzzel launcher (fallback) |
| `SUPER + E` | File manager (`kitty -e yazi`) |
| `SUPER + Q` | Close focused window |
| `SUPER + SHIFT + Q` | Exit Hyprland (logout) |
| `SUPER + SHIFT + E` | Exit Hyprland |
| `SUPER + X` | Power menu (DMS) |
| `SUPER + ALT + L` | Lock screen (DMS) |
DMS also has its own spotlight launcher — usually reachable from the bar; check `dms --help` for the binding if you want to rebind.
## Window control
## Window Control
| Keys | Action |
|---|---|
| `SUPER + F` | Fullscreen |
| `SUPER + V` | Toggle floating |
| `SUPER + P` | Pseudotile (shrink in its tile) |
| `SUPER + J` | Toggle split direction |
| `SUPER + drag mouse` (left btn) | Move window |
| `SUPER + drag mouse` (right btn) | Resize window |
| `SUPER + F` | Maximize window |
| `SUPER + SHIFT + F` | True fullscreen |
| `SUPER + SHIFT + T` | Toggle floating |
| `SUPER + R` | Toggle split direction |
| `SUPER + drag` (left btn) | Move floating window |
| `SUPER + drag` (right btn) | Resize window |
| `SUPER + SHIFT + P` | Toggle monitor DPMS (display power) |
## Focus and movement
## Focus and Movement
| Keys | Action |
|---|---|
| `SUPER + ←/→/↑/↓` or `h/l/k/j` | Focus window in that direction |
| `SUPER + SHIFT + ←/→/↑/↓` | Move window in that direction |
| `SUPER + H / J / K / L` | Focus left / down / up / right |
| `SUPER + ← / → / ↑ / ↓` | Focus (arrow key variant) |
| `SUPER + SHIFT + H/J/K/L` | Move window in that direction |
| `SUPER + SHIFT + ←/→/↑/↓` | Move window (arrow key variant) |
| `SUPER + CTRL + H/J/K/L` | Focus monitor in that direction |
| `SUPER + SHIFT + CTRL + H/J/K/L` | Move window to that monitor |
## Workspaces
| Keys | Action |
|---|---|
| `SUPER + 1..9, 0` | Switch to workspace 1..10 |
| `SUPER + SHIFT + 1..9, 0` | Move window to workspace 1..10 |
| `SUPER + 19, 0` | Switch to workspace 110 |
| `SUPER + SHIFT + 19, 0` | Move window to workspace 110 |
| `SUPER + U` | Previous workspace |
| `SUPER + I` | Next workspace |
| `SUPER + scroll wheel` | Cycle workspaces |
| `SUPER + S` | Show/hide scratchpad (`magic`) |
| `SUPER + TAB` | Workspace overview (DMS) |
| `SUPER + S` | Toggle scratchpad (magic) |
| `SUPER + SHIFT + S` | Send window to scratchpad |
Workspaces are numbered and per-monitor — no "activities" overview. Jump directly with SUPER+N.
## Screenshots
Saved to `~/Pictures/Screenshots/`.
@ -51,37 +59,47 @@ Saved to `~/Pictures/Screenshots/`.
| Keys | Action |
|---|---|
| `Print` | Whole output |
| `SHIFT + Print` | Region select |
| `CTRL + Print` | Active window |
| `CTRL + Print` | Region select |
| `ALT + Print` | Active window |
## Media / brightness (laptop keys)
## DMS Panels / Widgets
Volume, mute, mic mute, brightness up/down, play/pause/next/prev all mapped to the corresponding `XF86*` keys.
| Keys | Action |
|---|---|
| `SUPER + V` | Clipboard history panel |
| `SUPER + M` | Process list |
| `SUPER + ,` | Settings |
| `SUPER + N` | Notepad |
| `SUPER + Y` | Wallpaper picker |
| `SUPER + SHIFT + /` | Keybind cheat sheet (built-in DMS overlay) |
## Clipboard history
## Media / Brightness
`cliphist` records everything copied. To paste from history:
All `XF86` laptop keys work — volume, mute, mic mute, brightness up/down, play/pause/next/prev — routed through DMS IPC. No extra config needed.
## Clipboard History (Manual)
```
cliphist list | fuzzel -d | cliphist decode | wl-copy
```
Bind that to `SUPER + SHIFT + V` later if you use it a lot.
## Recovery
- **Stuck session:** `Ctrl+Alt+F3` → TTY login → `loginctl terminate-user $USER`.
- **Logs:** `~/.cache/hyprland/hyprland.log` and `journalctl --user -b`.
- **Fallback session:** log out, pick **GNOME** or **Sway** from the GDM session gear.
- **Reload config without logout:** `hyprctl reload`.
- **Inspect state:** `hyprctl clients`, `hyprctl monitors`, `hyprctl workspaces`.
| Situation | Action |
|---|---|
| Stuck session | `Ctrl+Alt+F3` → TTY → `loginctl terminate-user $USER` |
| View logs | `~/.cache/hyprland/hyprland.log` · `journalctl --user -b` |
| Fallback session | GDM gear icon → pick **GNOME** or **Sway** |
| Reload config | `hyprctl reload` |
| Inspect state | `hyprctl clients` · `hyprctl monitors` · `hyprctl workspaces` |
## DMS basics
## DMS
- Config lives at `~/.config/DankMaterialShell/` (or under `~/.config/quickshell/`).
- `dms setup` — re-run to regenerate baseline.
- `dms run`manually start the shell (already in autostart).
- Bar usually has a right-click menu for quick settings, theme, widgets.
- Config: `~/.config/hypr/dms/` — binds, colors, layout, cursor, outputs, windowrules
- `dms setup` — re-run to regenerate baseline config
- `dms run` — start the shell (already in autostart)
- Bar right-click → quick settings, theme, widgets
## Cheatsheet upkeep
## Cheatsheet Upkeep
Edit this file whenever you change a binding in `hyprland.conf`. Commit alongside the config change.
Edit this file whenever you change a binding. Commit alongside the config change.

View File

@ -109,14 +109,15 @@ echo "- $(date -Is): Enabled COPRs solopasha/hyprland, avengemedia/dms" \
```bash
sudo dnf install -y \
hyprland hyprland-contrib hyprpaper hyprlock hypridle hyprpolkitagent \
hyprland hyprland-contrib hyprpaper hyprlock hypridle \
xdg-desktop-portal-hyprland xdg-desktop-portal-gtk \
kitty foot fuzzel \
grim slurp hyprshot \
wl-clipboard cliphist \
pipewire pipewire-pulseaudio wireplumber \
brightnessctl playerctl network-manager-applet \
qt6-qtwayland qt5-qtwayland
qt6-qtwayland qt5-qtwayland \
lxpolkit
```
- [ ] **Step 2:** Verify Hyprland runs and shows version.
@ -190,7 +191,7 @@ cat > ~/.config/hypr/hyprland.conf <<'EOF'
monitor = , preferred, auto, 1
# ----- Autostart -----
exec-once = hyprpolkitagent
exec-once = lxpolkit
exec-once = /usr/libexec/xdg-desktop-portal-hyprland
exec-once = wl-paste --watch cliphist store
exec-once = dms run

View File

@ -59,3 +59,25 @@ GNOME and Sway stay installed as GDM fallback sessions.
01:00.0 VGA compatible controller: NVIDIA Corporation GA106 [GeForce RTX 3060 Lite Hash Rate] (rev a1)
08:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] (rev c9)
## 2026-04-17 — Phase 0 complete
- Enabled RPM Fusion free, solopasha/hyprland COPR, avengemedia/dms COPR (+ danklinux dep repo)
- Available versions verified: hyprland 0.51.1, dms 1.4.4, hyprlock 0.9.2, hypridle 0.1.7, hyprpaper 0.7.6, hyprpolkitagent 0.1.3, xdg-desktop-portal-hyprland 1.3.11, kitty 0.43.1, fuzzel 1.14.0, foot 1.25.0
- Noted: nonfree-nvidia-driver repo is already enabled on this system (pre-existing), but we are NOT installing akmod-nvidia
- systems-admin initialized as local-only git repo; initial docs commit 7714c6e
## 2026-04-17 — Phase 1 dependency detour
- solopasha's hyprpolkitagent currently broken on Fedora 43: its dep hyprland-qt-support was built against Qt 6.9 but updates now ship Qt 6.10.3.
- Workaround: installing lxpolkit instead (GTK, no Qt dep). Autostart line changed to 'exec-once = lxpolkit'.
- Revisit hyprpolkitagent once solopasha rebuilds against Qt 6.10.
- 2026-04-18: Installed DMS v1.4.4
## 2026-04-18 — Phase 2 + Phase 3 complete
- Created ~/.config/hypr/hyprland.conf; `hyprland --verify-config` reported "config ok"
- Using lxpolkit in autostart (not hyprpolkitagent — see Phase 1 detour)
- Created ~/.config/hypr/hyprpaper.conf; hyprpaper added to autostart; ~/Pictures/wallpapers/ created (drop default.jpg there before first login)
- Moved hypr config into ~/.dotfiles/hypr stow package; symlink verified; committed 60f57df to dotfiles repo
- DMS config will be added to stow after confirming dms setup output is stable (per plan note)