shell: add widget: entries to the builtin's [bar.slots] (Phase 3b)

Reproduces breadbar's now-removed fixed Lua-widget interleave
(right-of-workspaces, left/right-of-clock, left-of-stats) as explicit
widget: slot entries, so the builtin theme still renders pixel-identical
to today's bar under breadbar's new theme-driven widget placement.
`tray` deliberately has no slot entry anywhere — it stays in the
control-panel popover regardless of [bar.slots].

Updates the one test asserting the builtin's slot contents.
This commit is contained in:
Breadway 2026-08-24 18:23:31 +08:00
parent 96aa6a513b
commit 92d3362a6b
2 changed files with 18 additions and 5 deletions

View file

@ -550,8 +550,14 @@ mod tests {
#[test]
fn builtin_slots_and_modules_are_trail_and_flip() {
let theme = resolve_builtin();
assert_eq!(theme.slots().left, vec!["workspaces"]);
assert_eq!(theme.slots().centre, vec!["media", "clock"]);
assert_eq!(
theme.slots().left,
vec!["workspaces", "widget:right_of_workspaces"]
);
assert_eq!(
theme.slots().centre,
vec!["media", "widget:left_of_clock", "clock", "widget:right_of_clock"]
);
assert!(matches!(
theme.modules().workspaces.style,
WorkspaceStyle::Trail