Fix stacking of unmanaged windows and managing windows on restart.
keep inputonly windows in the stacking order
create hashtables in stacking.[ch] to find windows in the stacking lists by
their window id
make the screen support window be an obwindow since it is a child of root
and so windows can stack relative to it.
allow unmanaged windows to change their stacking order and track the changes
for display
on restart manage unmapped windows as "unmanaged" as well as override-redirect
windows (the code paths here changed a fair bit, allowing fewer repetitive
XGetWindowAttributes calls)
adds a ObStackingIter data structure and functions in stacking.[ch] that allow
you to iterate through all the windows (managed and unmanaged) together in
the order they should appear on screen.
13 files changed: