SAS (Simple App Switcher) is a fast, minimal linux app launcher with a configurable UI powered by Slint.
git clone https://github.com/you/sas
cd sas
cargo build --release
./target/release/sasLaunch sas and start typing to filter apps. Click or press Enter on an entry to launch it.
# Bash
Usage: sas [OPTIONS]
Options:
-c, --config <FILE> Use a custom slint config file
-d, --disable-maximize Disable default force maximize
-h, --help Print help | Input | Behavior |
|---|---|
@Games skyrim |
Filter by category, then by name |
@Development |
Filter by category only |
firefox |
Plain text search |
Both @ and # are valid category sigils. Category names are case-insensitive and map to XDG Categories= values.
sas loads an external .slint file as its UI. On first run, a default config is written to $XDG_CONFIG_HOME/sas/config.slint (or typically /home/{user}/.config/sas/config.slint).
Your config must expose this interface:
struct AppEntry {
name: string,
exec: string,
icon: image,
terminal: bool,
}
component YourComponent {
in property <[AppEntry]> app-list;
callback app-selected(int);
callback search-changed(string);
callback quit();
}You typically only need to handle name and icon when configuring UI, the default config shows it. The rest is usually used by the backend.
This project was developed with significant AI assistance , with particularly heavy involvement in the desktop entry listing pipeline and the search query parser. All generated code was reviewed and integrated by the project author.
I will continue to improve the existing code and add new features as I learn more and as Slint grows further too.
MIT