Shell scripts minimizing machine time, maximizing tao time.

git clone git://watertao.xyz/programs/tao_shells.git

tao_copy.sh (899B)


      1 #!/bin/sh
      2 
      3 # Simply yank/copy situation
      4 
      5 nofb="${TAO_NOFB:-""}"
      6 dn=/dev/null
      7 
      8 cmdf(){ command -v $1 >$dn 2>&1; }
      9 
     10 # dmenu command
     11 if [ -z "$DMENU" ]; then
     12 	a="dmenu sxmo_dmenu.sh bemenu rofi"
     13 	for i in $a; do cmdf "$i" && DMENU="$i" && break; done
     14 fi
     15 if [ -z "$DMENU_OPTS" ]
     16 then
     17 	a="$HOME/.config/tao/tao_dmenu.conf" && [ -f "$a" ] && \
     18 		DMENU_OPTS=$(<"$a" sed -n '1p' | tr -d "\n")
     19 	export DMENU_OPTS="${DMENU_OPTS:-""}"
     20 fi
     21 
     22 cu(){ exit 0; }; trap cu INT
     23 
     24 dmm(){ [ "$nofb" != 1 ] && <$dn>$dn "$DMENU" -p "$1"; return 0; }
     25 
     26 nils()
     27 {
     28 	dmm "Nothing in pipe or parameter to yank." && cu
     29 }
     30 
     31 suc(){ dmm "Yanked: $a"; }
     32 
     33 prnt(){ printf "%s" "$a"; }
     34 
     35 # stdin or param
     36 [ "$1" = "-" ] && a=$(cat -) || a="$1"
     37 
     38 [ -z "$a" ] && nils
     39 
     40 if cmdf "xclip"
     41 then
     42 	prnt | xclip
     43 	prnt | xclip -sel c
     44 	suc
     45 	
     46 elif cmdf "xsel"
     47 then
     48 	prnt | xsel -i
     49 	prnt | xsel -ib
     50 	suc
     51 
     52 elif cmdf "wl-copy"
     53 then
     54 	prnt | wl-copy
     55 	suc
     56 fi
     57 cu