summaryrefslogtreecommitdiff
path: root/dmenuunicode
blob: 1358fadaf1b90f971661f7fda4c9227320f6a979 (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
39
40
#!/bin/sh

# The famous "get a menu of emojis to copy" script.

printhelp () {
  exit
}

while getopts "hwxd:" o; do case "${o}" in
  w) DMENU="bemenu" ;;
  x) DMENU="dmenu" ;;
  d) ARGS="$ARGS$OPTARG " ;;
  *) printhelp ;;
esac done

if [ -z "$DMENU" ]; then
  if [ -n "$WAYLAND_DISPLAY" ]; then
    DMENU="bemenu"
  elif [ -n "$DISPLAY" ]; then
    DMENU="dmene"
  else
    print "Can't tell if Wayland or X; what gives?\n"
    exit 1
  fi
fi

# Get user selection via dmenu -i -l 30 from emoji file.
chosen=$(cut -d ';' -f1 ~/.local/share/larbs/chars/* | $DMENU -l 10 $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