Add bread-launcher: headless app-launcher core + GTK4 results widget

Extracts the app-launcher substance (desktop-entry parsing, fuzzy
matching/ranking, launch history, launching) out of breadbox into a
reusable ecosystem crate, so breadbar's future embedded capsule and
breadbox's overlay window can share one implementation instead of two
(THEME_SYSTEM_PLAN.md Phase 4/6a). The GTK4 results-list widget lives
behind a `gtk` feature, mirroring bread-theme's `gtk`/`adw` gating, so a
headless consumer isn't forced to link GTK.

Adds unit tests for fuzzy_score/matches_term/priority_rank, which were
previously untested pure functions inside breadbox's main.rs.
This commit is contained in:
Breadway 2026-08-24 23:40:38 +08:00
parent 96fa79c1d4
commit 6ffd689a4d
11 changed files with 883 additions and 1 deletions

9
Cargo.lock generated
View file

@ -202,6 +202,15 @@ dependencies = [
"image",
]
[[package]]
name = "bread-launcher"
version = "0.7.4"
dependencies = [
"bread-utils",
"gtk4",
"serde_json",
]
[[package]]
name = "bread-onnx"
version = "0.7.4"