From f3e6c2aa65bfd83aa9d01c3e20fbe6f380663d27 Mon Sep 17 00:00:00 2001 From: Simon Schneegans Date: Sun, 27 Oct 2024 14:01:49 +0100 Subject: [PATCH] :tada: Port Focus effect to KDE --- kwin/build.sh | 1 + kwin/focus/config.ui | 93 +++++++++++++++++++++++++++++++++ kwin/focus/main.xml | 21 ++++++++ kwin/focus/onSettingsChanged.js | 9 ++++ 4 files changed, 124 insertions(+) create mode 100755 kwin/focus/config.ui create mode 100755 kwin/focus/main.xml create mode 100644 kwin/focus/onSettingsChanged.js diff --git a/kwin/build.sh b/kwin/build.sh index d897bb4..78b5947 100755 --- a/kwin/build.sh +++ b/kwin/build.sh @@ -138,6 +138,7 @@ generate "doom" "Doom [Burn-My-Windows]" "Melt your windows" generate "energize-a" "Energize A [Burn-My-Windows]" "Beam your windows away" generate "energize-b" "Energize B [Burn-My-Windows]" "Using different transporter technology results in an alternative visual effect" generate "fire" "Fire [Burn-My-Windows]" "The classic effect inspired by Compiz" +generate "focus" "Focus [Burn-My-Windows]" "Focus dude, focus!" generate "glide" "Glide [Burn-My-Windows]" "Fade the window to transparency with subtle 3D effects" generate "glitch" "Glitch [Burn-My-Windows]" "This effect applies some intentional graphics issues to your windows" generate "hexagon" "Hexagon [Burn-My-Windows]" "With glowing lines and hexagon-shaped tiles, this effect looks very sci-fi" diff --git a/kwin/focus/config.ui b/kwin/focus/config.ui new file mode 100755 index 0000000..e5d7ff6 --- /dev/null +++ b/kwin/focus/config.ui @@ -0,0 +1,93 @@ + + + + + + BMWConfigForm + + + + 0 + 0 + 562 + 365 + + + + + + + Animation Time [ms] + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Quality + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + 100 + + + 9999 + + + 100 + + + + + + + Amount + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + 0 + + + 1.000000000000000 + + + 10.000000000000000 + + + + + + + 0 + + + 0.000000000000000 + + + 100.000000000000000 + + + + + + + + \ No newline at end of file diff --git a/kwin/focus/main.xml b/kwin/focus/main.xml new file mode 100755 index 0000000..3b2d617 --- /dev/null +++ b/kwin/focus/main.xml @@ -0,0 +1,21 @@ + + + + + + + + + 500 + + + 50 + + + 3 + + + \ No newline at end of file diff --git a/kwin/focus/onSettingsChanged.js b/kwin/focus/onSettingsChanged.js new file mode 100644 index 0000000..f04305d --- /dev/null +++ b/kwin/focus/onSettingsChanged.js @@ -0,0 +1,9 @@ +// SPDX-FileCopyrightText: Simon Schneegans +// SPDX-License-Identifier: GPL-3.0-or-later + +// This part is automatically included in the effect's source during the build process. +// The code below is called whenever the user changes something in the configuration of +// the effect. + +effect.setUniform(this.shader, 'uBlurAmount', effect.readConfig('Amount', 1.0)); +effect.setUniform(this.shader, 'uBlurQuality', effect.readConfig('Quality', 1.0));