Korean-first emoji search overlay for Windows.
Windows' built-in emoji panel (Win + .) is convenient, but Korean search is weak. Windows Easy Emoji aims to replace that flow with a lightweight tray app that opens a fast searchable overlay, supports Korean aliases and initial consonant search, and pastes the selected emoji into the current app.
This repository is in early MVP development.
Implemented so far:
- .NET 8 / WPF solution structure
- Core emoji data schema
- Korean text normalization and initial consonant matching
- Rule-based local emoji search and ranking
- JSON emoji data loader and external Korean description seed data
- WPF search overlay skeleton
- Windows tray app host
- Clipboard paste into the previously active window
- Low-level
Win + .keyboard hook - Fallback
Ctrl + Alt + Spacehotkey - JSON settings persistence
- Runtime tray toggles for shortcut and paste settings
- Optional original clipboard restore after paste
- Single-instance app guard
- Grid-based search results
- Color emoji image rendering with Twemoji PNG assets and text fallback
Not implemented yet:
- Full CLDR/alias data import
- Installer or Microsoft Store packaging
The app creates a local settings file at:
%APPDATA%\WindowsEasyEmoji\settings.json
The app also stores local usage state at:
%APPDATA%\WindowsEasyEmoji\user-state.json
Current MVP settings:
ReplaceWinPeriod: enables theWin + .replacement hook.RegisterFallbackHotkey: enables the fallback hotkey.FallbackHotkey: defaults toCtrl+Alt+Space.AutoPaste: pastes the selected emoji into the previously active app. If disabled, selection copies only.RestoreClipboardAfterPaste: restores the previous text clipboard after paste. It defaults tofalsebecause some apps read the clipboard asynchronously.
User state tracks recent usage, use count, favorites, and custom aliases. Empty search results are ranked with this local state so frequently used emoji appear first.
The WPF overlay renders result emoji with Twemoji PNG assets instead of relying only on WPF color-font fallback. If image loading fails, the tile falls back to the system emoji text font. Twemoji graphics are licensed under CC BY 4.0 and the upstream code is MIT licensed.
This repo pins .NET through global.json.
dotnet restore WindowsEasyEmoji.sln
dotnet test WindowsEasyEmoji.sln
dotnet build WindowsEasyEmoji.sln -c ReleaseIf dotnet is not installed locally, install the .NET 8 SDK from Microsoft.
Regenerate bundled emoji data from staged external sources:
dotnet run --project tools/WindowsEasyEmoji.DataBuilder/WindowsEasyEmoji.DataBuilder.csprojsrc/WindowsEasyEmoji.Core Search, schema, ranking, data loading
src/WindowsEasyEmoji.Platform Windows API integration boundary
src/WindowsEasyEmoji.App WPF tray app and search overlay
tools/WindowsEasyEmoji.DataBuilder
tests/WindowsEasyEmoji.Core.Tests
docs/ Planning and product/design decisions
MIT