diff --git a/kwin/build.sh b/kwin/build.sh index fd6e2f3..e7678f7 100755 --- a/kwin/build.sh +++ b/kwin/build.sh @@ -130,6 +130,7 @@ generate() { 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 "doom" "Doom [Burn-My-Windows]" "Melt your windows" generate "fire" "Fire [Burn-My-Windows]" "The classic effect inspired by Compiz" generate "hexagon" "Hexagon [Burn-My-Windows]" "With glowing lines and hexagon-shaped tiles, this effect looks very sci-fi" generate "incinerate" "Incinerate [Burn-My-Windows]" "A less snappy but definitely more fancy take on the fire effect" diff --git a/kwin/doom/config.ui b/kwin/doom/config.ui new file mode 100755 index 0000000..ef0b778 --- /dev/null +++ b/kwin/doom/config.ui @@ -0,0 +1,90 @@ + + + BMWConfigForm + + + + 0 + 0 + 562 + 365 + + + + + + + Duration: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Pixel Size + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + milliseconds + + + 100 + + + 9999 + + + 100 + + + + + + + Randomness + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + 0 + + + 1.000000000000000 + + + 50.000000000000000 + + + + + + + 0 + + + 1.000000000000000 + + + 100.000000000000000 + + + + + + + + diff --git a/kwin/doom/main.xml b/kwin/doom/main.xml new file mode 100755 index 0000000..4f8166c --- /dev/null +++ b/kwin/doom/main.xml @@ -0,0 +1,19 @@ + + + + + + 1000 + + + 10 + + + 10 + + + 10 + + + \ No newline at end of file diff --git a/kwin/doom/onSettingsChanged.js b/kwin/doom/onSettingsChanged.js new file mode 100644 index 0000000..d9a9eef --- /dev/null +++ b/kwin/doom/onSettingsChanged.js @@ -0,0 +1,12 @@ +// 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. + +// I have not yet found a way to scaling the actor canvas on KWin. So this effect cannot +// look as good as on GNOME. +effect.setUniform(this.shader, 'uActorScale', 1.0); + +effect.setUniform(this.shader, 'uHorizontalScale', + effect.readConfig('HorizontalScale', 1.0)); +effect.setUniform(this.shader, 'uVerticalScale', effect.readConfig('VerticalScale', 1.0)); +effect.setUniform(this.shader, 'uPixelSize', effect.readConfig('PixelSize', 1.0));