added support for unshadowed moving windows, slight changes to updates on shapable windows
svn path=/trunk/kdebase/kwin/; revision=383513
This commit is contained in:
parent
926f7e02fd
commit
05eda26865
5 changed files with 9 additions and 6 deletions
|
@ -354,11 +354,11 @@ void Client::detectNoBorder()
|
|||
case NET::Dialog :
|
||||
case NET::Utility :
|
||||
noborder = false;
|
||||
setShapable(FALSE);
|
||||
break;
|
||||
default:
|
||||
assert( false );
|
||||
}
|
||||
setShapable(FALSE);
|
||||
}
|
||||
|
||||
void Client::updateFrameStrut()
|
||||
|
@ -419,18 +419,17 @@ void Client::setUserNoBorder( bool set )
|
|||
|
||||
void Client::updateShape()
|
||||
{
|
||||
setShapable(TRUE);
|
||||
if ( shape() )
|
||||
{
|
||||
XShapeCombineShape(qt_xdisplay(), frameId(), ShapeBounding,
|
||||
clientPos().x(), clientPos().y(),
|
||||
window(), ShapeBounding, ShapeSet);
|
||||
setShapable(TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
XShapeCombineMask( qt_xdisplay(), frameId(), ShapeBounding, 0, 0,
|
||||
None, ShapeSet);
|
||||
setShapable(TRUE);
|
||||
}
|
||||
// workaround for #19644 - shaped windows shouldn't have decoration
|
||||
if( shape() && !noBorder())
|
||||
|
|
|
@ -2124,7 +2124,7 @@ bool Client::startMoveResize()
|
|||
initialMoveResizeGeom = moveResizeGeom = geometry();
|
||||
checkUnrestrictedMoveResize();
|
||||
// rule out non opaque windows from useless translucency settings, maybe resizes?
|
||||
if (isResize() && options->removeShadowsOnResize)
|
||||
if ((isResize() && options->removeShadowsOnResize) || (isMove() && options->removeShadowsOnMove))
|
||||
setShadowSize(0);
|
||||
if (rules()->checkMoveResizeMode( options->moveMode ) == Options::Opaque){
|
||||
savedOpacity_ = opacity_;
|
||||
|
@ -2164,7 +2164,7 @@ void Client::leaveMoveResize()
|
|||
// rule out non opaque windows from useless translucency settings, maybe resizes?
|
||||
if (rules()->checkMoveResizeMode( options->moveMode ) == Options::Opaque)
|
||||
setOpacity(true, savedOpacity_);
|
||||
if (isResize() && options->removeShadowsOnResize)
|
||||
if ((isResize() && options->removeShadowsOnResize) || (isMove() && options->removeShadowsOnMove))
|
||||
updateShadowSize();
|
||||
clearbound();
|
||||
if (geometryTip)
|
||||
|
|
|
@ -309,7 +309,9 @@ bool Client::manage( Window w, bool isMapped )
|
|||
{
|
||||
updateShape();
|
||||
}
|
||||
|
||||
// else
|
||||
// setShapable(FALSE);
|
||||
|
||||
//CT extra check for stupid jdk 1.3.1. But should make sense in general
|
||||
// if client has initial state set to Iconic and is transient with a parent
|
||||
// window that is not Iconic, set init_state to Normal
|
||||
|
|
|
@ -186,6 +186,7 @@ unsigned long Options::updateSettings()
|
|||
activeWindowShadowSize = config->readNumEntry("ActiveWindowShadowSize", 100);
|
||||
inactiveWindowShadowSize = config->readNumEntry("InactiveWindowShadowSize", 100);
|
||||
dockShadowSize = config->readNumEntry("DockShadowSize", 100);
|
||||
removeShadowsOnMove = config->readBoolEntry("RemoveShadowsOnMove", true);
|
||||
removeShadowsOnResize = config->readBoolEntry("RemoveShadowsOnResize", true);
|
||||
if (resetKompmgr = config->readBoolEntry("ResetKompmgr", false))
|
||||
config->writeEntry("ResetKompmgr",FALSE);
|
||||
|
|
|
@ -265,6 +265,7 @@ class Options : public KDecorationOptions
|
|||
bool translucentMovingWindows;
|
||||
uint movingWindowOpacity;
|
||||
bool removeShadowsOnResize;
|
||||
bool removeShadowsOnMove;
|
||||
bool translucentDocks;
|
||||
uint dockOpacity;
|
||||
bool keepAboveAsActive;
|
||||
|
|
Loading…
Reference in a new issue