From 46152f92e746fc1a76f02f7ac1a6309b43892e95 Mon Sep 17 00:00:00 2001 From: Jonathan Hodgson Date: Fri, 22 May 2020 13:35:43 +0100 Subject: [PATCH] Adds ippsec fzf script --- bin/.bin/dmenu/ippsec | 24 ++++++++++++++++++++++++ bin/.bin/dmenu/open-youtube | 13 +++++++++---- 2 files changed, 33 insertions(+), 4 deletions(-) create mode 100755 bin/.bin/dmenu/ippsec diff --git a/bin/.bin/dmenu/ippsec b/bin/.bin/dmenu/ippsec new file mode 100755 index 00000000..3028a2e0 --- /dev/null +++ b/bin/.bin/dmenu/ippsec @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +buildURL(){ + if [ -n "$1" ]; then + in="$1" + else + in="$(cat -)" + fi + id="$(echo "$in" | cut -d ' ' -f 1)" + mins="$(echo "$in" | cut -d ' ' -f 4)" + secs="$(echo "$in" | cut -d ' ' -f 5)" + seconds="$(( $mins * 60 + $secs ))" + echo -e "https://youtube.com/watch?v=$id&t=$seconds" +} +export -f buildURL + +url="$(curl https://ippsec.rocks/dataset.json 2>/dev/null |\ + jq -cM '[.[] | {machine:.machine,ID:.videoId,mins:.timestamp.minutes,secs:.timestamp.seconds,line:.line}]' |\ + jq -r '(map(keys) | add | unique) as $cols | map(. as $row | $cols | map($row[.])) as $rows | $cols, $rows[] | @tsv' |\ + fzf -d ' ' --with-nth '3,2' --header-lines 1 --preview-window 'up:1' --preview 'bash -c '\''buildURL "$0"'\'' {}' |\ + buildURL)" + +open-youtube "$url" + diff --git a/bin/.bin/dmenu/open-youtube b/bin/.bin/dmenu/open-youtube index 04f61b9a..0ea49aab 100755 --- a/bin/.bin/dmenu/open-youtube +++ b/bin/.bin/dmenu/open-youtube @@ -1,14 +1,19 @@ #!/bin/bash -url="$1" +isxclient=$( readlink /dev/fd/2 | grep -q 'tty' && [[ -n $DISPLAY ]] ; echo $? ) +if [[ ! -t 2 || $isxclient == "0" ]]; then + DMENU="rofi -dmenu -p" +else + DMENU="fzf --prompt" +fi -notify-send "Opening Video" "$url" +url="$1" if [ -z "$url" ]; then - url=$(rofi -dmenu -p 'URL') + url=$($DMENU 'URL') fi -code=$(youtube-dl "$url" -F | sed -n '/format code/,$ p' | tail -n +2 | rofi -dmenu -p Quality | awk '{print $1}') +code=$(youtube-dl "$url" -F | sed -n '/format code/,$ p' | tail -n +2 | $DMENU Quality | awk '{print $1}') mpv "$url" --ytdl-format="$code"