diff --git a/kwin/portal/config.ui b/kwin/portal/config.ui
index a6f4ab0..2edc08c 100755
--- a/kwin/portal/config.ui
+++ b/kwin/portal/config.ui
@@ -56,7 +56,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
milliseconds
- 1000
+ 500
5000
@@ -76,7 +76,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
-
- Whirl
+ Whirling
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
diff --git a/kwin/portal/main.xml b/kwin/portal/main.xml
index 6704128..e8e233a 100755
--- a/kwin/portal/main.xml
+++ b/kwin/portal/main.xml
@@ -11,7 +11,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
- 1500
+ 1250
#79E918
@@ -22,7 +22,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
0.3
-
+
1.0
diff --git a/kwin/portal/onSettingsChanged.js b/kwin/portal/onSettingsChanged.js
index 35c2818..fcb2e56 100644
--- a/kwin/portal/onSettingsChanged.js
+++ b/kwin/portal/onSettingsChanged.js
@@ -9,4 +9,4 @@ effect.setUniform(this.shader, 'uDuration', this.duration * 0.001);
effect.setUniform(this.shader, 'uColor', this.readRGBConfig('Color'));
effect.setUniform(this.shader, 'uDetails', effect.readConfig('Details', 1.0));
effect.setUniform(this.shader, 'uRotationSpeed', effect.readConfig('RotationSpeed', 1.0));
-effect.setUniform(this.shader, 'uWhirl', effect.readConfig('Whirl', 1.0));
+effect.setUniform(this.shader, 'uWhirling', effect.readConfig('Whirling', 1.0));
diff --git a/resources/shaders/portal.frag b/resources/shaders/portal.frag
index f0db0bf..ad02926 100644
--- a/resources/shaders/portal.frag
+++ b/resources/shaders/portal.frag
@@ -17,7 +17,7 @@
uniform vec2 uSeed;
uniform vec3 uColor;
uniform float uRotationSpeed;
-uniform float uWhirl;
+uniform float uWhirling;
uniform float uDetails;
const float PORTAL_WOBBLE_TIME = 0.8;
@@ -29,9 +29,9 @@ const float WINDOW_TILT = -1.0;
// Make sure that the portal and window open / close animations are quick even if the
// duration is longer.
-float PORTAL_OPEN_TIME = 0.45 / uDuration;
-float PORTAL_CLOSE_TIME = 0.45 / uDuration;
-float WINDOW_OPEN_TIME = 0.45 / uDuration;
+float PORTAL_OPEN_TIME = 0.4 / uDuration;
+float PORTAL_CLOSE_TIME = 0.4 / uDuration;
+float WINDOW_OPEN_TIME = 0.35 / uDuration;
// This will distort the given coordinate to achieve the wobble effect of the portal when
// the window passes through. The wobble happens around the point where the window appears
@@ -74,7 +74,7 @@ vec2 getRandomDisplace(vec2 seed, float scale) {
// rotated more than coordinates farther away).
vec2 getWhirledCoords(vec2 coords, float speedMultiplier, float warpMultiplier) {
float rotation = uRotationSpeed * uProgress * uDuration * speedMultiplier;
- float warping = uWhirl * (6.0 + 1.5 * uProgress) * warpMultiplier;
+ float warping = uWhirling * (6.0 + 1.5 * uProgress) * warpMultiplier;
return whirl(coords, warping, rotation);
}
@@ -95,7 +95,7 @@ vec4 getPortalColor() {
// Add the open-close animation of the portal.
float scale = getPortalScale();
- coords /= max(scale, 0.01);
+ coords /= max(scale * 0.5 + 0.5, 0.01);
// We will use this distortion vector on all layers below in order to add the elastic
// wobbling when the window passes through the portal.
diff --git a/resources/ui/adw/Portal.ui b/resources/ui/adw/Portal.ui
index bd80cd2..f48f56d 100644
--- a/resources/ui/adw/Portal.ui
+++ b/resources/ui/adw/Portal.ui
@@ -22,7 +22,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
@@ -77,7 +77,7 @@ SPDX-License-Identifier: GPL-3.0-or-later