Summary: | kwinmodule won't raise "windowAdded" signal for some windows (breaks the dockbar extension) | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | julien pommier <hules> |
Component: | general | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
julien pommier
2003-11-12 21:54:03 UTC
Subject: kdebase/kwin CVS commit by lunakl: Hmm, ok, I give up. Check only for IconicState in initial mapping state, treat all the other strange states as NormalState. Fixes WMaker applets. CCMAIL: 68069-done@bugs.kde.org M +8 -26 manage.cpp 2.19 --- kdebase/kwin/manage.cpp #2.18:2.19 @@ -40,29 +40,4 @@ bool Client::manage( Window w, bool isMa return false; - // initial state - int init_mapping_state = NormalState; - XWMHints * hints = XGetWMHints(qt_xdisplay(), w ); - if (hints && (hints->flags & StateHint)) - init_mapping_state = hints->initial_state; - if (hints) - XFree(hints); - if( isMapped ) - init_mapping_state = NormalState; // if it's already mapped, ignore hint - - if( init_mapping_state != NormalState - && init_mapping_state != IconicState ) - { // don't manage windows with strange initial mapping state - // it's mapped and unmapped for WindowMaker applets - // they usually map with initial_state == Withdrawn, - // and don't want to be mapped - // mapping it for a while will give the docking panel - // a chance to get MapNotify for it, and swallow the matching - // window - // SELI - XMapWindow( qt_xdisplay(), w ); - XUnmapWindow( qt_xdisplay(), w ); - return false; - } - // XGrabServer( qt_xdisplay()); // FRAME @@ -74,5 +49,12 @@ bool Client::manage( Window w, bool isMa // SELI order all these things in some sane manner - bool init_minimize = init_mapping_state == IconicState; + bool init_minimize = false; + XWMHints * hints = XGetWMHints(qt_xdisplay(), w ); + if (hints && (hints->flags & StateHint) && hints->initial_state == IconicState) + init_minimize = true; + if (hints) + XFree(hints); + if( isMapped ) + init_minimize = false; // if it's already mapped, ignore hint unsigned long properties[ 2 ]; |