A radial emoji picker for macOS — faster than Ctrl+Cmd+Space
The built-in macOS emoji picker is a search box. You hit ⌃⌘Space, the panel pops up, you start typing, and somewhere between "thi" and "thinking" the right emoji finally appears. Then you click it. Then the panel closes and you're back where you started.
That's three deliberate actions for a character you've sent a hundred times. The keyboard cost is small — maybe a second — but you pay it every time, forever. Multiply it across a working day in Slack and you're spending real minutes on emoji.
A radial menu reduces the same task to one flick. You hold a trigger, your hand moves toward "smileys," then toward the smile, you release, the emoji is in your message. Your eyes never read the wedges. After a week, the picker becomes invisible — your fingers know the route.
How the radial emoji picker works
The Swik emoji picker is two rings deep. The outer ring is categories. Each category opens a second ring of emoji you can flick to.
The six categories are:
- Smileys — the face emoji you actually use
- Gestures — thumbs, hands, fists, prayers
- Objects — fire, sparkles, lightbulb, padlock, computer
- Nature — leaves, weather, animals
- Food — pizza, coffee, cake, fruit
- Activities — sports, music, art, games
Each category holds about 50 emoji. That sounds like a lot for a single ring, but a sub-ring with 50 wedges is still navigable because you don't read it — you find your emoji once, then your muscle memory takes over. The next time you want it, your hand goes to the same direction without conscious thought.
The recent ring
The most-used emoji are the same five or six per person. Swik tracks the last eight emoji you've inserted and shows them as a "Recent" wedge that appears at the top of the emoji hub whenever it has anything to display.
This is the wedge you'll spend most of your time in. After a few days of use, your most-used emoji are one flick + one flick + release away — the first wedge in the hub, then the position the emoji landed in within the recent ring.
How insertion actually works
There's no special hook into Slack or Messages. When you release on an emoji, Swik writes it to the system pasteboard and fires ⌘V into whatever app is frontmost. From the app's perspective, you pasted text. From your perspective, you flicked twice and the emoji appeared.
This is also why it works everywhere a paste works:
| App | Works? |
|---|---|
| Slack | Yes — emoji renders as native |
| Messages | Yes |
| Discord | Yes |
| Yes | |
| Notion / browser text fields | Yes |
| VS Code / code editors | Yes (raw character) |
| Terminal | Yes (font permitting) |
If you can paste into it, the emoji lands in it. There's no per-app integration to maintain.
When this beats Ctrl+Cmd+Space
The native picker wins when you're hunting for an emoji you don't know. "What's the one with the woman juggling…" — you need search for that.
The radial picker wins for the eight emoji that make up 90% of your usage. 👍, 🔥, ❤️, 😂, 🙏, 🎉, 👀, 💀 — whichever yours are. Once those live in the recent ring, you stop opening the system picker for them entirely.
The two coexist fine. ⌃⌘Space is still there for the long tail. The radial picker just removes a daily friction from the head of the distribution.
Setting it up
- Open Swik settings and pick the profile you want the emoji picker to live in.
- Drop the Emoji Picker action onto a wedge — usually a corner where it won't conflict with your most-used app launches.
- Save. The wedge is now an emoji hub: one flick opens categories, the next flick lands the emoji.
That's the whole setup. The recent ring populates itself as you use it.
One small UX detail
Because the hub is a sub-menu rather than the top-level ring, the rest of your radial menu stays clean. Apps and shortcuts you fire constantly stay on the outer wedges. The emoji picker is one wedge that hides 300 characters behind it.
That's the trade Swik is making throughout: a flat top ring for the things you fire often, and well-organized sub-rings for the things you fire often-but-conditionally. Emoji is the textbook case for the second category — frequent enough that search is too slow, varied enough that twelve hotkeys can't cover it.
Frequently asked questions
What's wrong with the built-in macOS emoji picker?
Nothing, except that it's a search box. ⌃⌘Space opens a panel, then you type, then you click. That's three actions for an emoji you've used a hundred times. A radial picker collapses it into one flick — your hand learns the directions and never reads the emoji again.
How does Swik insert the emoji into the active app?
Swik writes the emoji to the system pasteboard and triggers ⌘V into whatever app is frontmost. Anywhere a normal paste works — Slack, Messages, a text field, a Notion doc — the emoji lands in place. There's no special integration per app.
Does it remember which emoji I use most?
Yes. Swik keeps a recent-emoji ring (the last 8 you've inserted) and shows it as the first wedge whenever you open the emoji hub. After a week of use, you'll find the emoji you actually send live there — and you stop drilling into categories at all.
Can I use this in Slack and Messages?
Yes — anywhere on macOS that accepts a paste. Slack, Messages, Discord, Mail, Notes, browser text fields, code editors. Swik doesn't talk to the apps directly; it just pastes the character, so the emoji renders the same way it would if you'd typed it from the system picker.
Swik — a radial menu for macOS
Open apps, paste emoji, and run shortcuts with a single flick. Free for five wedges, $9 one-time for unlimited.
Download for macOS