Show HN: Vicinae – a native, Raycast-compatible launcher for Linux

github.com

70 points by aurellius 4 days ago

Hi HN!

I’ve always been a fan of application launchers, and I was impressed by the approach the Raycast team took — especially their extension system. About six months ago I started building something similar for Linux, aiming to integrate deeply at the OS level and give extensions a lot of power.

Vicinae is written in C++ with Qt Widgets. I chose Widgets over QML for more imperative control of the UI, especially around extension handling. So far that’s worked well — modern C++ is great.

To support my goals I built a number of custom widgets, including a fully virtualized list that can efficiently render tens of thousands of items. That gave me a lot of respect for Qt — it’s a powerful framework that mostly stayed out of my way.

A key feature is support for Raycast extensions (React + TypeScript), most of which can be installed and used directly inside the launcher (though not all features are implemented yet). There’s also a native API package (@vicinae/api) for writing Vicinae-specific extensions with additional capabilities. This required writing a custom React reconciler — surprisingly straightforward, though still unpolished.

Like Raycast, Vicinae ships with powerful built-in modules, but the goal isn’t to make a clone. I want it to grow into its own project that fits the FOSS model better, while staying compatible with the Raycast ecosystem. I also plan to bring it to other OSes eventually.

I’d love feedback on the technical approach, and suggestions for what would make this useful to you. Contributions are very welcome — I’ve already been pleasantly surprised by how quickly people started helping.

Docs: https://docs.vicinae.com Repo: https://github.com/vicinaehq/vicinae

robinhood 3 days ago

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.

  • aurellius 3 days ago

    thanks! I think so too. Easy extensibility is also a very important factor imo. I think React (declarative UI in general) has it good there.

tertle950 4 days ago

never knew I wanted this until I saw it! this looks very fully featured and awesome, will keep in mind for the future

  • aurellius 3 days ago

    yeah. The general idea of having anything at a few keystrokes is the most amazing thing to me

xn--yt9h 3 days ago

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')".

  • aurellius 3 days ago

    what version are you running? I'm currently working on improving extension support but yes, some are still in a broken state.

    • aurellius 3 days ago

      the newly released 0.9.4 should fix some of your issues.

      • xn--yt9h 2 days ago

        Indeed it did. Hats off to you sir! Thanks for the update.

rubymamis a day ago

Great job! Would love to see a write up on how you implemented that - especially React integration into the Qt app.

  • aurellius a day ago

    Thanks! Yeah I will definitely write something like that in the future

diath 4 days ago

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.

  • aurellius 3 days ago

    Thanks! Honestly a lot of the code you will find has very messy parts to it but that's mostly because I didn't get the time to make it any better yet

avdept 3 days ago

Any chance to compile it for macOS ARM?

  • aurellius 3 days ago

    not yet but that's the next target

alluro2 3 days ago

Looks amazing, thank you - installing!

bazhand 3 days ago

Installing (Arch btw), love the UI

  • aurellius 3 days ago

    thank you! (from a gentoo user, I guess that makes us cousins)

kevinpiac 3 days ago

I love it! Incredible work!

tbezman 4 days ago

this is crazy. nice job