diff options
-rw-r--r-- | Makefile | 2 | ||||
-rwxr-xr-x | choose | 7 | ||||
-rwxr-xr-x | copy_start_nevermind.sh | 15 |
3 files changed, 24 insertions, 0 deletions
@@ -33,3 +33,5 @@ install: all install search $(PREFIX)/bin/search install getsrv $(PREFIX)/bin/getsrv install urititle $(PREFIX)/bin/urititle + install -t $(PREFIX)/bin copy_start_nevermind.sh + install -t $(PREFIX)/bin choose @@ -0,0 +1,7 @@ +#!/bin/sh +### this script is meant to take a \n delimited list of things +### then give the user a way of selecting on of them. +### it should output the selection on a line by itself. +### and use $1 as the message to give to the user. +sed 's|,|\\,|g;s|:|\\:|g' | tr '\n' ',' | rev | cut -b2- | rev | tr '\n' '\0' | xargs -0 xmessage -nearmouse "$1" -print -buttons +#dmenu -p "$1" diff --git a/copy_start_nevermind.sh b/copy_start_nevermind.sh new file mode 100755 index 0000000..ec8f102 --- /dev/null +++ b/copy_start_nevermind.sh @@ -0,0 +1,15 @@ +#!/bin/bash +scheme="$(uricut -s <<< "$1")" +selection="$(printf "%s\ncopy\nstart\nnevermind\n" "$(printf "%s\n" "$1" | uricut | grep -v '^whole')" \ + | choose "$(printf "uri: '%s'\nwill be ran with: %s\n" "$1" "$(grep "^${scheme}:" ~/.config/uristart.conf | tr -s '\t' | cut -f2- )" )")" +echo "$selection" +if [ "$selection" = "copy" ];then + printf "%s" "$1" | xclip -i + exit 0 +fi +if [ "$selection" = "start" ];then + scheme="$(printf "%s\n" "$1" | uricut -s)" + exec uristart "$1" "$(xdotool getwindowfocus getwindowname)" + exit 0 +fi +exec printf "%s" "$selection" | cut '-d ' -f2- | xclip -i |