-
Notifications
You must be signed in to change notification settings - Fork 18
monitors
Note
First version of the plugin is still available under the name monitors_v0
Allows relative placement of monitors depending on the model ("description" returned by hyprctl monitors
).
Useful if you have multiple monitors connected to a video signal switch or using a laptop and plugging monitors having different relative positions.
Requires wlr-randr
.
Syntax:
[monitors]
unknown = "program to run"
[monitors.placement]
"description match".placement = "other description match"
Example to set a Sony monitor on top of the BenQ monitor:
[monitors.placement]
Sony.topOf = "BenQ"
# Character case is ignored, "_" can be added
Sony.Top_Of = ["BenQ"]
# lists are possible on the right part of the assignment:
"XYZ brand".leftOf = ["Sony", "BenQ"]
#You can also use "port" names such as *HDMI-A-1*, *DP-1*, etc... wrapping them in *()*:
" (HDMI-A-1)".bottom_of = "(eDP-1)"
# or, for a list:
"(HDMI-A-1)".bottom_of = ["(eDP-1)", "(DP-1)"]
# things can be mixed
Sony.bottom_of = ["(eDP-1)", "BenQ"]
# Thanks to TOML format, complex configurations can use separate "sections" for clarity, eg:
[monitors.placement."My monitor brand"]
leftOf = "(eDP-1)"
[monitors.placement."My other screen"]
topOf = "(eDP-1)"
Try to keep the rules as simple as possible, but relatively complex scenarios are supported.
Note
Check wlr layout UI which is a nice complement to configure your monitor settings.
Collect every rule and recompute the monitors layout.
Supported placements are:
- leftOf
- topOf
- rightOf
- bottomOf
- <one of the above>(center|middle|end)Of *
* If you don't like the screen to align on the start of the given border, you can use
center
(ormiddle
) to center it orend
to stick it to the opposite border. Eg: "topCenterOf", "leftEndOf", etc...
You can separate the terms with "_" to improve the readability, as in "top_center_of".
Default to ŧrue
.
When set to false
, do not initialize the monitor layout on startup or when configuration is reloaded.
Default to false
.
When set to true
, performs a full "relayout" when a monitor is plugged instead of trying to minimize changes to apply.