chore: align IaC with today's package installs + PDF comparison docs
DevOps sync (2026-05-21): - Remove onlyoffice-desktopeditors from absent list (actively used) - Add gnome-keyring, rbw to common role (secrets migration) - Add perl-image-exiftool, icoutils, innoextract-git to dev-tools (Windows installer inspection) - Create fonts role: Inter, Cascadia Code, Fira, Source Sans, TeX Gyre - Create pdf role: zathura, zathura-pdf-mupdf, python-weasyprint - Register new roles in workstation.yml PDF comparison: - Add pdf-comparison docs with Quarto/Typst/Pandoc outputs - Add batch-pdf.sh script - Update yazi-cheatsheet.md - Ignore .quarto/ cache
This commit is contained in:
@@ -0,0 +1,200 @@
|
||||
#set document(title: "Hyprland Keybindings - Pandoc")
|
||||
#set text(font: ("Inter", "DejaVu Sans"), size: 9pt, lang: "de")
|
||||
#set page(paper: "a4", margin: 1.2cm)
|
||||
#set heading(numbering: "1.")
|
||||
#set par(leading: 0.45em)
|
||||
#show link: set text(navy)
|
||||
#let horizontalrule = h(25%) + line(stroke: 0.5pt, length: 50%)
|
||||
= Hyprland Keybindings --- Full Cheatsheet
|
||||
<hyprland-keybindings-full-cheatsheet>
|
||||
#strong[Layout:] German (de) | #strong[Mod key:] SUPER (Windows key) |
|
||||
#strong[Source:] `hyprctl binds` live
|
||||
|
||||
#horizontalrule
|
||||
|
||||
== General
|
||||
<general>
|
||||
#figure(
|
||||
align(center)[#table(
|
||||
columns: (37.04%, 29.63%, 33.33%),
|
||||
align: (auto,auto,auto,),
|
||||
table.header([Shortcut], [Action], [Details],),
|
||||
table.hline(),
|
||||
[`SUPER+Q`], [Open terminal], [kitty],
|
||||
[`SUPER+C`], [Kill active window], [killactive],
|
||||
[`SUPER+M`], [Exit Hyprland], [exit],
|
||||
[`SUPER+E`], [File manager], [dolphin],
|
||||
[`SUPER+V`], [Toggle floating], [togglefloating],
|
||||
[`SUPER+D`], [App launcher], [hyprlauncher],
|
||||
[`SUPER+P`], [Toggle pseudo-split], [pseudo],
|
||||
[`SUPER+J`], [Toggle split direction], [layoutmsg togglesplit],
|
||||
[`SUPER+F`], [Toggle fullscreen], [fullscreen 0],
|
||||
[`SUPER+R`], [Reload config], [hyprctl reload],
|
||||
[`SUPER+SPACE`], [Toggle float (popup)], [togglefloating],
|
||||
[`SUPER+TAB`], [Cycle next window], [cyclenext],
|
||||
[`SUPER+SHIFT+TAB`], [Cycle previous window], [cyclenext prev],
|
||||
[`SUPER+` #raw("`") (Grave)], [Toggle
|
||||
scratchpad], [togglespecialworkspace],
|
||||
[`SUPER+SHIFT+` #raw("`");], [Send window to
|
||||
scratchpad], [movetoworkspace special],
|
||||
[`SUPER+CTRL+K`], [Keybind cheat menu], [#emph[(broken --- pipelines
|
||||
to grep+fuzzel)];],
|
||||
[`SUPER+CTRL+L`], [Lock screen], [hyprlock],
|
||||
[`SUPER+B`], [Web browser], [google-chrome-stable],
|
||||
)]
|
||||
, kind: table
|
||||
)
|
||||
|
||||
== Navigation / Focus
|
||||
<navigation-focus>
|
||||
#figure(
|
||||
align(center)[#table(
|
||||
columns: 2,
|
||||
align: (auto,auto,),
|
||||
table.header([Shortcut], [Action],),
|
||||
table.hline(),
|
||||
[`SUPER+TAB`], [Cycle next window],
|
||||
[`SUPER+SHIFT+TAB`], [Cycle previous window],
|
||||
[`SUPER+H`], [Move focus left],
|
||||
[`SUPER+L`], [Move focus right],
|
||||
[`SUPER+left arrow`], [Move focus left],
|
||||
[`SUPER+right arrow`], [Move focus right],
|
||||
[`SUPER+up arrow`], [Move focus up],
|
||||
[`SUPER+down arrow`], [Move focus down],
|
||||
)]
|
||||
, kind: table
|
||||
)
|
||||
|
||||
== Window Movement
|
||||
<window-movement>
|
||||
#figure(
|
||||
align(center)[#table(
|
||||
columns: 2,
|
||||
align: (auto,auto,),
|
||||
table.header([Shortcut], [Action],),
|
||||
table.hline(),
|
||||
[`SUPER+SHIFT+H`], [Move window left],
|
||||
[`SUPER+SHIFT+L`], [Move window right],
|
||||
[`SUPER+SHIFT+K`], [Move window up],
|
||||
[`SUPER+SHIFT+J`], [Move window down],
|
||||
[`SUPER+SHIFT+left`], [Move window left],
|
||||
[`SUPER+SHIFT+right`], [Move window right],
|
||||
[`SUPER+SHIFT+up`], [Move window up],
|
||||
[`SUPER+SHIFT+down`], [Move window down],
|
||||
)]
|
||||
, kind: table
|
||||
)
|
||||
|
||||
== Window Resize
|
||||
<window-resize>
|
||||
#figure(
|
||||
align(center)[#table(
|
||||
columns: 2,
|
||||
align: (auto,auto,),
|
||||
table.header([Shortcut], [Action],),
|
||||
table.hline(),
|
||||
[`SUPER+ALT+H`], [Resize active: width -40],
|
||||
[`SUPER+ALT+L`], [Resize active: width +40],
|
||||
[`SUPER+ALT+K`], [Resize active: height -40],
|
||||
[`SUPER+ALT+J`], [Resize active: height +40],
|
||||
)]
|
||||
, kind: table
|
||||
)
|
||||
|
||||
== Screenshots
|
||||
<screenshots>
|
||||
#figure(
|
||||
align(center)[#table(
|
||||
columns: (41.67%, 33.33%, 25%),
|
||||
align: (auto,auto,auto,),
|
||||
table.header([Shortcut], [Action], [Tool],),
|
||||
table.hline(),
|
||||
[`Print`], [Area select → save + copy], [grimblast copysave area],
|
||||
[`SUPER+Print`], [Active window → save + copy], [grimblast copysave
|
||||
active],
|
||||
[`SUPER+SHIFT+Print`], [Full monitor → save + copy], [grimblast
|
||||
copysave output],
|
||||
[`SUPER+ALT+Print`], [Area select → annotate], [grim],
|
||||
)]
|
||||
, kind: table
|
||||
)
|
||||
|
||||
== Workspaces
|
||||
<workspaces>
|
||||
#figure(
|
||||
align(center)[#table(
|
||||
columns: (55.56%, 44.44%),
|
||||
align: (auto,auto,),
|
||||
table.header([Shortcut], [Action],),
|
||||
table.hline(),
|
||||
[`SUPER+1..9`], [Switch to workspace 1-9],
|
||||
[`SUPER+SHIFT+1..9`], [Move active window to workspace 1-9],
|
||||
[`SUPER+` #raw("`");], [Toggle scratchpad (togglespecialworkspace)],
|
||||
[`SUPER+SHIFT+` #raw("`");], [Move to scratchpad (movetoworkspace
|
||||
special)],
|
||||
)]
|
||||
, kind: table
|
||||
)
|
||||
|
||||
=== Workspace Layout
|
||||
<workspace-layout>
|
||||
#figure(
|
||||
align(center)[#table(
|
||||
columns: 3,
|
||||
align: (auto,auto,auto,),
|
||||
table.header([Workspace], [Monitor], [Position],),
|
||||
table.hline(),
|
||||
[1], [DP-1 (TERRA 3280W)], [Left, 2560x1440\@144],
|
||||
[2], [DVI-D-1 (BenQ BL2405)], [Center, 1920x1080\@60 rotated 90deg],
|
||||
[3], [HDMI-A-1 (TERRA 3280W)], [Right, 2560x1440\@144],
|
||||
)]
|
||||
, kind: table
|
||||
)
|
||||
|
||||
== Notes
|
||||
<notes>
|
||||
- `SUPER+CTRL+K` (keybind menu) does #strong[not work] --- the `sed`
|
||||
pipeline breaks. Needs fix.
|
||||
- The `sed` pipeline `sed 's/^bind\s*=\s*\$mainMod/SUPER/;s/\s*#/#/'`
|
||||
fails silently because the unescaped `$` in the `sed` command gets
|
||||
interpreted as a variable.
|
||||
|
||||
== Troubleshooting
|
||||
<troubleshooting>
|
||||
#figure(
|
||||
align(center)[#table(
|
||||
columns: 2,
|
||||
align: (auto,auto,),
|
||||
table.header([Issue], [Check],),
|
||||
table.hline(),
|
||||
[Print key not working], [`hyprctl binds | grep Print`],
|
||||
[`SUPER+R` not working], [`hyprctl binds | grep 'reload'`],
|
||||
[Screenshots fail], [`which grimblast satty slurp grim`],
|
||||
[Clipboard empty], [`echo test | wl-copy && wl-paste`],
|
||||
)]
|
||||
, kind: table
|
||||
)
|
||||
|
||||
== Satty Editor Shortcuts
|
||||
<satty-editor-shortcuts>
|
||||
#figure(
|
||||
align(center)[#table(
|
||||
columns: 2,
|
||||
align: (auto,auto,),
|
||||
table.header([Action], [Shortcut],),
|
||||
table.hline(),
|
||||
[Freehand], [F],
|
||||
[Rectangle], [R],
|
||||
[Ellipse], [E],
|
||||
[Line/Arrow], [L],
|
||||
[Text], [T],
|
||||
[Blur], [B],
|
||||
[Crop], [C],
|
||||
[Undo], [Ctrl+Z],
|
||||
[Redo], [Ctrl+Shift+Z],
|
||||
[Copy], [Ctrl+C],
|
||||
[Save], [Ctrl+S],
|
||||
[Quit], [Esc or Ctrl+Q],
|
||||
)]
|
||||
, kind: table
|
||||
)
|
||||
Reference in New Issue
Block a user