From 41bdeb88009dd232808edee9fc0e4ae94358d8d6 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Sat, 29 Aug 2026 02:02:23 +0530 Subject: refactor: moving script into modules that makes sense - instead of collecting all scripts into modules/scripts we are moving them to modules that makes sense (yazi-file-chooser.sh into yazi) --- modules/media/screen-recording/screen-recording.sh | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 modules/media/screen-recording/screen-recording.sh (limited to 'modules/media/screen-recording/screen-recording.sh') diff --git a/modules/media/screen-recording/screen-recording.sh b/modules/media/screen-recording/screen-recording.sh new file mode 100644 index 0000000..336c32e --- /dev/null +++ b/modules/media/screen-recording/screen-recording.sh @@ -0,0 +1,52 @@ +#!/usr/bin/env bash +OUT_DIR="$HOME/Videos/Recordings" +mkdir -p "$OUT_DIR" + +# Colors +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +RED='\033[0;31m' +NC='\033[0m' + +# Argument parsing +SELECT_MODE=false +while [[ "$#" -gt 0 ]]; do + case $1 in + -s|--select) SELECT_MODE=true ;; + esac + shift +done + +# Geometry selection +GEOMETRY="" + +if [ "$SELECT_MODE" = true ]; then + if command -v slurp >/dev/null 2>&1; then + echo -e "${YELLOW}Select a window or draw a box...${NC}" + GEOMETRY=$(slurp) + + if [ -z "$GEOMETRY" ]; then + echo "Selection cancelled. Exiting." + exit 1 + fi + else + echo -e "${RED}Error: 'slurp' not found.${NC} Recording full screen..." + sleep 1 + fi +fi + +# Start recording +FILENAME="$OUT_DIR/recording-$(date +%Y%m%d-%H%M%S).mp4" + +echo -e "${GREEN}Recording started!${NC}" +echo -e "Press ${YELLOW}'q'${NC} in this terminal to stop." +echo "File: $FILENAME" +echo "------------------------------------------------" + +if [ -n "$GEOMETRY" ]; then + wf-recorder -g "$GEOMETRY" -f "$FILENAME" +else + wf-recorder -f "$FILENAME" +fi + +echo -e "\n${GREEN}Done!${NC} Video saved to $FILENAME" -- cgit v1.2.3