Hi,
I'm not 100% sure this is right, just because a window has WS_CLIPSIBLINGS and WS_CLIPCHILDREN does not mean we necessarily want to manage it.
For example, both Trillian and WinAmp set this combination, and these need to be unmanaged (ideally semi managed I think, where we draw the system bar, let the app clip it away, then hand over to the window manager setting hints for no decoration.. but thats another matter)
But then again I may be talking rubbish,
Mark
inline static BOOL is_window_managed( WND *win ) { if (!managed_mode) return FALSE; /* tray window is always managed */ if (win->dwExStyle & WS_EX_TRAYWINDOW) return TRUE; /* child windows are not managed */ if (win->dwStyle & WS_CHILD) return FALSE; /* tool windows are not managed */ if (win->dwExStyle & WS_EX_TOOLWINDOW) return FALSE; /* windows with caption or thick frame are managed */ if ((win->dwStyle & WS_CAPTION) == WS_CAPTION) return TRUE; if (win->dwStyle & WS_THICKFRAME) return TRUE;
/**************** New code *****************************/ if ((win->dwStyle & (WS_CLIPSIBLINGS|WS_CLIPCHILDREN) ) == (WS_CLIPSIBLINGS|WS_CLIPCHILDREN)) return TRUE; /************** End new code ***************************/ /* default: not managed */ return FALSE;
}