Add screen recording

This commit is contained in:
Armel van Ravels
2026-07-15 10:24:38 +02:00
parent 7add559324
commit b4fed26fdd
3 changed files with 36 additions and 2 deletions

View File

@@ -6,8 +6,8 @@
let
cfg = config.home.hyprland;
toggleRecorder = import ./scripts/toggle-recorder.nix { inherit pkgs; };
in
{
options.home.hyprland.monitors = lib.mkOption {
type = lib.types.listOf (lib.types.submodule {
@@ -37,8 +37,8 @@ in
hyprlock
playerctl
speedcrunch
toggleRecorder
];
wayland.windowManager.hyprland = {
enable = true;
configType = "lua";
@@ -131,6 +131,7 @@ in
(bind "${mod} + B" (dsp.exec_cmd "bzmenu --launcher rofi") { })
(bind "${mod} + F" (dsp.window.fullscreen) { })
(bind "${mod} + Z" (dsp.exec_cmd "hyprshot -m region") { })
(bind "${mod} + SHIFT + Z" (dsp.exec_cmd "toggle-recorder") { })
(bind "${mod} + M" (dsp.exit) { })
(bind "${mod} + SPACE" (dsp.exec_cmd "firefox") { })
(bind "${mod} + RETURN" (dsp.exec_cmd "kitty") { })

View File

@@ -0,0 +1,22 @@
{ pkgs }:
pkgs.writeShellApplication {
name = "toggle-recorder";
runtimeInputs = with pkgs; [
wf-recorder
slurp
procps
coreutils
];
text = ''
if pgrep -x wf-recorder >/dev/null; then
pkill -INT wf-recorder
else
wf-recorder \
-g "$(slurp)" \
-f "$HOME/Videos/recording-$(date +%F-%H%M%S).mp4"
fi
'';
}

View File

@@ -21,12 +21,23 @@
];
modules-right = [
"custom/recording"
"pulseaudio"
"cpu"
"tray"
"clock"
];
"custom/recording" = {
exec = ''
if pgrep -x wf-recorder >/dev/null; then
echo "🔴 REC"
fi
'';
interval = 1;
tooltip = false;
};
pulseaudio = {
format = "{icon} {volume}%";
format-muted = "󰝟 muted";