Skip to content
This repository was archived by the owner on May 31, 2026. It is now read-only.
john-basilioPublic archive

About

Simple App Switcher - is a fast Linux app launcher writen in Rust. Part of the PinkOS project.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

Repository files navigation

Notice: Due to how it was developed, it encounters issues on Window Managers (where it is originally developed for) where it gets tiled instead of appearing as a popup overlay. This is because the app uses a workaround based on what Slint 1.16.1 can offer, which is to remove the window frame, and force maximize it which visually worked on other desktop environments like GNOME or KDE but not WM like Hyprland. I'm still looking for a solution to spawn the app as a layer shell to make it work like wofi/rofi, and waybar similarly as originally intended. The repo will remain archived indefinitely.

sas

SAS (Simple App Switcher) is a fast, minimal linux app launcher with a configurable UI powered by Slint.

Table of Contents

Installation

git clone https://github.com/you/sas
cd sas
cargo build --release
./target/release/sas

Usage

Launch 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 

Search Syntax

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.

UI Configuration

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.

AI Assistance Notice

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.

License

MIT

About

Simple App Switcher - is a fast Linux app launcher writen in Rust. Part of the PinkOS project.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages