Show HN: A Raycast-compatible launcher for Linux (github.com)

192 points by ByteAtATime ↗ HN
Hey HN!

I'm a huge fan of Raycast, but as a Linux user, I was always disappointed it wasn't available on my main OS. This summer, I decided to just build it myself. This project has the goal of being interoperable with Raycast itself, including a majority of the extensions.

It's built with Tauri and Rust on the backend, with a Svelte frontend. The biggest challenge was getting it to run existing Raycast extensions, which required building a custom React renderer as well as making a custom API.

I also wrote a quick post, which I hope to expand on in the future, about this project. You can find it here: https://byteatatime.dev/posts/recreating-raycast

The project is still very rough, but I'm sharing it now to get any feedback you may have!

18 comments

[ 2.8 ms ] story [ 34.2 ms ] thread
From wikipedia

> Raycast is an application launcher and productivity software developed for macOS and by Raycast Technologies Ltd. It offers fast access to applications, dictionaries, files, text snippets, clipboard, and more.[2] Raycast is an alternative to the macOS's built-in Spotlight function, with a richer interface and the option to install extensions, providing additional ways to display varied content.[3]

Raycast will either hire you or send you a cease-and-desist order. Either way, I would change the name now.
Another runner which can be extended and runs on Linux is KRunner, the one that comes with KDE. Should this inspire you.
Amazing work! I love Raycast as well!
Nice work but change name asap, pivot to something original
Awesome work! I've been dreaming of this project myself with a very similar stack (basically React instead of Svelte), but I'm very excited to finally have a Raycast alternative for Linux that has both consistent UI and extension compatibility.

The most impressive part is probably your age, because this isn't an easy project even for senior devs!

I haven't tried it yet, but I can't wait to find some time for that.

I've researched applications like this for Linux quite extensively and I think you might find the following tips of interest: - For the slow extension startup issue you mentioned, consider Deno as a runtime as it has a better sandbox and is faster than Node overall. There may be some compatibility issues, but if I remember correctly most stuff is handled by the special Raycast extension libraries which you implement manually anyway. - I'd consider Numbat [0] for replacing the calculator implementation you have now. As far as I can tell, it should have feature parity with SoulverCore and it's also written in Rust, so interfacing with it should be much easier and won't require the FFI work you're doing now. - Project Gauntlet [1] is another project which has gotten quite close to implementing a full-featured Raycast alternative and might be worth taking inspiration from. It would certainly be very cool if you can make the UI rendering native at some point (although I guess Rust isn't perfect for native UI at the moment [2])

Keep up the good work!

[0]: https://github.com/sharkdp/numbat

[1]: https://github.com/project-gauntlet/gauntlet

[2]: https://areweguiyet.com/

I never liked Raycast over Alfred or Launchbar. They’re trying way too hard to solve non-existent problems and sucking at it.

That said, Linux app launchers are even worse, so I applaud any attempt to improve that situation.

Amazing! one of the few reasons keeping me from using Linux as a daily driver is lack of Raycast support. It has become a huge part of how I use my computer.
honey it's 4pm time for your daily frontpage chatgpt readme
This is amazing! I was working on something like this myself, but I've not reached anywhere near this level of functionality or polish. Looks like I'll drop it and see if I can contribute to this instead.
I am a big user of launchers. Used fluent search on windows, raycast on my work mac, but used a disparate set of tools on linux till now. This will be great to try.

I have something to say about the (future? didn't find it in the readme) file search feature.

Similar to how fluent search can defer to the everything.exe search index, maybe this app can defer to the fsearch search index, which already has lots of users.

It will save effort and also onboard fsearch users(like me) easily.

Great work! It's being a bit weird with cosmic shell (the old, gnome-based one), but seems to work pretty well otherwise.
Nice work. I started working on a similar project too. Maybe I'd better contribute to this one then
The readme suggests that Wayland users should add a udev rule to enable direct keyboard access to the user at the physical console (read: to any process spawned by the user at the physical console).

My understanding was that a major touted benefit to Wayland was that it prevents processes from being able to read the keyboard when not focused, unlike on X11, making keyloggers and such a thing of the past.

Doesn't adding a udev rule like this completely bypass that protection?

211 MB appimage is wild when your premis is linux

What surprises me here is that tauri is supposedly meant for smaller sizes but it doesn't seem to be the case here.

Also, this could be better an issue but shoot, here I go. ./raycast-linux_0.1.0_amd64.AppImage WebSocket server listening on ws://127.0.0.1:7265 Starting initial file index build. Spotlight shortcut: HotKey { mods: Modifiers(ALT), key: Space, id: 65598 } [Snippets] Wayland detected, using evdev for snippet expansion. Updating currency rates... Soulver calculator initialized and currency provider has started updating. Could not create default EGL display: EGL_BAD_PARAMETER. Aborting... Successfully updated 175 currency rates.

Andd it doesn't work.

I personally use something like dmenu (fuzzel) except with my own scripts and keybinds (hyprland).

Looks like it has a proprietary dependency (the calculator, listed at the bottom of the readme). So it doesn’t seem like this is legitimately open source.