SkillAgentSearch skills...

Rofimoji

Emoji, unicode and general character picker for rofi, wofi and similar selectors on X11 and Wayland

Install / Use

/learn @fdw/Rofimoji

README

Rofimoji: A character picker for rofi

Do you want to use one of those fancy emojis? Or one of those other interesting characters Unicode offers? But you haven't found a good picker yet?

Fear no more, rofimoji invokes the power of rofi (and other dmenu-derivatives) to give you exactly the picker you always wanted.

Main features

How does it look?

Default

Screenshot of rofimoji

With a grid theme

Screenshot of rofimoji with a grid theme

Usage

Standalone

Call rofimoji as a standalone tool.

  1. Run rofimoji
  2. Search for the character you want
  3. (optional) Select multiple emoji with shift+enter
  4. Hit enter to for the default action or use one of the shortcuts to do something else.
    alt+1 directly chooses the most most recently used character (alt+2 for the second most recently one etc.)
  5. Maybe select a skin color
  6. 🦾

As a rofi mode

Integrate rofimoji as just another rofi mode.

  1. Call rofi with rofi -modi "emoji:rofimoji" -show emoji
  2. Search for the character you want
  3. Hit enter to execute your default action;
    Alt+Shift+1 for copying to the clipboard
    Alt+Shift+3 for the "clipboard" insertion method
    alt+1 inserts the most recently used character (alt+2 for the second most recently one etc.)
  4. Maybe select a skin color
  5. 🐉

Caveats when running rofimoji as a rofi mode

There are some limitations to this approach, though: Running as rofi mode has several drawbacks that cannot be changed:

  • Because rofi is the main process, rofimoji cannot directly type to any window. Only copying the character works, so set the --action accordingly.
  • You can only select one character at a time.
  • The custom keyboard shortcuts are still there, but mapped to Alt+Shift+1 (on a Qwerty keyboard) etc.

The configuration still works as described. You can have several modes in a combi for different character sets, for example, or set a default action and skin tone.

Configuration

You can configure rofimoji either with cli arguments or with a config file called $XDG_CONFIG_HOME/rofimoji.rc. For the file, use the long option names without double dashes.

Options

| long option | short option | possible values | default value | description | |--------------------------------------------------------------------------------------------------------------------------------------------------------|--------------|----------------------------------------------------------------------------------------------------------------|------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | --action | -a | type, copy, clipboard, type-numerical, unicode, copy-unicode, print, menu | type | Choose what rofimoji should do with the selected characters. See Actions below for details. | | --files | -f | all, <yourfile> or any of the files in data | emojis | Define which file(s) to load characters from. A file name without extension (f.e. emojis_smileys_emotion) is enough for the distributed ones or any in ${XDG_DATA_HOME}/rofimoji/data. Globbing with * is possible.<br/>all is a shortcut for all default files at once. Use with caution, that is a lot. | | --skin-tone | -s | light, medium-light, moderate, dark brown, black, as well as neutral and ask | ask | Define the skin tone of supporting emojis. ask will always ask the user. | | --max-recent | | 0-10 | 10 | Show at most this many recently picked characters. The number will be capped at 10. Set to 0 to disable the whole feature. | | --no-frecency<br/>(no-frecency=True in the config file) | | - | <false> | By default, rofimoji shows frequently used items first. With this option, they're shown in the order of the file. | | --hidden-descriptions<br/>(hidden-descriptions=True in the config file) | | - | <false> | Only list the characters, but not their description. This is useful for grid themes in rofi. Note that they're still searchable, even though the description is not shown. Not used with other selectors. | | --use-icons | | | false | Show characters as icons in rofi. Not used for other selectors. | | --prompt | -r | any string | 😀 | Define the prompt text for rofimoji. | | --selector-args | | | | Define arguments that rofimoji will pass through to the selector.<br/>Please note that you need to specify it as --selector-args="<selector-args>" or --selector-args " <selector-args>" because of a bug in argparse | | --selector

View on GitHub
GitHub Stars1.1k
CategoryDevelopment
Updated1h ago
Forks51

Languages

Python

Security Score

100/100

Audited on Apr 1, 2026

No findings