Fixing RANDR: current status

The other day I wrote about the state of RANDR in GNOME. I have been working on some of the bugs around supporting multiple monitors.

These days, you get a confirmation dialog whenever you change your RANDR settings, because we still have to deal with sucky drivers that may crash when changing resolutions or the plugged monitors.

Gnome-settings-daemon brings up this dialog, as g-s-d is the central point for RANDR configuration changes in GNOME. However, this dialog of course appears when you click "Apply" in the Display Properties capplet. There was no way for gnome-settings-daemon to know the transient-parent window for the confirmation dialog, so the dialog could appear below the capplet. This is fixed now; g-s-d now lets you pass it a parent window ID and a timestamp.

I also fixed some bugs when restoring your original configuration during the first login. Since in a first-time login there is no monitors.xml file, there was nothing to go back to, and your original configuration was not restored. This is fixed now.

A silly crasher in gnome-display-properties, caused by me not actually plugging/unplugging monitors to test them (I would just change their configuration, but leave them plugged in all the time).

Finally, two patches for gnome-panel which are awaiting review. One is to fix the case where you plug in an external monitor to your laptop, and the panel moves to the external monitor. The other one is for when the panel appears "in the middle" of a high-resolution monitor when you also have a low-resolution one plugged in, and you are using Mirror Screens mode.