Skip to content

Feature: Per-monitor bar position support #162

@ROOCKY-dev

Description

@ROOCKY-dev

Feature Request

Summary

Add support for configuring the bar position independently per monitor, rather than a single global position value that applies to all screens.

Current behavior

~/.config/ambxst/config/bar.json has a single "position" field (e.g. "top") that is applied uniformly to every monitor. There is no way to have the bar at the top on one monitor and the bottom on another.

Desired behavior

A per-screen position map, for example:

{
  "position": "top",
  "screenPositions": {
    "eDP-1": "top",
    "DP-3": "bottom"
  }
}

If a screen is not listed in screenPositions, it falls back to the global position value.

Motivation

Multi-monitor setups often have different physical arrangements — e.g. a laptop screen above an external monitor below it. In that case it makes ergonomic sense to put the bar at the bottom of the lower monitor (closest to the user) while keeping it at the top of the main display.

Implementation hint

In BarContent.qml, barPosition currently binds to Config.bar.position globally. Extending it to check Config.bar.screenPositions[screen.name] first (falling back to the global value) should be sufficient.

Environment

  • Ambxst (latest)
  • Hyprland multi-monitor setup (eDP-1 top, DP-3 bottom)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions