Skip to content

Prslc/QsFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QsFlow (QuickShell)

App Icon

English | Chinese

Overview

QsFlow is a Wayland-native application launcher and quick-search tool for Linux. Type to search installed apps, Firefox bookmarks, web suggestions, GitHub, and inline math — all from a single floating overlay. Built with a Rust backend and QML frontend powered by Quickshell.

Features

  • App Launcher — fuzzy-search .desktop entries across XDG data directories.
  • File & Path Search — walk ~/Desktop, ~/Documents, ~/Downloads and home; open results in the default application. Files get type-specific icons by extension.
  • Clipboard History — search and paste from cliphist history via c prefix.
  • System Commands — type lock, reboot, shutdown, suspend, or logout to run system actions directly from the launcher.
  • Firefox Bookmarks & History — read places.sqlite directly; no browser extension needed.
  • Web Suggestions — live Google search autocomplete via s prefix.
  • GitHub Search — quick link with g prefix.
  • Inline Calculator — evaluate math expressions automatically; no prefix required.
  • Usage History — frequently-launched items surface on empty input, ranked by count; press Delete to remove an entry.
  • GTK Theme Integration — reads accent colors from your GTK4 theme CSS, falling back to built-in defaults.
  • Plugin System — TOML-driven plugin registry; enable, disable, reorder, or remap keywords without touching code. New plugins are picked up automatically on startup.
  • Icon Resolution — resolves application icons from Papirus, Breeze, Adwaita, and hicolor themes, plus Flatpak exports and legacy pixmaps. Results are cached per session.

Requirements

  • Wayland compositor with wlr-layer-shell support
  • Quickshell
  • Rust toolchain (to build the core backend)
  • Firefox (optional, for bookmarks / history)
  • cliphist (optional, for clipboard history)

Installation

# clone and build
git clone https://github.com/Prslc/QsFlow.git
cd QsFlow/core
cargo build --release

# link the binary into PATH
ln -s "$(pwd)/target/release/qsflow-core" ~/.local/bin/qsflow-core

Then bind a hotkey (e.g. Alt+Space) to launch the shell:

quickshell -p /path/to/QsFlow/ui/MainShell.qml

Usage

Input Action
firefox fuzzy-search installed applications
b <query> search Firefox bookmarks
h <query> search Firefox history
f <query> search files by name
d <query> search files by path (multi-token fuzzy)
c <query> search clipboard history (cliphist)
s <query> Google suggestions
g <query> GitHub search
lock / reboot / shutdown system commands
2 + 3 inline calculator
(empty) show most-used items
Enter launch selected result
Delete remove history item

Configuration

On first run, ~/.config/qsflow/plugins.toml is generated automatically:

[[plugins]]
id = "calculator"
keyword = ""
enable = true

[[plugins]]
id = "system-commands"
keyword = ""
enable = true

[[plugins]]
id = "app-search"
keyword = ""
enable = true

[[plugins]]
id = "firefox-bookmarks"
keyword = "b"

[[plugins]]
id = "firefox-history"
keyword = "h"

[[plugins]]
id = "web-search"
keyword = "s"

[[plugins]]
id = "github"
keyword = "g"

[[plugins]]
id = "file-search"
keyword = "f"

[[plugins]]
id = "path-search"
keyword = "d"

[[plugins]]
id = "clipboard"
keyword = "c"

Reorder entries to change priority, change keyword to remap prefixes, or set enable = false to disable a plugin without removing its block. Removed or unknown plugin IDs are silently ignored.

Theme colors are read from ~/.config/gtk-4.0/dank-colors.css (falling back to built-in defaults).

Credit

  • Quickshell — QtQuick shell toolkit that powers the Wayland overlay.
  • Papirus — icon theme providing high-quality SVG icons.
  • tokio — async runtime driving the backend.
  • rusqlite — Firefox profile and usage database access.
  • walkdir — recursive directory traversal for file and path search.
  • nucleo — fuzzy matching for application search.
  • rustc-hash — fast non-cryptographic hashing for plugin maps and icon cache.

About

No description, website, or topics provided.

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors