When not all connected screens are active XRRGetCrtcInfo returns NULL for the inactive screens resulting in a SIGSEGV when trying to push it to the screens vector.
TODO:
[x] When user sets --screen-root to a non-existent screen, program still runs without fatal error.
[x] Maybe this can be checked in the same if statement as the connection check?
No. There is a way in XRandr to get only active monitors, but that involves manually creating requests and internal Xorg functions. See this and this
When not all connected screens are active XRRGetCrtcInfo returns NULL for the inactive screens resulting in a SIGSEGV when trying to push it to the screens vector.
TODO: