tweaks in script

This commit is contained in:
vaguesyntax
2025-11-01 14:41:29 +03:00
parent e567f06cef
commit 0fabedb0c4
@@ -8,26 +8,21 @@ CUSTOM_PATH=$(jq -r "$JSON_PATH" "$CONFIG_FILE" 2>/dev/null)
RECORDING_DIR="" RECORDING_DIR=""
if [[ -n "$CUSTOM_PATH" ]]; then if [[ -n "$CUSTOM_PATH" ]]; then
RECORDING_DIR="$CUSTOM_PATH" RECORDING_DIR="$CUSTOM_PATH"
else else
RECORDING_DIR="$HOME/Videos" RECORDING_DIR="$HOME/Videos" # Use default path
fi fi
getdate() { getdate() {
date '+%Y-%m-%d_%H.%M.%S' date '+%Y-%m-%d_%H.%M.%S'
} }
getaudiooutput() { getaudiooutput() {
pactl list sources | grep 'Name' | grep 'monitor' | cut -d ' ' -f2 pactl list sources | grep 'Name' | grep 'monitor' | cut -d ' ' -f2
} }
getactivemonitor() { getactivemonitor() {
hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .name' hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .name'
} }
# ORİJİNAL XDG MANTIĞI SİLİNDİ, YERİNE SADECE YENİ DEĞİŞKEN KULLANILDI
# xdgvideo="$(xdg-user-dir VIDEOS)"
# if $xdgvideo = "$HOME" ]]; then
# unset xdgvideo
# fi
mkdir -p "$RECORDING_DIR" mkdir -p "$RECORDING_DIR"
cd "$RECORDING_DIR" || exit cd "$RECORDING_DIR" || exit
@@ -37,47 +32,47 @@ MANUAL_REGION=""
SOUND_FLAG=0 SOUND_FLAG=0
FULLSCREEN_FLAG=0 FULLSCREEN_FLAG=0
for ((i=0;i<${#ARGS[@]};i++)); do for ((i=0;i<${#ARGS[@]};i++)); do
if [[ "${ARGS[i]}" == "--region" ]]; then if [[ "${ARGS[i]}" == "--region" ]]; then
if (( i+1 < ${#ARGS[@]} )); then if (( i+1 < ${#ARGS[@]} )); then
MANUAL_REGION="${ARGS[i+1]}" MANUAL_REGION="${ARGS[i+1]}"
else else
notify-send "Recording cancelled" "No region specified for --region" -a 'Recorder' & disown notify-send "Recording cancelled" "No region specified for --region" -a 'Recorder' & disown
exit 1 exit 1
fi fi
elif [[ "${ARGS[i]}" == "--sound" ]]; then elif [[ "${ARGS[i]}" == "--sound" ]]; then
SOUND_FLAG=1 SOUND_FLAG=1
elif [[ "${ARGS[i]}" == "--fullscreen" ]]; then elif [[ "${ARGS[i]}" == "--fullscreen" ]]; then
FULLSCREEN_FLAG=1 FULLSCREEN_FLAG=1
fi fi
done done
if pgrep wf-recorder > /dev/null; then if pgrep wf-recorder > /dev/null; then
notify-send "Recording Stopped" "Stopped" -a 'Recorder' & notify-send "Recording Stopped" "Stopped" -a 'Recorder' &
pkill wf-recorder & pkill wf-recorder &
else else
if [[ $FULLSCREEN_FLAG -eq 1 ]]; then if [[ $FULLSCREEN_FLAG -eq 1 ]]; then
notify-send "Starting recording" 'recording_'"$(getdate)"'.mp4' -a 'Recorder' & disown notify-send "Starting recording" 'recording_'"$(getdate)"'.mp4' -a 'Recorder' & disown
if [[ $SOUND_FLAG -eq 1 ]]; then if [[ $SOUND_FLAG -eq 1 ]]; then
wf-recorder -o "$(getactivemonitor)" --pixel-format yuv420p -f './recording_'"$(getdate)"'.mp4' -t --audio="$(getaudiooutput)" wf-recorder -o "$(getactivemonitor)" --pixel-format yuv420p -f './recording_'"$(getdate)"'.mp4' -t --audio="$(getaudiooutput)"
else else
wf-recorder -o "$(getactivemonitor)" --pixel-format yuv420p -f './recording_'"$(getdate)"'.mp4' -t wf-recorder -o "$(getactivemonitor)" --pixel-format yuv420p -f './recording_'"$(getdate)"'.mp4' -t
fi fi
else else
# If a manual region was provided via --region, use it; otherwise run slurp as before. # If a manual region was provided via --region, use it; otherwise run slurp as before.
if [[ -n "$MANUAL_REGION" ]]; then if [[ -n "$MANUAL_REGION" ]]; then
region="$MANUAL_REGION" region="$MANUAL_REGION"
else else
if ! region="$(slurp 2>&1)"; then if ! region="$(slurp 2>&1)"; then
notify-send "Recording cancelled" "Selection was cancelled" -a 'Recorder' & disown notify-send "Recording cancelled" "Selection was cancelled" -a 'Recorder' & disown
exit 1 exit 1
fi fi
fi fi
notify-send "Starting recording" 'recording_'"$(getdate)"'.mp4' -a 'Recorder' & disown notify-send "Starting recording" 'recording_'"$(getdate)"'.mp4' -a 'Recorder' & disown
if [[ $SOUND_FLAG -eq 1 ]]; then if [[ $SOUND_FLAG -eq 1 ]]; then
wf-recorder --pixel-format yuv420p -f './recording_'"$(getdate)"'.mp4' -t --geometry "$region" --audio="$(getaudiooutput)" wf-recorder --pixel-format yuv420p -f './recording_'"$(getdate)"'.mp4' -t --geometry "$region" --audio="$(getaudiooutput)"
else else
wf-recorder --pixel-format yuv420p -f './recording_'"$(getdate)"'.mp4' -t --geometry "$region" wf-recorder --pixel-format yuv420p -f './recording_'"$(getdate)"'.mp4' -t --geometry "$region"
fi fi
fi fi
fi fi