Lightweight Rust + GTK4 screen recorder for Hyprland
libadwaita UI around wf-recorder
| Mode | What it does |
|---|---|
| Region | Draw a rectangle, record that |
| One monitor | Full display + FPS picker |
| 2 monitors | Both screens → one video (exactly 2 displays; layout matches Hyprland) |
CLI for keybinds. Files land in Videos; path is copied to the clipboard.
Initial release (v0.1). Solid for daily recording on Hyprland, but early days — more is coming. Feedback and issues welcome.
Planned / next ideas (not a promise of order):
- Easier keybind setup (docs + helpers; maybe config-driven presets)
- More quality / codec options (
wf-recorder/ ffmpeg knobs) - Polish for 2 monitors (3+ still out of scope for now)
- Small UX extras as people use it
AUR package name: record-ui-git
Binary / brand: hyprcap (this repo)
yay -S record-ui-git
# or: paru -S record-ui-gitThat installs hard deps (wf-recorder, slurp, ffmpeg, GTK, …), puts hyprcap on PATH, and registers the desktop entry (walker / app menu).
Name clash: AUR packages
hyprcap/hyprcap-gitare a different project (bash helper for grim/wf-recorder). Do not install those expecting this app. Ours is onlyrecord-ui-git→/usr/bin/hyprcap.
yay -Sya # if the AUR index is stale
yay -S record-ui-git
hyprcap # GUI
# or search “Hyprcap” in walkerOptional keybind:
bind = SUPER SHIFT, A, exec, hyprcap toggle-region| Want | Do |
|---|---|
| GUI | hyprcap → mode → Record / Stop |
| Quick region | hyprcap toggle-region (again to stop) |
| One monitor (CLI) | hyprcap fullscreen --output NAME --fps 60 |
| Both screens | GUI 2 monitors, or hyprcap both |
| System audio (PC) | GUI All PC sound, or --audio / --system all |
| Mic | GUI Microphone (+ device), or --mic / --mic-device NAME |
| One app only | GUI One app, or --system app --audio-app Spotify |
| List outputs | hyprcap list-outputs |
| List audio devices | hyprcap list-audio |
| Quit session | hyprcap quit |
Audio is off by default. Mic + system sound are mixed into one track. App capture re-routes that app via PipeWire/Pulse for the session (you still hear it).
Closing the window does not stop a recording — use Stop.
2 monitors needs exactly two displays (detected live via hyprctl, not hardcoded). 3+ not supported yet.
~/.config/hyprcap/config.toml — also written when you change monitor/FPS in the GUI.
# output_dir = "/home/you/Videos"
# fullscreen_output = "DP-1"
# one_fps = 144
# audio_default = false # legacy: true ≈ system all
# system_audio = "off" # off | all | app
# audio_sink = "" # empty = default sink
# audio_app = "Spotify"
# mic_default = false
# mic_device = "" # empty = default inputIf you used the pre-rename
record-uibuilds: old config lived in~/.config/record-ui/. Copy settings over if needed.
cargo install --path . --locked
# → ~/.cargo/bin/hyprcap
# needs: rust, pkgconf, gtk4, libadwaita + runtime deps aboveMIT — LICENSE.
Formerly known as record-ui. Internals (optional): SPEC.md · docs/DUAL-MONITOR.md · docs/brand/

