Skip to content

[FEATURE] Anchor bar to one end of an edge (corner bar) #3732

Description

@XimoCP

Submission checklist

  • I have searched existing issues and confirmed this has not been requested before.
  • I have checked existing pull requests for similar changes.

Feature type

Configuration / customization

Feature summary

Add a per-bar alignment option so a bar can be pinned to one END of its edge (top-left, top-right, bottom-left, bottom-right) instead of always being centered on the edge. Combined with auto-resize (#3527), this allows a small "corner bar" whose background ends where the content ends and grows from the corner of the screen.

Motivation / use case

Today position only supports top/bottom/left/right and the bar surface is always centered on the edge; margin_ends insets BOTH ends symmetrically, so a shrunken bar stays centered. Users who want a minimal pill in a corner (e.g. bottom-right) cannot get it. The workaround — a full-width transparent bar with content in a single lane — leaves an invisible but clickable full-edge strip.

Proposed solution

Add an alignment/anchor option per bar, e.g.:

[bar.corner]
position = "bottom"
align    = "end"   # start | center | end — default "center" (current behavior)

start hugs the left end of a horizontal bar (or top end of a vertical bar); end hugs the right/bottom end. When combined with auto-resize (#3527) the background would cover only the content, producing a small pill growing from the chosen corner.

Design question for maintainers: should a corner bar still reserve the full edge exclusive zone, or only the corner region?

Alternatives considered

  • Transparent full-width bar + content in a single lane: works visually, but the whole edge stays clickable (see [FEATURE] Bar click-through to pass pointer events through empty areas #3324 for click-through requests).
  • Desktop widgets: free placement, but not a real bar (no exclusive zone, no attached panels, no auto-hide).
  • Plugins: cannot change the built-in bar anchoring (only add widgets).

References / related projects

Additional context

Tested on Noctalia v5.0.0. The align key would need to be added to BarConfig + monitor overrides + Settings UI + schema tests.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions