This is amazing and incredible. Thanks for this. Raycast is great, and there are not many good launchers on Linux unfortunately. Launchers are so important in my opinion to interact with the computer. I hope this project will change the situation on Linux.
Installation was easy, and it works as expected without interfering with i3 window controls.
However, the sole reason I'm keeping an eye out for raycast-compatible launchers is the ability to integrate the raindrop.io extension - which seems to be broken when used through Vicinae.
Maybe someone else running raindrop got it to work; "TypeError: Cannot read properties of undefined (reading 'subscribers')".
This is actually very impressive - such a high quality project on technical level. I'll definitely dig into the source to see how the React & C++ widgets integration works as it looks like an interesting approach.
Insanely cool. I wrote my own raycast inspired launcher a while ago and never got around to adding proper extension support. There is also https://github.com/project-gauntlet/gauntlet which also has react extensions, but not raycast compatible afaik.
I usually try to optimize for CPU usage more than I do for RAM, mostly because I care about my battery life and for things to remain snappy. Although Vicinae does a lot of caching where it can it probably maintains a quite reasonable memory footprint when compared to apps with web frontends.
IMO after launcher is optimized to be truly idle while there is no interaction with it shaving memory usage becomes more important for snappiness and battery life. Extra RAM that launcher uses it the same RAM that other apps cannot use and therefore become more laggy. I expect on average shaving off 100 MB of launcher RAM usage will save more battery then reducing time for rendering its window by 0.1s
Or after a while without interaction bloated RAM get swapped out and launcher invocation need to fetch swapped out info.
For comparison here is how krunner looks on my current machine. After some time without interactions:
$ systemctl --user status plasma-krunner.service|head
● plasma-krunner.service - KRunner
Loaded: loaded (/usr/lib/systemd/user/plasma-krunner.service; static)
Active: active (running) since Sun 2025-08-10 20:31:40 WEST; 1 month 12 days ago
Main PID: 57749 (krunner)
Tasks: 37 (limit: 17782)
Memory: 64.6M (peak: 1.4G swap: 338.2M swap peak: 679.8M zswap: 12.4M)
CPU: 2h 58.702s
CGroup: /user.slice/user-1000.slice/[email protected]/background.slice/plasma-krunner.service
└─57749 /usr/bin/krunner
It seems to me I feel how it was less on the first invocation.
I'm used to drun/rofi and enjoy their simplicity, but have also secretly envied the out-of-the-box experience of more fully featured launchers on macOS. I remember using Spotlight and Alfred many years ago, and being impressed by the experience.
I like that you chose to make it compatible with Raycast, and how easy it is to extend, based on a quick look at the docs.
I'll definitely keep an eye on your project, and give it a try. Thanks for sharing!
I have a very similar experience, I used mac for a long time, then moved to linux and used the simpler alternatives. Then I found Raycast and their extension system, and thought it would be amazing to have something similar on Linux, so I made this :)
Works great on hyprland with uwsm! I hope window resizing will be supported as it would be nice for extensions (that wish to resize it temporarily). Already have some extension idea.
Extension resizing would be tricky from a UX standpoint, as it would make things a little bit unpredictable, but general window resizing will definitely be a thing
I'm picturing this: an extension that, for whatever program is under the cursor, tries to list all keyboard shortcuts/hotkeys.
One could then search through them or "launch" them from there. I've always wanted to build this as a fullscreen app but this could be even better.
However, the sole reason I'm keeping an eye out for raycast-compatible launchers is the ability to integrate the raindrop.io extension - which seems to be broken when used through Vicinae.
Maybe someone else running raindrop got it to work; "TypeError: Cannot read properties of undefined (reading 'subscribers')".
Mostly comparison of consumed RAM with identical set of extensions might help me choose without trying each of this projects.
Or after a while without interaction bloated RAM get swapped out and launcher invocation need to fetch swapped out info.
For comparison here is how krunner looks on my current machine. After some time without interactions:
It seems to me I feel how it was less on the first invocation.Great to see it already has a Nix flake too! I was able to get it setup basically instantly.
I'm used to drun/rofi and enjoy their simplicity, but have also secretly envied the out-of-the-box experience of more fully featured launchers on macOS. I remember using Spotlight and Alfred many years ago, and being impressed by the experience.
I like that you chose to make it compatible with Raycast, and how easy it is to extend, based on a quick look at the docs.
I'll definitely keep an eye on your project, and give it a try. Thanks for sharing!