Skip to content

nochinator/open_desktop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Open Desktop

Lightweight Linux desktop-environment tools written in Rust with egui.

The main project is launcher-rs, a fullscreen, keyboard-driven app launcher with fuzzy search, frecency-based ranking, and icon support — born out of not being happy with any existing launcher. A companion configurator binary provides open_desktop's settings UI.

Building

Requires a Rust toolchain (rustup).

cargo build --release

Binaries land in target/release/launcher-rs and target/release/configurator.

launcher-rs

A standalone fullscreen launcher (no decorations, transparent background):

  • Discovers apps from .desktop files across XDG, Flatpak, and Snap directories
  • Caches app metadata at ~/.app_launcher_cache.json — shows the cache instantly on start, then rescans in the background
  • Fuzzy search (SkimMatcherV2) boosted by launch history ("frecency", stored at ~/.config/open_desktop/launch_history.json)
  • Global hotkeys via rdev
  • Optional Unix-socket interface at /tmp/open_desktop_ai.sock for external assistants to push search/launch actions

Global hotkeys on Linux: rdev needs read access to input devices, so your user must be in the input group:

sudo usermod -aG input $USER   # then log out and back in

Install

./scripts/install-launcher.sh            # installs binary + .desktop file
./scripts/install-launcher.sh uninstall

configurator

The settings app for open_desktop. Tabs are defined internally as TOML files (installed to ~/.config/open_desktop/tabs/ on first run) and wrap standard CLI tools. It's not currently intended as a general-purpose settings platform for other applications, though the TOML-driven design leaves that door open.

Supported widget types: toggle, slider, text, dropdown, button, list, separator.

Default tab Backed by
Display xrandr
Network nmcli
Bluetooth bluetoothctl
Sound pactl

Repository layout

launcher-rs/    the launcher (egui) — the main focus
configurator/   open_desktop's settings app (egui)
scripts/        install script, .desktop files, misc setup helpers
legacy/         (local only, gitignored) earlier Python/PyQt5 prototype with a
                voice-assistant stack — kept for reference, not maintained

Focus

The current goal is nailing the launcher. Other DE tools (file browser, taskbar, opening the configurator up to third-party tabs, …) may come later, but they're not being worked on right now.

License

MIT

About

A fullscreen, keyboard-driven Linux app launcher in Rust/egui with fuzzy search and frecency ranking, plus its companion settings app

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors