You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ok folks, here it is. The source code is still living over in the [fluid repo](https://github.com/jaredly/fluid/tree/master/src/qmoji), because I'm using it to field test the Fluid api & macos bindings. But I made this separate repositories so that releases will make sense. Also I'll probably move the source code over here eventually.
1
+
# Qmoji
2
+
A lightning fast emoji picker for macos, written in swift
2
3
3
-

4
-
5
-
Inspired by the excellent [mojibar](https://github.com/muan/mojibar).
4
+
Features
5
+
-[x] dark mode support
6
+
-[x] shows up instantly (no slow animation)
7
+
-[x] customizable shortcut
8
+
-[x] fuzzy matching on emoji name & keywords
9
+
-[x] remembers most frequently used emojis
10
+
-[x] option to display at mouse cursor
11
+
-[x] tiny disk size (under 3mb)
12
+
-[x] easy on the ram (under 50mb)
6
13
7
-

14
+
## Troubleshooting
8
15
9
-
that's what I'm talkin bout
16
+
After upgrading (or rebuilding locally), be sure to go to Security & Privacy > Privacy > Accessibility and re-authorize qmoji! uncheck & check the box, otherwise it won't be able to send characters to other applications.
10
17
11
-

18
+

19
+

12
20
13
-
definitely saving on the ram side of things too
21
+
Inspired by the excellent [mojibar](https://github.com/muan/mojibar).
14
22
15
23
## Installation
16
24
17
25
- go to [the releases page](https://github.com/jaredly/qmoji/releases)
18
26
- download `qmoji.zip` & unzip it
19
-
-double-click the `qmoji.app` that comes out.
27
+
-right-click qmoji.app & select "open" (because it's not signed, double-clicking won't work the first time)
20
28
- you should see a 🙃 in your statusbar
21
-
- you'll need to disable the macos "show a finder search window" shortcut like so https://twitter.com/ThomasAlcala/status/1088710623708565504
22
-
-now option-cmd-space will bring up qmoji!
29
+
-if you want to use the default shortcut (cmd+opt+space), you'll need to disable the macos "show a finder search window" shortcut like so https://twitter.com/ThomasAlcala/status/1088710623708565504
30
+
-go forth and emoji ⚡ 🏎
23
31
24
32
## Controls
25
33
26
34
Keyboard:
27
-
- trigger with option-cmd-space ()
28
-
- tab & shift-tab to move the selection
29
-
- enter to use the current emoji (it types it into the last-active application for you)
35
+
- trigger with option-cmd-space
36
+
- tab & shift-tab or arrow keys to move the selection
37
+
- enter to use the current emoji (it types it into the topmost application for you)
30
38
- escape to clear the search text, or if it's empty then it closes the window
And then `esy start` to run the development build.
45
-
46
-
## Why make this?
47
-
I'm making a [react-like UI framework for native reasonml](https://github.com/jaredly/fluid) & I wanted to try cloning a simple electron-based app as a proof of concept. [joakin suggested mojibar](https://twitter.com/joakin/status/1084898563082125312), and so here we are. It turned out to be more of a stress test than I was expecting (rendering 1500 views turned out to be prohibitively expensive, so I ended up exploring the wonderful world of `drawRect:` & custom NSViews), but I'm pretty happy with how it's turned out.
48
-
49
-
## Future work
50
-
that I'll probably do because I already like this better than mac's builtin picker
51
-
52
-
-[ ] memory of most-frequently used
53
-
-[x] fuzzy search
54
-
-[ ] option to start at login
55
-
-[ ] skin tone modifier selection
56
-
-[x] more perf optimization for click / hover state (I currently invalidate the whole view when you click, which is hugely wasteful)
57
-
-[ ] customize the global shortcut (maybe, idk)
58
-
59
-
## Supported platforms
60
-
61
-
This is macos only, and I don't really expect to port it to windows or linux -- the menubar stuff & the "send a keypress to the next active window" seems quite platform-specific. I am planning on making fluid cross-platform though (it currently supports js & native macos).
46
+
- Xcode, it should build & run without any issues (no third-party libraries used)
0 commit comments