#!/usr/bin/env bash

# rofi theme
THEME="$HOME/.config/rofi/compact_without_icons.rasi"

get_options() {
  echo "    Capture Region"
  echo "    Capture Region (without saving)"
  echo "    Capture Screen"
  echo "    Capture Screen (without saving)"
  echo "    Record Region (GIF)"
  echo "    Record Screen (GIF)"
  echo "    Record Region (MP4)"
  echo "    Record Screen (MP4)"
  #echo "    Record Region (MP4+audio_virt)"
  #echo "    Record Region (MP4+audio_mic)"
  #echo "    Record Audio virt"
  #echo "    Record Audio mic"
  echo "    Stop Recording"
}

main() {

  # Get choice from rofi
  CHOICE=$( (get_options) | rofi -dmenu -i -fuzzy -p "" -theme "$THEME")

  # If user has not picked anything, exit
  if [[ -z "${CHOICE// /}" ]]; then
    exit 1
  fi

  # run the selected command
  case $CHOICE in
  '    Capture Region (without saving)')
    screenshot -crtc
    ;;
  '    Capture Region')
    screenshot -crtf
    ;;
  '    Capture Screen (without saving)')
    screenshot -cstc
    ;;
  '    Capture Screen')
    screenshot -cstf
    ;;
  '    Record Region (GIF)')
    screenshot -rrg
    ;;
  '    Record Screen (GIF)')
    screenshot -rsg
    ;;
  '    Record Region (MP4)')
    screenshot -rrv
    ;;
  '    Record Screen (MP4)')
    screenshot -rsv
    ;;
  '    Record Region (MP4+audio_virt)')
    screenshot -rrav
    ;;
  '    Record Region (MP4+audio_mic)')
    screenshot -rrmv
    ;;
  '    Record Audio virt')
    screenshot -rav
    ;;
  '    Record Audio mic')
    screenshot -ram
    ;;
  '    Stop Recording')
    screenshot -s
    ;;
  esac

  # done
  set -e
}

main &

exit 0
