free-launch 0.1.0

A simple fuzzy launcher written in Rust.
Documentation

Free Launch

A fuzzy launcher written in Rust to replace Ulauncher.

Because there is no such thing as a free launch.

Why Build This

NixOS warned me of multiple security issues in libsoup-2.74.3 which was a dependency for Ulauncher.

Other Rust-based launchers don't meet my requirements:

  • They are not being actively developed.
  • They don't run on my setup.

Launchers in C and Other Languages

This is far from an exhaustive list. I'm mostly focusing on Rust based launchers for Linux.

  • Ulauncher: The best option I had found, but unfortunately it depends on libsoup-2.74.3 which is marked as insecure in nixpkgs.
  • albert: I was actually using this first but it had a few issues. Can't remember what they were at the moment but I left it for Ulauncher.
  • rofi: Not a big fan of the interface on this one, even though it's very popular.
  • Krunner: This looks decent, worth trying for those on KDE. Actually, it should be usable on NixOS even without running KDE as the window manager.

Rust Based Launchers

  • Loungy: This looks really excellent but: "Loungy is currently not in active development. As a new dad, my development resources have dwindled."
  • gauntlet: Recommended by Matthias Grandl, creator of Loungy but: "Web-first cross-platform application launcher with React-based plugins". No thank you.
  • kickoff: Looks great but panics with: layer shell is not available: NotPresent
  • elbey: Incomplete, but worth keeping an eye on.
  • raffi: Fully config based. Does not auto-discover apps.
  • jolly: Looks good but panics with: Failed to initialize any backend! Wayland status: NoWaylandLib
  • dlauncher: Based on Ulauncher which sounds good. Just need to get it to compile...
  • sklauncher: Not bad, but I don't love the interface, even though it reminds me of fzf/skim/picleo which is kinda awesome.
  • fuzzle: Looks good but is not on crates.io.

More Rust based launchers can be found here for those that want to keep digging: ‘fuzzy launcher’ search on Lib.rs.

Features

  • Written entirely in Rust
  • Show all *.desktop files and allow launching them
  • Show all executables in path and allow launching them
  • Allow launching of shell aliases and functions?
  • Fast launch, but could always be faster...
  • Load items in separate thread
  • Daemon mode with visibility switch command like Ulauncher for instantaneous invocation
  • System commands: lock screen, sleep, hibernate, reboot, shutdown
  • Interactive help screen
  • Run or raise functionality
  • Custom commands via a config file
  • Browser search templates according to config
  • Synonyms/keywords from config
  • Frecency based sorting
  • Show running apps
  • Show running windows
  • Browser tabs
  • Path navigation with autocomplete
  • Actions besides launch via Tab
  • Integration with Symplasma