Skip to content

Instantly share code, notes, and snippets.

@santrancisco
Last active June 4, 2020 07:54
Show Gist options
  • Save santrancisco/85988de86be1ed111c1382d138050661 to your computer and use it in GitHub Desktop.
Save santrancisco/85988de86be1ed111c1382d138050661 to your computer and use it in GitHub Desktop.
simple utility bashscript for argos gnome plugin
#!/bin/bash
### Requirements:
### zbarimg, xclip, zenity, xvkbd
### pip: segno
set -e
## Require: xclip, zbarimg, zenity
function pbcopy {
xclip -selection clipboard $1
}
function pbpaste {
xclip -selection clipboard -o
}
function opencheat {
code /home/santrancisco/github/cheat/
}
function createqrfromclipboard {
export TEXT=`pbpaste`
gnome-terminal --maximize -- bash -c "segno '$TEXT'; read "
}
function jwtdecode {
set +e
result=`pbpaste | sed 's/\./\n/g' | xargs -I {} bash -c "echo {}|base64 -d -i"`
echo $result | pbcopy
echo -e "$result" | jq | xmessage -file -
set -e
}
function scanqrfromclipboard {
xclip -o -selection clipboard -t image/png | zbarimg --raw /dev/stdin | xclip -selection clipboard
}
function urldecode {
python -c "import sys, urllib as ul; print ul.unquote_plus(sys.argv[1])" "$1"
}
function urlencode {
python -c "import sys, urllib as ul; print ul.quote_plus(sys.argv[1])" "$1"
}
function promptbase64decodetocopy {
export TEXT=`zenity --entry --title="Text to encode" | tr -d '\n'`
if [ "$TEXT" = "" ]; then
export TEXT=`pbpaste`
fi
echo "$TEXT" | tr -d '\n\r' | base64 -d - | pbcopy
}
function promptbase64tocopy {
export TEXT=`zenity --entry --title="Text to encode" | tr -d '\n'`
if [ "$TEXT" = "" ]; then
export TEXT=`pbpaste`
fi
echo "$TEXT" | base64 - | tr -d '\n' | pbcopy
}
function promptencodetocopy {
export TEXT=`zenity --entry --title="Text to encode" | tr -d '\n'`
if [ "$TEXT" = "" ]; then
export TEXT=`pbpaste`
fi
urlencode "$TEXT" | pbcopy
}
function promptdecodetocopy {
export TEXT=`zenity --entry --title="Text to decode" | tr -d '\n'`
if [ "$TEXT" = "" ]; then
export TEXT=`pbpaste`
fi
urldecode "$TEXT" | pbcopy
}
function autotypequick {
export TEXT=$(pbpaste|sed 's/\\/\\\\/g' | sed 's/$/\\n/g')
TEXT=${TEXT::-2}
sleep 2;
xvkbd -delay 0 -text "$TEXT"
}
function autotypenormal {
export TEXT=$(pbpaste|sed 's/\\/\\\\/g' | sed 's/$/\\n/g')
TEXT=${TEXT::-2}
sleep 2;
xvkbd -text "$TEXT"
}
if [ $# -eq 0 ]; then
echo "conversio"
echo "---"
echo "Edit cheat | iconName=geidt bash='$0 opencheat' terminal=false"
echo "---"
echo "QRFromClipboardText | iconName=camera bash='$0 createqrfromclipboard' terminal=false"
echo "QRScanClipboardImage | iconName=camera bash='$0 scanqrfromclipboard' terminal=false"
echo "---"
echo "URLEncode | iconName=gedit bash='$0 promptencodetocopy' terminal=false"
echo "URLDecode | iconName=gedit bash='$0 promptdecodetocopy' terminal=false"
echo "---"
echo "Base64Encode | iconName=gedit bash='$0 promptbase64tocopy' terminal=false"
echo "Base64Decode | iconName=gedit bash='$0 promptbase64decodetocopy' terminal=false"
echo "JWTDecode | iconName=gedit bash='$0 jwtdecode' terminal=false"
echo "---"
echo "autotypequick | iconName=gedit bash='$0 autotypequick' terminal=false"
echo "autotypenormal | iconName=gedit bash='$0 autotypenormal' terminal=false"
exit 0
else
$@
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment