Profile
Back to NewsBack
GitHub Trending 4 min
Reader Mode
FelipeFTN/Emoji-Copy: 😄 Emoji copy is a versatile extension designed to simplify emoji selection and clipboard management.

FelipeFTN/Emoji-Copy: 😄 Emoji copy is a versatile extension designed to simplify emoji selection and clipboard management.

14 hours ago

Emoji Copy 😎

This GNOME shell extension provides a emoji search pop-up menu. 🚀
Want any emoji? It's right into your top bar!
This repo is a Fork from emoji-selector-for-gnome and was created for keeping the extension alive. Please feel free to use and contribute to this project. 😃

Features 🚀

  • keyboard shortcut to open the extension's menu (Super+. by default)
  • dynamic search (press Enter to copy the first result to the clipboard)
  • lots of configurable things
  • skin tone & gender modifiers
  • middle-click to set to the clipboard without closing the menu (or Ctrl+Enter)
  • right-click to add the emoji at the end of the current clipboard content (or Shift+Enter)
  • "Keep Open on Select" preference to keep the menu open after selecting an emoji, so you can pick several in a row
  • "Paste on Select" preference to automatically paste the selected emoji into the focused text field
Keyboard navigation is designed to work with Tab, not the arrows.

Installation 🍀

Recommended

The easiest way to install it is directly from Gnome Extensions: emoji-copy

How to Upgrade Emoji Copy to your Gnome Shell version?

Emoji Copy is frequently updated to the latest Gnome Shell version through Pull Requests. Sometimes the Gnome Extensions team can take a bit of time to review and publish the new version, making the extension unavailable for some users. If you want to upgrade the extension by yourself to make it work in your Gnome version, you can:

  1. Upgrade the version installed in your system just by running this:
$ sed -i 's/"\]/", "50"\]/' ~/.local/share/gnome-shell/extensions/emoji-copy\@felipeftn/metadata.json

This command will change the metadata.json file of the extension, making it compatible with Gnome Shell 50. You can change the version number to any other version you want, just make sure to use the correct version for your system.

  1. You can also disable the version check by running this command:
$ gsettings set org.gnome.shell disable-extension-version-validation true

This command will disable the version check for all extensions, allowing you to use any extension regardless of its compatibility with your Gnome Shell version. However, this is not recommended as it may cause issues with other extensions that are not compatible with your Gnome Shell version.

Manual installation

Not recommended at all: installing the extension this way will prevent any further updates.

  1. Download and extract the ZIP, then open a terminal in the project's directory.
  2. Choose a way to install the extension:
--> Make 🔥
    $ make install

--> Hardcore 💀 $ cp -a ./emoji-copy@felipeftn $HOME/.local/share/gnome-shell/extensions

You may need to restart the GNOME Shell environment (Alt+F2 -> restart -> Enter).
_(X11 only, if you are in Wayland, sign out and sign in from the session manually)._

Debug and Test 🏗

We have a lot of ways to debug and test our code. Currently, we already have a complete guide to debug and test our extension in a local environment described in debug.md file.

Debug documentation can be found in two places:

Memory performance 👾

Currently, we are loading emojis with SQLite. With a SQL query system, we were able to load just the necessary amount of emojis for each category. All the emojis are "pre-compiled" during the building process, and generates a emojis.db file at data directory _(inside extension's directory)_.
We still can do a lot of improvements in the way we load and display these emojis. Maybe some skeletons and non-syncronous loading should be great to avoid slow loadings; but works pretty well for now. ⚡️

Fonts 🔠

It will be less ugly if you have the « Noto Emoji » font, the « Twitter Color Emoji » font, or the « JoyPixels Color » font installed on your system.

Contributors & translations 🫂

Various contributions to the code itself:

The extension is currently available in the following languages: If you need another language, please contribute! ❤️
Chat with me