Skip to content

jchook/emoji-menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎩 Emoji Menu

Easily find and copy emojis on Linux. πŸ₯³

Demo

✨ Install

Simply install emoji-menu to your $PATH:

wget 'https://raw.githubusercontent.com/jchook/emoji-menu/master/bin/emoji-menu'
chmod +x emoji-menu
sudo mv emoji-menu /usr/local/bin

Be sure to install the dependencies as well

# For non-Debian, replace apt with your package manager (e.g. yum)
sudo apt install rofi xclip xdotool wget grep coreutils
  • rofi works like dmenu, but supports large input.
  • xclip lets us copy to clipboard.
  • xdotool lets us type the result.
  • You already have wget, grep, and coreutils.

πŸ‘¨β€πŸŽ€ Emojis

By default the program automatically downloads all emojis on first run.

The $EMOJI_MENU_DB environment variable defaults to ~/.emoji-menu-db.

To customize, store one emoji per line with its keywords, e.g.

✨ sparkles stars magic
πŸ§™ mage wizard magician
🌍 globe earth europe africa

Pretty simple! You can add other strings too. They don't have to be emojis.

If you do not want to automatically download emojis, you can create your own $EMOJI_MENU_DB file (defaults to ~/.emoji-menu-db). For example, to download emojis from the official source and remove skin tone variations:

curl "https://unicode.org/Public/emoji/11.0/emoji-test.txt" \
  | grep -Po '(?<=   # ).*' \
  | grep -v 'skin tone' \
  > "$HOME/.emoji-menu-db"

πŸ§™ Options

When invoking emoji-menu, you may pass the following options:

  • -f <filename> - Use a custom emoji database
  • -c <command> - Run a custom command on emoji choices
  • -t - Simulate typing the emoji choice using the keyboard

*️⃣ Hotkeys

You definitely want emoji-menu on a hotkey.

In the examples below, I assign Mod + Ctrl + x.

Generic

For a solution that works on most window managers, try xbindkeys. In your config:

"emoji-menu"
  control+alt + x

Xmonad

If you use Xmonad as your window manager, set keys config like so:

  -- Emoji Menu
 , ((modMask .|. controlMask, xK_x),
    spawn "emoji-menu")

i3wm

For i3 add a bindsym to your config:

bindsym $mod+Control+x emoji-menu

Other

If none of the above works for you, please open an issue.

❀️ Thank you

Thank you for checking out emoji-menu. I enjoy using it and hope you do too.

πŸ“– License

Copyright 2019 Zinc Innovations, LLC.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.