What do the tags in `monitors.xml` do

gnome3

I have a GNOME 3 desktop environment installed on my Arch Linux box, and I would like to manually configure my desktop settings.

I understand there is a file ~/.config/monitors.xml but I am quite puzzled about what the tags in the file actually do.

I am particularly interested in the presentation, clone, reflect_x and reflect_y tags. I could not find a manual online for this configuration file.

I understand they might have something to do with dual head support?

Best Answer

The monitors.xml file stores the monitors settings as configure by Gnome System Settings. It can store configurations for multiple monitor setups and the user's personal choice of screen resolution. Gnome System Settings uses the XRANDR extension to reconfigure the display(s) on the fly.

As you found, and as can be read here, the content of the file isn't documented.

The settings of your display are automatically detected when the X server starts. However, these can be overriden by creating and using /usr/share/X11/xorg.conf.d/*.conf files. Changes here are system wide and work regardless of the Desktop Environment you use.

Once logged in to Gnome, changes made using the Gnome System Settings' Display applet are saved in your monitors.xml file. As Gnome uses XRANDR to configure the displays based on the content of this file, you could use the xrandr utility to manually configure your display(s).

If you need to know the format of the monitors.xml file, one option would be to monitor it's content as you change settings on Gnome - there aren't that many, especially if you're only using a single monitor. Another option would be to read the source code.

Related Question