If you use xrandr to configure a set of monitors more than once, there is something wrong.
I would probably call it experimental, but this would imply that there is a at least a chance of an interesting result. Expect changes in the used libraries and general project structure.
-
A daemon that runs, detects changes in Monitor connections and logs them.
-
Detecting the current Monitor setup and (de)serializing it. -
Reading and Writing setups to file and comparing them to the current setup.
-
Eliminating XLib -
Getting the current screen setup -
(De)serializing screen setups and comparing them -
Setting screen setup -
Review Logging
-
Review Error Handling
-
Release!