11 ms·
Show HN: A Raycast-compatible launcher for Linux
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 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!
- imcritic 1y agoI don't really see any value in such combines. You want some calculation? Run calc and do the calculation, do you save so much time by replacing the "run calc" step with "open launcher" that it's worth adding more software to your setup?
- monooso 1y agoPlenty of people appear to disagree.
- herrherrmann 1y agoHave you ever tried a launcher as powerful as Raycast? I can only recommend it. I use it for quick calculations, currency conversions, file lookups, translations, looking up http status codes, joining meetings, finding emojis, quickly checking my calendar, etc. etc. – so, perhaps a singular function might not warrant a launcher, but the sum of functions and keyboard-centric UI make it very valuable for me in my daily workflows.
- kstrauser 1y agoOn a Mac, opening the launcher means pressing cmd-space at any time, getting a popup text entry field, typing "1+2", seeing the answer, and hitting esc to dismiss it. That's the entire workflow for operating a calculator, launching an app, searching Google, locating a file, or whatever. I challenge you to do that operation with a separate app more (or even as) efficiently. There are good tools for doing each of those things separately. A good launcher that allows you to do any of them with such trivial overhead is a huge time saver.
- throwawayffffas 1y agoThe way I do it is, I type python in a new terminal, the terminal emulator is running at all times. So, its ctrl-s + c, python, enter, 1 + 2, enter. Slightly more work but meh.
- rafram 1y agoSure, but what does Python return if you type in "$100 in EUR" or "10 pounds in kg"?
- throwawayffffas 1y agoThat's what your browser is for. My main problem with that kind of launcher is that if I write "gimp" on my launcher there is only one correct answer, launching gimp. Everything else is just noise. The choice to offer all that other functionality detracts from the main one.
- kstrauser 1y agoLaunchers compete on their smartness. One that didn’t show Gimp as the top result wouldn’t have users very long. You can also turn off the results you don’t like.
- MisterSandman 1y agoDo you remember the command line command to convert 5:30 IST to PDT? Or convert $70 USD to SGD? Or what 17.3 years in seconds is? Or how many days are between 2024-12-30 and 2025-06-17? Raycast can all of do that automatically, and the only shortcut you need to know is Cmd-Space.
- sublinear 1y agoI just type the same into the browser. Only shortcut is alt-tab or a touchscreen swipe, and it works on any device without installing anything. I don't get it either.
- eviks 1y agoIf you ignore inefficiencies you won't get why the alternative is efficient. Of course it's not the only shortcut. First, you might need to press tab several times and also pay attention to pick the right element from the app list (no need to do that with a launcher h Then you need to open a new tab not to lose your current one (guess, this one can be avoided with extra config) Then you need to wait for the network and hope your query is interpreted correctly by a very general search engine which are increasingly likely to push hallucinations as answers instead (for a calculator plugin you can learn syntax to have guaranteed match)
- sublinear 1y agoNot convinced. I challenge you to a duel wtf lmao roflcopter?? Are we fr splitting hairs now on milliseconds? Yes, and words per minute are a measure of productivity!
- eviks 1y agoYou'll never be convinced because you continue to distort reality to match your fantasy. Why did you convert seconds into milliseconds? Why did you ignore the non-time-based inefficiency of the workflow?
- 1y ago
- znort_ 1y ago"write programs that do one thing and do it well. write programs to work together." it's sad to see this core principle being increasingly ignored in linux, but i guess that ship sailed a while ago.
- eviks 1y ago> do you save so much time by replacing the "run calc" step with "open launcher" Yes, of course. The "open launcher" is 1 key press, an action you repeat many times a day. And it has 0 delay. Your "run calc" can't beat this fluid UX
- victorbjorklund 1y agoI use Alfred which is similar. I can do a lot of things with just the launcher. From small things like typing uuid and getting a uuid to open a dev project and launching all the tools needed for it by just typing p [name] where name is autocompleted. Could I open the terminal and do it there instead? Sure. But that is slower than just getting an instant launcher
- throwawayffffas 1y agoThe reason I don't use this kind of thing, is the time spent parsing the results. If I write teams, I want to get a single result that will be the teams app on my computer. I don't want to get a wikipedia entry about teams, a random text document that has "teams" in it, news about microsoft teams, or the price of the latest shitcoin named TEAMS. All that does is add cognitive load, regardless of whether the app is the first result, seeing and parsing the other results, takes focus away from the work at hand and contributes to fatigue. I have a browser with an omnibox for the internet, search on my file explorer, and find and ag[1] in my terminal. Specialized tools for specific jobs. [1]. ag is like grep but faster also it's 30% shorter to type than ack the other faster grep alternative.
- regularjack 1y agoI'm not one to care for age usually, but I think it's worth mentioning that OP is 15 years old. Well done, great work, please keep building and writing.
- ksynwa 1y agoFrom 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]
- mynegation 1y agoRaycast will either hire you or send you a cease-and-desist order. Either way, I would change the name now.
- sangeeth96 1y agoAs well as the logo used, name references from all other places and even tweaking the looks a bit.
- ByteAtATime 1y agoFair point! I've actually thought about that before; I've tried to be extremely clear in the project's README with a disclaimer that this is a non-commercial hobby project and is not affiliated with the official Raycast team in any way. The name is just for identification, as the project's goal is to be a compatible, open-source alternative for the Linux community, a platform they don't currently serve. That being said, I'll definitely keep it in mind. Thanks for bringing it up!
- sangeeth96 1y agoThat shouldn't matter. They might even have a Linux version in the works, given they are doing Windows now. They are within their rights to ask you to get rid of it. You also seem to be using their brand assets like the logo. I get your intention and love what you were able to accomplish but if you intend for this to grow, you are better off doing this now.
- ByteAtATime 1y agoThat makes sense -- I'll go figure something out, thanks for the explanation!
- bigyabai 1y ago> They are within their rights to ask you to get rid of it. Only the logo and name. The functionality side should be perfectly fine, there are oodles of precedent for reversing a workable program from someone's commercial API: https://en.wikipedia.org/wiki/Google_LLC_v._Oracle_America,_Inc https://en.wikipedia.org/wiki/Google_LLC_v._Oracle_America,_....
- jraph 1y agoAnother runner which can be extended and runs on Linux is KRunner, the one that comes with KDE. Should this inspire you.
- kombine 1y agoKRunner is great, has a lot of features including currency and unit conversion. I use it almost exclusively now.
- johng 1y agoAmazing work! I love Raycast as well!
- flipcoder 1y agoNice work but change name asap, pivot to something original
- runjake 1y agoLooks great! Change the name. The Raycast people are going to (initially) ask you to anyway. Raycast also runs on Windows now, albeit in beta. Other Linux launchers with extensibility: KRunner: https://userbase.kde.org/Plasma/Krunner https://userbase.kde.org/Plasma/Krunner Albert: https://albertlauncher.github.io/ https://albertlauncher.github.io/
- WD-42 1y agoThere is also rofi, wofi, fuzzl, dmenu, and even gnome search providers. No shortage of launchers on Linux, all with varying capabilities.
- slickytail 1y ago[dead]
- a022311 1y agoAwesome 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 https://github.com/sharkdp/numbat [1]: https://github.com/project-gauntlet/gauntlet https://github.com/project-gauntlet/gauntlet [2]: https://areweguiyet.com/ https://areweguiyet.com/
- 7e 1y agoI 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.
- dkarter 1y agoAmazing! 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.
- evertedsphere 1y agohoney it's 4pm time for your daily frontpage chatgpt readme
- hiyer 1y agoThis 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.
- porridgeraisin 1y agoI 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.
- philjackson 1y agoThis is really impressive work.
- _seiryuu_ 1y agoGreat work! It's being a bit weird with cosmic shell (the old, gnome-based one), but seems to work pretty well otherwise.
- ddaletski 1y agoNice work. I started working on a similar project too. Maybe I'd better contribute to this one then
- Sophira 1y agoThe 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?
- Imustaskforhelp 1y ago211 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).
- jcgl 1y agoLooks 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.