[effects/fadedesktop] Don't animate windows moved between virtual desktops
Summary: If a window was moved to another virtual desktop, then it would be faded in. The desired behavior is to not animate it at all. Test Plan: Moved a Konsole window between virtual desktops, it stayed opaque. Reviewers: #kwin, davidedmundson Reviewed By: #kwin, davidedmundson Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D16102
This commit is contained in:
parent
cc280a4dd7
commit
07cc4b0072
1 changed files with 8 additions and 1 deletions
|
@ -26,13 +26,20 @@ loadConfig();
|
||||||
effect.configChanged.connect(function() {
|
effect.configChanged.connect(function() {
|
||||||
loadConfig();
|
loadConfig();
|
||||||
});
|
});
|
||||||
effects['desktopChanged(int,int)'].connect(function(oldDesktop, newDesktop) {
|
effects['desktopChanged(int,int,KWin::EffectWindow*)'].connect(function(oldDesktop, newDesktop, movingWindow) {
|
||||||
if (effects.hasActiveFullScreenEffect && !effect.isActiveFullScreenEffect) {
|
if (effects.hasActiveFullScreenEffect && !effect.isActiveFullScreenEffect) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var stackingOrder = effects.stackingOrder;
|
var stackingOrder = effects.stackingOrder;
|
||||||
for (var i = 0; i < stackingOrder.length; i++) {
|
for (var i = 0; i < stackingOrder.length; i++) {
|
||||||
var w = stackingOrder[i];
|
var w = stackingOrder[i];
|
||||||
|
|
||||||
|
// Don't animate windows that have been moved to the current
|
||||||
|
// desktop, i.e. newDesktop.
|
||||||
|
if (w == movingWindow) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (w.desktop != oldDesktop && w.desktop != newDesktop) {
|
if (w.desktop != oldDesktop && w.desktop != newDesktop) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue