Easily find and copy emojis on Linux. π₯³
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
, andcoreutils
.
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"
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
You definitely want emoji-menu
on a hotkey.
In the examples below, I assign Mod + Ctrl + x.
For a solution that works on most window managers, try xbindkeys. In your config:
"emoji-menu"
control+alt + x
If you use Xmonad as your window manager, set keys config like so:
-- Emoji Menu
, ((modMask .|. controlMask, xK_x),
spawn "emoji-menu")
For i3 add a bindsym to your config:
bindsym $mod+Control+x emoji-menu
If none of the above works for you, please open an issue.
Thank you for checking out emoji-menu
. I enjoy using it and hope you do too.
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.