#!/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- <