Type emoji easily! Virtual keyboard-like emoji palette for Linux with lots of features.

Overview

Emoji keyboard

Virtual keyboard-like emoji palette for Linux.


If you find this software useful,

please Donate


Emoji support on Linux is shaky at best. Modern distributions finally support displaying color emoji, but using emoji is inconsistent and inconvenient.

Enter emoji-keyboard! Press a hotkey (default Ctrl+Super+Space) or choose Palette from app indicator and an emoji palette opens. Then just click on emoji you want to use and watch them appear in the active application!

Tip: hold shift when using the terminal and you can type emoji into the terminal

Tip: you can choose to copy emoji into the clipboard instead in the Preferences

Easy.

Not sure which emoji to use? Press Ctrl+Super+F or choose Search from app indicator and you can search emoji by name, short code or emoticon.

Tip: don't want to use mouse after searching? Press up/down arrows and Enter to type

Got emoji you use frequently? Memorize short code (you can see it when hovering emoji in the palette) and then just type it and watch it be replaced by the emoji.

Tip: you can disable this feature in Preferences. It doesn't play well with Firefox

And of course there's eye-candy. Choose emoji set you prefer or app and panel themes to match your system.

emoji-keyboard won't start!

First try running it in the terminal.

You'll probably see something about sandbox helper and permissions. That's a known electron bug.

To work around it simply append --no-sandbox flag when starting emoji-keyboard such as

./emoji-keyboard --no-sandbox

Do not worry, as emoji-keyboard doesn't load any remote resources, sandbox can be safely disabled.

Relevant bug here.

Credits and License

emoji-keyboard is release under GPLv3 or later license.

© 2020 Ozymandias (Tomas Ravinskas)

Based on the Angular-Electron template by Maxime Gris.

Emoji artwork and metadata provided by:

Blobmoji by Google Inc. and is licensed under Apache-2.0

Emoji Two by Ranks.com and is licensed under CC-BY-4.0.

Noto emoji by Google Inc. and is licensed under Apache-2.0

Twemoji by Twitter and is licensed under CC-BY-4.0

Openmoji by openmoji.org and is licensed under CC-BY-SA-4.0

Installation

Grab AppImage from releases page and just run it!

Feedback is always WELCOME

Building

You'll need Python 3.6, Poetry, Node 12 and latest NPM.

I use Poetry to manage Python bits, so you'll need it installed to build/run from source.

First setup environment and install dependencies:

python3 -m venv .venv
source .venv/bin/activate
poetry install
npm install

Then to run from source simply run:

npm start

To build AppImage:

npm run electron:linux

AppImage will be located under dist/release.

