💾 Archived View for rawtext.club › ~zilog › ogabbr.txt captured on 2023-09-28 at 17:46:51.

View Raw

More Information

⬅️ Previous capture (2023-03-20)

-=-=-=-=-=-=-

#!/bin/sh
#  gabbr -- a gab(1) client written by zilog@rawtext.club
#
#  revisions: 
#  1.0 - initial release
#  1.1 - added new messages check ; fixed here-doc tab issue
#  1.2 - curr. channel resets to 'gab' upon quitting
#
GBR_VER="1.2"

listchan() {
  N=1
  gab -c |tail +4 |sort|\
  while read CHAN ;do
    echo "$N $CHAN"
    N=$((N+1))
  done
}

currchan() {
  gab -c |grep '\*


 |cut -d' ' -f1
}

pickchan() {
  listchan |sed 's/^/ /' |tr ' ' '\t'
  echo ' --------------------------------------'
  echo ''
  echo "  ** $(gab -N) ** "
  PMSG="$(printf '\n  Enter a channel # to read:\n  RETURN => cur. chan, Q => quit: ')"
  NC=$(listchan |wc -l)
  read -r -p "$PMSG" CNUM
  case $CNUM in
    [1-9]*) CHAN="$(listchan |grep "^$CNUM" |cut -d' ' -f2)"
            gab -c "$CHAN" >/dev/null ;;
       ('') ;;
         *) echo '' ;gab -c gab >/dev/null ;exit 0 ;;
  esac
}

writemsg() {
  PMSG="$(printf '\n\n  enter your gab:\n => ')"
  read -p "$PMSG" GTITLE
  gab -m "$GTITLE"
}

listmsgs() {
  read -p "enter # msgs of '$(currchan)' to list [10|n]: " NMSG
  clear
  gab -l ${NMSG:-10} |fold -s |more
  echo ''
  read -r -n1 -p "  Enter 'P' to post to '$(currchan)', SPACEBAR to continue.. " REPLY
  case "$REPLY" in
    [pP]) writemsg ;;
       *) ;;
  esac
}

gwelcome() {
  cut -d'|' -f2- <<EOF
    |
    | ======================================
    |     Gabbr gab(1) client - ver. $GBR_VER
    | ======================================
    |        N       Channels       [cur]
    | --------------------------------------
EOF
}

main() {
  while : ;do
    clear
    gwelcome
    pickchan
    listmsgs
  done
}
main