diff options
| author | Arpit Chakladar <arpitchakladar+git@gmail.com> | 2026-08-29 02:02:23 +0530 |
|---|---|---|
| committer | Arpit Chakladar <arpitchakladar+git@gmail.com> | 2026-08-29 03:50:32 +0530 |
| commit | 41bdeb88009dd232808edee9fc0e4ae94358d8d6 (patch) | |
| tree | c1a41f54e086064dac178ebed24d36ab34087c32 /modules/media/screen-recording/screen-recording.sh | |
| parent | 530299d97926d45939f831dc3ea5e444d2839d08 (diff) | |
| download | home-manager-config-41bdeb88009dd232808edee9fc0e4ae94358d8d6.tar.gz home-manager-config-41bdeb88009dd232808edee9fc0e4ae94358d8d6.zip | |
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)
Diffstat (limited to 'modules/media/screen-recording/screen-recording.sh')
| -rw-r--r-- | modules/media/screen-recording/screen-recording.sh | 52 |
1 files changed, 52 insertions, 0 deletions
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" |
