chore: improve screen recorder script
This commit is contained in:
@@ -8,7 +8,7 @@ set $right l
|
|||||||
|
|
||||||
|
|
||||||
# wf-recorder
|
# wf-recorder
|
||||||
set $screenrecorder `bash $HOME/.config/sway/scripts/open-screen-recorder.sh`
|
set $screenrecorder `bash $HOME/.config/sway/scripts/screen-recorder.sh`
|
||||||
bindsym --to-code $mod+Shift+R exec $screenrecorder
|
bindsym --to-code $mod+Shift+R exec $screenrecorder
|
||||||
|
|
||||||
# background
|
# background
|
||||||
|
@@ -1,14 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
main() {
|
|
||||||
pid="$(pgrep "wf-recorder" || pgrep "slurp")"
|
|
||||||
status=$?
|
|
||||||
|
|
||||||
if [[ $status != 0 ]]; then
|
|
||||||
GEO="$(slurp)" && wf-recorder -g "$GEO" -f "$HOME/Videos/$(date +'recording_%Y-%m-%d-%H%M%S.mp4')"
|
|
||||||
else
|
|
||||||
pkill --signal SIGINT wf-recorder
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
main $@
|
|
27
.config/sway/scripts/screen-recorder.sh
Executable file
27
.config/sway/scripts/screen-recorder.sh
Executable file
@@ -0,0 +1,27 @@
|
|||||||
|
#! /usr/bin/env bash
|
||||||
|
|
||||||
|
main() {
|
||||||
|
pid="$(pgrep "wf-recorder" || pgrep "slurp")"
|
||||||
|
status=$?
|
||||||
|
|
||||||
|
if [[ $status != 0 ]]; then
|
||||||
|
if [[ -f ~/.config/user-dirs.dirs ]]; then
|
||||||
|
source ~/.config/user-dirs.dirs
|
||||||
|
fi
|
||||||
|
|
||||||
|
output_dir="${XDG_VIDEOS_DIR:-$HOME/Videos}"
|
||||||
|
|
||||||
|
if [[ ! -d "$output_dir" ]]; then
|
||||||
|
notify-send "Screen recording output directory does not exist: $output_dir" -u critical -t 3000
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
filename="$output_dir/$(date +'recording_%Y-%m-%d-%H%M%S.mp4')"
|
||||||
|
|
||||||
|
region="$(slurp)" && wf-recorder -g "$region" -f "$filename"
|
||||||
|
else
|
||||||
|
pkill --signal SIGINT wf-recorder
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
main $@
|
@@ -104,7 +104,7 @@
|
|||||||
"return-type": "json",
|
"return-type": "json",
|
||||||
"exec": "echo '{\"class\": \"recording\"}'",
|
"exec": "echo '{\"class\": \"recording\"}'",
|
||||||
"exec-if": "pgrep wf-recorder",
|
"exec-if": "pgrep wf-recorder",
|
||||||
"on-click": "$HOME/.config/waybar/scripts/close-screen-recorder.sh"
|
"on-click": "$HOME/.config/sway/scripts/screen-recorder.sh"
|
||||||
},
|
},
|
||||||
"privacy": {
|
"privacy": {
|
||||||
"icon-spacing": 4,
|
"icon-spacing": 4,
|
||||||
|
@@ -1,12 +0,0 @@
|
|||||||
#! /usr/bin/env bash
|
|
||||||
|
|
||||||
main() {
|
|
||||||
pid="$(pgrep "wf-recorder" || pgrep "slurp")"
|
|
||||||
status=$?
|
|
||||||
|
|
||||||
if [[ $status == 0 ]]; then
|
|
||||||
pkill --signal SIGINT wf-recorder
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
main $@
|
|
Reference in New Issue
Block a user