Update tmux and add local bins
This commit is contained in:
parent
e58102cf1a
commit
f88286d60b
13 changed files with 184 additions and 3 deletions
66
local/bin/emoji-menu
Executable file
66
local/bin/emoji-menu
Executable file
|
|
@ -0,0 +1,66 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Emoji Menu
|
||||
#
|
||||
# Quickly find emojis and copy to clipboard.
|
||||
#
|
||||
#
|
||||
# To install:
|
||||
#
|
||||
# 1. Clean-up https://unicode.org/Public/emoji/11.0/emoji-test.txt
|
||||
# grep -Po '(?<= #).*'
|
||||
#
|
||||
# 2. Install xclip and rofi
|
||||
# sudo apt install xclip rofi
|
||||
#
|
||||
# 3. Assign to a keyboard combination
|
||||
# Try xbindkeys
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
# Emoji database location
|
||||
EMOJI_MENU_DB=${EMOJI_MENU_DB:-"$HOME/.emoji-menu-db"}
|
||||
|
||||
# Command to run after user chooses an emoji
|
||||
EMOJI_MENU_COMMAND=${EMOJI_MENU_COMMAND:-'xclip -selection clipboard'}
|
||||
|
||||
# Report usage
|
||||
usage() {
|
||||
echo "Usage: $(basename "$0") [-t | -c <command>] [-f <filepath> ]" 1>&2
|
||||
echo
|
||||
echo " -f <filepath> Use a custom emoji database."
|
||||
echo " -c <command> Apply a custom command to the emoji choice."
|
||||
echo " -t Simulate typing the emoji choice with the keyboard."
|
||||
echo
|
||||
exit "$1"
|
||||
}
|
||||
|
||||
# Type result using xdotool
|
||||
typeResult() {
|
||||
awk '{ print "type " $0 }' | xdotool -
|
||||
}
|
||||
|
||||
# Get Options
|
||||
while getopts ":c:f:th" o; do
|
||||
case "${o}" in
|
||||
f) EMOJI_MENU_DB="${OPTARG}" ;;
|
||||
c) EMOJI_MENU_COMMAND="${OPTARG}" ;;
|
||||
t) EMOJI_MENU_COMMAND=typeResult ;;
|
||||
h) usage 0 ;;
|
||||
*) usage 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Default DB
|
||||
if [ ! -e "$EMOJI_MENU_DB" ]; then
|
||||
wget -O "$EMOJI_MENU_DB" 'http://bit.ly/emoji-menu-db'
|
||||
fi
|
||||
|
||||
# Rofi can handle large inputs and emojis
|
||||
rofi -p '🔍' -width 610 -dmenu \
|
||||
< "$EMOJI_MENU_DB" \
|
||||
| grep -oP '^[^\s]+' \
|
||||
| tr -d '\n' \
|
||||
| ${EMOJI_MENU_COMMAND}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue