From 510b0481e3dd2668783b4f664772d242b8d4abba Mon Sep 17 00:00:00 2001 From: A Farzat Date: Thu, 24 Oct 2024 23:02:13 +0900 Subject: Add dmenu scripts to handle links and emails --- bin/dmenu/linkhandler | 103 ++++++++++++++++++++++++++++++++++++++++++++++++ bin/dmenu/mailtohandler | 68 ++++++++++++++++++++++++++++++++ 2 files changed, 171 insertions(+) create mode 100755 bin/dmenu/linkhandler create mode 100755 bin/dmenu/mailtohandler (limited to 'bin') diff --git a/bin/dmenu/linkhandler b/bin/dmenu/linkhandler new file mode 100755 index 0000000..cb45727 --- /dev/null +++ b/bin/dmenu/linkhandler @@ -0,0 +1,103 @@ +#!/usr/bin/env bash + +cache_dir="${XDG_CACHE_HOME:-$HOME/.cache}/linkhandler" +store_file="$cache_dir/store" +[ -d "$cache_dir" ] || mkdir -p "$cache_dir" +if [ -f "$store_file" ]; then + mapfile -d '' store_urls < "$store_file" + urls=( "${store_urls[@]}" "$@" ) +else + urls=( "$@" ) +fi + +command="$(dmenu -p "${#urls[@]} $(printf "%.50s" "${1#*://}")..." <> "$HOME/Syncthing/Markor/laptop_share.md" + ;; + store) + for link in "${urls[@]}" + do printf "%s\0" "$link" + done > "$store_file" + exit + ;; + store_clear) + ;; + *) + exit +esac + +[ -f "$store_file" ] && rm "$store_file" diff --git a/bin/dmenu/mailtohandler b/bin/dmenu/mailtohandler new file mode 100755 index 0000000..b6af091 --- /dev/null +++ b/bin/dmenu/mailtohandler @@ -0,0 +1,68 @@ +#!/usr/bin/env bash + +cache_dir="${XDG_CACHE_HOME:-$HOME/.cache}/mailtohandler" +store_file="$cache_dir/store" +[ -d "$cache_dir" ] || mkdir -p "$cache_dir" +if [ -f "$store_file" ]; then + mapfile -d '' store_urls < "$store_file" + urls=( "${store_urls[@]}" "$@" ) +else + urls=( "$@" ) +fi + +command="$(dmenu -p "${#urls[@]} emails $(printf "%.50s" "${1#mailto:}")..." <> "$abook_file" < "$store_file" + exit + ;; + store_clear) + ;; + *) + exit +esac + +[ -f "$store_file" ] && rm "$store_file" +exit 0 -- cgit v1.2.3-70-g09d2