Feature: allow anchoring the bar to the left/right screen edge (vertical side-dock) #15
Labels
No labels
bug
ci
enhancement
feature
privacy
security
theme-system
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Breadway/breadbar#15
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Request
Support a vertical bar docked to the left or right edge of the screen, as an alternative to the current horizontal top/bottom bar.
Why this isn't just a theme.toml tweak today
[bar.window].anchorsalready acceptsleft/rightas enum values, but only as edge pins for a horizontal bar — e.g.["top", "left", "right"]anchors a horizontal bar's ends to both side edges. There's no orientation axis:widthis"fill" | int pxandheightis always a plainint px(bread-theme/src/shell/types.rsWindowSpec) — there's no "fill vertically, fixed width" mode analogous to today's "fill horizontally, fixed height".apply_window_spec()in breadbar'ssrc/main.rs(~line 100) always treatsheightas the bar's fixed chrome dimension andwidth/anchors as the fill axis; a["left", "top", "bottom"]anchor set would stretch the window vertically via gtk4-layer-shell, but nothing in the CSS or widget layout would follow — bar content (workspaces, clock, stats) is packed in horizontalBoxes left-to-right the whole way through, with no vertical/stacked equivalent.ShellTheme::css()) bakesmin-heightfrom theheighttoken; a side-docked bar would needmin-widthinstead, and every chip/pill/slot layout would need a vertical stacking mode.Scope (rough)
WindowSpec/schema so a theme can declare orientation (or derive it fromanchors— e.g. anchored to exactly one ofleft/rightwithouttop+bottom both filling horizontallyimplies vertical), with athicknessdimension replacing the fixedheightfor that axis.apply_window_spec()(swap which axis isFillvs fixed), CSS emission (min-widthvsmin-height), and vertical-stacking layout forbar.slots(workspaces/clock/stats top-to-bottom instead of left-to-right).Confirmed via code read (2026-09-05): no existing scaffolding for this — it's a real feature, not a config gap like the sibling
[panel]/[osd]issues filed alongside this one.