Commit graph

59 commits

Author SHA1 Message Date
Breadway
7c55ea4756 Adopt bread_utils::gtk_popup for the launcher overlay
All checks were successful
check / check (push) Successful in 54s
dev release / build (push) Successful in 1m19s
Replace the hand-rolled layer-shell window, visible-row Up/Down
navigation, and click-outside-to-close gesture with the shared
helpers already used by breadclip. Keep singleton::toggle_or_kill
and bind_window_auto.
2026-08-23 14:39:11 +08:00
b52bf77ed3 Merge pull request 'can't be bothered writing a commit message' (#3) from feature/liquid-motion into main
All checks were successful
dev release / build (push) Successful in 2m14s
Reviewed-on: #3
2026-08-16 14:31:10 +08:00
Breadway
28ff4bc982 can't be bothered writing a commit message
All checks were successful
check / check (push) Successful in 8m6s
2026-08-16 14:29:24 +08:00
Breadway
b9abafe572 Bump version to v0.3.3
All checks were successful
dev release / build (push) Successful in 46s
beta (rc) release / build (push) Has been skipped
release / build (push) Successful in 1m11s
2026-08-16 14:09:13 +08:00
Breadway
06015b2627 Bind the launcher to the current monitor's bread-theme palette
All checks were successful
dev release / build (push) Successful in 4m5s
Pin bread-theme to v0.7.4.
2026-08-16 13:25:53 +08:00
Breadway
6330ad1951 CI: refuse unsigned bakery index on stable tag releases
All checks were successful
check / check (push) Successful in 1m36s
dev release / build (push) Successful in 1m46s
beta (rc) release / build (push) Has been skipped
release / build (push) Successful in 34s
2026-08-16 00:50:22 +08:00
Breadway
c359fd74be Adopt bread_utils::screenshot_cli for --screenshot flags
All checks were successful
check / check (push) Successful in 19s
dev release / build (push) Successful in 53s
Replace the local settle delay, canvas defaults, and pair-validation
error path with bread-utils v0.7.2. Clap parsing stays in-tree.
2026-08-16 00:26:06 +08:00
Breadway
4d0c0288b7 Honor bread.command.box.open via breadbox listen
All checks were successful
dev release / build (push) Successful in 40s
2026-08-15 23:11:28 +08:00
Breadway
fbd73c1984 Bump version to v0.3.1
All checks were successful
beta (rc) release / build (push) Has been skipped
dev release / build (push) Successful in 1m7s
release / build (push) Successful in 1m6s
2026-08-15 23:05:47 +08:00
Breadway
d42249a586 Pin bread-ecosystem crates to v0.7.2
All checks were successful
dev release / build (push) Successful in 31s
Repoint bread-theme, bread-utils, and bread-screenshots at tag v0.7.2
on git.breadway.dev. Drop the 69ce2d67 rev pin now that screenshots
is on a tagged release.
2026-08-15 22:53:46 +08:00
Breadway
2a157bdf2c gitignore: exclude graphify-out local cache
All checks were successful
dev release / build (push) Successful in 17s
2026-08-15 22:32:37 +08:00
Breadway
1b02cec0a6 Emit bread.box.launched after a successful app launch
All checks were successful
check / check (push) Successful in 16s
dev release / build (push) Successful in 33s
Link bread-utils bread-client (tag v0.7.1) from the breadbox crate.
Fire-and-forget via BreadClient; silent if breadd is down. No command
verbs — breadbox is not a daemon. EVENTS.md is the contract (app id box).
2026-08-15 22:14:42 +08:00
Breadway
e5ce91a9c9 Track AGENTS.md
All checks were successful
check / check (push) Successful in 55s
2026-08-15 22:03:30 +08:00
Breadway
e5ba33d810 Pin ecosystem crates and switch to bread-utils::singleton
All checks were successful
check / check (push) Successful in 18s
Repoint bread-theme and bread-utils at git.breadway.dev tag v0.7.1
(no github.com). bread-screenshots is not on that tag yet, so rev-pin
it instead of tracking branch=main.

Replace the homegrown PID-file toggle with bread-utils::singleton so
the launcher still dismisses on a second keybind without the TOCTOU
window. Screenshot mode still skips the lock.

