diff --git a/docs/changelog.md b/docs/changelog.md index 7806c59..4efc176 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -16,7 +16,7 @@ SPDX-License-Identifier: CC-BY-4.0 #### Other Enhancements * Burn-My-Windows now follows the [REUSE Specification](https://reuse.software/spec). - +* The KWin port of Burn-My-Windows now uses `metadata.json` files instead of the deprecated `metadata.desktop` format. ## [Burn My Windows 21](https://github.com/schneegans/Burn-My-Windows/releases/tag/v21) diff --git a/kwin/build.sh b/kwin/build.sh index e769daf..e6b37d5 100755 --- a/kwin/build.sh +++ b/kwin/build.sh @@ -82,12 +82,12 @@ generate() { perl -pi -e "s/%SHADER_NAME%/$1/g;" "$BUILD_DIR/$DIR_NAME/contents/code/main.js" perl -pi -e "s/\f/\//g;" "$BUILD_DIR/$DIR_NAME/contents/code/main.js" - # Now create the metadata.desktop file. Again, we replace some placeholders. - cp metadata.desktop.in "$BUILD_DIR/$DIR_NAME/metadata.desktop" - perl -pi -e "s/%ICON%/$1/g;" "$BUILD_DIR/$DIR_NAME/metadata.desktop" - perl -pi -e "s/%NAME%/$2/g;" "$BUILD_DIR/$DIR_NAME/metadata.desktop" - perl -pi -e "s/%DESCRIPTION%/$3/g;" "$BUILD_DIR/$DIR_NAME/metadata.desktop" - perl -pi -e "s/%DIR_NAME%/$DIR_NAME/g;" "$BUILD_DIR/$DIR_NAME/metadata.desktop" + # Now create the metadata.json file. Again, we replace some placeholders. + cp metadata.json.in "$BUILD_DIR/$DIR_NAME/metadata.json" + perl -pi -e "s/%ICON%/$1/g;" "$BUILD_DIR/$DIR_NAME/metadata.json" + perl -pi -e "s/%NAME%/$2/g;" "$BUILD_DIR/$DIR_NAME/metadata.json" + perl -pi -e "s/%DESCRIPTION%/$3/g;" "$BUILD_DIR/$DIR_NAME/metadata.json" + perl -pi -e "s/%DIR_NAME%/$DIR_NAME/g;" "$BUILD_DIR/$DIR_NAME/metadata.json" # Now create the two required shader files. We prepend the common.glsl to each shader. # We also define KWIN and KWIN_LEGACY. The code in common.glsl takes some different @@ -143,4 +143,4 @@ generate "wisps" "Wisps [Burn-My-Windows]" "Let your windows be carr # Finally, create an archive for the effects. # shellcheck disable=SC2046 -tar -cjf "burn_my_windows_kwin4.tar.gz" -C "$BUILD_DIR" $(ls "$BUILD_DIR") \ No newline at end of file +tar -cjf "burn_my_windows_kwin4.tar.gz" -C "$BUILD_DIR" $(ls "$BUILD_DIR") diff --git a/kwin/metadata.desktop.in b/kwin/metadata.desktop.in deleted file mode 100755 index 4223b8b..0000000 --- a/kwin/metadata.desktop.in +++ /dev/null @@ -1,21 +0,0 @@ -[Desktop Entry] -Name=%NAME% -Icon=preferences-system-windows-effect-%ICON% -Comment=%DESCRIPTION% - -Type=Service -X-KDE-ServiceTypes=KWin/Effect,KCModule -X-KDE-PluginInfo-Author=Vlad Zahorodnii, Martin Flöser, Simon Schneegans -X-KDE-PluginInfo-Email=vlad.zahorodnii@kde.org, mgraesslin@kde.org, code@simonschneegans.de -X-KDE-PluginInfo-Name=%DIR_NAME% -X-KDE-PluginInfo-Version=1 -X-KDE-PluginInfo-Category=Window Open/Close Animation -X-KDE-PluginInfo-License=GPLv3 -X-KDE-PluginInfo-EnabledByDefault=false -X-KDE-Ordering=60 -X-Plasma-API=javascript -X-Plasma-MainScript=code/main.js -X-KDE-PluginKeyword=%DIR_NAME% -X-KDE-Library=kcm_kwin4_genericscripted -X-KWin-Config-TranslationDomain=kwin_effects -X-KWin-Exclusive-Category=toplevel-open-close-animation diff --git a/kwin/metadata.json.in b/kwin/metadata.json.in new file mode 100755 index 0000000..79558ac --- /dev/null +++ b/kwin/metadata.json.in @@ -0,0 +1,28 @@ +{ + "KPlugin": { + "Name": "%NAME%", + "Description": "%DESCRIPTION%", + "Icon": "preferences-system-windows-effect-%ICON%", + "Category": "Window Open/Close Animation", + "Authors": [ + { "Name": "Simon Schneegans", "Email": "code@simonschneegans.de" }, + { "Name": "Martin Flöser", "Email": "vlad.zahorodnii@kde.org" }, + { "Name": "Aaron Seigo", "Email": "mgraesslin@kde.org" } + ], + "Id": "%DIR_NAME%", + "License": "GPLv3", + "Version": "1.0", + "EnabledByDefault": "false", + "Website": "https://github.com/Schneegans/Burn-My-Windows/", + "BugReportUrl": "https://github.com/Schneegans/Burn-My-Windows/issues", + "ServiceTypes": [ + "KWin/Effect" + ] + }, + "X-KDE-Ordering": "60", + "X-KDE-PluginKeyword": "%DIR_NAME%", + "X-KWin-Config-TranslationDomain": "kwin_effects", + "X-KWin-Exclusive-Category": "toplevel-open-close-animation", + "X-Plasma-API": "javascript", + "X-Plasma-MainScript": "code/main.js" +} diff --git a/kwin/metadata.json.in.license b/kwin/metadata.json.in.license new file mode 100644 index 0000000..22ffc89 --- /dev/null +++ b/kwin/metadata.json.in.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2022 Simon Schneegans + +SPDX-License-Identifier: CC0-1.0