Omahub
← All plugins
Z

Vimoji

by Zezenta

Blazing-fast Neovim-style modal emoji picker with fuzzy multi-language search and seamless multi-paste for Omarchy & Hyprland.

Security review

Review recommended · 2 findings

Deterministic scan — not a security guarantee

Low
Risk level
Low
Analyzed commit
1fec847
Scanned
1 month ago

Flagged patterns appear only in documentation files (README / docs) — descriptive examples, not executable code.

  • Docs external_hosts README.md:67

    Downloads or connects to an external HTTP(S) host.

    git clone https://github.com/Zezenta/vimoji.git ~/Desktop/Coding/vimoji
  • Docs sudo README.md:58

    Command runs with sudo, elevating the process beyond the plugin environment.

    sudo pacman -S wtype wl-clipboard`)

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

Low
AI risk level
Low
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
1fec847
Reviewed
1 month ago

The plugin is a legitimate emoji picker for Omarchy/Hyprland. The code is straightforward: it copies files locally, uses standard Wayland tools (wl-copy, wtype, hyprctl) for clipboard and input, and stores state in user-local files. The deterministic scan flagged README instructions (sudo pacman, git clone) which are documentation only and not part of the plugin's executable code.

  • README contains sudo pacman and git clone commands, but these are user instructions, not executed by the plugin.
  • multi-paste.sh uses hyprctl to focus windows and wtype to type, which is expected behavior for an emoji picker and not malicious.
How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/Zezenta/Vimoji --enable
Widgets #launcher

✨ Vimoji

A blazing-fast, modal Neovim-style emoji picker for Omarchy and Hyprland / Wayland desktop environments.

<p align="center"> <img src="preview.png" alt="Vimoji Preview" width="620" /> </p>

Vimoji combines modal keyboard ergonomics (hjkl, :, a/d, Tab), instant multi-language search (Spanish + English), and seamless zero-delay multi-pasting without closing the window.


🚀 Features

  • ⌨️ Vim/Neovim Modal Navigation: Full hjkl movement, a/d category tabs, Tab for favorites, and : for command search mode.
  • 🔁 Fluid Multi-Pasting: Press Enter to type the selected emoji repeatedly into your active focused window without closing the menu.
  • ⚡ Instant Paste & Close: Press Space to insert and immediately dismiss the picker.
  • 🧠 Smart Multi-Language & Fuzzy Search:
    • Search in Spanish or English (:corazon, :amor, :risa, :fuego, :llorar, :fiesta, :dog, :beer).
    • Accent Insensitive: Type :musica or :música, :corazon or :corazón.
    • Fuzzy Subsequence Matching: Quick abbreviations like :sml find smile 😄, :hr finds heart ❤️.
    • Relevance Scoring: Best matches appear under your cursor first.
  • 🎯 Cursor Protection: Resting mouse pointer does not hijack your keyboard selection during search or category switching.
  • 🌟 Favorites & Recent History: Preserves recent history and personal favorites across desktop sessions in ~/.local/state/omarchy/.
  • 🎨 Adaptive Theme Integration: Uses Omarchy's active theme accent colors with glowing selection borders and smooth animations.

⌨️ Keybindings Cheat Sheet

Normal Mode (Default)

Key Action
h / j / k / l (or Arrows) Move selection (Left / Down / Up / Right)
a / d Previous / Next Category Tab
: or / Enter Search Mode
Enter Multi-Paste emoji into active application (keeps menu open)
Space Paste & Close immediately
Tab Toggle Favorite (⭐)
y Copy emoji to clipboard without typing
Esc Close picker (or clear search)

Search Mode (:)

Key Action
Typing text Real-time smart / fuzzy search query
Enter Select & Insert into target text area
Space Insert space in search term (e.g. :face smile)
Backspace Erase character (exits search mode when empty)
Esc Return to Normal Mode

📦 Installation

Prerequisites

  • Omarchy with quickshell shell environment
  • wtype and wl-copy (sudo pacman -S wtype wl-clipboard)

Method 1: Official Omarchy Plugin Manager (Recommended)

omarchy plugin add https://github.com/Zezenta/vimoji.git --enable

Method 2: Manual Clone & Install

git clone https://github.com/Zezenta/vimoji.git ~/Desktop/Coding/vimoji
cd ~/Desktop/Coding/vimoji
chmod +x install.sh
./install.sh

Keybind Configuration

In your ~/.config/hypr/bindings.conf:

bindd = SUPER, period, Emoji picker, exec, omarchy-shell shell toggle zezenta.vimoji

Then reload Omarchy shell:

omarchy-shell shell rescanPlugins && omarchy restart shell

🛠️ Architecture

  • manifest.json: Official Omarchy schemaVersion 1 manifest declaring the overlay plugin kind.
  • Emojis.qml: Layer-shell interface with dynamic Wayland keyboard focus negotiation (WlrLayershell.keyboardFocus) for zero-delay multi-pasting.
  • EmojiData.js: Unicode 16.0 database (1,906 categorized emojis) + scoring engine & Spanish synonym dictionary.
  • multi-paste.sh: Auxiliary clipboard and input dispatcher using wtype and hyprctl dispatch.

📜 License

MIT License. Copyright (c) 2026 Zezenta.