#!/bin/sh # The famous "get a menu of emojis to copy" script. printhelp () { exit } while getopts "hd:" o; do case "${o}" in d) ARGS="$ARGS$OPTARG " ;; *) printhelp ;; esac done if [ -n "$WAYLAND_DISPLAY" ]; then DMENU="tofi" DEFARGS="-c $HOME/.config/tofi/themes/dmenu_vertical" elif [ -n "$DISPLAY" ]; then DMENU="dmenu " DEFARGS="-l 10" else print "Can't tell if Wayland or X; what gives?\n" exit 1 fi # Get user selection via dmenu -i -l 30 from emoji file. chosen=$(cut -d ';' -f1 ~/.local/share/larbs/chars/* | $DMENU $DEFARGS $ARGS | sed "s/ .*//") # Exit if none chosen. [ -z "$chosen" ] && exit # If you run this command with an argument, it will automatically insert the # character. Otherwise, show a message that the emoji has been copied. if [ -n "$1" ]; then xdotool type "$chosen" else printf "$chosen" | xclip -selection clipboard notify-send "'$chosen' copied to clipboard." & fi