Files
dotfiles/rofi/scripts/dmenu_recorder.sh
Nikolai Papin 1b3113f379 feat: add screen recorder functionality with Rofi menu integration;
feat: add OTP client to privacy window rules;
refactor: improve Rofi element styling with background and border colors;
refactor: enable desktop cache in Rofi launcher for faster startup;
chore: add new recorder script and theme files to Rofi configuration
2025-11-13 00:47:46 +03:00

31 lines
912 B
Bash
Executable File

#!/bin/sh
# Check if wf-recorder is already running
if pgrep -x "wf-recorder" > /dev/null; then
current_file=$(ps -o args= -C wf-recorder | head -n1 | grep -oE '[^ ]+\.mp4' | tail -n1)
pkill -2 wf-recorder
sleep 1
# Force kill if still running
pkill wf-recorder 2>/dev/null
exit 0
fi
datetime=$(date +"%d.%m.%Y %H:%M:%S")
mode=$(echo -e "動画のみ\nマイク\nシステムの音\n全面的" | rofi \
-modes drun,run,calc \
-dmenu -p "ビデオ録画モードを選択 " \
-theme "$HOME/.config/rofi/styles/style-recorder.rasi" \
-markup-rows \
-drun-use-desktop-cache \
)
if [[ -z "$mode" ]]; then
notify-send --hint int:transient:1 -t 1000 "Recorder" "Aborting"
exit 1
fi
wf-recorder -c libx264rgb -r 30 -a --audio-backend=pipewire -f "$HOME/Videos/$datetime.mkv"
notify-send --hint int:transient:1 -t 1000 "Recorder" "Video saved as $datetime.mkv"