Skip to content

feat(desktop): add screenrec window/region recorder with waybar indicator - #12

Merged
fx merged 1 commit into
mainfrom
feat/screenrec
Oct 30, 2026
Merged

fx merged 1 commit into
mainfrom
feat/screenrec

Conversation

@fx

@fx fx commented Oct 30, 2026

Copy link
Copy Markdown
Owner

Adds screenrec, a toggle for recording a window or region on Hyprland.

  • Ctrl+Shift+5: click a window or drag a region (slurp; visible windows are offered as click targets), then gpu-screen-recorder records it with NVENC at 60 fps with desktop audio (AAC) to ~/Videos/Recordings. Press again to stop.
  • Waybar custom/screenrec: hidden when idle; while recording shows a red dot and elapsed time, click to stop. Polls screenrec status every second.
  • gpu-screen-recorder added to the Arch package list.

The region is fixed at selection time, so moving the window while recording doesn't follow it.

Tested on the desktop: region recording produced h264 + AAC at the selected size; the toggle stops it cleanly; the waybar status JSON is correct while recording and idle; the bind loads after hyprctl reload. ./test/test-dotfiles.sh passes.

…ator

Ctrl+Shift+5 runs screenrec: click a window or drag a region (slurp),
gpu-screen-recorder records it via NVENC to ~/Videos/Recordings; press
again to stop. A waybar module shows a red dot and elapsed time while
recording and stops it on click.
Copilot AI lite review requested due to automatic review settings October 30, 2026 17:10

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Two active issues remain: the Waybar module does not hide its empty idle output, and screen-recording filenames can collide when recordings start within the same second.

1 open issue
What changed in this PR

Adds a Hyprland desktop screen-recording workflow using gpu-screen-recorder, with window/region selection, audio capture, a keyboard toggle, and Waybar status feedback.

Changes:

  • Adds the screenrec toggle and status script, saving recordings under ~/Videos/Recordings.
  • Adds the Ctrl+Shift+5 Hyprland binding and Waybar recording indicator.
  • Adds recording indicator styling and gpu-screen-recorder to desktop Arch packages.

This pull request requires changes.

File Summary
dot_local/​bin/​executable_screenrec Selects a window or region, starts and stops recordings, manages output files, and emits Waybar JSON status.
dot_config/​waybar/​style.css.tmpl Styles the active recording indicator in red.
dot_config/​waybar/​config.jsonc.tmpl Registers the polling screen-recording module and click-to-stop action.
dot_config/​hypr/​hyprland.lua.tmpl Adds the Ctrl+Shift+5 screen-recording keybinding.
.chezmoidata/​packages.yaml Adds gpu-screen-recorder to desktop Arch packages.

Review effort: Lite

Comment thread dot_config/waybar/config.jsonc.tmpl Resolved
@fx
fx merged commit 35af1e5 into main Oct 30, 2026
4 checks passed
@fx
fx deleted the feat/screenrec branch October 30, 2026 17:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants