[Media] I built an orbital app launcher with Rust and egui to learn the language. Feedback on my code would be much appreciated!
![[Media] I built an orbital app launcher with Rust and egui to learn the language. Feedback on my code would be much appreciated!](https://i.redd.it/5i0kmi4d64og1.png)
Hey everyone!
I’ve been learning Rust for a little while now, and I decided to build something practical to get a better handle on the ecosystem.
The project is called Hring. It's a radial/orbital application launcher for Linux. I wanted something that felt more "organic" for my i3wm setup.
Technical bits:
- GUI: Built with
egui(Immediate mode was surprisingly fun to work with). - Concurrency: I used
std::sync::mpscto move the search/filtering logic to a background thread. This keeps the UI smooth even with many .desktop files. - Config: Handles application grouping via
serde_json.
The Repo: https://github.com/Xhelgi/hring
I know the code might not be 100% idiomatic yet (it's my first "real" project), so if you have time to glance at the repository and point out where I can improve my Rust-fu, I’d be super grateful.
Currently, it's quite experimental (no icon support yet, and the UI can get messy if you add too many apps), but it's been a great learning experience.
What do you think about the radial approach for a launcher?