Issues
  • When clicking an emoji, it just pasted whatever's in the clipboard

    When clicking an emoji, it just pasted whatever's in the clipboard

    On Kubuntu 14.04, installed both from source and from Debian package, both have the same effect. Choosing any emoji has the same effect as Ctrl+V, whatever was in the clipboard before is pasted to where the cursor is.

    bug 
    opened by sahmes 17
  • Emoji 4.0/5.0 support?

    Emoji 4.0/5.0 support?

    I am using 2.3.0 and I cannot find any emojis in Emoji 4.0 (https://emojipedia.org/emoji-4.0/) and Emoji 5.0 (https://emojipedia.org/emoji-5.0/). I can find the technologist, the ufo, sauropod.

    opened by orsonteodoro 14
  • AppImage crashes on launch (Javascript error)

    AppImage crashes on launch (Javascript error)

    Running Pop! OS 18.04, based on Ubuntu 18.04 with Gnome as window manager.

    Both 3.0.0rc0 and 3.0.0rc1 appimages crash with the same error:

    A JavaScript error occurred in the main process

    TypeError: Error processing argument at index 0, conversion failure from src/assets/icons/icon-dark-48.png
        at lpcMainImpl.<anonymous> (/tmp/.mount_emoji-ACLzo3/resources/app.asar/main.js:146:15
        at lpcMainImpl.emit (events.js:210:5)
        at WebContents.<anonymous> (electron/js2c/browser_init.js:3839:15)
        at WebContents.emit (events.js:210:5)
    

    This error persists after reboot.

    opened by joyeusenoelle 13
  • Emojis are huge on a HiDPI desktop

    Emojis are huge on a HiDPI desktop

    I have a HiDPI screen, and the keyboard is rather inconvenient on it, having only two rows of huge emojis: image

    From the other screenshots I see 4 rows of emojis on screens with normal resolution.

    opened by arty-name 10
  • "On selecting emoji: Type" not working for me

    Does not insert emoji into the focused application. I still have to paste it in. Seems to do the same thing as "Copy".

    Linux Mint 18.2 Mate Edition.
    opened by istrasci 9
  • Running app-image not working

    Running app-image not working

    When I run the appimage nothing happens. Looking at the log I see the following error:

    2021-01-11T13:30:09.966Z - "Exception in thread XLayout monitor:"
    2021-01-11T13:30:09.966Z - "Traceback (most recent call last):"
    2021-01-11T13:30:09.966Z - "  File \"/usr/lib/python3.9/threading.py\", line 954, in _bootstrap_inner"
    2021-01-11T13:30:09.967Z - "    self.run()"
    2021-01-11T13:30:09.968Z - "  File \"/home/axel/.shiv/main_50ca6fe236f9b3f6c5dfc82416823f15338b2e6756f17277e6365e1ffbe715c2/site-packages/macpy/interface/xhelper.py\", line 320, in run"
    2021-01-11T13:30:09.969Z - "    if self.layout != self.layouts[0]:"
    2021-01-11T13:30:09.970Z - "IndexError: tuple index out of range"
    
    opened by AckslD 7
  • [Feature request] Close window on Escape

    [Feature request] Close window on Escape

    It would be very convenient if the main floating window would close when pressing the escape key :).

    opened by erikw 7
  • Emoji-keyboard fails to start

    Emoji-keyboard fails to start

    emoji-keyboard fails to start; it doesn't recognise one of the emoji files included:

    $ emoji-keyboard 
    Lockfile found but the process is not running.
    Lockfile removed
    Traceback (most recent call last):
      File "/usr/bin/emoji-keyboard", line 22, in <module>
        shared.emoji = egtk.Emoji()
      File "/usr/lib/python3.8/site-packages/emoji_keyboard/emoji_gtk.py", line 128, in __init__
        model = self.load_emoji()
      File "/usr/lib/python3.8/site-packages/emoji_keyboard/emoji_gtk.py", line 175, in load_emoji
        pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_scale(
    gi.repository.GLib.Error: gdk-pixbuf-error-quark: Couldn’t recognise the image file format for file “/usr/lib/python3.8/site-packages/emoji_keyboard/data/emojitwo/1f600.svg” (3)
    

    Any hints as to how I can debug this?

    wontfix 
    opened by WhyNotHugo 6
  • startup failure: sandbox helper error (rc0 & rc1)

    startup failure: sandbox helper error (rc0 & rc1)

    ./emoji-keyboard-3.0.0-rc0.AppImage [16018:0317/093152.361600:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /tmp/.mount_emoji-iEHbBB/chrome-sandbox is owned by root and has mode 4755. Trace/breakpoint trap ./emoji-keyboard-3.0.0-rc1.AppImage [16048:0317/093158.235476:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /tmp/.mount_emoji-7j7qau/chrome-sandbox is owned by root and has mode 4755. Trace/breakpoint trap

    System: Debian 9

    opened by steckerhalter 5
  • JavaScript Error at first startup.

    JavaScript Error at first startup.

    At startup, I encountered this error: error Immediately after the first, there was a second one: image ...and on selecting an emoji, the app encountered a third one: image (which apparently is the same as the second one).


    OS: Ubuntu 20.04LTS

    opened by aakashsinghbais 5
  • Application doesn't launch

    Application doesn't launch

    I am currently trying to run the application via AppImage on Arch Linux, but it simply does not launch. There is no error outputted, and python.log is empty. The only output given is a warning about a deprecated default variable in electron.

    opened by nkenschaft 3
  • Emoji-keyboard not running

    Emoji-keyboard not running

    I installed the package from the aur, however it will not launch when I try to run it from the command line, instead it sits at the command line and gives no errors. Once I stop it from running it produces the error:

    Traceback (most recent call last): File "/usr/bin/emoji-keyboard", line 16, in shared.command = lib.Command() # Parse command line flags and decide File "/usr/lib/python3.9/site-packages/emoji_keyboard/emoji_lib.py", line 89, in init shared.connection.send('show_keyboard') File "/usr/lib/python3.9/site-packages/emoji_keyboard/emoji_lib.py", line 171, in send connection = Client(self.address, authkey=self.auth) File "/usr/lib/python3.9/multiprocessing/connection.py", line 507, in Client c = SocketClient(address) File "/usr/lib/python3.9/multiprocessing/connection.py", line 635, in SocketClient s.connect(address)

    edit: clarity on issue
    
    opened by Breadleaf 2
  • [Feature request] Add option to close the keyboard after clicking one Emoji

    [Feature request] Add option to close the keyboard after clicking one Emoji

    At the moment you can open the keyboard e.g. with emoji-keyboard -k and you can close it with the same command, also works fine as a keyboard shortcut.

    An option to auto-close the keyboard after inserting a single emoji would be nice.

    opened by Noxmiles 2
Releases(3.1.1)
Owner
Tomas Ravinskas
Fueled by coffee.
Tomas Ravinskas
Type emoji easily! Virtual keyboard-like emoji palette for Linux with lots of features.

Emoji keyboard Virtual keyboard-like emoji palette for Linux. If you find this software useful, please Emoji support on Linux is shaky at best. Modern

Tomas Ravinskas 236 Jun 2, 2021
TMSU lets you tags your files and then access them through a nifty virtual filesystem from any other application.

Overview TMSU is a tool for tagging your files. It provides a simple command-line utility for applying tags and a virtual filesystem to give you a tag

Paul Ruane 1.5k Jun 1, 2021
Predictive AI layer for existing databases.

Website | Docs | API Docs | Community forum MindsDB is an open-source AI layer for existing databases that allows you to effortlessly develop, train a

MindsDB Inc 3.8k Jun 7, 2021
🔥 Open source static (serverless) status page. Uses hyperfast Go & Hugo, minimal HTML/CSS/JS, customizable, outstanding browser support (IE8+), preloaded CMS, read-only API, badges & more.

Über fast, backwards compatible (IE8+), tiny, and simple status page built with Hugo. Completely free with Netlify. Comes with Netlify CMS, read-only

cState 1.3k Jun 5, 2021
Dude, where are my bytes: Duc, a library and suite of tools for inspecting disk usage

Duc is a collection of tools for indexing, inspecting and visualizing disk usage. Duc maintains a database of accumulated sizes of directories of the

Ico Doornekamp 419 Jun 3, 2021
Display and control your Android device

scrcpy (v1.17) Read in another language This application provides display and control of Android devices connected on USB (or over TCP/IP). It does no

Genymobile 49.4k Jun 4, 2021
Virtual Mailbox Administration

ViMbAdmin Virtual Mailbox Administration The ViMbAdmin project (vim-be-admin) provides a web based virtual mailbox administration system to allow mail

Open Solutions 448 May 9, 2021
Desktop client for the TinyTinyRSS feed reader.

FeedTheMonkey FeedTheMonkey is a desktop client for TinyTinyRSS. That means that it doesn't work as a standalone feed reader but only as a client for

Jeena Paradies 116 May 24, 2021
Graphical program used to map keyboard buttons and mouse controls to a gamepad. Useful for playing games with no gamepad support

antimicro ?? Important update ?? This repo is currently unmaintained. The code hasn't been updated for a while. But not all is lost, antimicro has a f

null 1.4k Jun 5, 2021
Self-hosted VirusTotal / MetaDefender wannabe with API, demo UI and Scanners running in Docker.

MalwareMultiScan Self-hosted VirusTotal / OPSWAT MetaDefender wannabe API for scanning URLs and files by multiple antivirus solutions. IMPORTANT: vers

Volodymyr Smirnov 233 Jun 6, 2021
🎧 Kaku is a highly integrated music player supports different online platform like YouTube, SoundCloud, Vimeo and more. Available on Mac, Windows and Linux.

Kaku Kaku is a highly integrated music player that supports different online platforms like YouTube, SoundCloud, Vimeo and more. Available on Windows,

Chia-Lung Chen 1k Jun 2, 2021
⚓️ Anchr provides you with a toolbox for tiny tasks on the internet, especially bookmark collections

Anchr - Image uploads, bookmarks and shortlink service Anchr is a useful little helper or toolbox or the like for common tasks on the internet. It com

Ferdinand Mütsch 73 Jun 2, 2021
Scalable PaaS (automated Docker+nginx) - aka Heroku on Steroids

CapRover Easiest app/database deployment platform and webserver package for your NodeJS, Python, PHP, Ruby, Go applications. No Docker, nginx knowledg

CapRover 7.2k Jun 5, 2021
Multi-platform app that allows your devices to communicate

KDE Connect - desktop app KDE Connect is a multi-platform app that allows your devices to communicate (eg: your phone and your computer). (Some) Featu

KDE GitHub Mirror 1.1k Jun 7, 2021