Merge branch 'master' into dev

This commit is contained in:
David Heinemeier Hansson
2026-01-23 08:25:43 -05:00
2 changed files with 44 additions and 3 deletions

View File

@@ -114,13 +114,43 @@ show_screenshot_menu() {
esac
}
get_webcam_list() {
v4l2-ctl --list-devices 2>/dev/null | while IFS= read -r line; do
if [[ "$line" != $'\t'* && -n "$line" ]]; then
local name="$line"
IFS= read -r device || break
device=$(echo "$device" | tr -d '\t' | head -1)
[[ -n "$device" ]] && echo "$device $name"
fi
done
}
show_webcam_select_menu() {
local devices=$(get_webcam_list)
local count=$(echo "$devices" | grep -c . 2>/dev/null || echo 0)
if [[ -z "$devices" || "$count" -eq 0 ]]; then
notify-send "No webcam devices found" -u critical -t 3000
return 1
fi
if [[ "$count" -eq 1 ]]; then
echo "$devices" | awk '{print $1}'
else
menu "Select Webcam" "$devices" | awk '{print $1}'
fi
}
show_screenrecord_menu() {
omarchy-cmd-screenrecord --stop-recording && exit 0
case $(menu "Screenrecord" " With desktop audio\n With desktop + microphone audio\n With desktop + microphone audio + webcam") in
*"With desktop audio") omarchy-cmd-screenrecord --with-desktop-audio ;;
*"With desktop + microphone audio") omarchy-cmd-screenrecord --with-desktop-audio --with-microphone-audio ;;
*"With desktop + microphone audio + webcam") omarchy-cmd-screenrecord --with-desktop-audio --with-microphone-audio --with-webcam ;;
*"With desktop + microphone audio + webcam")
local device=$(show_webcam_select_menu) || { back_to show_capture_menu; return; }
omarchy-cmd-screenrecord --with-desktop-audio --with-microphone-audio --with-webcam --webcam-device="$device"
;;
*) back_to show_capture_menu ;;
esac
}