README now documents the fixed BOS dark fallback (not Catppuccin
Mocha). Drop the unused GitHub Actions release workflow; Forgejo is
canonical. CONTRIBUTING already documents single-trunk.
2026-08-15 21:40:03 +08:00
3251e18a49 Merge pull request 'CI: build on bread-ecosystem's shared Arch container' (#2) from feature/shared-ci into main
All checks were successful
dev release / build (push) Successful in 1m22s
Reviewed-on: #2
2026-08-05 19:50:00 +08:00
Breadway
73b3c24a3c CI: build on bread-ecosystem's shared Arch container
All checks were successful
check / check (push) Successful in 1m37s
Ports breadbox onto the shared, pinned CI build image (following the
pattern proven in breadpad): ci/build.sh delegates to bread-ecosystem's
own ci/build.sh, pinned by commit sha in ci/bread-ecosystem.rev, instead
of building directly on the bare self-hosted runner. Also adds
check.yml to run clippy/test on feature/fix branches ahead of the
dev-track release build.

No ci/deps.txt: breadbox's Cargo.toml pulls in nothing beyond what the
shared Containerfile already installs (gtk4, gtk4-layer-shell). The
librsvg system dep in bakery.toml is a runtime gdk-pixbuf loader for
SVG icons, not a Cargo build dependency.
2026-08-05 19:12:32 +08:00
Breadway
1b3193855e Repoint bread-ecosystem git deps from dev to main branch
All checks were successful
dev release / build (push) Successful in 3m50s
2026-07-31 14:30:01 +08:00
Breadway
0347d6deae CONTRIBUTING.md: document single-trunk + RC-tag release model
All checks were successful
dev release / build (push) Successful in 3m21s
2026-07-31 11:08:41 +08:00
Breadway
7907b1192b CI: single-trunk model — dev triggers on main, beta becomes RC-tag-triggered
Replaces the dev/beta branch split with one trunk (main): dev-track
builds still publish on every push, but the beta track now publishes
from a vX.Y.Z-rc.N prerelease tag instead of a separately-maintained
beta branch. Removes the branch nobody reliably kept in sync.
2026-07-31 11:05:29 +08:00
Breadway
ff7d1c8957 Merge feature/screenshot-mode: add --screenshot CLI mode for automated capture
All checks were successful
Mirror to GitHub / mirror (push) Successful in 2s
dev release / build (push) Successful in 1m29s
2026-07-29 16:38:58 +08:00
Breadway
8d6573590b breadbox: add --screenshot CLI mode for automated capture
Same pattern as breadbar's screenshot mode (see bread-ecosystem's
bread-capture orchestrator): render the launcher panel, capture it via
bread-screenshots, then exit. Only one view worth capturing here
("launcher") since breadbox has no separate layer surfaces or popovers —
just the search box + app list over a full-screen transparent overlay —
so a full known-size canvas capture is enough, no geometry tracking
needed.

Also fixes a real footgun in the existing PID-file toggle: it kills
whatever process is holding breadbox.pid, which on this machine is
typically the real, already-running breadbox. A screenshot run now skips
toggle_or_continue() entirely instead of fighting over (and killing) the
operator's real instance.
2026-07-29 11:32:37 +08:00
Breadway
a47fd5852c Drop pacman packaging, bakery-only distribution
All checks were successful
Mirror to GitHub / mirror (push) Successful in 1s
dev release / build (push) Successful in 1m28s
bakery already fully covers what the PKGBUILD provided (binary, systemd
--user service where applicable, dependency declarations) except a LICENSE
copy, which bakery.toml's new license_file field now closes. Removes
packaging/arch/ and .forgejo/workflows/package.yml; adds the LICENSE
artifact to each release/dev-release/beta-release workflow's prepare
step. Not pacman-installed inside BOS today (BOS already consumes these
apps exclusively via build-local.sh's skel-staging), so this only removes
the option to `pacman -S` outside of BOS/bakery.
2026-07-23 10:25:12 +08:00
Breadway
57a6c9f20c docs: add CONTRIBUTING.md
Some checks failed
dev release / build (push) Successful in 1m18s
Mirror to GitHub / mirror (push) Failing after 2m16s
Documents the dev/beta/main branch and release-track workflow shared
across the bread ecosystem. See bread-ecosystem's docs/release-channels.md
for the full policy this implements.
2026-07-22 19:40:36 +08:00
Breadway
88d5c86dc9 ci: make beta a branch-triggered freeze track, not a one-off tag
All checks were successful
dev release / build (push) Successful in 1m8s
Mirror to GitHub / mirror (push) Successful in 5s
beta release / build (push) Successful in 1m36s
Beta is now a real stabilization branch: publishes on every push to
`beta` (mirroring dev's model, auto-versioned X.Y.Z-beta.<ts>+<sha>,
base version from the latest published tag) instead of a manual
beta-v* tag. Fixes made during the freeze land via fix/<issue> branches
merged into `beta` directly. The gen-index.sh clone for beta pulls
bread-ecosystem's default branch (main) rather than pinning to dev,
since beta is the more stable track and main now carries the
TRACK-aware script.
2026-07-22 18:37:22 +08:00
Breadway
d27d6ef0b4 ci: base dev version on the latest published tag, not Cargo.toml
All checks were successful
dev release / build (push) Successful in 1m4s
Mirror to GitHub / mirror (push) Successful in 1s
Cargo.toml can drift stale relative to the actual last release (observed
on breadbox/breadpad/breadcrumbs/breadpaper), which made the auto-bumped
dev version sort as OLDER than what's already installed — bakery's semver
check correctly refused those "updates". Deriving the base version from
git ls-remote --tags instead is self-healing regardless of Cargo.toml
drift, with a Cargo.toml fallback only for a repo with no tags yet.
2026-07-22 13:51:58 +08:00
Breadway
e20ad51def random commit message, read it yourself
All checks were successful
dev release / build (push) Successful in 1m23s
Mirror to GitHub / mirror (push) Successful in 2s
2026-07-22 11:47:11 +08:00
Breadway
c0d1728bc0 ci: use a unique temp dir for the bread-ecosystem clone in dev/beta CI
All checks were successful
Mirror to GitHub / mirror (push) Successful in 1s
dev release / build (push) Successful in 1m17s
The fixed /tmp/bread-ecosystem-ci path races when multiple repos' dev/beta
workflows run close together on the same self-hosted runner — one job's
rm -rf/clone can stomp another's in-progress checkout, causing the
regenerate-index step to fail intermittently. Switch to mktemp -d.
2026-07-22 10:24:18 +08:00
Breadway
4df124e7e8 ci: retrigger dev-track build now that BAKERY_MINISIGN_SEC_KEY_PATH is set
Some checks failed
dev release / build (push) Failing after 2m4s
Mirror to GitHub / mirror (push) Successful in 2s
2026-07-22 10:10:03 +08:00
Breadway
1dc7030237 ci: add dev/beta build track workflows
Some checks failed
Mirror to GitHub / mirror (push) Successful in 2s
dev release / build (push) Failing after 1m6s
Adds dev-release.yml (publishes on every push to dev) and beta-release.yml
(publishes on a beta-v* tag), mirroring the pattern landing in
bread-ecosystem/bread. See bread-ecosystem/docs/release-channels.md for
the three-track policy.
2026-07-22 09:58:10 +08:00
Breadway
a33e979e5e Bump bread-theme to v0.2.8 (live-reload fix)
Some checks failed
Mirror to GitHub / mirror (push) Successful in 2s
Build and publish package / package (push) Failing after 2m39s
2026-06-17 12:55:52 +08:00
Breadway
83b9fd908e Fix illegible text on light pywal palettes + hot-reload
Use bread-theme 0.2.7's luminance-picked ink (@on-*): a selected/hovered row set
its background to `surface` but kept the pywal foreground, so the highlighted
item went unreadable when `surface` came out light. Colour is now set per surface
(panel, search box, row states) and labels inherit it.

Switch to bread_theme::gtk::apply_app_css so breadbox picks up `bread-theme
reload` (and rebuilds from the fresh palette on each launch).
2026-06-17 12:41:30 +08:00
Breadway
8c64ec1bf2 Release 0.2.4: shared bread-theme stylesheet
Some checks failed
Mirror to GitHub / mirror (push) Successful in 2s
Build and publish package / package (push) Failing after 3m13s
2026-06-16 18:32:48 +08:00
Breadway
732c3126ae Release 0.2.2: shared bread-theme stylesheet
Pin bread-theme v0.2.6 and load the shared ecosystem stylesheet.
2026-06-16 18:32:12 +08:00
Breadway
d464689a18 theme: load the shared bread-theme stylesheet
Apply bread_theme::gtk::apply_shared() before breadbox's own CSS so fonts,
palette, and generic widgets come from the shared ecosystem stylesheet. Keep
only launcher-specific rules (launcher-bg, searchentry, rows). Bump bread-theme
dep to v0.2.6.
2026-06-16 16:57:12 +08:00
Breadway
a6007e9a6a Disable debug package so the main package publishes correctly
Some checks failed
Mirror to GitHub / mirror (push) Successful in 2s
Build and publish package / package (push) Failing after 3m11s
makepkg's debug split produced a -debug pkg; the upload's head -1 could
grab it instead of the main package. !debug yields a single package.
2026-06-13 23:00:50 +08:00
Breadway
21392645cd Use REGISTRY_TOKEN (scoped write:package) for registry publish
Some checks failed
Mirror to GitHub / mirror (push) Successful in 2s
Build and publish package / package (push) Failing after 2m57s
2026-06-13 22:55:41 +08:00
Breadway
b80e06b253 Disable LTO in PKGBUILD (vendored ring/mlua static libs vs makepkg -flto) 2026-06-13 17:06:55 +08:00
Breadway
8bc185f40c Clone from public URL, not GITHUB_SERVER_URL (resolves to localhost in runner)
The Forgejo runner injects GITHUB_SERVER_URL as http://localhost:3002, which
is unreachable from inside the job container. Use the public URL instead.
2026-06-13 16:14:14 +08:00
Breadway
cbb1cf03d6 Rename mirror secret to MIRROR_TOKEN (GITHUB_ prefix is reserved)
Forgejo/gitea rejects user secret names starting with GITHUB_.
2026-06-13 16:10:50 +08:00
Breadway
43df888aa1 Fix Forgejo workflows for the actual server capabilities
- package.yml: correct Arch registry upload (octet-stream + binary body),
  drop --privileged, manual shell clone (archlinux image has no Node),
  built-in Actions token, --nocheck
- mirror.yml: clone --mirror + explicit refs push with --prune
2026-06-13 16:02:16 +08:00
Breadway
f93596adf2 Add packaging/arch PKGBUILD and Forgejo Actions workflows
- packaging/arch/PKGBUILD: builds and publishes breadbox to [breadway] repo
- .forgejo/workflows/mirror.yml: mirrors every push/tag to GitHub
- .forgejo/workflows/package.yml: builds on tag, publishes to Forgejo registry

Requires FORGEJO_TOKEN and GITHUB_MIRROR_TOKEN secrets in Forgejo.
2026-06-13 12:12:42 +08:00
Breadway
d2ef12551d chore: update Cargo.lock for v0.2.1
Some checks failed
release / build (push) Failing after 8s
2026-06-11 14:28:01 +08:00
Breadway
311f0d261f chore: bump version to 0.2.1 2026-06-11 14:21:31 +08:00
Breadway
c01cb67aa5 fix: add optional_system_deps (hyprland)
hyprland is used via IPC but not a linked dep — optional now.
2026-06-11 13:37:49 +08:00
Breadway
423d00383b feat: rank search results by match quality and launch frequency
Some checks failed
release / build (push) Failing after 4s
Track per-app launch counts in ~/.cache/breadbox/history.json. When a
query is active, sort visible results by fuzzy match quality (exact >
prefix > contains > subsequence) then by launch count descending, so
the most relevant and most-used app rises to the top. The base list
(no query) also surfaces most-launched apps above unvisited ones.
2026-06-07 14:35:06 +08:00
Breadway
fde5fe7c64 fix: use relative symlink for latest to work inside Docker containers 2026-06-07 09:02:38 +08:00
Breadway
efc2a81643 fix: add contents: write permission for GitHub Release creation
Some checks failed
release / build (push) Failing after 3s
2026-06-07 00:00:49 +08:00
Breadway
0432c6d73a fix: create GitHub Release before uploading artifacts 2026-06-06 23:52:44 +08:00
Breadway
e3ea3307d2 fix: switch bread-theme to git dep (v0.1.0) for CI 2026-06-06 23:26:49 +08:00
Breadway
7ffd5f785b fix: add missing build deps for hestia (Ubuntu) runner 2026-06-06 23:19:57 +08:00