#!/usr/bin/env bash
#
#   Use rofi to pick emoji because that's what this
#   century is about apparently...
#
#   Requirements:
#     rofi, xsel, xdotool, curl, xmllint
#
#   Usage:
#     1. Download all emoji
#        $ rofi-emoji --download
#
#     2. Run it!
#        $ rofi-emoji
#
#   Notes:
#     * You'll need a emoji font like "Noto Emoji" or "EmojiOne".
#     * Confirming an item will automatically paste it WITHOUT
#       writing it to your clipboard.
#     * Ctrl+C will copy it to your clipboard WITHOUT pasting it.
#

# Where to save the emojis file.
UNICODE_FILE="$(dirname "$0")/unicode.txt"


function notify() {
	if [ "$(command -v notify-send)" ]; then
		notify-send "$1" "$2"
	fi
}


function display() {
	emoji=$(cat "$UNICODE_FILE" | grep -v '^[[:space:]]*$')
	line=$(echo "$emoji" | dmenu -i -p Unicode -kb-custom-1 Ctrl+c $@)
	exit_code=$?

	line=($line)

	if [ $exit_code == 0 ]; then
		xdotool type --clearmodifiers "${line[0]}"
	elif [ $exit_code == 10 ]; then
		echo -n "${line[0]}" | /usr/bin/xclip -i -selection clipboard

	fi
}



# display displays :)
display