Commit graph

27 commits

Author SHA1 Message Date
Breadway
ac6ccfe88a Add --screenshot CLI mode for automated capture
Renders a single view ("bar" or "control-panel"), captures it via
bread-screenshots, then exits — driven by bread-ecosystem's bread-capture
orchestrator, or runnable standalone for one-off captures.

Waits on GTK's map signal (plus a short settle delay) before capturing
rather than guessing a fixed sleep upfront: the control-panel view in
particular needs the popover's autohide disabled (a programmatic popup()
has no input-event serial to grab the Wayland seat with) and a longer
settle window so the CPU/RAM/PWR/GPU/network stats — populated by a
2-second background poller, not the popover's own open — have had at
least one full cycle to fill in before the capture fires.

--width/--height match whatever canvas bread-capture's isolation sizes
the compositor to, so the "bar" view's geometry doesn't depend on
querying anything at capture time.

Needs RelmApp::with_args(vec![]) (GLib's own arg parser otherwise rejects
--screenshot/--output before clap ever sees them) and
allow_multiple_instances(true) for screenshot runs specifically, since
GApplication is single-instance by default and this machine typically
already has a real breadbar running.
2026-07-29 11:15:57 +08:00
Breadway
a00934a53d update deps
All checks were successful
dev release / build (push) Successful in 1m27s
2026-07-23 11:48:36 +08:00
Breadway
56e8b02599 Will change this commit message to mean something later
All checks were successful
dev release / build (push) Successful in 1m30s
2026-07-23 11:25:06 +08:00
Breadway
175af5d483 Will change this commit message to mean something later
Some checks failed
dev release / build (push) Failing after 2s
2026-07-22 19:53:51 +08:00
Breadway
5ec8b69d37 Switch to tag-pinned bread-ecosystem deps; bump version to v0.3.0
Some checks failed
Mirror to GitHub / mirror (push) Successful in 30s
Build and publish package / package (push) Failing after 44s
release / build (push) Successful in 2m6s
2026-07-19 03:53:32 +08:00
Breadway
86432d718a Design refresh: new icon assets, bluetooth popover, notification urgency styling, RAM/power draw in control panel
Adds real SVG icon assets replacing the icons-needed.txt checklist,
a bluetooth popover module, per-notification urgency (CSS-styled),
and app-name/summary dedup in notification cards. Rounds out the
control panel's stats section with RAM and power draw alongside the
existing CPU/GPU/net rows.
2026-07-17 14:36:33 +08:00
Breadway
e8d5fd5a52 Set layer-shell namespace to breadbar, bump version to 0.2.4
Some checks failed
Mirror to GitHub / mirror (push) Successful in 39s
Build and publish package / package (push) Failing after 5m4s
release / build (push) Successful in 6m33s
2026-07-10 18:04:31 +08:00
Breadway
8471cc02fe Make unsaved Nearby networks clickable, add password-entry dialog
Some checks failed
Mirror to GitHub / mirror (push) Successful in 1m14s
Build and publish package / package (push) Failing after 33s
release / build (push) Successful in 1m24s
Rows for scanned networks not yet in breadcrumbs' saved config were
both dimmed and disabled (set_sensitive(false)), so there was no way
to add them from the popover. They now stay visually dimmed via the
existing wifi-popover-row-unsaved style but remain clickable, opening
a small password dialog that saves + joins the network via
`breadcrumbs add` + `breadcrumbs join`.
2026-07-10 13:37:56 +08:00
Breadway
e057f97e82 bump version to 0.2.2 (v0.2.1 tag already taken)
Some checks failed
Mirror to GitHub / mirror (push) Successful in 51s
Build and publish package / package (push) Failing after 40s
release / build (push) Successful in 1m34s
2026-07-03 22:50:13 +08:00
Breadway
3aad7109c0 Bump bread-theme to v0.2.10 (fixed dark background/surface, accent-only pywal)
All checks were successful
Mirror to GitHub / mirror (push) Successful in 27s
Pulls the fix for panels turning brown/off-hue when pywal extracts a light
or muddy background from the wallpaper — background/surface now stay BOS's
fixed dark constants regardless of what the wallpaper looks like.
2026-07-03 22:49:04 +08:00
Breadway
31b2d10909 chore: repo cleanup for v0.2.0
All checks were successful
Mirror to GitHub / mirror (push) Successful in 32s
- Fix read_cpu_temp loop: ok()? was aborting iteration on unreadable hwmon
  entries instead of continuing to the next; use let Ok(...) else continue
- Fix osd.rs: replace stdout.unwrap() with defensive let-else guard
- PKGBUILD: bump pkgver to 0.2.0, replace libpulse dep with wireplumber +
  pipewire-pulse + brightnessctl (actual runtime tools used)
- bakery.toml: same dep fix as PKGBUILD
- Cargo.toml: fix repository URL casing (breadway -> Breadway)
- theme.rs: add wifi-popover-row-unsaved opacity rule
2026-06-24 07:05:07 +08:00
Breadway
3ae3eff59e Release 0.2.0: media widget, wifi popover, control panel 2026-06-24 06:43:52 +08:00
Breadway
aa34aa1319 Bump bread-theme to v0.2.8 (live-reload fix)
Some checks failed
Build and publish package / package (push) Failing after 3m57s
Mirror to GitHub / mirror (push) Successful in 56s
2026-06-17 12:55:47 +08:00
Breadway
0893724e5f Fix illegible text on light pywal palettes + hot-reload
Use bread-theme 0.2.7's luminance-picked ink (@on-*) for text on coloured
backgrounds: the active workspace pill and notification cards previously kept the
pywal foreground, which vanished when those slots came out light. Drop the
blanket label colour rule (it overrode the per-surface ink on child labels).

Switch to bread_theme::gtk::apply_app_css so the bar recolours live on
`bread-theme reload` instead of only at startup.
2026-06-17 12:40:52 +08:00
Breadway
37b9a342e1 Release 0.1.7: shared bread-theme stylesheet
Some checks failed
Mirror to GitHub / mirror (push) Successful in 27s
Build and publish package / package (push) Failing after 4m7s
Pin bread-theme v0.2.6 and load the shared ecosystem stylesheet.
2026-06-16 18:31:18 +08:00
Breadway
0cb27ec1c4 theme: load the shared bread-theme stylesheet
Call bread_theme::gtk::apply_shared() before breadbar's own rules so fonts,
palette, and generic widgets come from the one ecosystem stylesheet (and
recolour live). Keep only breadbar-specific CSS (bar window, workspace
buttons, stats, notifications, OSD). Bump bread-theme dep to v0.2.6.
2026-06-16 16:56:52 +08:00
Breadway
1959a86157 Default workspace-button rounding to 0
Some checks failed
Mirror to GitHub / mirror (push) Successful in 31s
Build and publish package / package (push) Failing after 3m55s
2026-06-15 18:51:42 +08:00
Breadway
b098178058 Embed SVG assets and rasterise with resvg
Some checks failed
Mirror to GitHub / mirror (push) Successful in 33s
Build and publish package / package (push) Failing after 3m10s
The packaged binary panicked on startup ("svg load: Unrecognized image file
format"): asset SVGs were referenced by their build-time CARGO_MANIFEST_DIR
path (absent on an installed system, so read_to_string returned empty bytes),
and gdk::Texture::from_bytes can no longer decode SVG since librsvg dropped its
gdk-pixbuf loader.

- include_str! the SVGs into the binary (no runtime asset files)
- rasterise via resvg/tiny-skia into a gdk::MemoryTexture (no system loader)
2026-06-14 19:36:38 +08:00
Breadway
44a8d95887 feat: add system tray (StatusNotifierWatcher / SNI)
Some checks failed
release / build (push) Failing after 3s
Implements org.kde.StatusNotifierWatcher as a D-Bus service so apps
like Nextcloud can register their tray icons. Icons are rendered from
SNI ARGB pixmaps (falling back to icon-name theme lookup), click calls
Activate(0,0), and NameOwnerChanged cleans up ghost icons when an app
exits. Styling follows the Bread Design System (4px tertiary radius,
xs/sm spacing, opacity transitions).

Also fixes a latent infinite-loop risk in osd.rs (.flatten → .map_while)
and syncs the notifications server version string to CARGO_PKG_VERSION.
2026-06-11 22:31:25 +08:00
Breadway
432c2da18c chore: bump version to 0.1.1 2026-06-11 14:21:28 +08:00
Breadway
2db421d8eb fix: switch bread-theme to git dep (v0.1.0) for CI 2026-06-06 23:26:20 +08:00
Breadway
4b66efa87c Refactor theme onto bread-theme; add bakery.toml and release workflow
- Cargo.toml: depend on bread-theme (path dep for local dev, git dep for
  production) with gtk feature; remove local theme dependencies
- src/theme.rs: replace local pywal/Catppuccin impl with bread_theme::gtk
  helpers; local bar-specific CSS is preserved
- bakery.toml: describes breadbar for bakery install
- release.yml: builds on hestia self-hosted runner, publishes binary to
  dl.breadway.dev and GitHub Releases on v* tags
2026-06-06 22:31:10 +08:00
Breadway
4a3604f78a Fixes 2026-05-19 12:31:26 +08:00
Breadway
255be18ca2 nvm actual init commit 2026-05-17 13:17:31 +08:00
Breadway
241e3bc2cb step 5: live Hyprland workspace buttons via EventStream 2026-05-17 08:34:31 +08:00
Breadway
542cbae939 step 3+4: pywal theme loader, three-section CenterBox layout 2026-05-17 01:00:32 +08:00
Breadway
1bbe9a2929 scaffold: Cargo.toml, module stubs, layer-shell window (step 1+2) 2026-05-17 00:38:19 +08:00