• Stars
    star
    282
  • Rank 146,549 (Top 3 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 8 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Type emoji easily! Virtual keyboard-like emoji palette for Linux with [fewer] of features.

Emoji keyboard

Story Time

TL,DR I can no longer maintain this app. I'm releasing an updated version that will continue working for a while, but it'd be nice if someone took up maintenance.

Hello, there! I'm Tomas and I wrote emoji-keyboard years ago. I was annoyed how using emoji on Linux involved a lot of copy-pasting. Not that I was a heavy emoji user, mind you. However, as emoji became more and more mainstream, not using them at all was becoming impossible. So I begrudgingly wrote a little Python/GTK app in an afternoon and released it in case somebody else had similar feelings on the matter.

It was always an afterthought to maintain this app, and GTK soon proved to be too much of a PITA. So I rewrote it in Angular/Electron with a Python sidecar for system interface. That limited the adoption of the app as many folk have irrational hate for all things Electron.

Also, since Linux at the time had no support for color emoji, I included several graphical emoji sets to give an idea of how others are going to see what you type. That had the downside of making binaries very large. Angular, which I picked without much forethought turned out to be a PITA as well, so I neglected the app for a long while. It worked fine for me, but GitHub collected a bit of a backlog of issues.

So last spring (2022) I decided to rethink and rewrite the app, so it wouldn't need much maintenance and to address at least some of the outstanding issues.

I decided to switch out Electron for Tauri, Angular for React (Native/Expo), and to drop sidecar completely. Since most (all?) Linux distros now natively support color emoji and even allow switching system emoji font, there were no longer any need to include graphics. All of the above resulted in much smaller bundle, lower resource usage, and more responsive app. I can also fix bugs in React, without developing a massive headache Angular used to give me. Tauri allowed to replace a massive sidecar and complex Electron main script with third party native dependencies and just a couple lines of Rust. Third party means I don't have to maintain them!

All good, right? Unfortunately real life got very hectic around the same time and I forgot to actually release this version, I didn't even push it to GitHub. Now things have settled down, but I no longer use Linux for work reasons. So I'm releasing the much improved and simplified new version and calling for someone to take up maintenance! I can walk you through the code any weekend that would suit you and give you write access to the repo. If you're interested, contact me here, by email, or any way you deem suitable.

It took a bit of work to make sure this compiles and runs after system updates, but if you use Ubuntu, this should continue working at least until next LTS.

Usage

Since the version of Tauri I used had issues with global shortcuts, I decided to return to the old mechanic of manually assigning shortcut in your desktop environment's settings.

Launching the app brings up the palette, closing the window puts it in the tray. Launching the app again simply brings up the window of a running instance. First launch may be a little slow, but as it stays in memory afterwards, subsequent launches will be instant.

The interface should be pretty intuitive, up/down arrows to select emoji, typing to search. Right/left arrows just move the cursor in the search box, this could be improved. Enter types selected emoji in the focused app. Or just use the mouse. If you want to browse emoji by category, you'll have to use the mouse, didn't have the time to implement Ctrl-Tab.

There are also some settings. You can enable shortcode overlay over selected emoji, if you also enable expansion, typing the shortcode will instantly replace it with that emoji.

License

I'm releasing the new version under MIT. I've come to dislike GPL and I want to give as much freedom to users and hackers as possible. Hack away!

More Repositories

1

mopidy-ytmusic

Mopidy extension for playling music/managing playlists in Youtube Music
Python
79
star
2

klembord

Full toolkit agnostic cross-platform clipboard access.
Python
29
star
3

Joy2DroidX-server

[ARCHIVED] Use your Android phone as a virtual Xbox 360 controller or DualShock 4 gamepad on your Windows or Linux PC. This is the server that runs on Windows or Linux.
Python
25
star
4

xpander

[ARCHIVED] A Text Expander inspired text macro app for Windows and Linux.
TypeScript
20
star
5

savage

A different kind of SVG editor.
TypeScript
16
star
6

Joy2DroidX

[ARCHIVED] Use your Android phone as a Xbox 360 or DualShock 4 gamepad on your Windows or Linux PC. This is the android client.
TypeScript
13
star
7

winnotify

C extension to show native Windows notifications.
C
12
star
8

screamingvoid

Void Messenger. Decentralized. Private. Secure.
TypeScript
10
star
9

hifinder

[ARCHIVED] Find higher res versions of local images from command line, using Google reverse image search
JavaScript
9
star
10

python-libinput

[LOOKING FOR MAINTAINER] Object-oriented wrapper for libinput using ctypes.
Python
7
star
11

hyperswarm

React-Native build of Hyperswarm and dependencies
C
6
star
12

macpy

Cross-platform, simple (and complex) [mac]ros and GUI automation for [py]thon
Python
6
star
13

void-network

TypeScript
4
star
14

gris

[ARCHIVED] Reverse image search module with rich results using Google
TypeScript
3
star
15

mfcc-wasm

A WASM implementation of MFCC using KissFFT and LibMFCC
JavaScript
3
star
16

liepa-tts

Python bindings for Lithuanian speech synthesizer made by the LIEPA project
C
2
star
17

webrtc-swarm-experiment

TypeScript
2
star
18

Nativescript-ServiceExample

An example project demonstrating how to implement continuosly running service in nativescript android.
JavaScript
1
star
19

OzymandiasTheGreat

My personal repo.
1
star
20

hedwigg

A simple and elegant, cross-platform, ebook reader inspired by Google Play Books on Android
TypeScript
1
star
21

ginger

An easy to use, sleek and modern client for MPD/Mopidy
TypeScript
1
star