/Emote

Emoji Picker for Linux written in GTK3

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Emote

emote emote

Emote is a modern emoji picker for Linux 🚀. Written in GTK3, Emote is lightweight and stays out of your way.

Launch the emoji picker with the configurable keyboard shortcut Ctrl+Alt+E and select one or more emojis to have them be automatically pasted into your currently focused app.

Note - Emote under Wayland cannot automatically paste the emoji into other apps and also requires manual registering of a global keyboard shortcut - Hotkey In Wayland. This is due to intentional restrictions in the design of Wayland itself.

Installation

Get it from the Snap Store

or

sudo snap install emote

An unofficial build of Emote is also available in the AUR : https://aur.archlinux.org/packages/emote.

Guide

Launching

Emote runs in the background and automatically starts when you log in.

The emoji picker can be opened with either the keyboard shortcut or by clicking the app icon again.

Usage

Select an emoji to and have it be pasted to your currently focused app. The emoji will also be copied to your clipboard, so you can then paste the emoji wherever you need.

You can select multiple emojis by selecting them with right click.

Keyboard Shortcuts

Open Emoji Picker: Ctrl+Alt+E (configurable)

Select Emoji: Enter

Add Emoji to Selection: Shift+Enter

Focus Search: Ctrl+F

Next Emoji Category: Ctrl+Tab

Previous Emoji Category: Ctrl+Shift+Tab

Development

Requirements

Install development libraries:

sudo apt install xdotool libgtk-3-dev libgirepository1.0-dev python3-venv gir1.2-keybinder-3.0 libkeybinder-dev

Install pipenv:

sudo pip3 install pipenv

Install dependencies:

make install

Running

Run the development version:

make dev

Debugging GTK3 with GtkInspector

Enable debug keybinding:

gsettings set org.gtk.Settings.Debug enable-inspector-keybinding true

Launch app in debug mode with interactive inspector:

make dev-debug

Packaging

Ensure you have snapcraft installed:

sudo snap install --classic snapcraft

Create a packaged .snap file:

make package

Publishing

First, ensure a git tag for the current version has been pushed.

Ensure you are logged in to snapcraft:

snapcraft login

Push the packaged snap to the edge channel on the snap store.

snapcraft push --release=edge <path to .snap>

Attribution

Emoji data is sourced from https://raw.githubusercontent.com/hfg-gmuend/openmoji/master/data/openmoji.csv which is compiled by the lovely people at https://openmoji.org.