feat(capture): screen recording — menu start, bar-click stop (item 12)
All checks were successful
Check / eval (push) Successful in 2m56s
All checks were successful
Check / eval (push) Successful in 2m56s
nomarchy-record owns the lifecycle: start prefers wl-screenrec (VAAPI hardware encode) and falls back to wf-recorder if it dies at startup (the no-VAAPI case), stop SIGINTs so the file finalizes cleanly, and status feeds a self-gating Waybar ⏺ REC (alert red) whose click is the one stop surface — signal 8 pokes make it appear/vanish instantly. Capture gains Record region/screen (+ audio variants) and self-swaps to '■ Stop recording' while one runs. Parity: both summer whole-swap bars carry the same module. Recordings land in ~/Videos/Recordings with the screenshot timestamp naming (deviation from 'next to Screenshots': an .mp4 in Pictures felt wrong). V1: rendered bar config + CSS asserted, summer jsonc parse, recorder dry-run state machine correct (idle/active/usage exits), both recorders in home-path. Real capture needs a session → V3 queued (incl. the VAAPI-vs-fallback check on the AMD box). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -43,6 +43,7 @@ window#waybar {
|
||||
}
|
||||
|
||||
#custom-launcher,
|
||||
#custom-recording,
|
||||
#clock,
|
||||
#clock-date,
|
||||
#workspaces,
|
||||
@@ -114,3 +115,8 @@ window#waybar {
|
||||
padding-left: 20px;
|
||||
padding-right: 23px;
|
||||
}
|
||||
|
||||
/* Recording in progress: alert red; the module is also the stop button. */
|
||||
#custom-recording.recording {
|
||||
color: @red;
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
"modules-left": ["custom/launcher", "clock", "clock#date"],
|
||||
"modules-center": ["hyprland/workspaces"],
|
||||
"modules-right": ["pulseaudio", "custom/powerprofile", "custom/nightlight", "hyprland/language", "custom/updates", "battery", "tray", "custom/vpn", "custom/notification", "custom/powermenu"],
|
||||
"modules-right": ["custom/recording", "pulseaudio", "custom/powerprofile", "custom/nightlight", "hyprland/language", "custom/updates", "battery", "tray", "custom/vpn", "custom/notification", "custom/powermenu"],
|
||||
|
||||
"hyprland/workspaces": {
|
||||
"disable-scroll": true,
|
||||
@@ -79,6 +79,14 @@
|
||||
"on-click": "nomarchy-powerprofile-cycle"
|
||||
},
|
||||
|
||||
"custom/recording": {
|
||||
"return-type": "json",
|
||||
"interval": 10,
|
||||
"signal": 8,
|
||||
"exec": "nomarchy-record status",
|
||||
"on-click": "nomarchy-record stop"
|
||||
},
|
||||
|
||||
"custom/vpn": {
|
||||
"return-type": "json",
|
||||
"interval": 5,
|
||||
|
||||
Reference in New Issue
Block a user