From 97de3720df47085413640d06c8fe059763c974c4 Mon Sep 17 00:00:00 2001 From: Toby Vincent Date: Fri, 3 Feb 2023 15:16:17 -0600 Subject: feat(rofi): add rofi-ykman for Yubikey TOTP --- rofi/.local/bin/rofi-ykman | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 rofi/.local/bin/rofi-ykman (limited to 'rofi') diff --git a/rofi/.local/bin/rofi-ykman b/rofi/.local/bin/rofi-ykman new file mode 100755 index 0000000..3d4ca99 --- /dev/null +++ b/rofi/.local/bin/rofi-ykman @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +# rofi-ykman +# Yubikey oath utility + +#2019 nukeop + +if [ ! "$(ykman info)" ]; then + notify-send "rofi-ykman" "Yubikey not detected." -a "rofi-ykman" + exit 1 +fi + +OPTIONS=$(ykman oath accounts list) +LAUNCHER="rofi -dmenu -i -p YubikeyOATH" + +option=$(echo "${OPTIONS/, TOTP/\n}" | $LAUNCHER) +code=$(ykman oath accounts code "$option") +IFS=', ' read -r -a code <<<"$code" +if [ "$XDG_SESSION_TYPE" == "wayland" ]; then + cliptool=wl-copy + typer="wtype -" +else + cliptool="xclip -selection clipboard" + typer="xargs xdotool type" +fi +if [ "$1" == "type" ]; then + action=$typer +else + action=$cliptool +fi + +notify-send "rofi-ykman" "Touch Yubikey..." -a "rofi-ykman" +echo "${code[-1]}" | $action -- cgit v1.2.3-70-g09d2