summaryrefslogtreecommitdiff
path: root/dmenuunicode
blob: ef7a63dfd135a4e2de9f824f9e153d2875bdaf0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/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