Sets monitor mode, works around some scaling issues that are present with xrandr. Supports one or multiple monitors (not tested with 3 or more).
python3 mutter_monitors.py
The mode with the asterisk is currently selected.
HDMI-A-0 [*] [email protected]
HDMI-A-0 [1] 1920x1080@60
HDMI-A-0 [2] 1920x1080@50
HDMI-A-0 [3] [email protected]
HDMI-A-0 [4] [email protected]
HDMI-A-0 [5] [email protected]
HDMI-A-0 [6] [email protected]
HDMI-A-0 [7] [email protected]
HDMI-A-0 [8] 1152x864@75
HDMI-A-0 [9] 1280x720@60
HDMI-A-0 [10] 1280x720@50
HDMI-A-0 [11] [email protected]
HDMI-A-0 [12] [email protected]
HDMI-A-0 [13] [email protected]
HDMI-A-0 [14] [email protected]
HDMI-A-0 [15] [email protected]
HDMI-A-0 [16] 720x576@50
HDMI-A-1 [0] [email protected]
HDMI-A-1 [*] 1920x1080@60
HDMI-A-1 [2] 1920x1080@50
HDMI-A-1 [3] [email protected]
HDMI-A-1 [4] [email protected]
HDMI-A-1 [5] [email protected]
HDMI-A-1 [6] [email protected]
HDMI-A-1 [7] [email protected]
HDMI-A-1 [8] 1152x864@75
HDMI-A-1 [9] 1280x720@60
HDMI-A-1 [10] 1280x720@50
HDMI-A-1 [11] [email protected]
HDMI-A-1 [12] [email protected]
HDMI-A-1 [13] [email protected]
HDMI-A-1 [14] 800x600@75
HDMI-A-1 [15] [email protected]
HDMI-A-1 [16] 720x576@50
python3 mutter_monitors.py HDMI-A-0 8 1.0
Scaling is a required argument. It expects 1.0 or 2.0.
HDMI-A-0 mode will be changed to 1152x864@75.
HDMI-A-1 mode will be retained.
All monitors will be assigned 100% scaling.
This should retain whatever layout you had previously (extend/mirror/single).
python3 mutter_monitors.py HDMI-A-1 2 HDMI-A-0 16 2.0
Order of monitors doesn't matter, but it expects the format Monitor Mode Monitor Mode ... scale_factor
HDMI-A-0 mode will be changed to 720x576@50
HDMI-A-1 mode will be changed to 1920x1080@50
All monitors will be assigned 200% scaling.
This should retain whatever layout you had previously (extend/mirror/single).
Use udev rules.