I would like to devote some of my spare time to the improvement of how MATE works in multi-monitor environment. Right now it’s bad-to-awful for my case, in which I have one laptop monitor and two additional external monitors. My configuration is quite specific though: both external monitors are rotated by 90 degrees and sit above the laptop screen (both virtually and physically). While it works when I setup everything manually with xrandr, doing this every time after rebooting is quite boring. I know I can invoke arbitrary script when lightdm starts, but for some reason I’d prefer to have a solid support of multiple monitors to hacking around with bash and xrandr. I also tried to make xorg.conf, but it seems like MATE changes configuration after one logs in. Finally, I’d like MATE to have a strong notion of a primary monitor, because each time I never know where the lightdm greeting dialog will appear, and the panels are placed completely by the means of flipping a coin. Basically, I see three stages here:
- Detect primary monitor both before and after logging in, i.e. place the greeting dialog and the main panel on that monitor by default. Detect some corner cases.
- Handle more corner cases, e.g. what should happen when I turn off one monitor?
- (Not sure how much time it may require) Remember layouts based on monitor identifiers and restore them when additional monitors are being turned on and off.
In other words, I’d like to see the same level of support that Mac has. Or even better
If you think this is going to be a good time investment, please tell me about few things:
- Were there previous efforts in this direction?
- From where to start my journey?
- Can I fix any minor bug that has any relation to the problem above that would allow me to meet the codebase?
- Is there a “quick start guide” for hacking on MATE? I’m particularly interested in the right way of switching between development and currently installed versions of the program.
Thank you!