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:
parent
7714c6ed78
commit
6d2638a3f4
|
|
@ -1,49 +1,57 @@
|
||||||
# Hyprland Cheat Sheet
|
# 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 |
|
| Keys | Action |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `SUPER + Return` | Open terminal (kitty) |
|
| `SUPER + Return` | Open terminal (kitty) |
|
||||||
| `SUPER + D` | App launcher (fuzzel) |
|
| `SUPER + T` | Open terminal (kitty — DMS default) |
|
||||||
| `SUPER + E` | File manager (yazi in kitty) |
|
| `SUPER + Space` | DMS spotlight launcher |
|
||||||
|
| `SUPER + D` | Fuzzel launcher (fallback) |
|
||||||
|
| `SUPER + E` | File manager (`kitty -e yazi`) |
|
||||||
| `SUPER + Q` | Close focused window |
|
| `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 |
|
| Keys | Action |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `SUPER + F` | Fullscreen |
|
| `SUPER + F` | Maximize window |
|
||||||
| `SUPER + V` | Toggle floating |
|
| `SUPER + SHIFT + F` | True fullscreen |
|
||||||
| `SUPER + P` | Pseudotile (shrink in its tile) |
|
| `SUPER + SHIFT + T` | Toggle floating |
|
||||||
| `SUPER + J` | Toggle split direction |
|
| `SUPER + R` | Toggle split direction |
|
||||||
| `SUPER + drag mouse` (left btn) | Move window |
|
| `SUPER + drag` (left btn) | Move floating window |
|
||||||
| `SUPER + drag mouse` (right btn) | Resize window |
|
| `SUPER + drag` (right btn) | Resize window |
|
||||||
|
| `SUPER + SHIFT + P` | Toggle monitor DPMS (display power) |
|
||||||
|
|
||||||
## Focus and movement
|
## Focus and Movement
|
||||||
|
|
||||||
| Keys | Action |
|
| Keys | Action |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `SUPER + ←/→/↑/↓` or `h/l/k/j` | Focus window in that direction |
|
| `SUPER + H / J / K / L` | Focus left / down / up / right |
|
||||||
| `SUPER + SHIFT + ←/→/↑/↓` | Move window in that direction |
|
| `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
|
## Workspaces
|
||||||
|
|
||||||
| Keys | Action |
|
| Keys | Action |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `SUPER + 1..9, 0` | Switch to workspace 1..10 |
|
| `SUPER + 1–9, 0` | Switch to workspace 1–10 |
|
||||||
| `SUPER + SHIFT + 1..9, 0` | Move window to workspace 1..10 |
|
| `SUPER + SHIFT + 1–9, 0` | Move window to workspace 1–10 |
|
||||||
|
| `SUPER + U` | Previous workspace |
|
||||||
|
| `SUPER + I` | Next workspace |
|
||||||
| `SUPER + scroll wheel` | Cycle workspaces |
|
| `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 |
|
| `SUPER + SHIFT + S` | Send window to scratchpad |
|
||||||
|
|
||||||
Workspaces are numbered and per-monitor — no "activities" overview. Jump directly with SUPER+N.
|
|
||||||
|
|
||||||
## Screenshots
|
## Screenshots
|
||||||
|
|
||||||
Saved to `~/Pictures/Screenshots/`.
|
Saved to `~/Pictures/Screenshots/`.
|
||||||
|
|
@ -51,37 +59,47 @@ Saved to `~/Pictures/Screenshots/`.
|
||||||
| Keys | Action |
|
| Keys | Action |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `Print` | Whole output |
|
| `Print` | Whole output |
|
||||||
| `SHIFT + Print` | Region select |
|
| `CTRL + Print` | Region select |
|
||||||
| `CTRL + Print` | Active window |
|
| `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
|
cliphist list | fuzzel -d | cliphist decode | wl-copy
|
||||||
```
|
```
|
||||||
Bind that to `SUPER + SHIFT + V` later if you use it a lot.
|
|
||||||
|
|
||||||
## Recovery
|
## Recovery
|
||||||
|
|
||||||
- **Stuck session:** `Ctrl+Alt+F3` → TTY login → `loginctl terminate-user $USER`.
|
| Situation | Action |
|
||||||
- **Logs:** `~/.cache/hyprland/hyprland.log` and `journalctl --user -b`.
|
|---|---|
|
||||||
- **Fallback session:** log out, pick **GNOME** or **Sway** from the GDM session gear.
|
| Stuck session | `Ctrl+Alt+F3` → TTY → `loginctl terminate-user $USER` |
|
||||||
- **Reload config without logout:** `hyprctl reload`.
|
| View logs | `~/.cache/hyprland/hyprland.log` · `journalctl --user -b` |
|
||||||
- **Inspect state:** `hyprctl clients`, `hyprctl monitors`, `hyprctl workspaces`.
|
| 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/`).
|
- Config: `~/.config/hypr/dms/` — binds, colors, layout, cursor, outputs, windowrules
|
||||||
- `dms setup` — re-run to regenerate baseline.
|
- `dms setup` — re-run to regenerate baseline config
|
||||||
- `dms run` — manually start the shell (already in autostart).
|
- `dms run` — start the shell (already in autostart)
|
||||||
- Bar usually has a right-click menu for quick settings, theme, widgets.
|
- 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.
|
||||||
|
|
|
||||||
|
|
@ -109,14 +109,15 @@ echo "- $(date -Is): Enabled COPRs solopasha/hyprland, avengemedia/dms" \
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo dnf install -y \
|
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 \
|
xdg-desktop-portal-hyprland xdg-desktop-portal-gtk \
|
||||||
kitty foot fuzzel \
|
kitty foot fuzzel \
|
||||||
grim slurp hyprshot \
|
grim slurp hyprshot \
|
||||||
wl-clipboard cliphist \
|
wl-clipboard cliphist \
|
||||||
pipewire pipewire-pulseaudio wireplumber \
|
pipewire pipewire-pulseaudio wireplumber \
|
||||||
brightnessctl playerctl network-manager-applet \
|
brightnessctl playerctl network-manager-applet \
|
||||||
qt6-qtwayland qt5-qtwayland
|
qt6-qtwayland qt5-qtwayland \
|
||||||
|
lxpolkit
|
||||||
```
|
```
|
||||||
|
|
||||||
- [ ] **Step 2:** Verify Hyprland runs and shows version.
|
- [ ] **Step 2:** Verify Hyprland runs and shows version.
|
||||||
|
|
@ -190,7 +191,7 @@ cat > ~/.config/hypr/hyprland.conf <<'EOF'
|
||||||
monitor = , preferred, auto, 1
|
monitor = , preferred, auto, 1
|
||||||
|
|
||||||
# ----- Autostart -----
|
# ----- Autostart -----
|
||||||
exec-once = hyprpolkitagent
|
exec-once = lxpolkit
|
||||||
exec-once = /usr/libexec/xdg-desktop-portal-hyprland
|
exec-once = /usr/libexec/xdg-desktop-portal-hyprland
|
||||||
exec-once = wl-paste --watch cliphist store
|
exec-once = wl-paste --watch cliphist store
|
||||||
exec-once = dms run
|
exec-once = dms run
|
||||||
|
|
|
||||||
|
|
@ -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)
|
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)
|
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)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue