outputorderwatcher: watch for when the last output is removed
watch for XCB_RANDR_CONNECTION_DISCONNECTED to immediately remove from the screen order, to avoid the data inconsistency when the last screen gets removed
When the ast screen is removed, its qscreen becomes name ":0.0" as the fake screen, but nothing happens really, screenpool doesn't notice (and looking at the assert_x there are, that was expected" then the screen gets connected again, a new screen gets conencted, the old 0.0 one gets disconnected, but the screen order stuff doesn't say anything as it's still the same connector name as before so screenpool finds itself with an empty screenorder
(cherry picked from commit b833966a)
16c98c28 outputorderwatcher: watch for when the last output is removed 9aec2c7a add comments on what's going on b1911f16 more comments
Co-authored-by: Marco Martin notmart@gmail.com