mirror of
https://github.com/arthur-pbty/arthur-os.git
synced 2026-08-01 20:28:16 +02:00
36 lines
1005 B
Bash
Executable File
36 lines
1005 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# omarchy:summary=Pick a webcam and start a screen recording with it
|
|
# omarchy:examples=omarchy capture screenrecording-with-webcam
|
|
|
|
set -o pipefail
|
|
|
|
webcam_list() {
|
|
v4l2-ctl --list-devices 2>/dev/null | while IFS= read -r line; do
|
|
if [[ $line != $'\t'* && -n $line ]]; then
|
|
local name="$line"
|
|
local device
|
|
IFS= read -r device || break
|
|
device=$(tr -d '\t' <<<"$device" | head -1)
|
|
[[ -n $device ]] && echo "$device $name"
|
|
fi
|
|
done
|
|
}
|
|
|
|
mapfile -t devices < <(webcam_list)
|
|
if (( ${#devices[@]} == 0 )); then
|
|
omarchy-notification-send "No webcam devices found" -u critical -t 3000
|
|
exit 1
|
|
fi
|
|
|
|
if (( ${#devices[@]} == 1 )); then
|
|
device="${devices[0]%%[[:space:]]*}"
|
|
else
|
|
selection=$(omarchy-menu-select "Select Webcam" "${devices[@]}" -- --width 520 --maxheight 520) || exit 1
|
|
device="${selection%%[[:space:]]*}"
|
|
fi
|
|
|
|
exec omarchy-capture-screenrecording \
|
|
--with-desktop-audio --with-microphone-audio \
|
|
--with-webcam --webcam-device="$device"
|