No idea what this setShapable() stuff is, but it certainly

doesn't belong to detectNoBorder().
CCMAIL: thomas.luebking@web.de


svn path=/trunk/KDE/kdebase/kwin/; revision=428551
This commit is contained in:
Luboš Luňák 2005-06-24 15:22:34 +00:00
parent e98eb83a8b
commit 39388e4aeb
3 changed files with 26 additions and 1 deletions

View file

@ -358,7 +358,6 @@ void Client::detectNoBorder()
case NET::Dialog : case NET::Dialog :
case NET::Utility : case NET::Utility :
noborder = false; noborder = false;
setShapable(FALSE);
break; break;
default: default:
assert( false ); assert( false );
@ -370,6 +369,30 @@ void Client::detectNoBorder()
noborder = true; noborder = true;
} }
void Client::detectShapable()
{
if( Shape::hasShape( window()))
return;
switch( windowType())
{
case NET::Desktop :
case NET::Dock :
case NET::TopMenu :
case NET::Splash :
break;
case NET::Unknown :
case NET::Normal :
case NET::Toolbar :
case NET::Menu :
case NET::Dialog :
case NET::Utility :
setShapable(FALSE);
break;
default:
assert( false );
}
}
void Client::updateFrameExtents() void Client::updateFrameExtents()
{ {
NETStrut strut; NETStrut strut;

View file

@ -405,6 +405,7 @@ class Client : public QObject, public KDecorationDefines
void embedClient( Window w, const XWindowAttributes &attr ); void embedClient( Window w, const XWindowAttributes &attr );
void detectNoBorder(); void detectNoBorder();
void detectShapable();
void destroyDecoration(); void destroyDecoration();
void updateFrameExtents(); void updateFrameExtents();

View file

@ -104,6 +104,7 @@ bool Client::manage( Window w, bool isMapped )
setCaption( cap_normal, true ); setCaption( cap_normal, true );
detectNoBorder(); detectNoBorder();
detectShapable();
fetchIconicName(); fetchIconicName();
getWMHints(); // needs to be done before readTransient() because of reading the group getWMHints(); // needs to be done before readTransient() because of reading the group
modal = ( info->state() & NET::Modal ) != 0; // needs to be valid before handling groups modal = ( info->state() & NET::Modal ) != 0; // needs to be valid before handling groups