Fix stacking of unmanaged windows and managing windows on restart.
authorDana Jansens <danakj@orodu.net>
Sat, 26 Jun 2010 00:01:03 +0000 (02:01 +0200)
committerDana Jansens <danakj@orodu.net>
Sat, 26 Jun 2010 23:37:57 +0000 (01:37 +0200)
commit45dc2422e767499701342b09de88be040c6daac2
treedb61400aed2be37b48070ce50d370843197fea08
parent58bcc69e27a210d8c1b453598c974c0a120e00ef
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:
openbox/client.c
openbox/composite.c
openbox/dock.c
openbox/event.c
openbox/openbox.c
openbox/popup.c
openbox/screen.c
openbox/stacking.c
openbox/stacking.h
openbox/unmanaged.c
openbox/unmanaged.h
openbox/window.c
openbox/window.h