You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.7 KiB
54 lines
1.7 KiB
#!/usr/bin/env sh |
|
FORK="$2" |
|
|
|
if [ -n "$1" ] |
|
then |
|
# E.g. passed liked: sxmo_urlhandler.sh http://foo.com |
|
URL="$1" |
|
else |
|
# Surf |
|
WINDOW="$(xprop -root | sed -n '/^_NET_ACTIVE_WINDOW/ s/.* //p')" |
|
SURFURL="$(xprop -id "$WINDOW" | grep URI | awk '{print $3}' | sed 's/\"//g')" |
|
if [ -n "$SURFURL" ]; then |
|
URL="$SURFURL" |
|
fi |
|
|
|
# Is normal browser? (FF or Netsurf) - use Ctrl-L Ctrl-C to copy URL |
|
ISNORMBROWS="$(xprop -id "$(xdotool getactivewindow)" | grep -E 'WM_CLASS.*(Netsurf|Firefox)')" |
|
if [ -n "$ISNORMBROWS" ]; then |
|
xdotool key --clearmodifiers --delay 20 "ctrl+l" "ctrl+c" |
|
sleep 0.2 |
|
URL="$(xclip -o)" |
|
fi |
|
fi |
|
|
|
COMMAND=$( |
|
echo " |
|
Close Menu |
|
$(command -v w3m >/dev/null && echo 'w3m URL') |
|
$(command -v mpv >/dev/null && echo 'mpv -ao=alsa -v URL') |
|
$(command -v mpv >/dev/null && echo 'mpv -ao=alsa -v --ytdl-format='[height<420]' URL') |
|
$(command -v firefox >/dev/null && echo 'firefox -new-window URL') |
|
$(command -v netsurf >/dev/null && echo 'netsurf URL') |
|
$(command -v surf >/dev/null && echo 'surf URL') |
|
$(command -v echo >/dev/null && echo 'echo URL | xsel -i') |
|
$(command -v youtube-dl >/dev/null && echo 'youtube-dl -o- URL | mpv -ao=alsa -v -') |
|
$(command -v youtube-dl >/dev/null && echo 'youtube-dl URL') |
|
$(command -v curl >/dev/null && echo 'curl URL | vis -') |
|
$(command -v wget >/dev/null && echo 'wget URL') |
|
$(command -v aria2c >/dev/null && echo 'aria2c URL') |
|
" | |
|
sed "s/URL/'URL'/g" | |
|
sed -e '/^\s*$/d' | |
|
sed -e 's/^\s*//' | |
|
dmenu -fn Terminus-15 -p "Pipe URL" -c -l 20 |
|
) |
|
|
|
[ "$COMMAND" = "Close Menu" ] && exit 1 |
|
[ -z "$COMMAND" ] && exit 1 |
|
RUN=$(echo "$URL" | xargs -IURL echo "$COMMAND") |
|
if [ "$FORK" = fork ]; then |
|
st -e sh -c "$RUN" & |
|
else |
|
st -e sh -c "$RUN" |
|
fi
|
|
|