From d4e0ee95c9c5a66b04f0300a261110e83a159d39 Mon Sep 17 00:00:00 2001 From: Simon Schneegans Date: Fri, 10 Jun 2022 15:13:49 +0200 Subject: [PATCH] :wrench: Build archives for effects --- .gitignore | 3 ++- kwin/build.sh | 25 ++++++++++++------- .../config.ui | 0 .../main.xml | 0 .../onSettingsChanged.js | 0 .../config.ui | 0 .../main.xml | 0 .../onSettingsChanged.js | 0 .../config.ui | 0 .../main.xml | 0 .../onAnimationBegin.js | 0 .../onSettingsChanged.js | 0 kwin/{kwin4_effect_tv => tv}/config.ui | 0 kwin/{kwin4_effect_tv => tv}/main.xml | 0 .../onSettingsChanged.js | 0 15 files changed, 18 insertions(+), 10 deletions(-) rename kwin/{kwin4_effect_energize_a => energize-a}/config.ui (100%) rename kwin/{kwin4_effect_energize_a => energize-a}/main.xml (100%) rename kwin/{kwin4_effect_energize_a => energize-a}/onSettingsChanged.js (100%) rename kwin/{kwin4_effect_energize_b => energize-b}/config.ui (100%) rename kwin/{kwin4_effect_energize_b => energize-b}/main.xml (100%) rename kwin/{kwin4_effect_energize_b => energize-b}/onSettingsChanged.js (100%) rename kwin/{kwin4_effect_hexagon => hexagon}/config.ui (100%) rename kwin/{kwin4_effect_hexagon => hexagon}/main.xml (100%) rename kwin/{kwin4_effect_hexagon => hexagon}/onAnimationBegin.js (100%) rename kwin/{kwin4_effect_hexagon => hexagon}/onSettingsChanged.js (100%) rename kwin/{kwin4_effect_tv => tv}/config.ui (100%) rename kwin/{kwin4_effect_tv => tv}/main.xml (100%) rename kwin/{kwin4_effect_tv => tv}/onSettingsChanged.js (100%) diff --git a/.gitignore b/.gitignore index 6f382cf..0bf9a1c 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,5 @@ /schemas/gschemas.compiled /resources/burn-my-windows.gresource /resources/burn-my-windows.gresource.xml -kwin/_build \ No newline at end of file +kwin/_build +kwin/*.tar.gz \ No newline at end of file diff --git a/kwin/build.sh b/kwin/build.sh index 2811fed..a7a8c0d 100755 --- a/kwin/build.sh +++ b/kwin/build.sh @@ -33,7 +33,7 @@ generate() { DIR_NAME="kwin4_effect_$(echo "$1" | tr '-' '_')" # Use the name of the effect for the JavaScript class name by removing all spaces. - EFFECT_CLASS="BurnMyWindows$(echo "$2" | tr -d ' ')" + EFFECT_CLASS="BurnMyWindows$(echo "$2" | tr -d ' ')Effect" # Create resource directories. mkdir -p "$BUILD_DIR/$DIR_NAME/contents/shaders" @@ -42,25 +42,25 @@ generate() { mkdir -p "$BUILD_DIR/$DIR_NAME/contents/ui" # Copy the config file if it exists. - if [ -f "$DIR_NAME/main.xml" ]; then - cp "$DIR_NAME/main.xml" "$BUILD_DIR/$DIR_NAME/contents/config" + if [ -f "$1/main.xml" ]; then + cp "$1/main.xml" "$BUILD_DIR/$DIR_NAME/contents/config" fi # Copy the ui file if it exists. - if [ -f "$DIR_NAME/config.ui" ]; then - cp "$DIR_NAME/config.ui" "$BUILD_DIR/$DIR_NAME/contents/ui" + if [ -f "$1/config.ui" ]; then + cp "$1/config.ui" "$BUILD_DIR/$DIR_NAME/contents/ui" fi ON_SETTINGS_CHANGE="" ON_ANIMATION_BEGIN="" - if [ -f "$DIR_NAME/onSettingsChanged.js" ]; then - ON_SETTINGS_CHANGE=$(tr '/' '\f' < "$DIR_NAME/onSettingsChanged.js") + if [ -f "$1/onSettingsChanged.js" ]; then + ON_SETTINGS_CHANGE=$(tr '/' '\f' < "$1/onSettingsChanged.js") fi - if [ -f "$DIR_NAME/onAnimationBegin.js" ]; then - ON_ANIMATION_BEGIN=$(tr '/' '\f' < "$DIR_NAME/onAnimationBegin.js") + if [ -f "$1/onAnimationBegin.js" ]; then + ON_ANIMATION_BEGIN=$(tr '/' '\f' < "$1/onAnimationBegin.js") fi cp main.js.in "$BUILD_DIR/$DIR_NAME/contents/code/main.js" @@ -96,6 +96,13 @@ generate() { } > "$BUILD_DIR/$DIR_NAME/contents/shaders/$1.frag" # If clang-format is installed, try to beauty the code a bit. + if command -v clang-format &> /dev/null + then + clang-format -i "$BUILD_DIR/$DIR_NAME/contents/code/main.js" + fi + + # Create an archive for the effect. + tar -C "$BUILD_DIR" -czf $DIR_NAME.tar.gz "$DIR_NAME" } generate "energize-a" "Energize A" "Beam your windows away" diff --git a/kwin/kwin4_effect_energize_a/config.ui b/kwin/energize-a/config.ui similarity index 100% rename from kwin/kwin4_effect_energize_a/config.ui rename to kwin/energize-a/config.ui diff --git a/kwin/kwin4_effect_energize_a/main.xml b/kwin/energize-a/main.xml similarity index 100% rename from kwin/kwin4_effect_energize_a/main.xml rename to kwin/energize-a/main.xml diff --git a/kwin/kwin4_effect_energize_a/onSettingsChanged.js b/kwin/energize-a/onSettingsChanged.js similarity index 100% rename from kwin/kwin4_effect_energize_a/onSettingsChanged.js rename to kwin/energize-a/onSettingsChanged.js diff --git a/kwin/kwin4_effect_energize_b/config.ui b/kwin/energize-b/config.ui similarity index 100% rename from kwin/kwin4_effect_energize_b/config.ui rename to kwin/energize-b/config.ui diff --git a/kwin/kwin4_effect_energize_b/main.xml b/kwin/energize-b/main.xml similarity index 100% rename from kwin/kwin4_effect_energize_b/main.xml rename to kwin/energize-b/main.xml diff --git a/kwin/kwin4_effect_energize_b/onSettingsChanged.js b/kwin/energize-b/onSettingsChanged.js similarity index 100% rename from kwin/kwin4_effect_energize_b/onSettingsChanged.js rename to kwin/energize-b/onSettingsChanged.js diff --git a/kwin/kwin4_effect_hexagon/config.ui b/kwin/hexagon/config.ui similarity index 100% rename from kwin/kwin4_effect_hexagon/config.ui rename to kwin/hexagon/config.ui diff --git a/kwin/kwin4_effect_hexagon/main.xml b/kwin/hexagon/main.xml similarity index 100% rename from kwin/kwin4_effect_hexagon/main.xml rename to kwin/hexagon/main.xml diff --git a/kwin/kwin4_effect_hexagon/onAnimationBegin.js b/kwin/hexagon/onAnimationBegin.js similarity index 100% rename from kwin/kwin4_effect_hexagon/onAnimationBegin.js rename to kwin/hexagon/onAnimationBegin.js diff --git a/kwin/kwin4_effect_hexagon/onSettingsChanged.js b/kwin/hexagon/onSettingsChanged.js similarity index 100% rename from kwin/kwin4_effect_hexagon/onSettingsChanged.js rename to kwin/hexagon/onSettingsChanged.js diff --git a/kwin/kwin4_effect_tv/config.ui b/kwin/tv/config.ui similarity index 100% rename from kwin/kwin4_effect_tv/config.ui rename to kwin/tv/config.ui diff --git a/kwin/kwin4_effect_tv/main.xml b/kwin/tv/main.xml similarity index 100% rename from kwin/kwin4_effect_tv/main.xml rename to kwin/tv/main.xml diff --git a/kwin/kwin4_effect_tv/onSettingsChanged.js b/kwin/tv/onSettingsChanged.js similarity index 100% rename from kwin/kwin4_effect_tv/onSettingsChanged.js rename to kwin/tv/onSettingsChanged.js