BUG:97490

svn path=/trunk/kdebase/kwin/; revision=409179
This commit is contained in:
Luboš Luňák 2005-05-02 12:49:06 +00:00
parent 9c34475e4e
commit 4ac1e42768
2 changed files with 24 additions and 2 deletions

View file

@ -49,8 +49,18 @@ BRIDGE_HELPER( void, maximize, MaximizeMode m, m, )
BRIDGE_HELPER( void, minimize,,, )
BRIDGE_HELPER( void, showContextHelp,,, )
BRIDGE_HELPER( void, setDesktop, int desktop, desktop, )
BRIDGE_HELPER( void, setKeepAbove, bool set, set, )
BRIDGE_HELPER( void, setKeepBelow, bool set, set, )
void Bridge::setKeepAbove( bool set )
{
if( c->keepAbove() != set )
c->workspace()->performWindowOperation( c, KeepAboveOp );
}
void Bridge::setKeepBelow( bool set )
{
if( c->keepBelow() != set )
c->workspace()->performWindowOperation( c, KeepBelowOp );
}
NET::WindowType Bridge::windowType( unsigned long supported_types ) const
{

View file

@ -396,11 +396,23 @@ void Workspace::performWindowOperation( Client* c, Options::WindowOperation op )
c->setUserNoBorder( !c->isUserNoBorder());
break;
case Options::KeepAboveOp:
{
StackingUpdatesBlocker blocker( this );
bool was = c->keepAbove();
c->setKeepAbove( !c->keepAbove() );
if( was && !c->keepAbove())
raiseClient( c );
break;
}
case Options::KeepBelowOp:
{
c->setKeepBelow( !c->keepBelow() );
StackingUpdatesBlocker blocker( this );
bool was = c->keepBelow();
if( was && !c->keepBelow())
lowerClient( c );
break;
}
case Options::WindowRulesOp:
editWindowRules( c );
break;