diff --git a/docs/window-manager/cheatsheet.md b/docs/window-manager/cheatsheet.md index 14b68ae..3699cc6 100644 --- a/docs/window-manager/cheatsheet.md +++ b/docs/window-manager/cheatsheet.md @@ -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 + 1–9, 0` | Switch 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 + 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. diff --git a/docs/window-manager/plan.md b/docs/window-manager/plan.md index e052bc7..022dd36 100644 --- a/docs/window-manager/plan.md +++ b/docs/window-manager/plan.md @@ -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 diff --git a/docs/window-manager/progress.md b/docs/window-manager/progress.md index cac1931..52daaa6 100644 --- a/docs/window-manager/progress.md +++ b/docs/window-manager/progress.md @@ -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)