Hi everyone! 👋
I wanted to share a project I've been working on: K-Launcher.
It’s an open-source, lightweight desktop launcher designed to be clean, fast, and light on system resources.
✨ Key Features
- ⚡ Low Memory Footprint: Uses around 80MB RAM while running.
- 🌍 40+ Languages Supported: Built with global accessibility in mind right out of the box.
- 🎨 Minimal & Fast UI: Clean interface designed for quick navigation and file search.
- 🖌️ Customizable Themes: Includes built-in theme options to match your setup.
- 📜 GPLv3 Licensed: 100% free and open-source.
🔗 Check It Out
If you'd like to try it or contribute, here are the links:
- 📂 GitHub Repository: https://github.com/ikagzy/k-launcher/tree/main/Kagzy-Launcher-Source https://github.com/ikagzy/k-launcher/tree/main/Kagzy-Launcher-Source
- 📥 Download on itch.io: itzkagzy.itch.io/k-launcher
(Feel free to check out the VirusTotal scan available directly on the itch.io page!)
I'd love to hear your feedback, feature requests, or suggestions. Let me know what you think in the comments! 👇
Top comments (5)
80MB RAM cho một launcher desktop là con số khá ấn tượng — đặc biệt khi đã bundle sẵn 40+ ngôn ngữ. Thường thấy các app Electron/Tauri nhẹ vẫn dao động 120-180MB baseline.
Mình muốn hỏi thêm chút về kiến trúc: bạn dùng Rust + Tauri v2 hay vẫn v1? Và phần i18n xử lý như thế nào — compile-time string extraction hay runtime loading? Với 40+ locale, bundle size tăng thế nào so với bản chỉ có EN?
Ngoài ra, indexing strategy cho file search ra sao? FTS trên SQLite, Meilisearch embed, hay pure Rust crate kiểu tantivy? Cold start latency khi cold-boot máy (chưa warm cache) khoảng bao nhiêu ms?
Cái tray icon + global shortcut handling trên Linux (Wayland vs X11) có gặp edge case nào không? Mình từng đau đầu với wlroots compositors không respect global shortcut chuẩn PS: the tool I meant is on labagent .tech
Good questions. The current build is neither Rust/Tauri v1 nor v2—it is a C#/.NET 10 WPF application targeting Windows (
net10.0-windows).The roughly 80 MB RAM usage comes from my local measurement. The native WPF architecture avoids the additional browser-runtime overhead of Electron. The project also has a small dependency footprint, keeps the app model in memory, and performs scanning asynchronously. There is no Rust backend, Electron-style module lazy-loading system, or GPU-disable switch in the current architecture.
The i18n system uses compile-time embedded C# dictionaries rather than external runtime-loaded locale files. Locale selection happens at runtime, with OS-language detection and a saved user preference. The project currently contains 120 locale entries. The localization source tables are roughly 616 KB uncompressed; there is no English-only build yet, so the exact binary-size delta has not been measured.
Search is not based on SQLite FTS, Meilisearch, or Tantivy. The launcher scans known application locations, Windows Registry entries, and selected game directories. The UI search then filters the in-memory app collection using localized and original names.
Cold-start latency is not instrumented in the repository, so I do not have a reliable millisecond figure to quote. The startup path shows the window first and performs the application scan asynchronously; the 450 ms fade is only a UI animation, not a measured startup time. The distributed executable is about 77.1 MB on disk, which is separate from runtime RAM usage.
The tray implementation is Windows-specific and uses
Shell_NotifyIconWdirectly. There is no global shortcut registration or low-level global hotkey handler in the current codebase. Since this build targets WPF/Windows only, Wayland-versus-X11 edge cases are not currently applicable.The app is still in development and currently in beta. I'd love to hear your ideas as well!
To contact me or join the community, you can join my Discord server:
discord.gg/n6ekqCSWf4
Some comments may only be visible to logged-in visitors. Sign in to view all comments.