From caa7bcc03f183567325bc286478960003526f850 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Sat, 27 Feb 2021 23:43:08 +0800 Subject: [PATCH] Delete 20210201 Use Mac-style emoji on Linux.md --- .../20210201 Use Mac-style emoji on Linux.md | 74 ------------------- 1 file changed, 74 deletions(-) delete mode 100644 sources/tech/20210201 Use Mac-style emoji on Linux.md diff --git a/sources/tech/20210201 Use Mac-style emoji on Linux.md b/sources/tech/20210201 Use Mac-style emoji on Linux.md deleted file mode 100644 index 81c80366bc..0000000000 --- a/sources/tech/20210201 Use Mac-style emoji on Linux.md +++ /dev/null @@ -1,74 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: ( ) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (Use Mac-style emoji on Linux) -[#]: via: (https://opensource.com/article/21/2/emoji-linux) -[#]: author: (Matthew Broberg https://opensource.com/users/mbbroberg) - -Use Mac-style emoji on Linux -====== -Splatmoji provides an easy way to spice up your communication with -emoji. -![Emoji keyboard][1] - -Linux provides an amazing desktop experience by default. Although advanced users have the flexibility to choose their own [window manager][2], the day-to-day flow of Gnome is better than ever since the [GNOME 3.36 improvements][3]. As a long-time Mac enthusiast turned Linux user, that's huge. - -There is, however, one shortcut I use every day on a Mac that you won't find by default on Linux. It's a task I do dozens of times a day and an essential part of my digital communication. It's the emoji launcher. - -You might laugh when you see that, but stick with me. - -Most communication includes body language, and experts estimate upwards of 80% of what people remember comes from it. According to Advancement Courses' [History of emoji][4], people have been using "typographical art" since the 1800s. It's indisputable that in 1881, _Puck Magazine_ included four emotional faces for joy, melancholy, indifference, and astonishment. There is some disagreement about whether Abraham Lincoln's use of a winking smiley face, `;)`, in 1862 was a typo or an intentional form of expression. I could speculate further back into hieroglyphics, as this [museum exhibit][5] did. However you look at it, emoji and their ancestorial predecessors have conveyed complex human emotion in writing for a long time. That power is not going away. - -Macs make it trivial to add these odd forms of expression to text with a shortcut to insert emoji into a sentence quickly. Pressing **Cmd**+**Ctrl**+**Space** launches a menu, and a quick click completes the keystroke. - -GNOME does not (yet) have this functionality by default, but there is open source software to add it. - -## My first attempts at emoji on Linux - -So how can you add emoji-shortcut functionality to a Linux window manager? I began with trial and error. I tried about a dozen different tools along the way. I found [Autokey][6], which has been a great way to insert text using shortcuts or keywords (and I still use for that), but the [emoji extension][7] did not render for me (on Fedora or Pop!_OS). I hope one day it does, so I can use colon notation to insert emoji, like `:+1:` to get a 👍️. - -It turns out that the way emoji render and interact with font choices throughout a window manager is nontrivial. Partway through my struggle, I reached out to the GNOME emoji team (yes, there's a [team for emoji][8]!) and got a small taste of its complexity. - -I did, however, find a project that works consistently across multiple Linux distributions. It's called Splatmoji. - -## Splatmoji for inserting emoji - -[Splatmoji][9] lets me consistently insert emoji into my Linux setup exactly like I would on a Mac. Here is what it looks like in action: - -![Splatmoji scroll example][10] - -(Matthew Broberg, [CC BY-SA 4.0][11]) - -It's written in Bash, which is impressive for all that it does. Splatmoji depends on a pretty interesting toolchain outside of Bash to avoid a lot of complexity in its main features. It uses: - - * **[rofi][12]** to provide a smooth window-switcher experience - * [**xdotool**][13] to input the keystrokes into the window - * [**xsel**][14] or [**xclipboard**][15] to copy the selected item - * [**jq**][16], a JSON processor, if JSON escaping is called - - - -Thanks to these dependencies, Splatmoji is a surprisingly straightforward tool that calls these pieces in the right order. - -## Set up Splatmoji - -Splatmoji offers packaged releases for dnf and apt-based systems, but I set it up using the source code to keep up with the latest updates to the project: - - -``` -# Go to whatever directory you want to store the source code. -# I keep everything in a ~/Development folder, and do so here. -# Note that `mkdir -p` will make that folder if you haven't already. -$ mkdir -p ~/Development -$ cd ~/Development -$ git clone -$ cd splatmoji/ -``` - -Install the requirements above using the syntax for your package manager. I usually use [Homebrew][17] and add `/home/linuxbrew/.linuxbrew/bin/` to my path, but I will use `dnf` for this example: - - -``` -`$ sudo dnf install rofi xdoto \ No newline at end of file