Compare commits

...

631 Commits

Author SHA1 Message Date
Simon Schneegans 18d22e1b11 🎉 Set release date
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2025-03-09 12:30:26 +01:00
Simon Schneegans fa37873169 📝 Add changelog entry 2025-03-09 11:33:29 +01:00
Simon Schneegans 2c873810fa Merge pull request #510 from Schneegans/feature/random-fire
Random Fire
2025-03-09 11:31:14 +01:00
Simon Schneegans 60c96c03d7 🔧 Port random fire option to KWin 2025-03-09 11:18:31 +01:00
Simon Schneegans ee1b49269a 🔧 Use more opaque alpha values for the random fire colors 2025-03-09 11:07:35 +01:00
Simon Schneegans cb2db00d59 📝 Add changelog entry 2025-03-09 11:02:37 +01:00
Simon Schneegans b5ad70a2a4 ✨ Apply clang-format 2025-03-09 11:01:32 +01:00
Simon Schneegans 87ac8b401a ♻️ Remove duplicated code 2025-03-09 11:01:21 +01:00
Simon Schneegans 98769fd61b Merge pull request #509 from jgarza9788/main
🔀🔥 (again)
2025-03-09 10:58:37 +01:00
Justin Garza 18d1e3f6f6 Update Fire.js 2025-03-08 11:53:38 -05:00
Justin Garza 845c765843 resync and updated 2025-03-08 11:45:31 -05:00
Simon Schneegans db955d5af8 Merge pull request #508 from Schneegans/fix/gnome-48
Fix #507
2025-03-08 13:58:58 +01:00
Simon Schneegans ceb32a3da3 📝 Add changelog entry 2025-03-08 13:57:26 +01:00
Simon Schneegans 72475d8f6f ✨ Apply clang-format 2025-03-08 13:35:26 +01:00
Simon Schneegans 84cf784080 🪲 Fix some effects on GNOME 48 2025-03-08 13:30:50 +01:00
Simon Schneegans 410fd32052 Merge pull request #504 from weblate/weblate-burn-my-windows-core
Translations update from Hosted Weblate
2025-03-08 13:04:37 +01:00
albanobattistella 04656de38c 🌐 Translated using Weblate (Italian) 2025-03-02 17:20:14 +01:00
symegac f82c64e568 🌐 Translated using Weblate (Danish) 2025-02-27 17:01:55 +01:00
Ricky Tigg c075f4e763 🌐 Translated using Weblate (Finnish) 2025-02-27 17:01:54 +01:00
Philipp Kiemle ceb2c68484 🌐 Translated using Weblate (German) 2025-02-27 17:01:53 +01:00
Philipp Kiemle d160e63e8a 🌐 Translated using Weblate (German) 2025-02-26 16:45:38 +01:00
Seong-ho Cho 5ac174a966 🌐 Translated using Weblate (Korean) 2025-02-24 23:09:26 +01:00
Simon Schneegans 1812b3dbb9 Merge pull request #501 from weblate/weblate-burn-my-windows-core
Translations update from Hosted Weblate
2025-02-22 12:11:35 +01:00
Cassian f7d268d371 🌐 Translated using Weblate (Chinese (Simplified Han script)) 2025-02-22 06:13:46 +01:00
Simon Schneegans 4ea0fcd4ac 🔥 Remove unused entry from .gitignore 2025-02-22 06:13:37 +01:00
Simon Schneegans 0bf264f84e Merge pull request #502 from Schneegans/fix/ci
Fix CI
2025-02-22 06:11:48 +01:00
Simon Schneegans 558079adf7 🎉 Bump version number 2025-02-22 06:02:56 +01:00
Simon Schneegans e6c7e50879 🔧 Run tests again on ubuntu-latest 2025-02-22 06:02:44 +01:00
Simon Schneegans 3e6f749dc6 🔧 Run tests again on 22.04 2025-02-22 05:49:50 +01:00
Simon Schneegans 3bafdd4c5f 📝 Add KDE Store links 2025-02-22 05:41:16 +01:00
Simon Schneegans 957166ce5d 🔧 Install missing dependencies on ubuntu-latest
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2025-02-21 21:07:03 +01:00
Simon Schneegans 2783a2d4bf Merge pull request #500 from Schneegans/feature/install-dependencies
Install missing dependencies on ubuntu-latest
2025-02-21 21:02:37 +01:00
Simon Schneegans 97f17c2f56 🔧 Install missing dependencies on ubuntu-latest 2025-02-21 20:54:52 +01:00
Simon Schneegans 45af9b9f68 🎉 Set release date 2025-02-21 20:47:52 +01:00
Simon Schneegans 843fbb4660 🪲 Fix blurry edges of RGB Warp effect 2025-02-20 21:28:54 +01:00
Simon Schneegans eeb93f7d7e Merge pull request #495 from weblate/weblate-burn-my-windows-core
Translations update from Hosted Weblate
2025-02-18 17:28:08 +01:00
Philip Goto 5c42f21eb9 🌐 Translated using Weblate (Dutch) 2025-02-18 09:17:13 +01:00
Максим Горпиніч 004603ce2e 🌐 Translated using Weblate (Ukrainian) 2025-02-18 06:45:41 +01:00
Hosted Weblate 9a1b887af4 🌐 Update translation files 2025-02-17 19:46:44 +00:00
Максим Горпиніч 62bcce999c 🌐 Translated using Weblate (Ukrainian) 2025-02-17 19:46:43 +00:00
albanobattistella 280a71deb9 🌐 Translated using Weblate (Italian) 2025-02-17 19:46:42 +00:00
Ettore Atalan a6e538825b 🌐 Translated using Weblate (German) 2025-02-17 19:46:41 +00:00
Hosted Weblate f22e2c0514 🌐 Update translation files 2025-02-17 19:46:41 +00:00
Simon Schneegans c8439bcd4f 🪲 Fix fire preset menu 2025-02-17 20:46:29 +01:00
Simon Schneegans 6d0d56a7ce ✨ Fix formatting 2025-02-17 20:46:16 +01:00
Simon Schneegans cbcfc9d0dd 🌐 Update translation template 2025-02-17 20:23:29 +01:00
Simon Schneegans 76f1b32901 🔀 Merge pull request #497 from Schneegans/feature/kde-port 2025-02-16 07:43:18 +01:00
Simon Schneegans d9057adb13 💚 Update references 2025-02-16 07:25:30 +01:00
Simon Schneegans 4cf7b029c6 🔀 Merge pull request #496 from Schneegans/feature/gnome-48 2025-02-16 07:10:35 +01:00
Simon Schneegans cef340ea51 📝 Update effect support matrix 2025-02-16 07:04:07 +01:00
Simon Schneegans b4418a71c6 ✨ Apply clang-format 2025-02-16 07:03:13 +01:00
Simon Schneegans bf379e4f57 ©️ Add SPDX tags 2025-02-16 07:02:41 +01:00
Simon Schneegans 2a1e5f2b22 ♻️ Use more consistent key names 2025-02-16 07:01:46 +01:00
Simon Schneegans 293fbf1d0f 🔧 Port Aura Glow effect to KDE 2025-02-15 21:11:49 +01:00
Simon Schneegans 951342e917 🔧 Port Team Rocket effect to KDE 2025-02-15 20:51:16 +01:00
Simon Schneegans e67fd1ee2c 🔥 Remove unused settings key 2025-02-15 20:25:07 +01:00
Simon Schneegans 537963f28f 🔧 Port RGB Warp effect to KDE 2025-02-15 20:22:41 +01:00
Simon Schneegans 79101847e1 📝 Add changelog entry 2025-02-15 17:32:37 +01:00
Simon Schneegans b6dc234d3f ✨ Apply clang-format 2025-02-15 16:59:17 +01:00
Simon Schneegans 15ac37f746 🔧 Use Cogl.SnippetHook on GNOME 48 2025-02-15 16:55:44 +01:00
Simon Schneegans 7ace136e4f 🔧 Use global.compositor.enable_unredirect on GNOME 48 2025-02-15 16:55:20 +01:00
Simon Schneegans b466710ca0 Merge branch 'main' into feature/gnome-48 2025-02-15 16:54:23 +01:00
Simon Schneegans 5bdd7bdbce 🪲 Do not use deprecated Clutter.Image 2025-02-15 16:52:15 +01:00
Simon Schneegans 34e18c885c 🌐 Update translation template 2025-02-15 16:49:59 +01:00
Simon Schneegans ea7977090e 🪲 Fix line breaks 2025-02-15 16:48:33 +01:00
Simon Schneegans 5195cb6981 🎉 Claim support for GNOME 48 2025-02-15 16:29:00 +01:00
Simon Schneegans baaccea92c 🔀 Merge pull request #493 from Schneegans/feature/new-effects 2025-02-15 06:45:09 +01:00
Simon Schneegans 67096edadf 💚 Disable rawhide tests 2025-02-12 16:41:43 +01:00
Simon Schneegans e58d8e768c 🔧 Update references 2025-02-12 16:41:03 +01:00
Simon Schneegans cc497bba0c ✨ Apply clang-format 2025-02-12 16:34:38 +01:00
Simon Schneegans 72d8189179 🔧 Update test scripts 2025-02-12 16:30:31 +01:00
Simon Schneegans 5950d4a391 📝 Add changelog entries 2025-02-12 16:27:45 +01:00
Simon Schneegans 22dab71aaf Merge pull request #492 from Schneegans/fix/#480
Remove deprecated use of Clutter.Image
2025-02-12 16:18:26 +01:00
Simon Schneegans 6ba109c7e4 📝 Fix some comments 2025-02-12 16:17:57 +01:00
Simon Schneegans 9a8f7d5efe 🎨 Update gifs 2025-02-12 16:13:03 +01:00
Simon Schneegans 645d2dafff 🔥 Remove deprecated use of Clutter.Image 2025-02-12 14:06:10 +01:00
Simon Schneegans 8b4b256231 🔧 Streamline Aura Glow effect 2025-02-12 12:52:16 +01:00
Simon Schneegans 87b9f5eab8 ♻️ Make blur a common method 2025-02-09 20:26:41 +01:00
Simon Schneegans 96e79b3265 🔧 Fix version number 2025-02-09 20:26:11 +01:00
Simon Schneegans 91789d3617 ✨ Apply clang-format 2025-02-09 08:19:00 +01:00
Simon Schneegans 3ab1ffbc15 🔧 Streamline RGB warp effect 2025-02-09 08:00:49 +01:00
Simon Schneegans 00d6f9089d ✨ Fix formatting 2025-02-09 08:00:26 +01:00
Simon Schneegans 3602f07dae 🔧 Streamline team-rocket effect config ui 2025-02-09 05:59:33 +01:00
Simon Schneegans 86caa88f54 🔧 Streamline team-rocket effect 2025-02-09 05:55:14 +01:00
Simon Schneegans ba8284a99a 📝 Update effect support table 2025-02-09 05:54:39 +01:00
Simon Schneegans 7d1b329c62 📝 Add changelog entry 2025-02-09 05:25:31 +01:00
Simon Schneegans 38e2db5b54 🔧 Only expand the last remaining row after filtering 2025-02-09 05:24:10 +01:00
Simon Schneegans b00389142d Merge pull request #488 from jgarza9788/newMain 2025-02-08 07:14:37 +01:00
Simon Schneegans 17c49022fb Merge pull request #491 from weblate/weblate-burn-my-windows-core
Translations update from Hosted Weblate
2025-02-05 20:15:48 +01:00
Priit Jõerüüt 604da949fd 🌐 Translated using Weblate (Estonian) 2025-02-04 13:01:59 +01:00
Justin Garza cbd364c49d Update aura-glow.frag
solved the delay issue
2025-01-24 19:03:27 -05:00
Justin Garza 4b8124c5bb 👍
# Aura Glow
Looks really cool! I think the defaults could be a bit more "spectacular". More color speed (5?) and less saturation (0.5?) looks much better in my opinion.
There is a significant delay when closing a window before the animation starts. Can this be removed?
Is a saturation > 1 useful?

✅ Color Speed = 5
✅ Saturation at 0.5
❓ the delay ...
i think this was caused by the padding
i tried to get rid of it in the shader (see "//adjust for gnome" in the shader).
maybe you know a better way .
✅ Is a saturation > 1 useful?
... i guess not 😀

# Mushroom
Aweome!
Only complaint: The preset dropdown says "8Bit Plumber (default)" but the default is actually "New Bros 2".

✅ fixed, i'll just take the word "default" out

# RGB Warp
The defaults look great!
I would rename it to "RGB Warp" instead of "RGB Warp Effect" to be consistent with the other effects.
All the settings in the UI could use some spaces.
Is the Wave Size parameter useful? Any other values than 1 look pretty weird.

✅
✅
✅ wavesize ... it was more useful in shadertoy, when it was there, removed.

# TeamRocket
The best one in my opinion!
I would call it "Team Rocket" instead of "TeamRocket" to be consistent with the other effects.
I would enable window rotation per default and set the Y value to a value other than 0, maybe 0.5. This makes it a bit more organic!

✅
✅

# UnicornFart
Here I have severe performance issues. On my machine, the effect is not usable. Even with only 10 stars and sparks, I only get a few FPS. What shall we do about this? I think we either need to optimize this or think about a different effect. I liked your initial idea with the wobbly rgb noise as well...
Anyways, great work! I am really looking forward to this! Let me know what you think about these points, and then I'll soon have a look at the individual effect implementations.

ok, i'll take this out and try something else.
...maybe i shouldn't have used the blur on it.
👍👍👍
2025-01-24 18:50:15 -05:00
Justin Garza dd49880638 Merge branch 'main' into newMain 2025-01-22 18:56:26 -05:00
Justin Garza e90353b0c5 using clang-format-16
and a bit more comments
and a minor adjustment
2025-01-21 19:46:15 -05:00
Justin Garza 29978ea87f i didn't touch these files, but they were changed ... maybe by clangformat ? 2025-01-20 15:52:00 -05:00
Justin Garza 68cef3e672 20250120
resync with master ... hoping it works
2025-01-20 15:41:31 -05:00
Justin Garza c58ef894b4 removing some blank lines 2025-01-19 19:20:42 -05:00
Justin Garza 99c398b77c removed this piece of code we are not using 2025-01-19 18:57:00 -05:00
Justin Garza 2e49494c0d clang! 2025-01-19 18:34:47 -05:00
Justin Garza 7fb129d046 Merge branch 'main' of https://github.com/jgarza9788/Burn-My-Windows 2025-01-19 18:14:44 -05:00
Justin Garza 3c3ee4a998 20250119 2025-01-19 18:14:37 -05:00
Simon Schneegans 2dd37ed5c0 Merge pull request #482 from weblate/weblate-burn-my-windows-core
Translations update from Hosted Weblate
2025-01-16 07:36:47 +01:00
Sabri Ünal e85a2e4684 🌐 Translated using Weblate (Turkish) 2025-01-15 16:00:51 +01:00
Justin Garza 56e253c1a4 Merge branch 'main' of https://github.com/jgarza9788/Burn-My-Windows 2025-01-14 05:29:43 -05:00
Justin Garza c05746aabf 20250113
autoexpand! - after search
2025-01-13 20:22:18 -05:00
Justin Garza b2f0ed58f2 Merge pull request #3 from jgarza9788/UnicornFart
Unicorn fart
2025-01-13 19:58:53 -05:00
Justin Garza 28112c83c2 Merge branch 'main' into UnicornFart 2025-01-13 19:58:33 -05:00
Justin Garza a89eef0599 Update UnicornFart.js 2025-01-12 20:27:16 -05:00
Justin Garza 56dbc7265c 20250112 2025-01-12 20:22:59 -05:00
Milan Šalka 169b49158a 🌐 Translated using Weblate (Slovak) 2025-01-12 07:24:25 +01:00
Justin Garza fc6aa44204 20250105 2025-01-05 14:28:56 -05:00
Justin Garza 95bde46e39 20250104 2025-01-04 19:06:05 -05:00
Justin Garza 2be4275bf5 Update Fire.js 2025-01-02 20:06:54 -05:00
Justin Garza b1d58048e2 Update how-to-create-new-effects.md 2025-01-02 05:38:02 -05:00
Justin Garza 5e48141753 Update how-to-create-new-effects.md 2025-01-01 16:32:43 -05:00
Justin Garza 7fcda0b22d 20250101 2025-01-01 13:07:57 -05:00
Justin Garza e77d3725ce Update org.gnome.shell.extensions.burn-my-windows-profile.gschema.xml 2024-12-30 22:08:33 -05:00
Justin Garza fb0c66127a Update README.md 2024-12-30 20:45:12 -05:00
Justin Garza c91af83e39 20241230 2024-12-30 20:34:41 -05:00
atomkapa atomkapa b5dc1e6a71 🌐 Translated using Weblate (Hungarian) 2024-12-30 20:06:05 +00:00
Justin Garza 11befb44af 20241229 2024-12-29 18:33:20 -05:00
Danial Behzadi a93719b0de 🌐 Translated using Weblate (Persian) 2024-12-29 14:00:53 +01:00
Justin Garza 6e67bbac74 updated the readme 2024-12-26 19:37:09 -05:00
Justin Garza 7f02f445e5 20241225 2024-12-25 23:12:38 -05:00
Максим Горпиніч 880ce1c933 🌐 Translated using Weblate (Ukrainian) 2024-12-21 19:00:30 +01:00
Justin Garza 020516e0da a little polishing 2024-12-17 20:34:49 -05:00
symegac c0cc0a4ccc 🌐 Translated using Weblate (Danish) 2024-12-14 08:00:23 +00:00
Justin Garza 002e7258f6 Update mushroom.ui
changed the label
2024-12-12 21:53:10 -05:00
Justin Garza 48eb33eacf added muchroom and more 2024-12-12 21:40:59 -05:00
தமிழ்நேரம் 632ce39aa1 🌐 Translated using Weblate (Tamil) 2024-12-12 22:00:31 +01:00
தமிழ்நேரம் bff7b75ce0 🌐 Added translation using Weblate (Tamil) 2024-12-10 20:20:05 +01:00
Philip Goto ee44c8bcab 🌐 Translated using Weblate (Dutch) 2024-12-10 20:19:51 +01:00
Justin Garza fa4d4eeaff adjust the Gif 2024-12-08 21:03:03 -05:00
Justin Garza 39a60d704b 🎉 🎉 Mushroom and AuraGlow ... in my main
placed both the Mushroom and AuraGlow in my main
2024-12-08 19:21:08 -05:00
Milan Šalka 7c039fbdc4 🌐 Translated using Weblate (Slovak) 2024-12-04 23:00:25 +00:00
Simon Schneegans 5b6ccdc732 🔀 Merge pull request #474 from weblate/weblate-burn-my-windows-core 2024-11-19 17:13:50 +01:00
Priit Jõerüüt 0ef89853c3 🌐 Translated using Weblate (Estonian) 2024-11-19 15:56:26 +00:00
Simon Schneegans 65bb27d962 🔧 Update references 2024-11-19 16:55:55 +01:00
Simon Schneegans 01961253f1 📝 Add changelog entry 2024-11-19 16:52:47 +01:00
Simon Schneegans f1fc8ae51e 🔀 Merge pull request #476 from rcmz/main 2024-11-19 16:48:26 +01:00
rcmz 5b33766a06 🪲 Fixes the incinerate effect to be circular instead of the aspect ratio of the window 2024-11-18 22:58:55 +01:00
Simon Schneegans 2a45c81312 🔀 Merge pull request #473 from weblate/weblate-burn-my-windows-core 2024-11-11 19:28:01 +01:00
Priit Jõerüüt d6c8cc3e7f 🌐 Added translation using Weblate (Estonian) 2024-11-11 18:44:29 +01:00
Simon Schneegans 1e03be8e75 🔀 Merge pull request #472 from weblate/weblate-burn-my-windows-core 2024-11-11 09:11:15 +01:00
Moo 4e4d283483 🌐 Translated using Weblate (Lithuanian) 2024-11-10 23:00:36 +00:00
Simon Schneegans 4538ff32b1 🔀 Merge pull request #471 from weblate/weblate-burn-my-windows-core 2024-11-08 15:13:16 +01:00
J Janz c068a5159c 🌐 Translated using Weblate (Portuguese (Brazil)) 2024-11-08 15:00:25 +01:00
J Janz 7d4b0d4390 🌐 Translated using Weblate (Portuguese) 2024-11-08 15:00:25 +01:00
Simon Schneegans 1d522a40e0 📝 Add link to video 2024-11-06 16:38:49 +01:00
Simon Schneegans 44c2724390 🎉 Bump version number 2024-11-06 16:17:59 +01:00
Simon Schneegans 30ffe9f0b0 📝 Add KDE Focus effect links 2024-11-06 16:15:44 +01:00
Simon Schneegans 8b77be9502 Update deploy workflow to set prerelease flag for artifact uploads 2024-11-06 15:46:57 +01:00
Simon Schneegans a76378625c 🎉 Set release date
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2024-11-06 15:42:47 +01:00
Simon Schneegans c51ed532ff 🔀 Merge pull request #469 from Schneegans/feature/more-tests 2024-11-06 10:14:04 +01:00
Simon Schneegans b2a1c4080d 📝 Add changelog entry 2024-11-06 10:08:10 +01:00
Simon Schneegans fbd3ac0e3a 🔧 Run tests only on X11 but on GNOME 46 and 47 2024-11-06 10:05:25 +01:00
Simon Schneegans 74b7b51b19 🔧 Upload only generated references 2024-11-06 09:57:07 +01:00
Simon Schneegans 5b728087be 🔥 Remove capability 2024-11-06 09:39:40 +01:00
Simon Schneegans 5ba9312448 🔧 Generate references in parallel 2024-11-06 09:35:16 +01:00
Simon Schneegans 75a364186b 🔀 Merge pull request #468 from Schneegans/feature/fix-ci 2024-11-06 08:38:00 +01:00
Simon Schneegans 67f2a89924 💞 Update credits 2024-11-06 08:30:29 +01:00
Simon Schneegans 52e87b421a ⬆️ Upgrade action versions 2024-11-06 08:26:57 +01:00
Simon Schneegans 30c943ec08 🔧 Stop using deprecate dep5 format 2024-11-06 08:26:44 +01:00
Simon Schneegans 49b88c5235 💚 Fix CI build 2024-11-06 08:24:13 +01:00
Simon Schneegans d500f09803 📝 Fix changelog entry 2024-11-06 06:06:54 +01:00
Simon Schneegans 91191c630b 📝 Add changelog entry 2024-11-06 06:01:35 +01:00
Simon Schneegans 97dc383877 🔧 Only run generate-references on workflow dispatch 2024-11-06 06:00:50 +01:00
Simon Schneegans f6c86b884c 🔧 Add focus effect to test suite [generate-references] 2024-11-06 05:45:39 +01:00
Simon Schneegans 819d800d9e 🔀 Merge pull request #467 from weblate/weblate-burn-my-windows-core 2024-11-05 21:00:06 +01:00
albanobattistella 8bf7c6dcf4 🌐 Translated using Weblate (Italian) 2024-11-05 19:42:11 +01:00
gallegonovato 3c7e2e1127 🌐 Translated using Weblate (Spanish) 2024-11-05 19:42:10 +01:00
Simon Schneegans 062d2c620f 🌐 Translated using Weblate (German) 2024-11-05 19:42:09 +01:00
Hosted Weblate 589d0da795 🌐 Update translation files 2024-11-05 19:42:08 +01:00
Simon Schneegans 29e0780bd5 🎨 Use new wallpaper for Focus effect preview 2024-11-05 19:41:53 +01:00
Simon Schneegans 676433752e 🎉 Bump version number 2024-11-03 09:20:58 +01:00
Simon Schneegans 2fa47488e1 📝 Add contribution attribution 2024-11-03 09:17:59 +01:00
Simon Schneegans 68c55e811e 🌐 Update translation template 2024-11-03 09:14:04 +01:00
Simon Schneegans 416e63346c 📝 Add changelog entry 2024-11-03 09:11:59 +01:00
Simon Schneegans 46874043d7 🔧 Streamline settings ui file 2024-11-03 09:11:02 +01:00
Justin Garza b3d5e06a00 🎉 Add effect search 2024-11-03 09:06:26 +01:00
Simon Schneegans 3b4435e254 🔧 Reduce allowed range of animation durations (resolves issue #444) 2024-10-30 20:25:59 +01:00
Simon Schneegans c88f127985 📝 Update KWin installation docs 2024-10-29 21:18:00 +01:00
Simon Schneegans 26ee4b83c1 💚 Make shellcheck happy 2024-10-29 21:10:55 +01:00
Simon Schneegans f4372b314a 📝 Add changelog entries 2024-10-29 21:05:43 +01:00
Simon Schneegans 5386887d29 🔧 Use color management only on plasma 6 2024-10-29 21:03:01 +01:00
Simon Schneegans e0be4d85f0 🎉 Build different effect packages for plasma5 and plasma6 2024-10-29 21:02:34 +01:00
Justin Garza 4114d0379f Merge pull request #1 from jgarza9788/searchfeature
search for effects
2024-10-27 18:57:10 -04:00
Justin Garza 2e54d0002b search for effects
i'll keep this and if the owner wants it i'll submit a PR.
but i really did this to see if i could.
2024-10-27 11:31:07 -04:00
Simon Schneegans 1034b46b27 🪲 Fix color conversion for ICC profiles on Plasma 6 2024-10-27 14:17:17 +01:00
Simon Schneegans f3e6c2aa65 🎉 Port Focus effect to KDE 2024-10-27 14:01:49 +01:00
Simon Schneegans 6ae4bfb63d 📝 Tweak effect tagline 2024-10-27 14:01:30 +01:00
Simon Schneegans 3658837f00 🔧 Reduce default focus blur quality 2024-10-27 13:47:29 +01:00
Simon Schneegans d6ac84f589 🔧 Use integer steps for focus blur quality 2024-10-27 13:46:45 +01:00
Simon Schneegans 4f6a1bf3a9 📝 Add changelog entry 2024-10-27 13:28:07 +01:00
Simon Schneegans d52f59d8b7 🔀 Merge pull request #461 from jgarza9788/main 2024-10-27 13:17:46 +01:00
Justin Garza d0d592e274 Update focus.gif
using a web-tool to trim/convert/edit the video... and i ran out of free tries.
need to find a free linux tool for this
2024-10-26 16:24:15 -04:00
Justin Garza a393d3cddb 🎉 Focus - again 2024-10-26 16:04:24 -04:00
Simon Schneegans 6f9b56a69a 🔀 Merge pull request #459 from weblate/weblate-burn-my-windows-core 2024-10-26 13:46:29 +02:00
Moo 50654a7a41 🌐 Translated using Weblate (Lithuanian) 2024-10-25 13:16:27 +02:00
GholtsMxv 789b112f51 🌐 Translated using Weblate (Chinese (Traditional Han script)) 2024-09-20 08:49:13 +02:00
GholtsMxv cff33a018a 🌐 Added translation using Weblate (Chinese (Traditional Han script)) 2024-09-20 08:49:13 +02:00
symegac cb25dbad9d 🌐 Translated using Weblate (Danish) 2024-09-20 08:49:13 +02:00
symegac 2c57dc4d38 🌐 Translated using Weblate (Danish) 2024-09-04 18:29:49 +02:00
Simon Schneegans 61f07336a4 ⬆️ Use newer version of upload action
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2024-08-23 07:52:40 +02:00
Simon Schneegans 1867739b57 📝 Fix release date 2024-08-23 07:35:19 +02:00
Simon Schneegans 10e272e3f1 🎉 Set release date 2024-08-23 07:33:47 +02:00
Simon Schneegans d5ebd1c046 📝 Add changelog entry 2024-08-23 07:32:59 +02:00
Simon Schneegans 4cea22a1a5 🔀 Merge pull request #448 from Schneegans/feature/gnome-47 2024-08-23 07:30:28 +02:00
Simon Schneegans 46cc12aba1 💚 Disable rawhide checks for now 2024-08-23 07:20:55 +02:00
Simon Schneegans 3611bfb48c 💚 Fix image version 2024-08-23 07:15:26 +02:00
atomkapa atomkapa ca8ed84129 🌐 Translated using Weblate (Hungarian) 2024-08-18 19:55:44 +02:00
atomkapa atomkapa 207da763bc 🌐 Translated using Weblate (Hungarian) 2024-08-18 19:55:44 +02:00
symegac d201e91abc 🌐 Translated using Weblate (Danish) 2024-08-18 19:55:44 +02:00
symegac c8431af8d8 🌐 Added translation using Weblate (Danish) 2024-08-18 19:55:44 +02:00
Tinde (Joke) 4a896bd2ed 🌐 Translated using Weblate (Finnish) 2024-08-18 19:55:44 +02:00
Simon Schneegans b01a53da95 🔥 Remove duplicated code 2024-08-01 05:57:04 +02:00
Simon Schneegans a30d10bab6 🐛 Fix color parsing on GNOME 47 2024-08-01 05:46:20 +02:00
Simon Schneegans b99d2fa310 📝 Add changelog entry 2024-07-31 21:12:36 +02:00
Simon Schneegans 6b74f464af 🪲 Fix syntax error 2024-07-31 21:11:20 +02:00
Simon Schneegans c5e5b4b43f 🎉 Bump version number 2024-07-31 21:05:04 +02:00
Simon Schneegans 0bd8b5988f ✨ Apply clang-format 2024-07-31 08:04:10 +02:00
Simon Schneegans 00882e1898 🎉 Add support for GNOME Shell 47 2024-07-31 07:54:47 +02:00
Scrambled777 d3d88383f7 🌐 Translated using Weblate (Hindi) 2024-05-25 20:34:24 +02:00
Simon Schneegans 342a9d5dbc 🔀 Merge pull request #440 from Schneegans/fix/ci 2024-05-25 20:13:55 +02:00
Simon Schneegans 09a63b1eab 🔧 Update references 2024-05-25 20:05:13 +02:00
Simon Schneegans e4fb518d8e 🔧 Update references 2024-05-25 20:02:55 +02:00
Simon Schneegans 932403c742 📝 Add changelog entry 2024-05-25 19:51:17 +02:00
Simon Schneegans 7ab61b955a 🔀 Merge pull request #438 from nask0/patch-1 2024-05-25 19:48:17 +02:00
nask0 853578ad27 Make "EanbledByDefault" boolean in metadata.json.in
Making "EnabledByDefault" boolean instead of string, because newer versions of KWin complains about this. It should be backwards-compatible tho.
2024-05-21 15:45:02 +03:00
Simon Schneegans 37e0b5cf50 📝 Use color theme for sponsors list 2024-04-03 05:51:08 +02:00
Scrambled777 1666809a52 🌐 Translated using Weblate (Hindi) 2024-03-29 06:20:48 +01:00
Simon Schneegans 421af687e7 📝 Add links to Plasma 6 effects 2024-03-21 09:05:07 +01:00
Simon Schneegans e005cdd54b 🎉 Set release date
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2024-02-27 21:37:24 +01:00
Simon Schneegans d59fda27cc 🔀 Merge pull request #427 from Schneegans/feature/rawhide 2024-02-27 08:37:51 +01:00
Simon Schneegans 84262192fb 🔧 Update references 2024-02-27 08:29:36 +01:00
Simon Schneegans 8b6208c60e 🔧 Update references 2024-02-27 07:54:17 +01:00
Simon Schneegans 24da559f90 🔥 Remove references job again 2024-02-27 07:43:52 +01:00
Simon Schneegans 39574c5a91 🔧 Update references 2024-02-27 07:43:15 +01:00
Simon Schneegans 4a9f2c9ffb 🔧 Re-add manual reference generation [generate-references] 2024-02-26 21:41:13 +01:00
Simon Schneegans 97c11312f0 🔧 Create separate workflow for reference generation 2024-02-26 21:24:55 +01:00
Simon Schneegans b0719775d0 🔧 Add manual wait 2024-02-26 21:02:11 +01:00
Simon Schneegans b705daac97 📝 Add changelog entries 2024-02-26 20:45:35 +01:00
Scrambled777 abfa57af7d 🌐 Translated using Weblate (Hindi) 2024-02-26 13:01:07 +01:00
Simon Schneegans 6ae4d06955 🔧 Add manual wait 2024-02-25 07:03:19 +01:00
Simon Schneegans 17fce87997 🎉 Claim support for GNOME 46 2024-02-25 07:02:53 +01:00
Simon Schneegans fecfe79a43 ✅ Add rawhide workflow again 2024-02-25 06:45:37 +01:00
Simon Schneegans fed64f0b3b 💞 Update credits 2024-02-25 06:42:54 +01:00
Miraficus 92fd68cb4f 🌐 Translated using Weblate (Czech) 2024-02-25 05:40:59 +01:00
Scrambled777 57eb99ccd0 🌐 Added translation using Weblate (Hindi) 2024-02-24 13:28:31 +01:00
Kristoffer Grundström ef9b9de3f5 🌐 Translated using Weblate (Swedish) 2024-02-24 13:28:31 +01:00
Danial Behzadi 2e7172932f 🌐 Translated using Weblate (Persian) 2024-02-22 10:09:19 +01:00
Miraficus b06d691197 🌐 Translated using Weblate (Czech) 2024-02-12 06:06:54 +01:00
aerowolf e56cc7daea 🌐 Translated using Weblate (Chinese (Simplified)) 2024-02-02 12:23:17 +01:00
Сергій 568218d51e 🌐 Translated using Weblate (Ukrainian) 2024-01-07 20:25:38 +01:00
Simon Schneegans ab20c2df75 🔀 Merge pull request #411 from Schneegans/fix/#406 2024-01-02 20:43:31 +01:00
Simon Schneegans 5597c5c6b0 💞 Update credits 2024-01-02 20:42:53 +01:00
Simon Schneegans 0fcf75150d 📝 Add changelog entry 2024-01-02 20:38:58 +01:00
Simon Schneegans 518962a810 🐛 Fix invisible settings button on Plasma 6 2024-01-02 20:32:05 +01:00
ssantos 63acf623a3 🌐 Translated using Weblate (Portuguese) 2023-12-18 21:19:15 +01:00
SoftExpert d2a98baa1f 🌐 Translated using Weblate (Romanian) 2023-12-05 09:44:29 +01:00
Simon Schneegans 219d4f9458 💞 Update credits 2023-11-22 06:54:43 +01:00
Simon Schneegans b5f31f4745 🔀 Merge pull request #403 from Schneegans/fix/ci 2023-11-22 06:51:41 +01:00
Simon Schneegans ebb965bc1b 🔧 Update references 2023-11-21 22:44:35 +01:00
Simon Schneegans 2b5c4fbc24 🔧 Regenerate references [generate-references] 2023-11-21 22:02:21 +01:00
Simon Schneegans 605db5ff5d 🔧 Give a bit more time to the tests 2023-11-21 21:35:27 +01:00
Simon Schneegans 6b135aa2b1 🔧 Temporarily disable checks on rawhide 2023-11-21 21:06:07 +01:00
Simon Schneegans 571662133c 📝 Add changelog entries 2023-11-21 18:24:09 +01:00
Simon Schneegans 51f6b93641 🔀 Merge pull request #405 from Schneegans/fix/#404 2023-11-21 18:18:34 +01:00
Simon Schneegans 5216e460cb 📝 Add changelog entries 2023-11-21 18:09:53 +01:00
Simon Schneegans 3ba27f383f 🪲 Fix issue #404 2023-11-21 18:08:39 +01:00
Simon Schneegans f43af678c0 📝 Add changelog entry 2023-11-20 21:03:46 +01:00
Simon Schneegans 400b88b52d 🔧 Add references 2023-11-20 21:03:03 +01:00
Simon Schneegans 3bd025a283 🔧 Run tests on GNOME 45 2023-11-20 20:50:01 +01:00
Simon Schneegans 9c872f9f02 🔧 Run tests on GNOME 45 2023-11-20 20:49:16 +01:00
Simon Schneegans 028daa724a 🔧 Wait slightly longer after opening prefs in tests 2023-11-20 20:48:24 +01:00
Simon Schneegans 111d29140c 📝 Add changelog entry 2023-11-20 20:42:37 +01:00
Simon Schneegans 53b40f4897 🔀 Merge pull request #402 from CoelacanthusHex/fix-plasma-6 2023-11-20 20:40:27 +01:00
Coelacanthus eb933572f5 Fix compatibility with Plasma 6
resolve #401

Signed-off-by: Coelacanthus <CoelacanthusHex@gmail.com>
2023-11-19 20:54:56 +08:00
Gustavo 6d7d6326b4 🌐 Translated using Weblate (Portuguese (Brazil)) 2023-11-13 17:21:06 +01:00
Simon Schneegans f6107452ef 📝 Remove obsolete characters 2023-11-09 20:48:05 +01:00
Simon Schneegans 35ef7f09f4 🎉 Bump version number 2023-10-26 05:55:50 +02:00
Simon Schneegans 8a8f33beb4 📝 Add changelog entry 2023-10-26 05:55:36 +02:00
Simon Schneegans c387ac9a5a 🎉 Set release date
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-10-26 05:43:02 +02:00
Simon Schneegans c83756f8be 🔀 Merge pull request #393 from Schneegans/fix/#384 2023-10-25 20:14:19 +02:00
Simon Schneegans 30f2d221a3 🔀 Merge branch 'main' into fix/#384 2023-10-25 20:09:12 +02:00
Simon Schneegans 6b8ad4bfd6 📝 Add changelog entry 2023-10-25 20:07:54 +02:00
Simon Schneegans 5b07c1e22b 💞 Update credits 2023-10-25 19:56:22 +02:00
Simon Schneegans a92de7db3a 📝 Add changelog entry 2023-10-25 17:02:56 +02:00
Simon Schneegans 4b3f135229 📝 Add comment 2023-10-25 17:00:22 +02:00
Simon Schneegans eac0686ecd 🔧 Do not apply effects to windows which are on all desktops and have no decoration 2023-10-25 16:58:36 +02:00
Simon Schneegans 33dd2c07c4 🐛 Fix #356 for GNOME 45 2023-10-25 16:56:10 +02:00
Simon Schneegans 52bfafb15a ⬆️ Update version of dynamic-badges-action 2023-10-24 19:56:33 +02:00
Simon Schneegans 98ac9af09f 🎉 Add crypto donation link 2023-10-24 06:07:55 +02:00
Simon Schneegans 0437de8d5b 🔀 Merge pull request #390 from Schneegans/fix/#389 2023-10-24 06:02:11 +02:00
Simon Schneegans dbf026237d 📝 Add changelog entry 2023-10-24 06:01:09 +02:00
Simon Schneegans 8e89017cb7 🪲 Create proper gzip archives for KWin 2023-10-24 05:52:33 +02:00
Frankie McEyes 2f5f567145 🌐 Translated using Weblate (Italian) 2023-10-19 07:47:54 +02:00
Simon Schneegans 4e00c4d7d9 📝 Update funding links 2023-10-15 13:11:23 +02:00
Simon Schneegans b64dd2a969 📝 Tweak badges 2023-10-15 13:04:45 +02:00
Simon Schneegans b0a56fb0e9 📝 Add donation badges 2023-10-15 12:51:48 +02:00
Simon Schneegans ea981e714d 📝 Use new info boxes 2023-10-10 05:30:31 +02:00
Simon Schneegans 02b089fd4d 📝 Add new sponsors badge 2023-10-10 05:30:17 +02:00
Milan Šalka c56ed0739d 🌐 Translated using Weblate (Slovak) 2023-10-07 12:46:21 +02:00
Simon Schneegans 278c89981b 🎉 Add link to sponsors list to the main menu 2023-09-21 19:28:55 +02:00
Simon Schneegans 80ca2b9af0 📝 Add new sponsors list 2023-09-20 20:15:13 +02:00
Krzysztof Chorzempa 098cd784c7 🌐 Translated using Weblate (Polish) 2023-09-11 06:54:18 +02:00
lijeyol367 0b5247cbb2 🌐 Translated using Weblate (Persian) 2023-09-11 06:54:18 +02:00
albanobattistella 72a2e71cef 🌐 Translated using Weblate (Italian) 2023-09-11 06:54:18 +02:00
Simon Schneegans bb3249b8e0 🎉 Bump version number 2023-09-09 12:59:25 +02:00
Simon Schneegans 8d6ee48e59 📝 Add another branch hint
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-09-09 12:49:38 +02:00
Simon Schneegans 6aef7536bc 🔀 Merge pull request #373 from Schneegans/feature/esm-modules 2023-09-09 12:42:56 +02:00
Simon Schneegans 9fba8f2186 Merge branch 'main' into feature/esm-modules 2023-09-09 12:35:13 +02:00
Simon Schneegans d6120de2b9 ✨ Format README 2023-09-09 12:34:35 +02:00
Simon Schneegans 8ec804bc86 🎉 Set release date 2023-09-09 12:33:59 +02:00
Simon Schneegans e62a9cdf85 📝 Add branch hint 2023-09-09 12:33:34 +02:00
Simon Schneegans cf57261165 🔥 Remove unused method 2023-09-09 06:55:32 +02:00
Simon Schneegans 734530fdab 🔧 Use dynamic imports for gettext 2023-09-09 06:46:09 +02:00
Simon Schneegans 0ccbb31d06 ♻️ Use more dynamic imports 2023-09-09 06:17:58 +02:00
Simon Schneegans 34a64e10fe 🪲 Fix fire presets 2023-09-09 06:09:40 +02:00
Simon Schneegans 767035e313 ♻️ Use utility method to import module in Shell process only 2023-09-09 06:05:15 +02:00
Simon Schneegans 006cc593a3 🔧 Add missing method inputs 2023-09-09 05:52:39 +02:00
Simon Schneegans 15560abad7 🪲 Fix Doom effect 2023-09-09 05:52:15 +02:00
Simon Schneegans 14cd1db7e9 🔧 Do not import the ShaderFactory in the preferences process 2023-09-08 20:45:58 +02:00
Simon Schneegans 3f05c946ec 📝 Tweak changelog entry 2023-09-05 08:02:36 +02:00
Simon Schneegans 9ae7f9c042 ♻️ Use glob import for utils 2023-09-02 10:21:40 +02:00
Simon Schneegans e9ef77617f 🔧 Use console.log instead of log 2023-09-02 10:21:21 +02:00
Hosted Weblate 06b2c941f2 🌐 Update translation files 2023-08-31 08:45:55 +02:00
Simon Schneegans 27220c95f8 🔧 Only run tests on rawhide for GNOME 45 2023-08-31 07:39:56 +02:00
Simon Schneegans 5cc260ad39 Merge branch 'main' into feature/esm-modules 2023-08-31 07:37:42 +02:00
Simon Schneegans e81eb2097b 🔧 Stop testing on rawhide for pre 45 version 2023-08-31 07:32:07 +02:00
Simon Schneegans 22d4d38b08 🌐 Update translation template 2023-08-31 07:31:37 +02:00
Fernando Lopes c85156ed61 🌐 Translated using Weblate (Portuguese (Brazil)) 2023-08-31 07:28:11 +02:00
Simon Schneegans 7c766a5aea 🔀 Merge pull request #381 from sabriunal/mark-translatable 2023-08-30 10:39:25 +02:00
Sabri Ünal ecd2282ca7 data: Mark a few strings translatable
- Reset to Default Value
- Choose a Preset
2023-08-30 10:39:45 +03:00
Simon Schneegans 37a90cee1f 🎉 Bump version number 2023-08-26 13:20:35 +02:00
Simon Schneegans 012c1f5d33 📝 Add changelog entry
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-08-26 13:08:06 +02:00
Simon Schneegans 9bb54ab71a 🔀 Merge pull request #379 from Schneegans/fix/#376 2023-08-26 13:06:59 +02:00
Reza Almanda 6f708cf1fb 🌐 Translated using Weblate (Indonesian) 2023-08-26 13:05:01 +02:00
Simon Schneegans 3147ae5db6 📝 Add changelog entry 2023-08-26 13:02:22 +02:00
Simon Schneegans f8ea184a0f 🪲 Remove excessively large floating point constant 2023-08-22 19:57:34 +02:00
Seong-ho Cho 41f02c2901 🌐 Translated using Weblate (Korean) 2023-08-20 21:51:22 +02:00
Sabri Ünal 2a3f9305fe 🌐 Translated using Weblate (Turkish) 2023-08-20 21:51:22 +02:00
albanobattistella a7dfd593bd 🌐 Translated using Weblate (Italian) 2023-08-20 21:51:22 +02:00
Brice Laurencin 01c6e5caee 🌐 Translated using Weblate (French) 2023-08-20 21:51:22 +02:00
Simon Schneegans bf068e24da 🔧 Only run tests on rawhide 2023-08-19 08:02:24 +02:00
Simon Schneegans 45dd8d992d 🔧 Do not add compiled schemas 2023-08-19 08:01:46 +02:00
Simon Schneegans a8466a16f7 📝 Update effect creation guide 2023-08-19 08:00:54 +02:00
Simon Schneegans 44ce1a4825 🔧 Revert to old debug method behavior 2023-08-19 07:21:46 +02:00
Simon Schneegans c515e495f3 📝 Add changelog entry 2023-08-19 07:20:17 +02:00
Simon Schneegans f5e0a92cec Merge branch 'main' into feature/esm-modules 2023-08-18 08:28:42 +02:00
Simon Schneegans 75080a9595 🎉 Bump version number 2023-08-18 07:46:14 +02:00
Simon Schneegans c11ffb5e00 🎉 Set release date
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-08-18 06:33:47 +02:00
Hosted Weblate 150761721a 🌐 Update translation files 2023-08-18 06:25:27 +02:00
Simon Schneegans 6a41fe23b3 📝 Add changelog entry 2023-08-18 06:23:59 +02:00
Simon Schneegans 508508c8d2 💞 Update credits 2023-08-18 06:23:21 +02:00
Simon Schneegans e4d986e2eb 🌐 Update translation template 2023-08-18 06:16:44 +02:00
Simon Schneegans 8147edfa06 🪲 Fix config import 2023-08-18 06:13:39 +02:00
Simon Schneegans 15b0d78c01 Merge branch 'main' into feature/esm-modules 2023-08-18 05:47:31 +02:00
Philip Goto 834f143846 🌐 Translated using Weblate (Dutch) 2023-08-17 19:38:59 +02:00
gallegonovato 8ed1d26524 🌐 Translated using Weblate (Spanish) 2023-08-15 07:40:07 +02:00
Simon Schneegans e8db78a8b0 🔀 Merge pull request #368 from Schneegans/feature/colorful-wisps 2023-08-14 06:16:51 +02:00
Simon Schneegans 2d4a6635eb 🔀 Merge pull request #369 from J-TAG/main 2023-08-14 05:59:00 +02:00
Simon Schneegans a6b47be34f 🪲 Prevent GLSL from optimizing our uniforms on KWin 2023-08-14 05:58:03 +02:00
Amoo Hesam 351878f136 🪲 Add IntelliJ IDEs to window blacklist on KDE 2023-08-13 23:49:47 +03:30
Simon Schneegans 32d78ceced 🎉 Add support for colorful wisps 2023-08-13 13:35:03 +02:00
Simon Schneegans 063826354f 🌐 Translated using Weblate (German) 2023-08-13 12:17:22 +02:00
Hosted Weblate 297acee240 🌐 Update translation files 2023-08-13 12:17:22 +02:00
Simon Schneegans e226b65915 🌐 Translated using Weblate (German) 2023-08-13 12:17:22 +02:00
Hosted Weblate 8f3118ab91 🌐 Update translation files 2023-08-13 12:17:22 +02:00
Simon Schneegans c2d6385f6e 🌐 Update translation template 2023-08-13 07:54:11 +02:00
Simon Schneegans 2444c19656 🔀 Merge pull request #367 from Schneegans/feature/show-profile-dir 2023-08-13 07:52:16 +02:00
Simon Schneegans 5b820120fc 📝 Add changelog entry 2023-08-13 06:29:07 +02:00
Simon Schneegans 5ad18b258b 🎉 Add menu entry to open effect-profile directory 2023-08-13 06:28:02 +02:00
Simon Schneegans c30f26f3ec 🌐 Update translation template 2023-08-13 06:04:16 +02:00
Milan Šalka e3de58323d 🌐 Translated using Weblate (Slovak) 2023-08-11 19:25:00 +02:00
Simon Schneegans ee41968e17 📝 Fix comment 2023-08-07 13:58:22 +02:00
Simon Schneegans f2768216db 🔥 Remove backwards compatibility code 2023-08-07 13:21:50 +02:00
Simon Schneegans d1cddb129d 🔧 Port to ESM 2023-08-07 12:57:38 +02:00
Simon Schneegans 5a60ab443e 🔀 Merge pull request #362 from Schneegans/fix/fullscreen-effects 2023-08-06 20:25:57 +02:00
Simon Schneegans 505289376e Merge branch 'main' into feature/esm-modules 2023-08-06 20:10:18 +02:00
Simon Schneegans 2fc4528057 Merge branch 'main' into fix/fullscreen-effects 2023-08-06 20:00:25 +02:00
Simon Schneegans 4af9692cd5 🔀 Merge pull request #363 from Schneegans/fix/kwin-intellij 2023-08-06 19:58:58 +02:00
Ettore Atalan 44291ef9f3 🌐 Translated using Weblate (German) 2023-08-06 19:58:08 +02:00
Simon Schneegans 2593de09b0 📝 Add changelog entry 2023-08-06 19:49:53 +02:00
Simon Schneegans 17017d7306 🪲 Add IntelliJ IDEs to window blacklist on KDE 2023-08-06 19:49:44 +02:00
Simon Schneegans 3a9b1cb8a8 Merge branch 'main' into feature/esm-modules 2023-08-06 19:31:12 +02:00
Simon Schneegans ca3db8deae 📝 Add changelog entry 2023-08-06 13:42:45 +02:00
Simon Schneegans dcae2e986e 🔧 Set uIsFullscreen also on KWin 2023-08-06 13:40:08 +02:00
Simon Schneegans 68eb93f54f 🔧 Do not apply edge masks on full-screen windows 2023-08-06 12:45:33 +02:00
Simon Schneegans fe6d7ecd6a 🔀 Merge pull request #359 from Schneegans/feature/batch-effect-selection 2023-08-06 12:29:11 +02:00
Simon Schneegans 58a2ddb41f 🔧 Update references 2023-08-06 12:20:36 +02:00
Simon Schneegans dcd0a2f41c 📝 Add changelog entry 2023-08-05 13:51:48 +02:00
Simon Schneegans 14171b1ded 🎉 Add select-all and select-none buttons to GTK3 2023-08-05 13:49:07 +02:00
Simon Schneegans 65cecc5259 🎉 Add select-all and select-none buttons to GTK4 2023-08-05 13:45:47 +02:00
Simon Schneegans 5d105a99c1 📝 Add the functionality to the choose-all and choose-none buttons 2023-08-05 13:38:47 +02:00
Simon Schneegans 2447d40885 💄 Change settings title 2023-08-05 13:38:27 +02:00
Simon Schneegans baa7b678e8 🔧 Add all and none buttons for adw 2023-08-02 13:48:31 +02:00
albanobattistella b21144c45f 🌐 Translated using Weblate (Italian) 2023-07-28 13:13:40 +02:00
Reza Almanda 170e8cd8af 🌐 Translated using Weblate (Indonesian) 2023-07-28 13:13:40 +02:00
Milan Šalka f2cbc2af23 🌐 Translated using Weblate (Slovak) 2023-07-28 13:13:40 +02:00
albanobattistella fd0d10bdef 🌐 Translated using Weblate (Italian) 2023-07-28 13:13:40 +02:00
Philip Goto 14fbc70578 🌐 Translated using Weblate (Dutch) 2023-07-28 13:13:40 +02:00
Simon Schneegans 7b90fd70bc 🚧 Continue port to ESM 2023-07-12 11:44:43 +02:00
Simon Schneegans 8a0c29a52f 🚧 Start port to ESM 2023-07-12 09:59:53 +02:00
Simon Schneegans 3a03c86fbc 💚 Also set GSK_RENDERER when generating references 2023-07-04 22:05:47 +02:00
Simon Schneegans 067e663854 💚 Set GSK_RENDERER variable 2023-07-04 22:05:47 +02:00
gallegonovato f59af77941 🌐 Translated using Weblate (Spanish) 2023-07-04 20:33:27 +02:00
Simon Schneegans a98345e5f3 🎉 Bump version number 2023-07-03 21:46:29 +02:00
Simon Schneegans f9a25bb4aa 📝 Set release date
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-07-03 21:27:11 +02:00
Hosted Weblate a107a0b9fa 🌐 Update translation files 2023-07-03 08:38:08 +02:00
Simon Schneegans 8b0e8fa9b3 🔀 Merge pull request #351 from Schneegans/feature/paint-brush 2023-07-03 05:50:51 +02:00
Simon Schneegans ccc4adebd7 🎨 Use two strokes for thickest brush 2023-07-03 05:42:48 +02:00
Simon Schneegans 08b8e75118 🌐 Update translation template 2023-07-02 21:55:58 +02:00
Simon Schneegans a6e2d61c37 💄 Rename "Size" to "Brush Size" 2023-07-02 21:55:24 +02:00
Simon Schneegans 344ec78cac 📝 Add changelog entry 2023-07-02 21:53:17 +02:00
Simon Schneegans b1014b61e5 🎨 Add brush source 2023-07-02 21:45:58 +02:00
Simon Schneegans be38af32af 🎉 Add paint-brush effect 2023-07-02 21:45:40 +02:00
Simon Schneegans c27c644977 📝 Add Paint-Brush effect to README 2023-07-02 21:08:49 +02:00
Simon Schneegans fb964aca8d 🎉 Bump version number 2023-06-09 20:30:05 +02:00
Simon Schneegans 79d9f2801f 🎉 Set release date
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-06-09 20:04:56 +02:00
Simon Schneegans ada0472028 📝 Add changelog entry 2023-06-09 20:04:22 +02:00
Simon Schneegans 1be2e0bf77 📝 Use paypal.me link for paypal donations 2023-06-09 20:03:42 +02:00
Simon Schneegans feebedbdd8 📝 Add changelog entry 2023-06-09 17:50:02 +02:00
Simon Schneegans 834c602f5d 📝 Add support for the donation button on EGO 2023-06-09 17:49:12 +02:00
Simon Schneegans 8afad3a02e 🎉 Bump version number 2023-06-06 20:54:28 +02:00
Simon Schneegans 8829aa039e 📝 Set release date
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-06-06 20:44:01 +02:00
Simon Schneegans e04b2769b1 💞 Update credits 2023-06-06 20:26:37 +02:00
Simon Schneegans 9293a5ab4d 🔀 Merge pull request #346 from Schneegans/feature/support-dialog 2023-06-06 09:00:21 +02:00
Simon Schneegans 0c58b507d8 📝 Add some comments 2023-06-06 08:47:23 +02:00
Simon Schneegans a585da93a8 🔧 Revert to heart emoji as the burning emoji does not work on GTK3 2023-06-06 08:36:43 +02:00
Simon Schneegans e450e619e6 🔧 Use burning heart emoji 2023-06-06 08:35:12 +02:00
Simon Schneegans 4a747602d9 🔧 Only show the support dialog every tenth time 2023-06-06 08:33:48 +02:00
Simon Schneegans d936717ac0 🔧 Improve wording of the support-dialog 2023-06-06 08:33:17 +02:00
Simon Schneegans 154b5bec32 🔧 Use notify::visible event to show the support dialog 2023-06-06 07:44:30 +02:00
Simon Schneegans 2e20bc8753 🔧 Use map event to show the support dialog 2023-06-06 07:32:58 +02:00
Simon Schneegans 6cc26d0dbc 🔧 Show support dialog programmatically 2023-06-06 06:03:59 +02:00
Simon Schneegans 78d4e79925 🪲 Fix support dialog on GTK4 2023-06-05 21:58:52 +02:00
Simon Schneegans b8759174f8 🪲 Show dialog on GTK3 2023-06-05 21:53:00 +02:00
Simon Schneegans d89be65fe3 🔧 Add support dialog for GTK3 and GTK4 2023-06-05 21:51:33 +02:00
Simon Schneegans 106ed964d5 📝 Add changelog entry 2023-06-05 20:44:16 +02:00
Simon Schneegans f4babe7575 🎉 Add a dialog to ask for support 2023-06-05 20:41:15 +02:00
Simon Schneegans fff39f66a8 🔀 Merge pull request #345 from Schneegans/fix/#344 2023-06-05 06:01:30 +02:00
Simon Schneegans 708b4ca1ad 📝 Add changelog entry 2023-06-05 05:47:29 +02:00
Simon Schneegans b2158eb2e2 🪲 Re-add accidentally deleted line 2023-06-05 05:43:44 +02:00
Simon Schneegans bb46352c37 🪲 Attempt to fix #344 2023-06-05 05:27:18 +02:00
Sabri Ünal 6b63222cbe 🌐 Translated using Weblate (Turkish) 2023-05-28 21:04:03 +02:00
TCr3 a2daa2e1b8 🌐 Translated using Weblate (Turkish) 2023-05-28 21:04:03 +02:00
Sabri Ünal d37c505bef 🌐 Translated using Weblate (Turkish) 2023-05-28 21:04:03 +02:00
Simon Schneegans cb368a6207 🪲 Fix issue #343 2023-05-28 20:37:55 +02:00
Simon Schneegans b0e6b66380 🎉 Bump version number 2023-05-22 20:42:28 +02:00
Simon Schneegans 8ef5a8882f ✨ Format changelog
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-05-22 20:39:31 +02:00
Simon Schneegans 729de9b0ff 🎉 Set release date 2023-05-22 20:38:27 +02:00
Simon Schneegans 59011dfe69 📝 Add changelog entry 2023-05-22 20:37:51 +02:00
Simon Schneegans 64701bef1b 🔀 Merge pull request #341 from Schneegans/fix/#335 2023-05-22 20:36:35 +02:00
Simon Schneegans 70dfbf71f5 💞 Update credits 2023-05-22 20:35:55 +02:00
Simon Schneegans 4d63512e47 📝 Add changelog entry 2023-05-22 20:27:49 +02:00
Simon Schneegans d0dc1b427c 🪲 Fix issue #335 2023-05-22 20:22:58 +02:00
Simon Schneegans c358c59eb4 📝 Fix links 2023-05-22 20:22:43 +02:00
aerowolf 078f2fb853 🌐 Translated using Weblate (Chinese (Simplified)) 2023-05-16 14:55:35 +02:00
Reza Almanda edbd3a7ac8 🌐 Translated using Weblate (Indonesian) 2023-05-16 14:55:35 +02:00
Simon Schneegans 679f9902c1 🎉 Bump version number 2023-05-04 17:26:35 +02:00
Simon Schneegans 7a30881c0d 🎉 Set release date
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-05-04 17:19:03 +02:00
Simon Schneegans 993c72ac2c 📝 Add changelog entry 2023-05-04 17:18:52 +02:00
Simon Schneegans 40193aca03 💞 Update credits 2023-05-04 17:18:02 +02:00
Simon Schneegans 4f91e0668a 🪲 Fix wayland-window picking 2023-05-04 16:53:49 +02:00
Simon Schneegans bffd784221 📝 Add changelog entry 2023-04-24 22:10:38 +02:00
Simon Schneegans 2b1e5cb877 🪲 Fix invisible-window bug 2023-04-24 22:10:26 +02:00
Seong-ho Cho d316203b6f 🌐 Translated using Weblate (Korean) 2023-04-24 21:51:52 +02:00
Isaac Dias 965130e363 🌐 Translated using Weblate (Portuguese (Brazil)) 2023-04-10 20:39:55 +02:00
Simon Schneegans 8e6d65d3eb 🎉 Bump version number 2023-04-08 10:33:06 +02:00
Simon Schneegans aca3c34142 🪲 Fix yet another incompatibility with the Magic Lamp
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-04-08 10:26:54 +02:00
Simon Schneegans 84bd93bd2c 🎉 Bump version number 2023-04-08 09:44:28 +02:00
Simon Schneegans 3367b57c05 🪲 Fix incompatibility with the magic-lamp extension
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-04-08 09:27:31 +02:00
SoftExpert 9905e643a5 🌐 Translated using Weblate (Romanian) 2023-04-07 16:10:33 +02:00
Simon Schneegans 0d8aed5ad0 🔀 Merge pull request #322 from Schneegans/feature/fixes 2023-04-07 16:09:33 +02:00
Simon Schneegans 79601cc8d0 📝 Add changelog entry 2023-04-07 06:37:24 +02:00
Simon Schneegans f021ea7ede 🪲 Fix effects in front of fullscreen windows 2023-04-07 06:35:17 +02:00
Simon Schneegans f3e9917729 🎉 Bump version number 2023-04-07 06:23:59 +02:00
Simon Schneegans 14cfa0818f 🪲 Fix effect profile loading
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-04-06 20:32:45 +02:00
Simon Schneegans 4814730400 🎉 Bump version number 2023-04-06 20:20:59 +02:00
Simon Schneegans 91f7f8f1b5 📝 Fix type 2023-04-06 20:18:30 +02:00
Simon Schneegans fa5baa4301 Merge branch 'main' of github.com:Schneegans/Burn-My-Windows 2023-04-06 20:17:58 +02:00
Simon Schneegans c80707ee1f 📝 Set release date 2023-04-06 20:17:35 +02:00
Simon Schneegans 343eddbfcb 🔀 Merge pull request #321 from Schneegans/feature/no-hardware-acceleration 2023-04-05 09:44:25 +02:00
Simon Schneegans 04e0999d5b 📝 Add changelog entry [no-ci] 2023-04-05 08:36:12 +02:00
Simon Schneegans 48c8bcec3a 🔧 Fix overview animation on GNOME 3.38 2023-04-05 08:08:03 +02:00
Simon Schneegans 38d12453b6 🪲 Prevent a warning 2023-04-05 08:02:44 +02:00
Simon Schneegans b48e92f8c1 🔧 Do not attempt to scale overview clones on GNOME 3.36 2023-04-05 08:02:13 +02:00
Simon Schneegans 14d482e16a 🪲 Properly scale windows in the overview 2023-04-05 07:51:27 +02:00
Simon Schneegans e87340d7ad 🔧 Perform tests also on Fedora 38 and rawhide 2023-04-04 19:27:37 +02:00
Simon Schneegans ee93c06304 🔧 Add new GS versions to test suite [generate-references] 2023-04-04 13:29:37 +02:00
Simon Schneegans 1e06ed6503 🪲 Fix compatibility with GNOME 3.36 2023-04-04 11:44:15 +02:00
Simon Schneegans 0fd3f0f62f 🔧 Do not depend on Clutter.Transitions 2023-04-04 11:27:01 +02:00
Simon Schneegans 42d69afa89 🔀 Merge pull request #320 from Schneegans/feature/gles 2023-04-03 16:49:56 +02:00
Simon Schneegans 1b57d1e015 Merge branch 'main' into feature/gles 2023-04-02 20:52:26 +02:00
Simon Schneegans 658ca6415a 📝 Add changelog entry 2023-04-02 20:49:11 +02:00
Simon Schneegans 5ffee2c817 ✨ Apply clang-format 2023-04-02 20:46:33 +02:00
Simon Schneegans 5aad16c8bf 🔧 Make shaders compatible with GLES 2023-04-02 20:42:38 +02:00
Simon Schneegans b623a5923f 🔧 Revert tests on GNOME 44 for now 2023-04-01 22:00:24 +02:00
Simon Schneegans e06245bdca 🔧 Update test scripts for Fedora Rawhide 2023-04-01 22:00:02 +02:00
Simon Schneegans e5907292ed 🔧 Execute tests on more GNOME versions 2023-04-01 21:47:19 +02:00
Simon Schneegans 70bfbac890 💞 Update sponsors 2023-03-30 20:44:43 +02:00
Simon Schneegans d010c60143 🔀 Merge pull request #319 from Schneegans/feature/fix-tutorial 2023-03-29 20:47:04 +02:00
CakesTwix 649a1cce73 🌐 Translated using Weblate (Ukrainian) 2023-03-29 20:40:23 +02:00
Simon Schneegans bccdc0253d 📝 Add changelog entries 2023-03-29 20:25:53 +02:00
Simon Schneegans b7429bada3 🔧 Allow effects with no settings 2023-03-29 20:24:28 +02:00
Simon Schneegans 23a85798ca 📝 Fix tutorial 2023-03-29 20:23:40 +02:00
Philip Goto e051551747 🌐 Translated using Weblate (Dutch) 2023-03-17 13:13:42 +01:00
Simon Schneegans 6eae8d1aa3 🔧 Add Ko-fi 2023-03-10 12:59:49 +01:00
Simon Schneegans 6d34936375 📝 Add KoFi donation method 2023-03-09 13:46:59 +01:00
Jose Riha 46c8eaf417 🌐 Translated using Weblate (Slovak) 2023-03-07 13:26:33 +01:00
WaldiS 55b491bb36 🌐 Translated using Weblate (Polish) 2023-03-05 19:19:21 +01:00
Simon Schneegans c78bc4c094 🎉 Set release date
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-03-01 19:32:56 +01:00
Simon Schneegans 024b39d627 💞 Update credits 2023-03-01 19:29:53 +01:00
Simon Schneegans 349170f68f 💞 Update sponsors 2023-02-28 14:22:45 +01:00
Simon Schneegans 6ba32dff81 📝 Update links 2023-02-26 21:01:30 +01:00
SoftExpert 8fac2692f5 🌐 Translated using Weblate (Romanian) 2023-02-25 07:15:57 +01:00
lenemter 448b9a513d 🌐 Translated using Weblate (Russian) 2023-02-25 07:15:57 +01:00
albanobattistella 94339dbc19 🌐 Translated using Weblate (Italian) 2023-02-25 07:15:57 +01:00
SoftExpert 4aa5b3fc27 🌐 Translated using Weblate (French) 2023-02-25 07:15:57 +01:00
Simon Schneegans 84f11659f1 🔧 Give application profiles a higher priority 2023-02-22 10:50:38 +01:00
Simon Schneegans 5aacdbea5f 📝 Add changelog entry 2023-02-21 21:26:35 +01:00
Simon Schneegans c7b0e92eb2 Merge branch 'main' of github.com:Schneegans/Burn-My-Windows 2023-02-21 21:23:27 +01:00
Simon Schneegans 612a27fbf5 📝 Update command 2023-02-21 21:23:21 +01:00
gallegonovato 0b71317791 🌐 Translated using Weblate (Spanish) 2023-02-21 20:50:58 +01:00
Heimen Stoffels 465e587714 🌐 Translated using Weblate (Dutch) 2023-02-21 20:50:58 +01:00
Simon Schneegans 591c8d38db 🌐 Translated using Weblate (German) 2023-02-21 20:50:58 +01:00
Hosted Weblate 3fde2f8602 🌐 Update translation files 2023-02-21 20:50:58 +01:00
Isaac Dias 3b8bcd02aa 🌐 Translated using Weblate (Portuguese (Brazil)) 2023-02-21 20:50:58 +01:00
Simon Schneegans 9872531544 🎉 Add support for GNOME 44 2023-02-21 20:24:11 +01:00
Simon Schneegans a4ee545b9a Revert "🔧 Ellipsize profile selection button"
This reverts commit caa29fb9d6.
2023-02-21 20:17:48 +01:00
Simon Schneegans caa29fb9d6 🔧 Ellipsize profile selection button 2023-02-21 20:04:06 +01:00
Simon Schneegans ce6e6389e4 🔧 Tweak default prefs window size 2023-02-21 20:03:24 +01:00
Simon Schneegans edd6d76a58 🔧 Do not attempt to migrate anything if on a new installation 2023-02-21 19:44:13 +01:00
Simon Schneegans b93d28e66c 🔧 Add schema sources to zip file 2023-02-21 17:37:17 +01:00
Simon Schneegans e8703e3484 🔧 Prevent warning 2023-02-21 17:19:45 +01:00
Simon Schneegans fae67f89b5 🎉 Add wallpaper link to menu 2023-02-21 16:47:38 +01:00
Simon Schneegans 97e18cb727 📝 Add changelog entry 2023-02-21 16:41:00 +01:00
Simon Schneegans 1bd646bc92 Merge branch 'main' of github.com:Schneegans/Burn-My-Windows 2023-02-20 20:30:42 +01:00
Simon Schneegans f4866471e4 📝 Add new teaser link and image 2023-02-20 20:30:37 +01:00
albanobattistella b3237b6e4e 🌐 Translated using Weblate (Italian) 2023-02-20 12:53:25 +01:00
Heimen Stoffels ba9226d4e2 🌐 Translated using Weblate (Dutch) 2023-02-20 09:07:17 +01:00
Ulices 9bd813777e 🌐 Translated using Weblate (Spanish) 2023-02-20 09:07:17 +01:00
Simon Schneegans 56f87c4851 📝 Add link to wallpaper repo 2023-02-16 08:56:21 +01:00
Simon Schneegans 0ef412ebf1 📝 Update previews 2023-02-15 17:34:05 +01:00
Simon Schneegans eb3adfd251 🌐 Translated using Weblate (German) 2023-02-15 13:24:29 +01:00
Hosted Weblate 931a4aab01 🌐 Update translation files 2023-02-15 13:24:29 +01:00
Simon Schneegans 40866b97fb 🌐 Translated using Weblate (German) 2023-02-15 13:24:29 +01:00
Hosted Weblate 0bcd3cd731 🌐 Update translation files 2023-02-15 13:24:29 +01:00
Simon Schneegans 5b89864f7f 🔧 Use high-priority as part of the prpfile name 2023-02-15 13:21:03 +01:00
Simon Schneegans dc7d26e4d7 🔀 Merge pull request #292 from Schneegans/feature/effect-profiles 2023-02-15 12:13:32 +01:00
Simon Schneegans 4280c21575 📝 Add changelog entry 2023-02-15 09:10:38 +01:00
Seong-ho Cho 3179686e28 🌐 Translated using Weblate (Korean) 2023-02-15 08:52:38 +01:00
Simon Schneegans 08450b6358 🌐 Update translation template 2023-02-10 21:22:57 +01:00
Simon Schneegans 2604055fb0 🔧 Remove tooltip 2023-02-10 21:22:32 +01:00
Simon Schneegans bcfe85ce34 🔧 Make dialog message clearer 2023-02-10 21:15:26 +01:00
Simon Schneegans 4b6b6f359d 🪲 Fix profile migration 2023-02-10 06:15:22 +01:00
Simon Schneegans 543cf7de09 🔧 Only try to migrate profiles once 2023-02-10 06:02:23 +01:00
Simon Schneegans f2cf78971d 🔧 Work on setting migration 2023-02-10 05:55:50 +01:00
Simon Schneegans 43130b4680 🔧 Tweak migration code 2023-02-08 21:32:29 +01:00
Simon Schneegans 86f24c0a50 🔧 Tweak migration code 2023-02-08 21:21:49 +01:00
Simon Schneegans 7fb6db28c2 🔧 Tweak migration code 2023-02-08 21:16:38 +01:00
Simon Schneegans d37789ce7a 🔧 Tweak migration code 2023-02-08 21:03:40 +01:00
Simon Schneegans b47c548deb 🔧 Add initial migration code 2023-02-08 20:58:55 +01:00
Simon Schneegans cb60747e5a 🎉 Add async executeCommand method 2023-02-08 20:58:34 +01:00
Simon Schneegans 7f7fd8686f 🔧 Tweak some labels 2023-02-08 20:57:57 +01:00
Simon Schneegans 8d7144b6e4 🔧 Unify trex settings keys 2023-02-08 16:33:00 +01:00
Simon Schneegans 8c163f3a38 🔧 Unify fire settings keys 2023-02-08 16:31:13 +01:00
Simon Schneegans dd5801c0f7 🔧 Support multiple apps per profile 2023-02-08 10:33:03 +01:00
Simon Schneegans 3020fec2bc 🔧 Add arrow to profile chooser button on GTK3 2023-02-08 09:03:03 +01:00
Simon Schneegans 2dd771aac4 🔧 Port version check to GTK3 2023-02-08 07:50:05 +01:00
Simon Schneegans 3c7849cc1a 🔧 Port update notification to GTK4 2023-02-08 06:14:57 +01:00
Simon Schneegans 26e7f6bb00 🔧 Show toast if BMW got updated 2023-02-08 05:33:06 +01:00
KinteLiX 58dec719c7 🌐 Translated using Weblate (Hungarian) 2023-02-07 08:46:39 +01:00
Simon Schneegans 33f4410a5b 📝 Add some comments 2023-02-06 20:25:26 +01:00
Simon Schneegans 1c8ed8df92 📝 Add some comments 2023-02-05 20:29:29 +01:00
Simon Schneegans 142f6e9e3c ✨ Apply clang-format 2023-02-05 20:19:51 +01:00
Simon Schneegans 89e056084a 🔧 Do not fiddle with animation times 2023-02-05 20:19:19 +01:00
Simon Schneegans ab851d8113 🔧 Update references 2023-02-05 20:04:03 +01:00
Simon Schneegans fa7b118dc3 🔧 Do not capture preference window reference in center of the screen 2023-02-05 20:03:51 +01:00
Simon Schneegans fbaa04082c 🪲 Fix syntax error on GNOME 3.36 2023-02-05 19:54:25 +01:00
KinteLiX a5f7a7a215 🌐 Added translation using Weblate (Hungarian) 2023-02-05 13:27:51 +01:00
Simon Schneegans 07d9633609 Merge branch 'feature/effect-profiles-gs38' into feature/effect-profiles 2023-02-05 13:27:22 +01:00
Simon Schneegans 44ccb41f90 🔧 Tweak application entry 2023-02-05 13:25:26 +01:00
Simon Schneegans e62a0454c6 🔧 Fix GTK3 label alignment 2023-02-05 13:25:14 +01:00
Simon Schneegans f149ee4cf3 🔧 Some libadwaita fixes 2023-02-05 13:09:36 +01:00
Simon Schneegans 9539a9fa13 🔧 Port effect profiles to GNOME Shell 3.38 2023-02-05 13:04:45 +01:00
Simon Schneegans bfd52dd98a 📝 Fix typo 2023-02-04 13:53:20 +01:00
Simon Schneegans d95e2eccdc Merge branch 'main' into feature/effect-profiles 2023-02-04 13:21:52 +01:00
Simon Schneegans e7145eb9fb 📝 Update KDE store links 2023-02-04 13:13:21 +01:00
Simon Schneegans 656007bf1e 🎉 Bump version number 2023-02-04 12:51:48 +01:00
Simon Schneegans 4792f8fcbb Merge branch 'feature/effect-profiles' into feature/effect-profiles-gs41 2023-02-02 10:40:30 +01:00
Simon Schneegans cc6a4d8331 🪲 Fix pixel wipe effect 2023-02-02 10:40:16 +01:00
Simon Schneegans 33e9627801 🔧 Port effect profiles to GTK4 2023-02-02 10:37:11 +01:00
Simon Schneegans 956cef56b4 🔧 Start porting to GTK4 2023-02-01 05:36:50 +01:00
Simon Schneegans d6c89cd79b 🔧 Reorder UI file 2023-01-30 19:09:46 +01:00
Simon Schneegans 88168553f8 🔧 Port effect profiles to GS 42 2023-01-30 14:50:25 +01:00
Simon Schneegans 99b90377c5 🎉 Implement profile selection 2023-01-30 13:57:33 +01:00
Simon Schneegans 35860c7b2d 🪲 Fix makefile 2023-01-30 13:57:07 +01:00
Simon Schneegans 792be167a4 🎉 Add WindowPicker 2023-01-30 13:56:56 +01:00
Simon Schneegans 269c5a1355 🔧 Add some initial profile evaluation 2023-01-30 05:52:49 +01:00
Simon Schneegans ddf54c215e 🪲 Fix tests 2023-01-30 05:51:36 +01:00
Simon Schneegans 1bc146164e 🔧 Previewing effects works again 2023-01-29 20:42:38 +01:00
Simon Schneegans 72f9c8eefc 🔧 Pass testMode flag to shaders 2023-01-29 20:41:40 +01:00
Simon Schneegans 96d098daba 🔧 Connect fire buttons only once 2023-01-29 14:06:43 +01:00
Simon Schneegans 776cfa9736 🔧 Hide copy-paste buttons 2023-01-29 14:01:54 +01:00
Simon Schneegans b9a8071dd1 🔧 Increase default window size 2023-01-29 14:01:43 +01:00
Simon Schneegans da9bd8818d 🪲 Fix double-profile 2023-01-29 13:55:29 +01:00
Simon Schneegans 8bb0ee26db 📝 Add more comments 2023-01-29 13:49:41 +01:00
Simon Schneegans 374b8c98b6 📝 Add plenty of comments 2023-01-29 13:15:58 +01:00
Simon Schneegans 6904762590 🚚 Move effect sources to separate directory 2023-01-29 12:42:06 +01:00
Simon Schneegans 764b8b9ffa 🔧 Profile configuration start working 2023-01-28 20:38:58 +01:00
Simon Schneegans 53e738b87b 🪲 Fix rebinding of properties 2023-01-26 05:55:18 +01:00
Simon Schneegans 524345606c 🔧 Sort profiles 2023-01-26 05:54:58 +01:00
Simon Schneegans 3f6d55994a 🔧 Include profile edit icon 2023-01-26 05:46:37 +01:00
Simon Schneegans 6bdb1b07ff 🔧 Implicitely load effect preferences 2023-01-25 05:50:46 +01:00
Simon Schneegans b2f5a930d0 ✨ Fix indentation 2023-01-23 19:59:19 +01:00
Simon Schneegans 6f83004123 🔧 Add TV Glitch options 2023-01-23 19:58:51 +01:00
Simon Schneegans 86bd765125 Merge branch 'main' into feature/application-profiles 2023-01-23 19:58:23 +01:00
Simon Schneegans 3651237248 🔧 Work on loading of profiles 2023-01-23 09:59:46 +01:00
Simon Schneegans 6da3e209b2 🎨 Add new copy-paste icons 2023-01-22 12:51:34 +01:00
Simon Schneegans 5a0688cffc Merge branch 'main' into feature/application-profiles 2023-01-22 07:14:43 +01:00
Simon Schneegans 7b5ef70b4d 🔧 Add some initial code to load profiles 2023-01-20 20:07:07 +01:00
Simon Schneegans b45480991a Merge branch 'main' into feature/application-profiles 2023-01-18 05:36:59 +01:00
Simon Schneegans ae0c1309a2 🔧 Bind profile combo rows to settings 2023-01-17 20:01:41 +01:00
Simon Schneegans a0d134f629 Merge branch 'main' into feature/application-profiles 2023-01-14 13:56:44 +01:00
Simon Schneegans 3a7e076067 🔧 Work on effect profiles 2023-01-14 13:21:48 +01:00
Simon Schneegans a4b9f70cc3 🔧 Work on effect profiles 2023-01-13 20:41:28 +01:00
Simon Schneegans 532aad1341 🔧 Hack the flap into the widget tree 2023-01-12 20:31:24 +01:00
Simon Schneegans 6def4e4a4a 🔧 Try vertical flap 2023-01-11 20:13:08 +01:00
Simon Schneegans 8fdc958cb9 🔧 Start thinking about application profiles 2023-01-11 05:50:39 +01:00
863 changed files with 60514 additions and 80617 deletions
+6 -11
View File
@@ -1,15 +1,10 @@
# SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
# SPDX-License-Identifier: CC0-1.0
# These are supported funding model platforms
github: schneegans
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Schneegans
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: ['https://www.paypal.com/donate/?hosted_button_id=3F7UFL8KLVPXE']
ko_fi: schneegans
custom:
[
"https://www.paypal.com/donate/?hosted_button_id=3F7UFL8KLVPXE",
https://schneegans.cb.id,
]
+3 -3
View File
@@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Download cloc
run: sudo apt-get update -y && sudo apt-get install -y cloc
- name: Get the Numbers
@@ -22,7 +22,7 @@ jobs:
echo "CODE_LINES=$(scripts/cloc.sh --loc)" >> $GITHUB_ENV
echo "COMMENT_LINES=$(scripts/cloc.sh --percentage)" >> $GITHUB_ENV
- name: Create Lines-of-Code-Badge
uses: schneegans/dynamic-badges-action@v1.3.0
uses: schneegans/dynamic-badges-action@v1.7.0
with:
auth: ${{ secrets.GIST_SECRET }}
gistID: 8cf45f23253ff09b21196e7271378762
@@ -32,7 +32,7 @@ jobs:
color: lightgrey
labelColor: 303030
- name: Create Comments-Badge
uses: schneegans/dynamic-badges-action@v1.3.0
uses: schneegans/dynamic-badges-action@v1.7.0
with:
auth: ${{ secrets.GIST_SECRET }}
gistID: 8cf45f23253ff09b21196e7271378762
+28 -56
View File
@@ -6,10 +6,10 @@ name: Checks
on:
push:
branches:
- '**'
- "**"
pull_request:
branches:
- '**'
- "**"
jobs:
clang_format:
@@ -17,11 +17,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Download Clang-Format
run: |
sudo apt update -qq
sudo apt install clang-format -qq
uses: actions/checkout@v4
- name: Run Clang-Format
run: scripts/clang-format.sh
- name: Compare Results
@@ -33,9 +29,9 @@ jobs:
name: Check Compliance with REUSE Specification
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v1
- uses: actions/checkout@v4
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v4
comment_percentage:
name: Check Comment Percentage
@@ -43,12 +39,12 @@ jobs:
if: github.event_name == 'pull_request'
steps:
- name: Checkout Current Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
path: current
ref: ${{ github.ref }}
- name: Checkout Base Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
path: base
ref: ${{ github.base_ref }}
@@ -74,34 +70,14 @@ jobs:
name: Run ShellCheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Run ShellCheck
run: |
find $GITHUB_WORKSPACE -type f -and \( -name "*.sh" \) | xargs shellcheck
references:
name: Generate References
runs-on: ubuntu-22.04
if: >
github.event_name == 'push' && contains(github.event.head_commit.message, '[generate-references]')
steps:
- uses: actions/checkout@v3
- name: Download Dependencies
run: |
sudo apt update -qq
sudo apt install gettext imagemagick -qq
- name: Build Burn-My-Windows
run: make
- name: Generate References
run: sudo make references
- uses: actions/upload-artifact@v3
with:
name: references
path: tests/references/
build:
name: Run Tests
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
if: >
github.event_name == 'pull_request' ||
( contains(github.ref, 'main') && !contains(github.event.head_commit.message, '[no-ci]') ) ||
@@ -110,27 +86,23 @@ jobs:
fail-fast: false
matrix:
version:
- '32'
- '33'
- '34'
- '35'
- '36'
- '37'
- "39"
- "40"
- "41"
session:
- 'gnome-xsession'
- 'gnome-wayland-nested'
- "gnome-xsession"
steps:
- uses: actions/checkout@v3
- name: Download Dependencies
run: |
sudo apt update -qq
sudo apt install gettext imagemagick -qq
- name: Build Burn-My-Windows
run: make
- name: Test Burn-My-Windows
run: sudo $GITHUB_WORKSPACE/tests/run-test.sh -v ${{ matrix.version }} -s ${{ matrix.session }}
- uses: actions/upload-artifact@v3
if: failure()
with:
name: result_${{ matrix.version }}_${{ matrix.session }}
path: tests/output/
- uses: actions/checkout@v4
- name: Download Dependencies
run: |
sudo apt update -qq
sudo apt install gettext imagemagick libglib2.0-dev -qq
- name: Build Burn-My-Windows
run: make
- name: Test Burn-My-Windows
run: sudo $GITHUB_WORKSPACE/tests/run-test.sh -v ${{ matrix.version }} -s ${{ matrix.session }}
- uses: actions/upload-artifact@v4
if: failure()
with:
name: result_${{ matrix.version }}_${{ matrix.session }}
path: tests/output/
+36 -34
View File
@@ -6,48 +6,50 @@ name: Deploy
on:
push:
tags:
- '**'
- "**"
jobs:
gnome_bundle:
name: Bundle GNOME Shell Extension
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Install Dependencies
run: |
sudo apt-get update -q
sudo apt-get install gettext
- name: Create Release
run: |
make zip
- name: Upload Release
uses: svenstaro/upload-release-action@2.2.1
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: burn-my-windows@schneegans.github.com.zip
tag: ${{ github.ref }}
overwrite: true
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Dependencies
run: |
sudo apt-get update -q
sudo apt-get install gettext libglib2.0-dev
- name: Create Release
run: |
make zip
- name: Upload Release
uses: svenstaro/upload-release-action@2.9.0
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: burn-my-windows@schneegans.github.com.zip
tag: ${{ github.ref }}
overwrite: true
prerelease: true
kwin_bundle:
name: Bundle KWin Effect
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Install Dependencies
run: |
sudo apt-get update -q
sudo apt-get install gettext clang-format
- name: Create Release
run: |
./kwin/build.sh
- name: Upload Release
uses: svenstaro/upload-release-action@2.2.1
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: kwin/*.tar.gz
tag: ${{ github.ref }}
overwrite: true
file_glob: true
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Dependencies
run: |
sudo apt-get update -q
sudo apt-get install gettext clang-format
- name: Create Release
run: |
./kwin/build.sh
- name: Upload Release
uses: svenstaro/upload-release-action@2.9.0
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: kwin/*.tar.gz
tag: ${{ github.ref }}
overwrite: true
file_glob: true
prerelease: true
+36
View File
@@ -0,0 +1,36 @@
# SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
# SPDX-License-Identifier: CC0-1.0
name: Generate References
on:
workflow_dispatch:
jobs:
references:
name: Generate References
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
version:
- "39"
- "40"
- "41"
- "rawhide"
session:
- "gnome-xsession"
steps:
- uses: actions/checkout@v4
- name: Download Dependencies
run: |
sudo apt update -qq
sudo apt install gettext imagemagick -qq
- name: Build Burn-My-Windows
run: make
- name: Generate References
run: sudo $GITHUB_WORKSPACE/tests/generate-references.sh -v ${{ matrix.version }} -s ${{ matrix.session }}
- uses: actions/upload-artifact@v4
with:
name: references-${{ matrix.session }}-${{ matrix.version }}
path: tests/references/*${{ matrix.session }}-${{ matrix.version }}.png
+1 -1
View File
@@ -11,4 +11,4 @@
/resources/burn-my-windows.gresource
/resources/burn-my-windows.gresource.xml
kwin/_build
kwin/*.tar.gz
kwin/*.tar.gz
-33
View File
@@ -1,33 +0,0 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Files: tests/references/*
Copyright: Simon Schneegans <code@simonschneegans.de>
License: CC0-1.0
Files: kwin/metadata.desktop.in
Copyright: Simon Schneegans <code@simonschneegans.de>
License: CC0-1.0
Files: resources/credits/*
Copyright: Simon Schneegans <code@simonschneegans.de>
License: CC0-1.0
Files: resources/img/*
Copyright: Simon Schneegans <code@simonschneegans.de>
License: CC-BY-4.0
Files: docs/pics/*
Copyright: Simon Schneegans <code@simonschneegans.de>
License: CC-BY-4.0
Files: assets/*
Copyright: Simon Schneegans <code@simonschneegans.de>
License: CC-BY-4.0
Files: po/*
Copyright: Simon Schneegans <code@simonschneegans.de>
License: GPL-3.0-or-later
Files: metadata.json
Copyright: Simon Schneegans <code@simonschneegans.de>
License: GPL-3.0-or-later
+4 -29
View File
@@ -9,7 +9,7 @@ DOMAIN := schneegans.github.com
ZIP_NAME := $(NAME)@$(DOMAIN).zip
# Some of the recipes below depend on some of these files.
JS_FILES = $(wildcard src/*.js extension.js prefs.js)
JS_FILES = $(wildcard src/*.js src/*/*.js extension.js prefs.js)
UI_FILES = $(shell find resources -type f -and \( -name "*.ui" \))
RESOURCE_FILES = $(shell find resources -mindepth 2 -type f)
LOCALES_PO = $(wildcard po/*.po)
@@ -17,7 +17,9 @@ LOCALES_MO = $(patsubst po/%.po,locale/%/LC_MESSAGES/$(NAME).mo,$(LOCALES_PO
# These files will be included in the extension zip file.
ZIP_CONTENT = $(JS_FILES) $(LOCALES_MO) resources/$(NAME).gresource \
schemas/gschemas.compiled metadata.json LICENSE
schemas/org.gnome.shell.extensions.$(NAME).gschema.xml \
schemas/org.gnome.shell.extensions.$(NAME)-profile.gschema.xml \
metadata.json LICENSE
# These seven recipes can be invoked by the user.
.PHONY: zip install uninstall pot clean test references
@@ -44,28 +46,6 @@ pot: $(JS_FILES) $(UI_FILES)
--output=po/$(NAME).pot \
$(JS_FILES) $(UI_FILES)
# This runs several tests in containerized versions of GNOME Shell.
test:
@ for version in 32 33 34 35 36 37 ; do \
for session in "gnome-xsession" "gnome-wayland-nested" ; do \
echo ; \
echo "Running Tests on Fedora $$version ($$session)." ; \
echo ; \
./tests/run-test.sh -s $$session -v $$version ; \
done \
done
# This re-generates all reference images required by the tests.
references:
@ for version in 32 33 34 35 36 37 ; do \
for session in "gnome-xsession" "gnome-wayland-nested" ; do \
echo ; \
echo "Generating References for Fedora $$version ($$session)." ; \
echo ; \
./tests/generate-references.sh -s $$session -v $$version ; \
done \
done
# This removes all temporary files created with the other recipes.
clean:
rm -rf $(ZIP_NAME) \
@@ -90,11 +70,6 @@ $(ZIP_NAME): $(ZIP_CONTENT)
exit 1; \
fi
# Compiles the gschemas.compiled file from the gschema.xml file.
schemas/gschemas.compiled: schemas/org.gnome.shell.extensions.$(NAME).gschema.xml
@echo "Compiling schemas..."
@glib-compile-schemas schemas
# Compiles the gresource file from the gresources.xml.
resources/$(NAME).gresource: resources/$(NAME).gresource.xml
@echo "Compiling resources..."
+148 -134
View File
@@ -4,51 +4,58 @@ SPDX-License-Identifier: CC-BY-4.0
-->
<p align="center">
<a href="https://www.youtube.com/watch?v=L2aaNF_rPHo"><img src ="docs/pics/teaser.jpg" /></a>
<a href="https://www.youtube.com/watch?v=ZHMboQq8Z5c"><img src ="docs/pics/teaser.jpg" /></a>
</p>
<h1 align="center">🔥 Set GNOME Shell on Fire!</h1>
<p align="center">(and KWin as well)</p>
<h1 align="center">🔥 Set GNOME Shell and KWin on Fire!</h1>
<p align="center">
<a href="https://extensions.gnome.org/extension/4679/burn-my-windows/"><img src="https://img.shields.io/badge/Download-extensions.gnome.org-e67f4d.svg?logo=gnome&logoColor=lightgrey&labelColor=303030" /></a><br/>
<a href="https://github.com/Schneegans/Burn-My-Windows/actions"><img src="https://github.com/Schneegans/Burn-My-Windows/workflows/Checks/badge.svg?branch=main" /></a>
<a href="https://api.reuse.software/info/github.com/Schneegans/Burn-My-Windows"><img src="https://api.reuse.software/badge/github.com/Schneegans/Burn-My-Windows" /></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/License-GPLv3-blue.svg?labelColor=303030" /></a>
<a href="https://schneegans.github.io/sponsors/"><img src="https://gist.githubusercontent.com/Schneegans/2d06edf0937c480951feb86b9e719304/raw/weekly.svg" /></a>
<a href="https://hosted.weblate.org/engage/burn-my-windows/"><img src="https://img.shields.io/weblate/progress/burn-my-windows?label=Translated&logo=weblate&logoColor=lightgray&labelColor=303030" /></a>
<a href="scripts/cloc.sh"><img src="https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Schneegans/8cf45f23253ff09b21196e7271378762/raw/loc.json" /></a>
<a href="scripts/cloc.sh"><img src="https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Schneegans/8cf45f23253ff09b21196e7271378762/raw/comments.json" /></a>
</p>
> [!IMPORTANT]
> The code in the `main` branch is for GNOME Shell 45+. For older GNOME versions, please use the `gnome-3.36-44` branch.
When I released the [Desktop Cube Extension](https://github.com/Schneegans/Desktop-Cube/) for GNOME, many people requested to revive one of the most useless features of Linux desktop history: Setting windows on fire!
This extension is not only more useless than the cube, but it is also much more hacky. So I expect some bug! [Let's incinerate them all](https://github.com/Schneegans/Burn-My-Windows/issues)!
Burn-My-Windows is not only available for **GNOME** but also includes some basic support for **KDE Plasma's KWin**.
Further down in this file you'll find installation instructions for both.
**🖼️ The wallpapers used in the previews below were all generated using AI and are available in [this GitHub repository](https://github.com/Schneegans/ai-wallpapers).**
Effect | Preview
-----|--------
**Apparition** <br> This effect hides your windows by violently sucking them into the void of magic! | <img src ="docs/pics/apparition.gif" />
**Broken Glass** <br> Shatter your windows into a shower sharp shards! This effect can be configured so that the shards fly away from your mouse pointer position!| <img src ="docs/pics/glass.gif" />
**Doom** <br> Melt your windows. Inspired by the legendary screen transitions of the original Doom. | <img src ="docs/pics/doom.gif" />
**Energize A** <br> Beam your windows away! | <img src ="docs/pics/energizeA.gif" />
**Energize B** <br> Using different transporter technology results in an alternative visual effect. | <img src ="docs/pics/energizeB.gif" />
**Fire** <br> The classic effect inspired by Compiz. However, this is implemented using a GLSL shader and not with a particle system like in the old days. | <img src ="docs/pics/fire.gif" />
**Glide** <br> This very simple effect fades the window to transparency with subtle 3D effects. | <img src ="docs/pics/glide.gif" />
**Glitch** <br> This effect applies some intentional graphics issues to your windows. | <img src ="docs/pics/glitch.gif" />
**Hexagon** <br> With glowing lines and hexagon-shaped tiles, this effect looks very sci-fi. | <img src ="docs/pics/hexagon.gif" />
**Incinerate** <br> A less snappy but definitely more fancy take on the fire effect. | <img src ="docs/pics/incinerate.gif" />
**Matrix** <br> Turn your windows into a shower of green letters! The color is actually configurable.| <img src ="docs/pics/matrix.gif" />
**Pixelate** <br> Pixelate your windows and randomly hide pixels until the entire window is gone.| <img src ="docs/pics/pixelate.gif" />
**Pixel Wheel** <br> This simple effect pixelates the window and hides the pixels in a wheel-like fashion.| <img src ="docs/pics/pixel-wheel.gif" />
**Pixel Wipe** <br> This effect pixelates the window and hides the pixels radially, starting from the pointer position.| <img src ="docs/pics/pixel-wipe.gif" />
**Portal** <br> This ridiculous effect teleports your windows from and to alternative dimensions. It may resemble the portal from a well-known cartoon series... | <img src ="docs/pics/portal.gif" />
**Snap of Disintegration** <br> Dissolve your windows into a cloud of dust.| <img src ="docs/pics/snap.gif" />
**T-Rex Attack** <br> Destroy your windows with a series of violent slashes!| <img src ="docs/pics/trex.gif" />
**TV Effect** <br> This is a very simple effect to demonstrate that this extension could also be used in a more professional environment. | <img src ="docs/pics/tv.gif" />
**TV Glitch** <br> This effect combines the Glitch and the TV Effect. | <img src ="docs/pics/tv-glitch.gif" />
**Wisps** <br> Let your windows be carried away to the realm of dreams by these little fairies! | <img src ="docs/pics/wisps.gif" />
**Your Effect!** <br> The extension is very modular and with a bit of creativity and GLSL knowledge, [you can easily create your own effects](docs/how-to-create-new-effects.md). | [![Create your own effects](docs/pics/custom.jpg)](docs/how-to-create-new-effects.md)
| Effect | Preview |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| **Apparition** <br> This effect hides your windows by violently sucking them into the void of magic! | <img src ="docs/pics/apparition.gif" /> |
| **Aura Glow** <br> A radiant edge-lit animation | <img src ="docs/pics/aura-glow.gif" /> |
| **Broken Glass** <br> Shatter your windows into a shower sharp shards! This effect can be configured so that the shards fly away from your mouse pointer position! | <img src ="docs/pics/broken-glass.gif" /> |
| **Doom** <br> Melt your windows. Inspired by the legendary screen transitions of the original Doom. | <img src ="docs/pics/doom.gif" /> |
| **Energize A** <br> Beam your windows away! | <img src ="docs/pics/energize-a.gif" /> |
| **Energize B** <br> Using different transporter technology results in an alternative visual effect. | <img src ="docs/pics/energize-b.gif" /> |
| **Fire** <br> The classic effect inspired by Compiz. However, this is implemented using a GLSL shader and not with a particle system like in the old days. | <img src ="docs/pics/fire.gif" /> |
| **Focus** <br> Focus dude, focus! | <img src ="docs/pics/focus.gif" /> |
| **Glide** <br> This very simple effect fades the window to transparency with subtle 3D effects. | <img src ="docs/pics/glide.gif" /> |
| **Glitch** <br> This effect applies some intentional graphics issues to your windows. | <img src ="docs/pics/glitch.gif" /> |
| **Hexagon** <br> With glowing lines and hexagon-shaped tiles, this effect looks very sci-fi. | <img src ="docs/pics/hexagon.gif" /> |
| **Incinerate** <br> A less snappy but definitely more fancy take on the fire effect. | <img src ="docs/pics/incinerate.gif" /> |
| **Matrix** <br> Turn your windows into a shower of green letters! The color is actually configurable. | <img src ="docs/pics/matrix.gif" /> |
| **Mushroom** <br> Inspired by your favorite italian plumber! | <img src ="docs/pics/mushroom.gif" /> |
| **Paint Brush** <br> Paint or erase your windows with a thick paint brush. | <img src ="docs/pics/paint-brush.gif" /> |
| **Pixelate** <br> Pixelate your windows and randomly hide pixels until the entire window is gone. | <img src ="docs/pics/pixelate.gif" /> |
| **Pixel Wheel** <br> This simple effect pixelates the window and hides the pixels in a wheel-like fashion. | <img src ="docs/pics/pixel-wheel.gif" /> |
| **Pixel Wipe** <br> This effect pixelates the window and hides the pixels radially, starting from the pointer position. | <img src ="docs/pics/pixel-wipe.gif" /> |
| **Portal** <br> This ridiculous effect teleports your windows from and to alternative dimensions. It may resemble the portal from a well-known cartoon series... | <img src ="docs/pics/portal.gif" /> |
| **RGB Warp** <br> Red Blue and Green go bye bye. | <img src ="docs/pics/rgbwarp.gif" /> |
| **Snap of Disintegration** <br> Dissolve your windows into a cloud of dust. | <img src ="docs/pics/snap.gif" /> |
| **TeamRocket** <br> ... is blasting off again! | <img src ="docs/pics/teamrocket.gif" /> |
| **T-Rex Attack** <br> Destroy your windows with a series of violent slashes! | <img src ="docs/pics/trex.gif" /> |
| **TV Effect** <br> This is a very simple effect to demonstrate that this extension could also be used in a more professional environment. | <img src ="docs/pics/tv.gif" /> |
| **TV Glitch** <br> This effect combines the Glitch and the TV Effect. | <img src ="docs/pics/tv-glitch.gif" /> |
| **Wisps** <br> Let your windows be carried away to the realm of dreams by these little fairies! | <img src ="docs/pics/wisps.gif" /> |
| **Your Effect!** <br> The extension is very modular and with a bit of creativity and GLSL knowledge, [you can easily create your own effects](docs/how-to-create-new-effects.md). | [![Create your own effects](docs/pics/custom.jpg)](docs/how-to-create-new-effects.md) |
## ✅ Supported Versions
@@ -58,75 +65,55 @@ Below is a table which summarizes the current availability for all effects.
<table width="100%">
<tr>
<td></td>
<td colspan="3"><strong>GNOME</strong></td>
<td colspan="4"><strong>GNOME</strong></td>
<td colspan="1"><strong>KWin</strong></td>
</tr>
<tr><td></td> <td>3.36</td> <td>3.38</td><td>40+</td><td>5.25.0+</td></tr>
<tr><td>Apparition</td> <td> </td> <td>✅</td> <td>✅</td> <td> </td> </tr>
<tr><td>Broken Glass</td> <td> </td> <td> </td> <td>✅</td> <td> </td> </tr>
<tr><td>Doom</td> <td> </td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Energize A</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Energize B</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Fire</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Glide</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Glitch</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Hexagon</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Incinerate</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Matrix</td> <td> </td> <td> </td> <td>✅</td> <td> </td> </tr>
<tr><td>Pixelate</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Pixel Wheel</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Pixel Wipe</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Portal</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Snap of Disintegration</td> <td> </td> <td> </td> <td>✅</td> <td> </td> </tr>
<tr><td>T-Rex Attack</td> <td> </td> <td> </td> <td>✅</td> <td> </td> </tr>
<tr><td>TV Effect</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>TV Glitch</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Wisps</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td></td> <td>3.36</td> <td>3.38</td><td>40-44</td><td>45+</td><td>5.25.0+</td></tr>
<tr><td>Apparition</td> <td> </td> <td>✅</td> <td>✅</td> <td>✅</td> <td> </td> </tr>
<tr><td>Aura Glow</td> <td> </td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Broken Glass</td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> <td> </td> </tr>
<tr><td>Doom</td> <td> </td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Energize A</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Energize B</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Fire</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Focus</td> <td> </td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Glide</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Glitch</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Hexagon</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Incinerate</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Matrix</td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> <td> </td> </tr>
<tr><td>Mushroom</td> <td> </td> <td> </td> <td> </td> <td>✅</td> <td> </td> </tr>
<tr><td>Paint Brush</td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> <td> </td> </tr>
<tr><td>Pixelate</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Pixel Wheel</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Pixel Wipe</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Portal</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>RGB Warp</td> <td> </td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Snap of Disintegration</td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> <td> </td> </tr>
<tr><td>TeamRocket</td> <td> </td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> </tr>
<tr><td>T-Rex Attack</td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> <td> </td> </tr>
<tr><td>TV Effect</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>TV Glitch</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
<tr><td>Wisps</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
</table>
## 💞 Show that you love Burn-My-Windows!
## 💞 These People _love_ this Extension
[![kofi](https://img.shields.io/badge/Donate-on_Ko--fi-ff5e5b?logo=ko-fi)](https://ko-fi.com/schneegans)
[![github](https://img.shields.io/badge/Donate-on_GitHub-purple?logo=github)](https://github.com/sponsors/Schneegans)
[![paypal](https://img.shields.io/badge/Donate-on_PayPal-009cde?logo=paypal)](https://www.paypal.com/donate/?hosted_button_id=3F7UFL8KLVPXE)
[![crypto](https://img.shields.io/badge/Donate-some_Crypto-f7931a?logo=bitcoin)](https://schneegans.cb.id)
While [coding new features](docs/how-to-create-new-effects.md) or [translating the extension](https://hosted.weblate.org/engage/burn-my-windows/) are the most awesome ways to contribute, providing financial support will help me stay motivated to invest my spare time to keep the project alive in the future.
While coding new features or translating Burn-My-Windows is the most awesome way to contribute, providing financial support will encourage me to invest my spare time for developing free and open-source software.
<h3 align="center">🥇 Current Gold Sponsors</h3>
<p align="center">
<a href="https://github.com/D3vil0p3r">D3vil0p3r</a><br>
Maxence Sebald<br>
<a href="https://github.com/dennis1248">Dennis ten Hoove</a><br>
</p>
**These awesome people have already donated to the development of my open-source projects:**
<h3 align="center">🥈 Current Silver Sponsors</h3>
<p align="center">
<a href="https://github.com/danielheadbang">@danielheadbang</a><br>
<a href="https://github.com/MRR-dev">@MRR-dev</a><br>
<a href="https://github.com/castrojo">Jorge Castro</a><br>
</p>
<h3 align="center">🥉 Current Bronze Sponsors</h3>
<p align="center">
<a href='https://github.com/vlazic'>@vlazic</a><br>
<a href='https://github.com/AngelBrielez'>Angel Brielez</a>
<!-- <a href="https://github.com/sponsors/Schneegans">Become the first!</a><br> -->
</p>
<h3 align="center">🏅 Previous Sponsors and One-Time Donators</h3>
<p align="center">
<a href='https://github.com/taconomix'>@taconomix</a><br>
<a href='https://github.com/enolive'>@enolive</a><br>
<a href="https://github.com/Aggraxis">@Aggraxis</a><br>
<a href="https://twitter.com/tjiiik">tj3k</a><br>
<a href="https://github.com/wolfyrion">@wolfyrion</a><br>
<a href="https://github.com/MrTomRod">@MrTomRod</a><br>
Pouhiou<br>
DAPREMONT Christophe<br>
<a href="https://github.com/manero6">@manero6</a><br>
<a href="https://github.com/RickStanley">@RickStanley</a><br>
</p>
Do you want to show that you love it too? You may <a href="https://github.com/sponsors/Schneegans">become a sponsor for as little as 1$ / month</a>!
If you like this extension, you may also want to try one of my other GNOME extensions: [🧊 Desktop-Cube](https://github.com/Schneegans/Desktop-Cube) or [🍰 Fly-Pie](https://github.com/Schneegans/Fly-Pie/)!
<a href="https://schneegans.github.io/sponsors/">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://schneegans.github.io/sponsors/sponsors_dark_small.svg">
<img alt="Sponsors List" src="https://schneegans.github.io/sponsors/sponsors_light_small.svg#gh-light-mode-only">
</picture>
</a>
## ⬇️ Installation (GNOME)
@@ -156,7 +143,7 @@ gnome-extensions install burn-my-windows@schneegans.github.com.zip
Then restart GNOME Shell with <kbd>Alt</kbd> + <kbd>F2</kbd>, <kbd>r</kbd> + <kbd>Enter</kbd>.
Or logout / login if you are on Wayland.
Then you can enable the extension with the *Gnome Tweak Tool*, the *Extensions* application or with this command:
Then you can enable the extension with the _Gnome Tweak Tool_, the _Extensions_ application or with this command:
```bash
gnome-extensions enable burn-my-windows@schneegans.github.com
@@ -172,6 +159,12 @@ git clone https://github.com/Schneegans/Burn-My-Windows.git
cd Burn-My-Windows
```
If your GNOME Shell version is <= 45, you will have to checkout the `gnome-3.36-44` branch:
```bash
git checkout gnome-3.36-44
```
Now you will have to install the extension.
The `make` command below compiles the locales, schemas and resources, creates a zip file of the extension and finally installs it with the `gnome-extensions` tool.
@@ -181,60 +174,77 @@ make install
Then restart GNOME Shell with <kbd>Alt</kbd> + <kbd>F2</kbd>, <kbd>r</kbd> + <kbd>Enter</kbd>.
Or logout / login if you are on Wayland.
Then you can enable the extension with the *Gnome Tweak Tool*, the *Extensions* application or with this command:
Then you can enable the extension with the _Gnome Tweak Tool_, the _Extensions_ application or with this command:
```bash
gnome-extensions enable burn-my-windows@schneegans.github.com
```
## ⬇️ Installation (KWin)
You can either download the effects from the KDE store (a), download a stable version from GitHub (b) or clone the latest version directly with `git` (c).
:warning: **You need at least KWin 5.25.0 for the Burn-My-Windows effects.**
> [!IMPORTANT]
> You need at least KWin 5.25.0 for the Burn-My-Windows effects.
:warning: **If the color picker widgets in the effect settings do not work for you, you may have to install a package called `libkf5widgetsaddons-dev` (Kubuntu, KDE Neon, ...) or `kf5-kwidgetsaddons-devel`, `kwidgetsaddons-devel` (Fedora, OpenSuse, ...).**
> [!NOTE]
> If the color picker widgets in the effect settings do not work for you, you may have to install a package called `libkf5widgetsaddons-dev` (Kubuntu, KDE Neon, ...) or `kf5-kwidgetsaddons-devel`, `kwidgetsaddons-devel` (Fedora, OpenSuse, ...).
### a) Download from the KDE Store
Here are links to all effects which are currently available in the KDE store;
Here are links to all effects which are currently available in the KDE store:
* [Energize A](https://store.kde.org/p/1884310)
* [Energize B](https://store.kde.org/p/1884311)
* [Doom](https://store.kde.org/p/1898739)
* [Fire](https://store.kde.org/p/1884307)
* [Glide](https://store.kde.org/p/1935778)
* [Hexagon](https://store.kde.org/p/1884309)
* [Incinerate](https://store.kde.org/p/1861183)
* [Pixelate](https://store.kde.org/p/1898742)
* [Pixel Wheel](https://store.kde.org/p/1898746)
* [Pixel Wipe](https://store.kde.org/p/1898748)
* [Portal](https://store.kde.org/p/1959879)
* [TV-Effect](https://store.kde.org/p/1884312)
* [Wisps](https://store.kde.org/p/1884313)
| Plasma 5 | Plasma 6 |
| ---------------------------------------------- | ---------------------------------------------- |
| [Aura Glow](https://store.kde.org/p/2263064) | [Aura Glow](https://store.kde.org/p/2263065) |
| [Doom](https://store.kde.org/p/1898739) | [Doom](https://store.kde.org/p/2133831) |
| [Energize A](https://store.kde.org/p/1884310) | [Energize A](https://store.kde.org/p/2133829) |
| [Energize B](https://store.kde.org/p/1884311) | [Energize B](https://store.kde.org/p/2133828) |
| [Fire](https://store.kde.org/p/1884307) | [Fire](https://store.kde.org/p/2133822) |
| [Focus](https://store.kde.org/p/2221217) | [Focus](https://store.kde.org/p/2221219) |
| [Glide](https://store.kde.org/p/1935778) | [Glide](https://store.kde.org/p/2133839) |
| [Glitch](https://store.kde.org/p/1972813) | [Glitch](https://store.kde.org/p/2133844) |
| [Hexagon](https://store.kde.org/p/1884309) | [Hexagon](https://store.kde.org/p/2133836) |
| [Incinerate](https://store.kde.org/p/1861183) | [Incinerate](https://store.kde.org/p/2133817) |
| [Pixelate](https://store.kde.org/p/1898742) | [Pixelate](https://store.kde.org/p/2133832) |
| [Pixel Wheel](https://store.kde.org/p/1898746) | [Pixel Wheel](https://store.kde.org/p/2133833) |
| [Pixel Wipe](https://store.kde.org/p/1898748) | [Pixel Wipe](https://store.kde.org/p/2133834) |
| [Portal](https://store.kde.org/p/1959879) | [Portal](https://store.kde.org/p/2133842) |
| [Team Rocket](https://store.kde.org/p/2263069) | [Team Rocket](https://store.kde.org/p/2263070) |
| [TV-Effect](https://store.kde.org/p/1884312) | [TV-Effect](https://store.kde.org/p/2133825) |
| [TV-Glitch](https://store.kde.org/p/1982142) | [TV-Glitch](https://store.kde.org/p/2133819) |
| [RGB Warp](https://store.kde.org/p/2263071) | [RGB Warp](https://store.kde.org/p/2263073) |
| [Wisps](https://store.kde.org/p/1884313) | [Wisps](https://store.kde.org/p/2133824) |
You can also directly get the effects from within your system settings.
Just go to your System Settings, then "Workspace Behavior", and "Desktop Effects". Then click on "Get new Desktop Effetcs...".
Just go to your System Settings, then "Workspace Behavior", and "Desktop Effects". Then click on "Get new Desktop Effects...".
### b) Downloading a Stable Release
Execute this command to download the latest stable release:
```bash
wget https://github.com/Schneegans/Burn-My-Windows/releases/latest/download/burn_my_windows_kwin4.tar.gz
# For Plasma 5
wget https://github.com/Schneegans/Burn-My-Windows/releases/latest/download/burn_my_windows_kwin5.tar.gz
# For Plasma 6
wget https://github.com/Schneegans/Burn-My-Windows/releases/latest/download/burn_my_windows_kwin6.tar.gz
```
Install it by executing the following commands.
```bash
mkdir -p ~/.local/share/kwin/effects
tar -xf burn_my_windows_kwin4.tar.gz -C ~/.local/share/kwin/effects
# For Plasma 5
tar -xf burn_my_windows_kwin5.tar.gz -C ~/.local/share/kwin/effects
# For Plasma 6
tar -xf burn_my_windows_kwin6.tar.gz -C ~/.local/share/kwin/effects
```
Then select the desired effects in the system settings under "Desktop Effects".
### c) Cloning the Latest Version with `git`
Execute the clone command below where you want to have the source code of the extension.
@@ -249,36 +259,40 @@ Now you will have to build the effects and copy them to your KWin effect directo
```bash
./kwin/build.sh
mkdir -p ~/.local/share/kwin/effects
tar -xf kwin/burn_my_windows_kwin4.tar.gz -C ~/.local/share/kwin/effects
# For Plasma 5
tar -xf kwin/burn_my_windows_kwin5.tar.gz -C ~/.local/share/kwin/effects
# For Plasma 6
tar -xf kwin/burn_my_windows_kwin6.tar.gz -C ~/.local/share/kwin/effects
```
That's it!
You can now select the desired effects in the system settings under "Desktop Effects".
## :octocat: I want to contribute!
That's great!
Most likely, you want to [create a new effect](docs/how-to-create-new-effects.md) or to [translate the extension](https://hosted.weblate.org/engage/burn-my-windows/)?
Most likely, you want to [create a new effect](docs/how-to-create-new-effects.md) or to [translate the extension](https://hosted.weblate.org/engage/burn-my-windows/)?
Here are some basic rules to get you started:
Commits should start with a Capital letter and should be written in present tense (e.g. __:tada: Add cool new feature__ instead of __:tada: Added cool new feature__).
Commits should start with a Capital letter and should be written in present tense (e.g. **:tada: Add cool new feature** instead of **:tada: Added cool new feature**).
You should also start your commit message with **one** applicable emoji.
This does not only look great but also makes you rethink what to add to a commit. Make many but small commits!
Emoji | Description
------|------------
:tada: `:tada:` | When you added a cool new feature.
:wrench: `:wrench:` | When you added a piece of code.
:recycle: `:recycle:` | When you refactored a part of the code.
:sparkles: `:sparkles:` | When you applied clang-format.
:globe_with_meridians: `:globe_with_meridians:` | When you worked on translations.
:art: `:art:` | When you improved / added assets like themes.
:lipstick: `:lipstick:` | When you worked on the UI of the preferences dialog.
:rocket: `:rocket:` | When you improved performance.
:memo: `:memo:` | When you wrote documentation.
:beetle: `:beetle:` | When you fixed a bug.
:revolving_hearts: `:revolving_hearts:` | When a new sponsor is added or credits are updated.
:heavy_check_mark: `:heavy_check_mark:` | When you worked on checks or adjusted the code to be compliant with them.
:twisted_rightwards_arrows: `:twisted_rightwards_arrows:` | When you merged a branch.
:fire: `:fire:` | When you removed something.
:truck: `:truck:` | When you moved / renamed something.
| Emoji | Description |
| --------------------------------------------------------- | ------------------------------------------------------------------------- |
| :tada: `:tada:` | When you added a cool new feature. |
| :wrench: `:wrench:` | When you added a piece of code. |
| :recycle: `:recycle:` | When you refactored a part of the code. |
| :sparkles: `:sparkles:` | When you applied clang-format. |
| :globe_with_meridians: `:globe_with_meridians:` | When you worked on translations. |
| :art: `:art:` | When you improved / added assets like themes. |
| :lipstick: `:lipstick:` | When you worked on the UI of the preferences dialog. |
| :rocket: `:rocket:` | When you improved performance. |
| :memo: `:memo:` | When you wrote documentation. |
| :beetle: `:beetle:` | When you fixed a bug. |
| :revolving_hearts: `:revolving_hearts:` | When a new sponsor is added or credits are updated. |
| :heavy_check_mark: `:heavy_check_mark:` | When you worked on checks or adjusted the code to be compliant with them. |
| :twisted_rightwards_arrows: `:twisted_rightwards_arrows:` | When you merged a branch. |
| :fire: `:fire:` | When you removed something. |
| :truck: `:truck:` | When you moved / renamed something. |
+52
View File
@@ -0,0 +1,52 @@
# SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
# SPDX-License-Identifier: CC0-1.0
version = 1
[[annotations]]
path = "tests/references/**"
precedence = "aggregate"
SPDX-FileCopyrightText = "Simon Schneegans <code@simonschneegans.de>"
SPDX-License-Identifier = "CC0-1.0"
[[annotations]]
path = "kwin/metadata.desktop.in"
precedence = "aggregate"
SPDX-FileCopyrightText = "Simon Schneegans <code@simonschneegans.de>"
SPDX-License-Identifier = "CC0-1.0"
[[annotations]]
path = "resources/credits/**"
precedence = "aggregate"
SPDX-FileCopyrightText = "Simon Schneegans <code@simonschneegans.de>"
SPDX-License-Identifier = "CC0-1.0"
[[annotations]]
path = "resources/img/**"
precedence = "aggregate"
SPDX-FileCopyrightText = "Simon Schneegans <code@simonschneegans.de>"
SPDX-License-Identifier = "CC-BY-4.0"
[[annotations]]
path = "docs/pics/**"
precedence = "aggregate"
SPDX-FileCopyrightText = "Simon Schneegans <code@simonschneegans.de>"
SPDX-License-Identifier = "CC-BY-4.0"
[[annotations]]
path = "assets/**"
precedence = "aggregate"
SPDX-FileCopyrightText = "Simon Schneegans <code@simonschneegans.de>"
SPDX-License-Identifier = "CC-BY-4.0"
[[annotations]]
path = "po/**"
precedence = "aggregate"
SPDX-FileCopyrightText = "Simon Schneegans <code@simonschneegans.de>"
SPDX-License-Identifier = "GPL-3.0-or-later"
[[annotations]]
path = "metadata.json"
precedence = "aggregate"
SPDX-FileCopyrightText = "Simon Schneegans <code@simonschneegans.de>"
SPDX-License-Identifier = "GPL-3.0-or-later"
+15 -2
View File
@@ -1,7 +1,20 @@
# Notes for `claws.blend`
# `claws.blend`
This is the source file for `resources/img/claws.png`. To generate the image, the animation in `claws.blend` is rendered to 256 PNG files and then combined using this command:
```bash
convert *.png -average claws.png
```
```
# `brush.blend`
This is the source file for `resources/img/brush.png`. To generate the image, the four dynamic paint image sequences in `brush.blend` are baked to 256 PNG files each. They are then combined using these commands:
```bash
convert brush1/*.png -average brush1.png
convert brush2/*.png -average brush2.png
convert brush3/*.png -average brush3.png
convert brush4/*.png -average brush4.png
convert brush1.png brush2.png brush3.png brush4.png -channel RGBA -combine brush.png
```
Binary file not shown.
+28140 -54861
View File
File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 4.1 MiB

After

Width:  |  Height:  |  Size: 2.1 MiB

+390 -118
View File
@@ -5,20 +5,296 @@ SPDX-License-Identifier: CC-BY-4.0
# Changelog of the Burn-My-Windows Extension
## [Burn My Windows 46](https://github.com/schneegans/Burn-My-Windows/releases/tag/v46)
**Release Date:** 2025-03-09
#### New Features
- Added an option to choose a random color for the Fire effect each time a window is closed or opened. Thanks to [@jgarza9788](https://github.com/jgarza9788) for this contribution!
#### Other Changes
- Many translations have been updated. Thanks to all the translators!
#### Bug Fixes
- Fixed an issue introduced by the GNOME 48 Beta release which caused some effects to break (Broken Glass, Matrix, Paint Brush, Snap of Disintegration, T-Rex Attack).
## [Burn My Windows 45](https://github.com/schneegans/Burn-My-Windows/releases/tag/v45)
**Release Date:** 2025-02-21
#### New Features
<a href="https://youtu.be/DmFNHnOakpY"><img align="right" src ="pics/bmw45.jpg" /></a>
- **Support for GNOME 48!** The extension has been updated to work with GNOME 48.
- **New Effect: Aura Glow!** This effect adds a glowing aura to your windows. Thanks to [@jgarza9788](https://github.com/jgarza9788) for this contribution!
- **New Effect: Mushroom!** This overly ridiculous effect is inspired by the animation of Super Mario when he eats a mushroom. Thanks again to [@jgarza9788](https://github.com/jgarza9788) for this contribution!
- **New Effect: RGB Warp!** This effect warps the colors of your windows separating the color channels. Thanks once more to [@jgarza9788](https://github.com/jgarza9788) for this contribution!
- **New Effect: Team Rocket!** Do you remember what happened when Team Rocket failed again? Thanks the fourth time to [@jgarza9788](https://github.com/jgarza9788) for this contribution!
#### Other Changes
- If after filtering the effects in the preferences dialog only one effect is left, the effect's settings are shown immediately.
- The fire of the Incinerate effect now propagates circularly. This makes the effect look more natural as it does not mimic the window's aspect ratio anymore. Thanks to [@rcmz](https://github.com/rcmz) for this contribution!
## [Burn My Windows 44](https://github.com/schneegans/Burn-My-Windows/releases/tag/v44)
**Release Date:** 2024-11-06
#### New Features
<a href="https://youtu.be/hEdFfzqy2J0"><img align="right" src ="pics/bmw44.jpg" /></a>
- **New Effect: Focus.** Focus dude, focus. This effect is available both for GNOME and KDE. Thanks to [@jgarza9788](https://github.com/jgarza9788) for this contribution!
- Effect Search: There is now a search bar in the preferences dialog which allows you to quickly find the effect you are looking for. Thanks to [@jgarza9788](https://github.com/jgarza9788) for this contribution!
#### Other Changes
- The animation duration of all effects can now be adjusted between 0.1s and 3s. This makes fine adjustments easier than with the previous 0.1s to 10s range.
- There are now different effect packages for Plasma 5 and Plasma 6. Please make sure to install the correct one for your system.
- Many translations have been updated. Thanks to all the translators!
- The CI jobs now run only on X11. In addition to GNOME 45, they now also run on GNOME 46 and GNOME 47.
#### Bug Fixes
- The effects now work on Plasma 6 even if an ICC profile is set. Thanks to [@Zamundaaa](https://github.com/Zamundaaa) for helping here!
## [Burn My Windows 43](https://github.com/schneegans/Burn-My-Windows/releases/tag/v43)
**Release Date:** 2024-08-23
#### Enhancements
- Ported the extension to GNOME 47.
- Several translations have been updated. Thanks to all the translators!
#### Bug Fixes
- Fixed an issue in the KDE metadata files which caused a warning in the logs on KDE Plasma 6. Thanks to [@nask0](https://github.com/nask0) for the fix!
## [Burn My Windows 42 [backport release]](https://github.com/schneegans/Burn-My-Windows/releases/tag/v42)
**Release Date:** 2024-02-27
- Ported the changes from Burn-My-Windows 41 to GNOME 3.36 - 44.
## [Burn My Windows 41](https://github.com/schneegans/Burn-My-Windows/releases/tag/v41)
**Release Date:** 2024-02-27
#### Enhancements
- The extension has been updated to work with GNOME 46.
- Several translations have been updated. Thanks to all the translators!
- All CI jobs are now executed for GNOME 45 and GNOME 46 as well.
#### Bug Fixes
- Fixed a compatibility issue with Plasma 6. Thanks to [@CoelacanthusHex](https://github.com/CoelacanthusHex) for the fix!
- Fixed an issue which caused the origin of the Incinerate and Pixel Wipe effects to be reset to the current mouse position whenever another effect was started while an effect was still running.
## [Burn My Windows 40 [backport release]](https://github.com/schneegans/Burn-My-Windows/releases/tag/v40)
**Release Date:** 2023-10-26
#### Enhancements
- Ported the changes from Burn-My-Windows 39 to GNOME 3.36 - 44.
## [Burn My Windows 39](https://github.com/schneegans/Burn-My-Windows/releases/tag/v39)
**Release Date:** 2023-10-26
#### Enhancements
- On KDE, the effects are no longer applied to windows which are on all desktops and have no decoration. This is primarily meant to avoid applying the effects to the Alt+Tab switcher.
- Several translations have been updated. Thanks to all the translators!
- Instead of an always out-of-date list of sponsors, the main menu of the preferences dialog now contains a link to the new [list of all donors](https://schneegans.github.io/sponsors/). This list is semi-automatically updated whenever a new donation is received. Thanks to all the donors!
- The possibility to [donate cryptocurrencies](https://schneegans.cb.id) has been added.
#### Bug Fixes
- Fixed an issue which caused overly large windows on GNOME for certain applications (e.g. KPatience) if they were re-opened after being closed in maximized state.
- Fixed an issue with the archive format which caused a failure when installing the effects via KDE Discover.
## [Burn My Windows 38](https://github.com/schneegans/Burn-My-Windows/releases/tag/v38)
**Release Date:** 2023-09-09
#### Major Changes
- This is the first release of Burn-My-Windows supporting GNOME 45. This required a [major refactoring](https://github.com/Schneegans/Burn-My-Windows/pull/373/files) of the code base as GJS now uses ESM modules. As a consequence, this version is not compatible with older versions of GNOME Shell anymore. The old code base is still available on the `gnome-3.36-44` branch and if new features are added (especially translations), they can be backported to this branch.
## [Burn My Windows 37](https://github.com/schneegans/Burn-My-Windows/releases/tag/v37)
**Release Date:** 2023-08-26
#### Bug Fixes
- Fixed an issue which caused the effects to crash on KDE in some cases.
#### Enhancements
- Several translations have been updated. Thanks to all the translators!
## [Burn My Windows 36](https://github.com/schneegans/Burn-My-Windows/releases/tag/v36)
**Release Date:** 2023-08-18
#### New Features
- Two convenience buttons have been added to the preferences dialog. One allows you to select all effects, the other one allows you to deselect all effects.
- A new main menu entry has been added which allows you to open the effect-profile directory. This is useful if you want to back up or share your profiles with others.
- The Wisps effect now supports colorful wisps. You can now specify three colors for the effect. These colors make up a gradient which is used to color the wisps.
#### Enhancements
- Several translations have been updated. Thanks to all the translators!
#### Bug Fixes
- Some effects (Fire, Incinerate, Energize A, Energize B) are faded towards the edges of the window. This used to look weird when the window is maximized. This has been fixed.
- On KDE, the animations are not applied to IntelliJ IDEs anymore. These IDEs use windows for their tooltips which do not set the WM class correctly. This caused the animations to be applied to the tooltips as well making them unusable. This is rather a workaround than a fix, but makes the effect usable again in conjunction with IntelliJ IDEs.
## [Burn My Windows 35](https://github.com/schneegans/Burn-My-Windows/releases/tag/v35)
**Release Date:** 2023-07-03
#### New Features
- **New Effect: Paint-Brush.** This effect paints or erases your windows with a thick paint brush.
## [Burn My Windows 34](https://github.com/schneegans/Burn-My-Windows/releases/tag/v34)
**Release Date:** 2023-09-06
#### Enhancements
- Added support for the new donation button on extensions.gnome.org.
- https://www.paypal.me/simonschneegans is now the default donation link for PayPal.
## [Burn My Windows 33](https://github.com/schneegans/Burn-My-Windows/releases/tag/v33)
**Release Date:** 2023-06-06
#### Enhancements
- When opening the preferences, a dialog is now shown occasionally to kindly ask for a donation. The dialog can be disabled once it has been shown for the first time.
- Several translations have been updated. Thanks to all the translators!
#### Bug Fixes
- Fixed an issue on GNOME 44.2 which caused the effects to look broken. It was caused by [this change](https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2650).
- Fixed an issue which prevented the settings of the Snap of Disintegration effect from being translatable.
## [Burn My Windows 32](https://github.com/schneegans/Burn-My-Windows/releases/tag/v32)
**Release Date:** 2023-05-22
#### Enhancements
- Several translations have been updated. Thanks to all the translators!
#### Bug Fixes
- Fixed an issue which caused corrupted windows on X11 GNOME 44 under very specific circumstances. This happened only on X11 and only when the window was resized before it was actually shown.
## [Burn My Windows 31](https://github.com/schneegans/Burn-My-Windows/releases/tag/v31)
**Release Date:** 2023-05-04
#### Enhancements
- Several translations have been updated. Thanks to all the translators!
#### Bug Fixes
- Fixed an issue which made windows invisible which did not set the `WM_CLASS` X11 property correctly.
- Fixed an issue which made window-picking of Wayland windows impossible on GNOME 44.
## [Burn My Windows 30](https://github.com/schneegans/Burn-My-Windows/releases/tag/v30)
**Release Date:** 2023-04-08
#### Bug Fixes
- Fixed yet another incompatibility with the [Compiz alike magic lamp effect](https://extensions.gnome.org/extension/3740/compiz-alike-magic-lamp-effect/).
## [Burn My Windows 29](https://github.com/schneegans/Burn-My-Windows/releases/tag/v29)
**Release Date:** 2023-04-08
#### Bug Fixes
- Fixed a regression which caused window-close animations not to shown in front of full-screen windows.
- Fixed an incompatibility with the [Compiz alike magic lamp effect](https://extensions.gnome.org/extension/3740/compiz-alike-magic-lamp-effect/).
## [Burn My Windows 28](https://github.com/schneegans/Burn-My-Windows/releases/tag/v28)
**Release Date:** 2023-04-06
#### Enhancements
- **New donation method: Ko-fi**. Follow me on Ko-fi to get the latest updates regarding my extensions: https://ko-fi.com/schneegans!
- All shaders are now compatible with OpenGL ES. Due to [this change in Mutter](https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2672) the number of devices using OpenGL ES has significantly increased since GNOME 44. This change makes Burn-My-Windows working on those devices.
- It is now possible to create effects which do not have any settings at all.
#### Bug Fixes
- [This change in GNOME Shell](https://gitlab.gnome.org/GNOME/gnome-shell/-/commit/7bd98f3f5fb7e0d1220646b8a4ee7073534a8e8f) prevented Burn-My-Windows from working if no hardware-acceleration was available on GNOME 44, including the Docker containers used for CI testing. Some severe refactoring was necessary to fix this issue.
- The tutorial on how to create new effects has been updated and should work again.
- Fixed an issue which caused effect-profile loading to fail whenever Burn-My-Windows was updated.
## [Burn My Windows 27](https://github.com/schneegans/Burn-My-Windows/releases/tag/v27)
**Release Date:** 2023-03-01
#### New Features
- **Effect Profiles:** It is now possible to create _effect profiles_. Each profile contains a different set of effect settings. You can choose for each profile under which circumstances it will be used. Currently, these constraints are supported:
- Application name
- Animation type (open close)
- Window type (normal, dialog)
- Desktop style (light, dark)
- Power mode (plugged-in, on battery)
- Power profile (power saver, balanced, performance)
This allows for a very detailed configuration of the extension. For instance, you can now...
- ... exclude specific applications from BMW effects
- ... select effects per-application
- ... use different configurations of the same effect for opening or closing windows
The extension will attempt to migrate your previous settings to the new effect profile system. Depending on your previous configuration, you may have now one or two profiles to start with, but you can add an arbitrary amount of profiles.
The effect profiles are available for all supported GNOME versions (that is GNOME 3.36, 3.38, 40, 41, 42, 43, and 44).
- **Wallpapers:** A set of AI-generated [wallpapers has released](https://github.com/Schneegans/ai-wallpapers). For each effect of Burn-My-Windows, there is one dedicated wallpaper. As a central theme, each wallpaper shows a window. In some cases, the window is actually burning!
- Initial support for GNOME 44.
#### Other Enhancements
- As part of the effect profile implementation, the libadwaita-inspired preferences dialog layout got back-ported to all other supported GNOME versions.
- A notification is now shown in the settings dialog whenever the extension got updated. It contains a link to this changelog.
- Many translation updates. Thanks to all the translators!
## [Burn My Windows 26](https://github.com/schneegans/Burn-My-Windows/releases/tag/v26)
**Release Date:** 2023-02-04
#### New Features
* **New Effect: TV-Glitch.** This effect combines the Glitch and the TV Effect into one. Credits go to [Kurt Wilson](https://github.com/Kurtoid) for this idea!
- **New Effect: TV-Glitch.** This effect combines the Glitch and the TV Effect into one. Credits go to [Kurt Wilson](https://github.com/Kurtoid) for this idea!
#### Other Enhancements
* On KDE, the effect configuration dialogs can now be translated. The translations for GNOME are re-used, so we already have many translations! This requires at least KWin 5.27 to be working.
* Many translation updates, including a completely new Japanese translation. Thanks to all the translators!
* The effect colors for the Glitch and TV Effect now support an alpha channel. With this you can control how much color gets mixed into the window color.
- On KDE, the effect configuration dialogs can now be translated. The translations for GNOME are re-used, so we already have many translations! This requires at least KWin 5.27 to be working.
- Many translation updates, including a completely new Japanese translation. Thanks to all the translators!
- The effect colors for the Glitch and TV Effect now support an alpha channel. With this you can control how much color gets mixed into the window color.
## [Burn My Windows 25](https://github.com/schneegans/Burn-My-Windows/releases/tag/v25)
@@ -26,7 +302,7 @@ SPDX-License-Identifier: CC-BY-4.0
#### Bug Fixes
* Fixed an issue which prevented the extension from loading if `power-profiles-daemon` was masked.
- Fixed an issue which prevented the extension from loading if `power-profiles-daemon` was masked.
## [Burn My Windows 24](https://github.com/schneegans/Burn-My-Windows/releases/tag/v24)
@@ -34,18 +310,18 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* **New Effect: Glitch.** This effect applies some intentional graphics issues to your windows.
* There is a new option to disable the effects when power-save mode is active. This may not only help to reduce power consumption, but also help in situation where the window animation do not run fluently in power-save mode. This option requires the power-profiles daemon, so it should be available for GNOME Shell 41 and beyond.
- **New Effect: Glitch.** This effect applies some intentional graphics issues to your windows.
- There is a new option to disable the effects when power-save mode is active. This may not only help to reduce power consumption, but also help in situation where the window animation do not run fluently in power-save mode. This option requires the power-profiles daemon, so it should be available for GNOME Shell 41 and beyond.
#### Other Enhancements
* Many translation updates, including a completely new Indonesian translation. Thanks to all the translators!
* The menu button of the settings dialog has been moved to the left and now shows a heart instead of three dots.
* The about dialog now uses the `Adw.AboutWindow` if available.
- Many translation updates, including a completely new Indonesian translation. Thanks to all the translators!
- The menu button of the settings dialog has been moved to the left and now shows a heart instead of three dots.
- The about dialog now uses the `Adw.AboutWindow` if available.
#### Bug Fixes
* Fixed an issue which could lead to black artifacts for some effects (Fire, Incinerate, Matrix, Portal, T-Rex Attack, and Wisps).
- Fixed an issue which could lead to black artifacts for some effects (Fire, Incinerate, Matrix, Portal, T-Rex Attack, and Wisps).
## [Burn My Windows 23](https://github.com/schneegans/Burn-My-Windows/releases/tag/v23)
@@ -53,11 +329,11 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* **New Effect: Portal.** This ridiculous effect teleports your windows from and to alternative dimensions. It may resemble the portal from a well-known cartoon series...
- **New Effect: Portal.** This ridiculous effect teleports your windows from and to alternative dimensions. It may resemble the portal from a well-known cartoon series...
#### Other Enhancements
* Many translation updates. Thanks to all the translators!
- Many translation updates. Thanks to all the translators!
## [Burn My Windows 22](https://github.com/schneegans/Burn-My-Windows/releases/tag/v22)
@@ -65,14 +341,14 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* **New Effect: Glide.** A very subtle effect which simply fades the window and applies some 3D-like tilting and scaling. This effect is available on all support GNOME versions and on KDE.
- **New Effect: Glide.** A very subtle effect which simply fades the window and applies some 3D-like tilting and scaling. This effect is available on all support GNOME versions and on KDE.
#### Other Enhancements
* The settings dialog has been redesigned specifically for libadwaita. These changes are only available on GNOME 42 and GNOME 43.
* Many translation updates, including a completely new Romanian translation. Thanks to all the translators!
* The KWin port of Burn-My-Windows now uses `metadata.json` files instead of the deprecated `metadata.desktop` format.
* Burn-My-Windows now follows the [REUSE Specification](https://reuse.software/spec).
- The settings dialog has been redesigned specifically for libadwaita. These changes are only available on GNOME 42 and GNOME 43.
- Many translation updates, including a completely new Romanian translation. Thanks to all the translators!
- The KWin port of Burn-My-Windows now uses `metadata.json` files instead of the deprecated `metadata.desktop` format.
- Burn-My-Windows now follows the [REUSE Specification](https://reuse.software/spec).
## [Burn My Windows 21](https://github.com/schneegans/Burn-My-Windows/releases/tag/v21)
@@ -80,11 +356,11 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* Added support for GNOME 43.
- Added support for GNOME 43.
#### Other Enhancements
* Several new translations have been added, including a Lithuanian, Ukrainian, Esperanto, Portuguese, Azerbaijani, and Hebrew translation. Also, many other translations received updates. Thanks to all the translators!
- Several new translations have been added, including a Lithuanian, Ukrainian, Esperanto, Portuguese, Azerbaijani, and Hebrew translation. Also, many other translations received updates. Thanks to all the translators!
## [Burn My Windows 20](https://github.com/schneegans/Burn-My-Windows/releases/tag/v20)
@@ -92,21 +368,20 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* **New Effect: Doom.** Melt your windows. Inspired by the legendary screen transitions of the original Doom.
* **New Effect: Pixelate.** Pixelate your windows and randomly hide pixels until the entire window is gone.
* **New Effect: Pixel Wheel.** This simple effect pixelates the window and hides the pixels in a wheel-like fashion.
* **New Effect: Pixel Wipe.** This effect pixelates the window and hides the pixels radially, starting from the pointer position.
- **New Effect: Doom.** Melt your windows. Inspired by the legendary screen transitions of the original Doom.
- **New Effect: Pixelate.** Pixelate your windows and randomly hide pixels until the entire window is gone.
- **New Effect: Pixel Wheel.** This simple effect pixelates the window and hides the pixels in a wheel-like fashion.
- **New Effect: Pixel Wipe.** This effect pixelates the window and hides the pixels radially, starting from the pointer position.
#### Enhancements
* Under KWin, the effects now use the same names as in the KDE store.
* The continuous integration tests now use a fuzzy search for the images targets. This way, the test work again on X11 and Wayland.
* A new GitHub Actions workflow has been added which is executed whenever a commit message includes the `[generate-references]` tag. This workflow re-creates all reference images for the continuous integration test.
- Under KWin, the effects now use the same names as in the KDE store.
- The continuous integration tests now use a fuzzy search for the images targets. This way, the test work again on X11 and Wayland.
- A new GitHub Actions workflow has been added which is executed whenever a commit message includes the `[generate-references]` tag. This workflow re-creates all reference images for the continuous integration test.
#### Bug Fixes
* Fixed a bug which caused the Incinerate Effect to sometimes not show up properly on KWin if the "Start at pointer position" option was enabled.
- Fixed a bug which caused the Incinerate Effect to sometimes not show up properly on KWin if the "Start at pointer position" option was enabled.
## [Burn My Windows 19](https://github.com/schneegans/Burn-My-Windows/releases/tag/v19)
@@ -114,17 +389,17 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* The incinerate effect now uses the current mouse pointer position as starting position of the burn effect. The old random behaviour can be enabled in the settings. This works both on GNOME and KDE.
- The incinerate effect now uses the current mouse pointer position as starting position of the burn effect. The old random behaviour can be enabled in the settings. This works both on GNOME and KDE.
#### Enhancements
* Many translation updates, including a completely new Portuguese, Esperanto, and Hebrew translation. A BIG THANKS to all translators!
* On GNOME, effects can now execute code whenever an animation ended. This is useful for cleaning up resources.
* The KWin build script now generates a separate archive for each effect as well as a combined archive for all effects.
- Many translation updates, including a completely new Portuguese, Esperanto, and Hebrew translation. A BIG THANKS to all translators!
- On GNOME, effects can now execute code whenever an animation ended. This is useful for cleaning up resources.
- The KWin build script now generates a separate archive for each effect as well as a combined archive for all effects.
#### Fixes
* Fixed the effect configuration dialog of the Fire effect on KDE.
- Fixed the effect configuration dialog of the Fire effect on KDE.
## [Burn My Windows 18](https://github.com/schneegans/Burn-My-Windows/releases/tag/v18)
@@ -132,7 +407,7 @@ SPDX-License-Identifier: CC-BY-4.0
#### Fixes
* The GNOME extension package now does not include the KWin JavaScript files anymore.
- The GNOME extension package now does not include the KWin JavaScript files anymore.
## [Burn My Windows 17](https://github.com/schneegans/Burn-My-Windows/releases/tag/v17)
@@ -140,14 +415,14 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* **New Effect: Incinerate.** This is a completely new take on the fire effect. It is a bit more demanding in terms of GPU power, but at the same time it looks much more awesome!
* **Initial KDE Support.** Thanks to the [awesome work](https://invent.kde.org/plasma/kwin/-/merge_requests/2227) of Martin Flöser, it has become possible to port some of its effects to KDE Plasma! For now, only the most simple effects can be ported, but hopefully this list can be improved in the future.
* An option has been added which allows to automatically disable all effects if running on battery power.
- **New Effect: Incinerate.** This is a completely new take on the fire effect. It is a bit more demanding in terms of GPU power, but at the same time it looks much more awesome!
- **Initial KDE Support.** Thanks to the [awesome work](https://invent.kde.org/plasma/kwin/-/merge_requests/2227) of Martin Flöser, it has become possible to port some of its effects to KDE Plasma! For now, only the most simple effects can be ported, but hopefully this list can be improved in the future.
- An option has been added which allows to automatically disable all effects if running on battery power.
#### Enhancements
* Many translation updates, including a completely new Persian, Polish, and Slovak translation. A BIG THANKS to all translators!
* The shader include system has been simplified. There's now just one "common.glsl" which is automatically loaded into each shader.
- Many translation updates, including a completely new Persian, Polish, and Slovak translation. A BIG THANKS to all translators!
- The shader include system has been simplified. There's now just one "common.glsl" which is automatically loaded into each shader.
## [Burn My Windows 16](https://github.com/schneegans/Burn-My-Windows/releases/tag/v16)
@@ -155,16 +430,16 @@ SPDX-License-Identifier: CC-BY-4.0
#### Enhancements
* Many translation updates, including a completely new Arabic, Finnish, Korean, and Swedish translation. A BIG THANKS to all translators!
* The shaders are now aware of the actual window size (e.g. excluding the area where the shadow is drawn). For instance, this **fixes the drawing of the effects outside the window bounds** for `libadwaita` apps.
* Refactored how the size and opacity transitions of the window actors are set up. Effects can now only specify a desired actor scale which will not change during the animation. All dynamic scaling and fading must be implemented in the shaders now.
* The standard uniforms of all shaders have been updated: The window size is now passed as a `vec2` and there is a new `bool uForOpening` which is set to `true` if a window-open animation is ongoing, to `false` otherwise.
- Many translation updates, including a completely new Arabic, Finnish, Korean, and Swedish translation. A BIG THANKS to all translators!
- The shaders are now aware of the actual window size (e.g. excluding the area where the shadow is drawn). For instance, this **fixes the drawing of the effects outside the window bounds** for `libadwaita` apps.
- Refactored how the size and opacity transitions of the window actors are set up. Effects can now only specify a desired actor scale which will not change during the animation. All dynamic scaling and fading must be implemented in the shaders now.
- The standard uniforms of all shaders have been updated: The window size is now passed as a `vec2` and there is a new `bool uForOpening` which is set to `true` if a window-open animation is ongoing, to `false` otherwise.
#### Bug Fixes
* **Fixed a major memory leak**. Now, shaders are not re-created anymore whenever a window is opened or closed. Instead, previously created shaders are re-used as often as possible. This requires that all settings are set as uniform values (previously they were injected into the shader source) which in turn requires that `Shell.GLSLEffect` is used instead of `Clutter.ShaderEffect`. This change also requires that all shaders now work with straight instead of premultiplied alpha. Anyways, a lot needed to be refactored for this fix and I hope that it did not bring too many visual changes.
* Fixed the window-close animation of windows which were opened before the session was started (e.g. before GNOME Shell has been restarted).
* There seem to be cases were `libadwaita` is not available on GNOME 42 (e.g. Pop!_OS 22.04 beta). The preferences dialog now tries to fallback to the GTK4-only variant if `libadwaita` is not available.
- **Fixed a major memory leak**. Now, shaders are not re-created anymore whenever a window is opened or closed. Instead, previously created shaders are re-used as often as possible. This requires that all settings are set as uniform values (previously they were injected into the shader source) which in turn requires that `Shell.GLSLEffect` is used instead of `Clutter.ShaderEffect`. This change also requires that all shaders now work with straight instead of premultiplied alpha. Anyways, a lot needed to be refactored for this fix and I hope that it did not bring too many visual changes.
- Fixed the window-close animation of windows which were opened before the session was started (e.g. before GNOME Shell has been restarted).
- There seem to be cases were `libadwaita` is not available on GNOME 42 (e.g. Pop!\_OS 22.04 beta). The preferences dialog now tries to fallback to the GTK4-only variant if `libadwaita` is not available.
## [Burn My Windows 15](https://github.com/schneegans/Burn-My-Windows/releases/tag/v15)
@@ -172,13 +447,13 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* **New Effect: Apparition.** This effect hides the window by violently sucking it into the void of magic. This is available only for GNOME Shell 3.38 and newer.
* **New Effect: Hexagon.** With glowing lines and hexagon-shaped tiles, this effect looks very sci-fi. This is available for GNOME Shell 3.36 and newer.
* **New Effect: Snap of Disintegration.** This was requested quite frequently! Dissolve your windows into a cloud of dust. This is available only for GNOME Shell 40 and newer.
- **New Effect: Apparition.** This effect hides the window by violently sucking it into the void of magic. This is available only for GNOME Shell 3.38 and newer.
- **New Effect: Hexagon.** With glowing lines and hexagon-shaped tiles, this effect looks very sci-fi. This is available for GNOME Shell 3.36 and newer.
- **New Effect: Snap of Disintegration.** This was requested quite frequently! Dissolve your windows into a cloud of dust. This is available only for GNOME Shell 40 and newer.
#### Bug Fixes
* Disabled the buggy "Shatter from pointer" option of the Broken Glass effect when opening windows (it only makes sense for closing windows).
- Disabled the buggy "Shatter from pointer" option of the Broken Glass effect when opening windows (it only makes sense for closing windows).
## [Burn My Windows 14](https://github.com/schneegans/Burn-My-Windows/releases/tag/v14)
@@ -186,13 +461,12 @@ SPDX-License-Identifier: CC-BY-4.0
#### Enhancements
* Reduced the lower animation time limits for all effects to 100 ms. This should now allow for very snappy animations!
* A completely new Russian translation. Thank you, ANIGO R.!
- Reduced the lower animation time limits for all effects to 100 ms. This should now allow for very snappy animations!
- A completely new Russian translation. Thank you, ANIGO R.!
#### Bug Fixes
* Fixed the version check for GNOME Shell `42.rc` (before it only worked on `42.alpha` and `42.beta`)
- Fixed the version check for GNOME Shell `42.rc` (before it only worked on `42.alpha` and `42.beta`)
## [Burn My Windows 13](https://github.com/schneegans/Burn-My-Windows/releases/tag/v13)
@@ -200,16 +474,16 @@ SPDX-License-Identifier: CC-BY-4.0
#### Enhancements
* The continuous integration tests have been significantly enhanced. Now, all window-open and window-close animations are visually tested on all supported GNOME versions and on X11 / Wayland (summing up to a total of 136 test cases).
* Many translation updates, including a completely new Turkish and Chinese translation. A BIG THANKS to all translators!
- The continuous integration tests have been significantly enhanced. Now, all window-open and window-close animations are visually tested on all supported GNOME versions and on X11 / Wayland (summing up to a total of 136 test cases).
- Many translation updates, including a completely new Turkish and Chinese translation. A BIG THANKS to all translators!
#### Other Changes
* Removed the Liberapay donation option as it does not work properly.
- Removed the Liberapay donation option as it does not work properly.
#### Bug Fixes
* Fixed the version check for GNOME Shell 42.
- Fixed the version check for GNOME Shell 42.
## [Burn My Windows 12](https://github.com/schneegans/Burn-My-Windows/releases/tag/v12)
@@ -217,12 +491,12 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* Added initial support for GNOME Shell 42.
* The preferences dialog now uses libadwaita on GNOME Shell 42.
- Added initial support for GNOME Shell 42.
- The preferences dialog now uses libadwaita on GNOME Shell 42.
#### Enhancements
* Added [Liberapay](https://liberapay.com/Schneegans) to the sponsorship options.
- Added [Liberapay](https://liberapay.com/Schneegans) to the sponsorship options.
## [Burn My Windows 11](https://github.com/schneegans/Burn-My-Windows/releases/tag/v11)
@@ -230,24 +504,24 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* Added an about-dialog which shows all translators and sponsors.
- Added an about-dialog which shows all translators and sponsors.
#### Enhancements
* There are several new translations! Thanks a lot to all the translators! We now have translations for:
* German
* English
* Czech
* Dutch
* French
* Italian
* Norwegian Bokmål
* Spanish
* A new issue template for suggesting new effects has been added.
- There are several new translations! Thanks a lot to all the translators! We now have translations for:
- German
- English
- Czech
- Dutch
- French
- Italian
- Norwegian Bokmål
- Spanish
- A new issue template for suggesting new effects has been added.
#### Fixes
* Fixed an issue which caused corrupted windows when trying to maximize windows while the window-open animation was still running (#82, #86, #91).
- Fixed an issue which caused corrupted windows when trying to maximize windows while the window-open animation was still running (#82, #86, #91).
## [Burn My Windows 10](https://github.com/schneegans/Burn-My-Windows/releases/tag/v10)
@@ -257,18 +531,18 @@ SPDX-License-Identifier: CC-BY-4.0
<a href="https://youtu.be/L2aaNF_rPHo"><img align="right" src ="pics/bmw10.jpg" /></a>
* **Effects for Window Opening.** You can now select effects which are applied on newly opened windows! I expect that there are some bugs left, so please [report any issue you find](https://github.com/Schneegans/Burn-My-Windows/issues)!
* **New Effect: Broken Glass.** Shatter your windows into a shower sharp shards! This effect can be configured so that the shards fly away from your mouse pointer position!
* **Preview Buttons** have been added to the effect-configuration pages of the preferences dialog. These can be used to, well, preview the current settings (without having to enable the effect first).
* **Translations!** It is now possible to [translate the preferences dialog](https://hosted.weblate.org/engage/burn-my-windows/). There is already a finished German translation, and in-progress translations to Italian and Norwegian Bokmål.
* **A "Vertical Overshooting" option** was added to the Matrix Effect: This can add some vertical variation to the start and end position of the letter drops.
- **Effects for Window Opening.** You can now select effects which are applied on newly opened windows! I expect that there are some bugs left, so please [report any issue you find](https://github.com/Schneegans/Burn-My-Windows/issues)!
- **New Effect: Broken Glass.** Shatter your windows into a shower sharp shards! This effect can be configured so that the shards fly away from your mouse pointer position!
- **Preview Buttons** have been added to the effect-configuration pages of the preferences dialog. These can be used to, well, preview the current settings (without having to enable the effect first).
- **Translations!** It is now possible to [translate the preferences dialog](https://hosted.weblate.org/engage/burn-my-windows/). There is already a finished German translation, and in-progress translations to Italian and Norwegian Bokmål.
- **A "Vertical Overshooting" option** was added to the Matrix Effect: This can add some vertical variation to the start and end position of the letter drops.
#### Other Enhancements
* Added a menu entry with a link to the guide for creating new effect types.
* Thanks to improved timing, the default animation time of several effects could be reduced.
* The README now shows the current lines of code and the current comment percentage using my [dynamic-badges-action](https://github.com/Schneegans/dynamic-badges-action).
* **Add advanced CI tests:** For each commit to `main`, it is now tested whether the extension can be installed and if the preferences dialog can be shown on GNOME Shell 3.36, 3.38, 40, and 41. Both, X11 and Wayland are checked.
- Added a menu entry with a link to the guide for creating new effect types.
- Thanks to improved timing, the default animation time of several effects could be reduced.
- The README now shows the current lines of code and the current comment percentage using my [dynamic-badges-action](https://github.com/Schneegans/dynamic-badges-action).
- **Add advanced CI tests:** For each commit to `main`, it is now tested whether the extension can be installed and if the preferences dialog can be shown on GNOME Shell 3.36, 3.38, 40, and 41. Both, X11 and Wayland are checked.
## [Burn My Windows 9](https://github.com/schneegans/Burn-My-Windows/releases/tag/v9)
@@ -276,8 +550,8 @@ SPDX-License-Identifier: CC-BY-4.0
#### Fixes
* Improved compatibility with [Show Application View When Workspace Empty ](https://extensions.gnome.org/extension/2036/show-application-view-when-workspace-empty/) (#54).
* Fixed a crash which happened when the window-close icon in the overview was clicked twice (#49).
- Improved compatibility with [Show Application View When Workspace Empty ](https://extensions.gnome.org/extension/2036/show-application-view-when-workspace-empty/) (#54).
- Fixed a crash which happened when the window-close icon in the overview was clicked twice (#49).
## [Burn My Windows 8](https://github.com/schneegans/Burn-My-Windows/releases/tag/v8)
@@ -285,25 +559,24 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* **Random effects!** You can now select a set of effects of which one will be chosen randomly whenever you close a window. **This changes how effects are selected, so you will have to re-select your desired effect(s)**.
* **New Effect: Energize A.** Beam your windows away!
* **New Effect: Energize B.** Using different transporter technology results in an alternative visual effect.
* **New Effect: Wisps.** These little fairies carry your windows to the realm of dreams!
* Each effect has its own "Animation Time" setting now. The global animation time has been replaced by those, so **you may have to adjust the sliders to match your previous settings**.
- **Random effects!** You can now select a set of effects of which one will be chosen randomly whenever you close a window. **This changes how effects are selected, so you will have to re-select your desired effect(s)**.
- **New Effect: Energize A.** Beam your windows away!
- **New Effect: Energize B.** Using different transporter technology results in an alternative visual effect.
- **New Effect: Wisps.** These little fairies carry your windows to the realm of dreams!
- Each effect has its own "Animation Time" setting now. The global animation time has been replaced by those, so **you may have to adjust the sliders to match your previous settings**.
#### Other Enhancements
* A [guide for creating new effects](how-to-create-new-effects.md) has been added.
* The source code has received a **major refactoring**. This will make the addition of new effects much easier in the future.
* The **layout of the settings dialog** has been reworked to make it easier to expand it in the future.
* The lower limit of the **animation time of the TV Effect** has been reduced.
* The T-Rex-Attack effect is not shown in fully transparent regions of a window any more.
* The shaders now use a different noise implementation which produces better 3D noise.
- A [guide for creating new effects](how-to-create-new-effects.md) has been added.
- The source code has received a **major refactoring**. This will make the addition of new effects much easier in the future.
- The **layout of the settings dialog** has been reworked to make it easier to expand it in the future.
- The lower limit of the **animation time of the TV Effect** has been reduced.
- The T-Rex-Attack effect is not shown in fully transparent regions of a window any more.
- The shaders now use a different noise implementation which produces better 3D noise.
#### Fixes
* The extension now works even if GNOME Shell's animations are disabled globally.
- The extension now works even if GNOME Shell's animations are disabled globally.
## [Burn My Windows 7](https://github.com/schneegans/Burn-My-Windows/releases/tag/v7)
@@ -311,13 +584,12 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* An option to use a 3D noise for the fire shader has been added. This will add some more temporal variation to the flames at the cost of slightly decreased rendering performance.
* A changelog entry has been added to the menu of the preferences dialog.
- An option to use a 3D noise for the fire shader has been added. This will add some more temporal variation to the flames at the cost of slightly decreased rendering performance.
- A changelog entry has been added to the menu of the preferences dialog.
#### Fixes
* Resolve copyright issues by using a MIT-licensed noise implementation.
- Resolve copyright issues by using a MIT-licensed noise implementation.
## [Burn My Windows 6](https://github.com/schneegans/Burn-My-Windows/releases/tag/v6)
@@ -325,7 +597,7 @@ SPDX-License-Identifier: CC-BY-4.0
#### Fixes
* Removed a debug log message.
- Removed a debug log message.
## [Burn My Windows 5](https://github.com/schneegans/Burn-My-Windows/releases/tag/v5)
@@ -333,17 +605,17 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* Added a new ridiculous close-animation: the T-Rex-Attack!
* Added a new simple close-animation: the TV-Effect!
* Added a menu to the preferences dialog with links for bug reporting and donations.
- Added a new ridiculous close-animation: the T-Rex-Attack!
- Added a new simple close-animation: the TV-Effect!
- Added a menu to the preferences dialog with links for bug reporting and donations.
#### Other Enhancements
* The fire shader now uses a `smoothstep` to make it less blocky.
- The fire shader now uses a `smoothstep` to make it less blocky.
#### Bug Fixes
* Fixed a bug which messed up the overview of GNOME Shell 3.36.
- Fixed a bug which messed up the overview of GNOME Shell 3.36.
## [Burn My Windows 4](https://github.com/schneegans/Burn-My-Windows/releases/tag/v4)
@@ -351,13 +623,13 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* Added a new Matrix shader which dissolves your windows in a shower of green letters. You can switch between the fire and the matrix shader in the settings. Sadly, this effect cannot be available under GNOME 3.3x as it was apparently impossible to set textures for a `Clutter.ShaderEffect` in GJS back then.
* Added a setting to apply the animation also for closing dialog windows.
- Added a new Matrix shader which dissolves your windows in a shower of green letters. You can switch between the fire and the matrix shader in the settings. Sadly, this effect cannot be available under GNOME 3.3x as it was apparently impossible to set textures for a `Clutter.ShaderEffect` in GJS back then.
- Added a setting to apply the animation also for closing dialog windows.
#### Other Enhancements
* Refactored the code a lot to make it easier to add new shader effects in the future.
* Tweaked timing of the fire shader. Previously, the fire became invisible quite quickly. Due to this new animation timing, the default animation time has been reduced to 1500 ms.
- Refactored the code a lot to make it easier to add new shader effects in the future.
- Tweaked timing of the fire shader. Previously, the fire became invisible quite quickly. Due to this new animation timing, the default animation time has been reduced to 1500 ms.
## [Burn My Windows 3](https://github.com/schneegans/Burn-My-Windows/releases/tag/v3)
@@ -365,7 +637,7 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* Add support for GNOME 3.36 and GNOME 3.38.
- Add support for GNOME 3.36 and GNOME 3.38.
## [Burn My Windows 2](https://github.com/schneegans/Burn-My-Windows/releases/tag/v2)
@@ -373,12 +645,12 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* Added the possibility to adjust fire colors.
* Added the possibility to adjust flame speed and scale.
* Added some fire presets.
- Added the possibility to adjust fire colors.
- Added the possibility to adjust flame speed and scale.
- Added some fire presets.
## [Burn My Windows 1](https://github.com/schneegans/Burn-My-Windows/releases/tag/v1)
**Release Date:** 2021-12-14
* Initial publication on GitHub supporting GNOME 40 and GNOME 41.
- Initial publication on GitHub supporting GNOME 40 and GNOME 41.
+105 -353
View File
@@ -38,7 +38,7 @@ journalctl -f -o cat | grep -E 'burn-my-windows|'
For the sake of this tutorial, we will create a **"Simple Fade"** effect.
Of course, you can replace any occurrence of this name and its nick `simple-fade` with your custom effect name.
Three simple steps are required to create a new effect.
Three simple steps are required to create a new effect.
You will have to ...
1. add preferences keys for enabling the effect,
@@ -47,9 +47,9 @@ You will have to ...
### 1. Expanding the Schema
For enabling the new effect, the boolean settings keys `simple-fade-open-effect`, `simple-fade-close-effect`, and `simple-fade-animation-time` are required.
For enabling the new effect, the boolean settings keys `simple-fade-enable-effect` and `simple-fade-animation-time` are required.
In this example, we also add a floating point value for storing another property of the effect - we will use them later in the tutorial.
Just copy the XML code below to the file [`schemas/org.gnome.shell.extensions.burn-my-windows.gschema.xml`](../schemas/org.gnome.shell.extensions.burn-my-windows.gschema.xml).
Just copy the XML code below to the file [`schemas/org.gnome.shell.extensions.burn-my-windows-profile.gschema.xml`](../schemas/org.gnome.shell.extensions.burn-my-windows-profile.gschema.xml).
Just remember to replace `simple-fade` with your custom name!
```xml
@@ -57,16 +57,10 @@ Just remember to replace `simple-fade` with your custom name!
<!-- Simple Fade Effect Options -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<key name="simple-fade-close-effect" type="b">
<key name="simple-fade-enable-effect" type="b">
<default>false</default>
<summary>Simple Fade Close Effect</summary>
<description>Use the Simple Fade effect for window closing.</description>
</key>
<key name="simple-fade-open-effect" type="b">
<default>false</default>
<summary>Simple Fade Open Effect</summary>
<description>Use the Simple Fade effect for window opening.</description>
<summary>Simple Fade Enable Effect</summary>
<description>Use the Simple Fade effect.</description>
</key>
<key name="simple-fade-animation-time" type="i">
@@ -84,7 +78,7 @@ Just remember to replace `simple-fade` with your custom name!
### 2. Creating the Effect Class
You will have to create a new GLSL file called `resources/shaders/simple-fade.frag` and a new JavaScript source file called `src/SimpleFade.js`.
You will have to create a new GLSL file called `resources/shaders/simple-fade.frag` and a new JavaScript source file called `src/effects/SimpleFade.js`.
Simply paste the following source code to the respective file.
Please study this code carefully, all of it is explained with inline comments.
@@ -92,16 +86,31 @@ Please study this code carefully, all of it is explained with inline comments.
<summary>Expand this to show the GLSL code.</summary>
```glsl
//////////////////////////////////////////////////////////////////////////////////////////
// ) ( //
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
// |__/ //
//////////////////////////////////////////////////////////////////////////////////////////
// SPDX-FileCopyrightText: Your Name <your@email.com>
// SPDX-License-Identifier: GPL-3.0-or-later
// The content from common.glsl is automatically prepended to each shader effect. This
// provides the standard input:
// vec2 iTexCoord: Texture coordinates for retrieving the window input color.
// bool uForOpening: True if a window-open animation is ongoing, false otherwise.
// float uProgress: A value which transitions from 0 to 1 during the animation.
// float uDuration: The duration of the current animation in seconds.
// vec2 uSize: The size of uTexture in pixels.
// float uPadding: The empty area around the actual window (e.g. where the shadow
// is drawn). For now, this will only be set on GNOME.
// vec2 iTexCoord: Texture coordinates for retrieving the window input color.
// bool uIsFullscreen: True if the window is maximized or in fullscreen mode.
// bool uForOpening: True if a window-open animation is ongoing, false otherwise.
// float uProgress: A value which transitions from 0 to 1 during the animation.
// float uDuration: The duration of the current animation in seconds.
// vec2 uSize: The size of uTexture in pixels.
// float uPadding: The empty area around the actual window (e.g. where the shadow
// is drawn). For now, this will only be set on GNOME.
// Furthermore, there are two global methods for reading the window input color and
// setting the shader output color. Both methods assume straight alpha:
@@ -154,16 +163,16 @@ void main() {
// SPDX-FileCopyrightText: Your Name <your@email.com>
// SPDX-License-Identifier: GPL-3.0-or-later
'use strict';
"use strict";
const GObject = imports.gi.GObject;
import * as utils from "../utils.js";
const _ = imports.gettext.domain('burn-my-windows').gettext;
// We import the ShaderFactory only in the Shell process as it is not required in the
// preferences process. The preferences process does not create any shader instances, it
// only uses the static metadata of the effect.
const ShaderFactory = await utils.importInShellOnly("./ShaderFactory.js");
const ExtensionUtils = imports.misc.extensionUtils;
const Me = imports.misc.extensionUtils.getCurrentExtension();
const utils = Me.imports.src.utils;
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
const _ = await utils.importGettext();
//////////////////////////////////////////////////////////////////////////////////////////
// This effect ... //
@@ -173,21 +182,21 @@ const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
// The effect class can be used to get some metadata (like the effect's name or supported
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
// well as to create the actual shader for the effect.
var SimpleFade = class {
export default class Effect {
// The constructor creates a ShaderFactory which will be used by extension.js to create
// shader instances for this effect. The shaders will be automagically created using the
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
// newly created shader instance.
constructor() {
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
// Store uniform locations of newly created shaders.
shader._uFadeWidth = shader.get_uniform_location('uFadeWidth');
shader._uFadeWidth = shader.get_uniform_location("uFadeWidth");
// Write all uniform values at the start of each animation.
shader.connect('begin-animation', (shader, settings) => {
shader.set_uniform_float(shader._uFadeWidth, 1, [settings.get_double('simple-fade-width')]);
shader.connect("begin-animation", (shader, settings) => {
shader.set_uniform_float(shader._uFadeWidth, 1, [
settings.get_double("simple-fade-width"),
]);
});
});
}
@@ -195,32 +204,31 @@ var SimpleFade = class {
// ---------------------------------------------------------------------------- metadata
// The effect is available on all GNOME Shell versions supported by this extension.
getMinShellVersion() {
static getMinShellVersion() {
return [3, 36];
}
// This will be called in various places where a unique identifier for this effect is
// required. It should match the prefix of the settings keys which store whether the
// effect is enabled currently (e.g. '*-close-effect'), and its animation time
// (e.g. '*-animation-time').
getNick() {
return 'simple-fade';
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
// (e.g. '*-animation-time'). Also, the shader file and the settings UI files should be
// named likes this.
static getNick() {
return "simple-fade";
}
// This will be shown in the sidebar of the preferences dialog as well as in the
// drop-down menus where the user can choose the effect.
getLabel() {
return _('Simple Fade Effect');
static getLabel() {
return _("Simple Fade Effect");
}
// -------------------------------------------------------------------- API for prefs.js
// This is called by the preferences dialog. It loads the settings page for this effect,
// binds all properties to the settings and appends the page to the main stack of the
// preferences dialog.
getPreferences(dialog) {
// This is called by the preferences dialog whenever a new effect profile is loaded. It
// binds all user interface elements to the respective settings keys of the profile.
static bindPreferences(dialog) {
// Empty for now... Code is added here later in the tutorial!
return null;
}
// ---------------------------------------------------------------- API for extension.js
@@ -228,8 +236,8 @@ var SimpleFade = class {
// The getActorScale() is called from extension.js to adjust the actor's size during the
// animation. This is useful if the effect requires drawing something beyond the usual
// bounds of the actor. This only works for GNOME 3.38+.
getActorScale(settings) {
return {x: 1.0, y: 1.0};
static getActorScale(settings, forOpening, actor) {
return { x: 1.0, y: 1.0 };
}
}
```
@@ -243,15 +251,17 @@ Both, [`extension.js`](../extension.js) and [`prefs.js`](../prefs.js) define an
Like this:
```javascript
import SimpleFade from './src/effects/SimpleFade.js';
...
const ALL_EFFECTS = [
...
new Me.imports.src.SimpleFade.SimpleFade(),
new SimpleFade(),
...
];
```
### Testing your Effect
Now you can call `make install` and restart GNOME Shell with <kbd>Alt</kbd> + <kbd>F2</kbd>, <kbd>r</kbd> + <kbd>Enter</kbd>.
@@ -267,17 +277,11 @@ gnome-extensions prefs burn-my-windows@schneegans.github.com
## Adding a Preferences Page
There should be two sliders in this example: The animation duration and the width of the fading gradient.
If your effect supports GNOME Shell 3.3x _and_ GNOME Shell 40+, you will have to provide three `*.ui` files for this.
This is because starting with GNOME Shell 40, the preference dialog uses GTK4, before it used to use GTK3.
Starting with GNOME Shell 42, it uses `libadwaita` which requires different UI files again.
We will load the respective file in the `getPreferences()` method of your new effect class.
Just save the code below to `resources/ui/gtk3/SimpleFade.ui`, `resources/ui/gtk4/SimpleFade.ui`, and `resources/ui/adw/SimpleFade.ui` respectively.
Just save the code below to `resources/ui/adw/simple-fade.ui`.
Remember to replace any occurrence of `simple-fade` with your effect's nick-name!
<details>
<summary>Expand this to show the GTK3 code.</summary>
<summary>Expand this to show the UI code.</summary>
```xml
<?xml version="1.0" encoding="UTF-8"?>
@@ -287,10 +291,10 @@ SPDX-FileCopyrightText: Your Name <your@email.com>
SPDX-License-Identifier: GPL-3.0-or-later
-->
<interface>
<interface domain="burn-my-windows">
<object class="GtkAdjustment" id="simple-fade-animation-time">
<property name="upper">5000</property>
<property name="upper">3000</property>
<property name="lower">100</property>
<property name="step-increment">10</property>
<property name="page-increment">100</property>
@@ -303,288 +307,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<property name="page-increment">0.1</property>
</object>
<object class="GtkBox" id="simple-fade-prefs">
<property name="orientation">vertical</property>
<child>
<object class="GtkFrame">
<child>
<object class="GtkListBox">
<property name="selection-mode">none</property>
<style>
<class name="rich-list" />
</style>
<child>
<object class="GtkListBoxRow">
<property name="margin-start">10</property>
<property name="margin-end">10</property>
<property name="margin-top">10</property>
<property name="margin-bottom">10</property>
<property name="activatable">0</property>
<child>
<object class="GtkBox">
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Animation Time [ms]</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
</object>
</child>
<child>
<object class="GtkScale">
<property name="halign">end</property>
<property name="valign">center</property>
<property name="draw-value">1</property>
<property name="digits">0</property>
<property name="value-pos">left</property>
<property name="width-request">300</property>
<property name="adjustment">simple-fade-animation-time</property>
</object>
</child>
<child>
<object class="GtkButton" id="reset-simple-fade-animation-time">
<child>
<object class="GtkImage">
<property name="icon-name">edit-clear-symbolic</property>
<property name="icon-size">1</property>
</object>
</child>
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
<style>
<class name="flat" />
</style>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkListBoxRow">
<property name="margin-start">10</property>
<property name="margin-end">10</property>
<property name="margin-top">10</property>
<property name="margin-bottom">10</property>
<property name="activatable">0</property>
<child>
<object class="GtkBox">
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Fade Width</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
</object>
</child>
<child>
<object class="GtkScale">
<property name="halign">end</property>
<property name="valign">center</property>
<property name="draw-value">1</property>
<property name="digits">2</property>
<property name="value-pos">left</property>
<property name="width-request">300</property>
<property name="adjustment">simple-fade-width</property>
</object>
</child>
<child>
<object class="GtkButton" id="reset-simple-fade-width">
<child>
<object class="GtkImage">
<property name="icon-name">edit-clear-symbolic</property>
<property name="icon-size">1</property>
</object>
</child>
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
<style>
<class name="flat" />
</style>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</interface>
```
</details>
<details>
<summary>Expand this to show the GTK4 code.</summary>
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
SPDX-FileCopyrightText: Your Name <your@email.com>
SPDX-License-Identifier: GPL-3.0-or-later
-->
<interface>
<object class="GtkAdjustment" id="simple-fade-animation-time">
<property name="upper">5000</property>
<property name="lower">100</property>
<property name="step-increment">10</property>
<property name="page-increment">100</property>
</object>
<object class="GtkAdjustment" id="simple-fade-width">
<property name="upper">1</property>
<property name="lower">0</property>
<property name="step-increment">0.01</property>
<property name="page-increment">0.1</property>
</object>
<object class="GtkBox" id="simple-fade-prefs">
<property name="orientation">vertical</property>
<child>
<object class="GtkFrame">
<child>
<object class="GtkListBox">
<property name="selection-mode">none</property>
<property name="show-separators">1</property>
<style>
<class name="rich-list" />
</style>
<child>
<object class="GtkListBoxRow">
<property name="activatable">0</property>
<child>
<object class="GtkBox">
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Animation Time [ms]</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
</object>
</child>
<child>
<object class="GtkScale">
<property name="halign">end</property>
<property name="valign">center</property>
<property name="draw-value">1</property>
<property name="digits">0</property>
<property name="value-pos">left</property>
<property name="width-request">300</property>
<property name="adjustment">simple-fade-animation-time</property>
</object>
</child>
<child>
<object class="GtkButton" id="reset-simple-fade-animation-time">
<property name="icon-name">edit-clear-symbolic</property>
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
<style>
<class name="flat" />
</style>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkListBoxRow">
<property name="activatable">0</property>
<child>
<object class="GtkBox">
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Fade Width</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
</object>
</child>
<child>
<object class="GtkScale">
<property name="halign">end</property>
<property name="valign">center</property>
<property name="draw-value">1</property>
<property name="digits">2</property>
<property name="value-pos">left</property>
<property name="width-request">300</property>
<property name="adjustment">simple-fade-width</property>
</object>
</child>
<child>
<object class="GtkButton" id="reset-simple-fade-width">
<property name="icon-name">edit-clear-symbolic</property>
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
<style>
<class name="flat" />
</style>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</interface>
```
</details>
<details>
<summary>Expand this to show the libadwaita code.</summary>
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
SPDX-FileCopyrightText: Your Name <your@email.com>
SPDX-License-Identifier: GPL-3.0-or-later
-->
<interface>
<object class="GtkAdjustment" id="simple-fade-animation-time">
<property name="upper">5000</property>
<property name="lower">100</property>
<property name="step-increment">10</property>
<property name="page-increment">100</property>
</object>
<object class="GtkAdjustment" id="simple-fade-width">
<property name="upper">1</property>
<property name="lower">0</property>
<property name="step-increment">0.01</property>
<property name="page-increment">0.1</property>
</object>
<object class="AdwActionRow" id="simple-fade-prefs">
<object class="AdwExpanderRow" id="simple-fade-prefs">
<child>
<object class="AdwActionRow">
@@ -647,21 +370,14 @@ SPDX-License-Identifier: GPL-3.0-or-later
### Loading the Preferences Page
In order to load the above `*.ui` files, add the following code to your effect's `getPreferences()` method.
In order to load the above `*.ui` file, add the following code to your effect's `bindPreferences()` method.
```javascript
static getPreferences(dialog) {
// Add the settings page to the builder.
dialog.getBuilder().add_from_resource(`/ui/${utils.getUIDir()}/SimpleFade.ui`);
static bindPreferences(dialog) {
// These connect the settings to the UI elements. Have a look at prefs.js
// on how to bind other types of UI elements.
dialog.bindAdjustment('simple-fade-animation-time');
dialog.bindAdjustment('simple-fade-width');
// Finally, return the new settings page.
return dialog.getBuilder().get_object('simple-fade-prefs');
}
```
@@ -677,4 +393,40 @@ make install && pkill -f '.Extensions' && sleep 2 ; gnome-extensions prefs burn-
That's it!
If you have any questions, feel free to [ask them on the discussions board](https://github.com/Schneegans/Burn-My-Windows/discussions).
If you are happy with your effect, submit a pull request, and it may get included in the next version!
If you are happy with your effect, submit a pull request, and it may get included in the next version!
## Install Dependencies (if needed)
the list below might not be 100% correct, please pull request if changes need to be made
### **Ubuntu**
```bash
sudo apt install make gettext libglib2.0-dev-bin clang-format
```
### **Fedora/RHEL**
```bash
sudo dnf install make gettext glib2-devel clang-format
```
### **Arch Linux**
```bash
sudo pacman -S base-devel gettext glib2 clang-format
```
### **openSUSE**
```bash
sudo zypper install make gettext-tools glib2-devel clang-format
```
### **Alpine Linux**
For minimal distributions like Alpine:
```bash
sudo apk add build-base gettext-dev glib-dev clang-format
```
### **Gentoo**
```bash
sudo emerge --ask sys-devel/make sys-devel/gettext dev-libs/glib clang-format
```
+11 -2
View File
@@ -3,5 +3,14 @@
The preview GIFs are recorded with OBS Studio at 1920x1080, cut to a length of exactly two seconds and converted to a GIF with the following command:
```bash
gifski --fps 30 -W 400 -H 225 -o effect.gif effect.mp4
```
gifski --fps 30 -W 320 -H 180 -o effect.gif effect.mp4
```
# gif Info
GIF length: 2 second(s)
GIF width/height: 320×180 pixels
number of frames: 60
number of colors: 256
loop count: 0 (endless)
The animation should starts 1s into the gif.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 415 KiB

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 927 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 623 KiB

After

Width:  |  Height:  |  Size: 433 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 862 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 646 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 958 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 949 KiB

After

Width:  |  Height:  |  Size: 758 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 544 KiB

After

Width:  |  Height:  |  Size: 357 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 387 KiB

After

Width:  |  Height:  |  Size: 366 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 615 KiB

After

Width:  |  Height:  |  Size: 504 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 975 KiB

After

Width:  |  Height:  |  Size: 536 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

After

Width:  |  Height:  |  Size: 593 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 567 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 414 KiB

After

Width:  |  Height:  |  Size: 261 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 792 KiB

After

Width:  |  Height:  |  Size: 348 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 491 KiB

After

Width:  |  Height:  |  Size: 391 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 840 KiB

After

Width:  |  Height:  |  Size: 676 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 928 KiB

After

Width:  |  Height:  |  Size: 739 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 936 KiB

After

Width:  |  Height:  |  Size: 603 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 442 KiB

After

Width:  |  Height:  |  Size: 294 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 203 KiB

After

Width:  |  Height:  |  Size: 215 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 821 KiB

After

Width:  |  Height:  |  Size: 660 KiB

+440 -409
View File
@@ -14,23 +14,46 @@
'use strict';
const {Clutter, Gio, Meta} = imports.gi;
import Gio from 'gi://Gio';
import Meta from 'gi://Meta';
const Main = imports.ui.main;
const Workspace = imports.ui.workspace.Workspace;
const WindowManager = imports.ui.windowManager.WindowManager;
import {fromVersion26} from './src/migrate.js';
import {ProfileManager} from './src/ProfileManager.js';
import {WindowPicker} from './src/WindowPicker.js';
import * as utils from './src/utils.js';
// The WindowPreview class is only available on GNOME Shell 3.38+;
let WindowPreview = null;
try {
WindowPreview = imports.ui.windowPreview.WindowPreview;
} catch (error) {
// Nothing to be done, we are on GNOME Shell 3.36.
}
import Apparition from './src/effects/Apparition.js';
import AuraGlow from './src/effects/AuraGlow.js';
import BrokenGlass from './src/effects/BrokenGlass.js';
import Doom from './src/effects/Doom.js';
import EnergizeA from './src/effects/EnergizeA.js';
import EnergizeB from './src/effects/EnergizeB.js';
import Fire from './src/effects/Fire.js';
import Focus from './src/effects/Focus.js';
import Glide from './src/effects/Glide.js';
import Glitch from './src/effects/Glitch.js';
import Hexagon from './src/effects/Hexagon.js';
import Incinerate from './src/effects/Incinerate.js';
import Matrix from './src/effects/Matrix.js';
import Mushroom from './src/effects/Mushroom.js';
import PaintBrush from './src/effects/PaintBrush.js';
import Pixelate from './src/effects/Pixelate.js';
import PixelWheel from './src/effects/PixelWheel.js';
import PixelWipe from './src/effects/PixelWipe.js';
import Portal from './src/effects/Portal.js';
import RGBWarp from './src/effects/RGBWarp.js';
import SnapOfDisintegration from './src/effects/SnapOfDisintegration.js';
import TeamRocket from './src/effects/TeamRocket.js';
import TRexAttack from './src/effects/TRexAttack.js';
import TVEffect from './src/effects/TVEffect.js';
import TVGlitch from './src/effects/TVGlitch.js';
import Wisps from './src/effects/Wisps.js';
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
import {Workspace} from 'resource:///org/gnome/shell/ui/workspace.js';
import {WindowPreview} from 'resource:///org/gnome/shell/ui/windowPreview.js';
import {Extension} from 'resource:///org/gnome/shell/extensions/extension.js';
const ExtensionUtils = imports.misc.extensionUtils;
const Me = imports.misc.extensionUtils.getCurrentExtension();
const utils = Me.imports.src.utils;
//////////////////////////////////////////////////////////////////////////////////////////
// This extensions modifies the window-close and window-open animations with all kinds //
@@ -41,7 +64,7 @@ const utils = Me.imports.src.utils;
// to get this working. For more details, read the other comments in this file... //
//////////////////////////////////////////////////////////////////////////////////////////
class Extension {
export default class BurnMyWindows extends Extension {
// ------------------------------------------------------------------------ public stuff
@@ -51,34 +74,55 @@ class Extension {
// New effects must be registered here and in prefs.js.
this._ALL_EFFECTS = [
new Me.imports.src.Apparition.Apparition(),
new Me.imports.src.BrokenGlass.BrokenGlass(),
new Me.imports.src.Doom.Doom(),
new Me.imports.src.EnergizeA.EnergizeA(),
new Me.imports.src.EnergizeB.EnergizeB(),
new Me.imports.src.Fire.Fire(),
new Me.imports.src.Glide.Glide(),
new Me.imports.src.Glitch.Glitch(),
new Me.imports.src.Hexagon.Hexagon(),
new Me.imports.src.Incinerate.Incinerate(),
new Me.imports.src.Matrix.Matrix(),
new Me.imports.src.Pixelate.Pixelate(),
new Me.imports.src.PixelWheel.PixelWheel(),
new Me.imports.src.PixelWipe.PixelWipe(),
new Me.imports.src.Portal.Portal(),
new Me.imports.src.SnapOfDisintegration.SnapOfDisintegration(),
new Me.imports.src.TRexAttack.TRexAttack(),
new Me.imports.src.TVEffect.TVEffect(),
new Me.imports.src.TVGlitch.TVGlitch(),
new Me.imports.src.Wisps.Wisps(),
new Apparition(), new AuraGlow(), new BrokenGlass(), new Doom(),
new EnergizeA(), new EnergizeB(), new Fire(), new Focus(),
new Glide(), new Glitch(), new Hexagon(), new Incinerate(),
new Matrix(), new PaintBrush(), new Pixelate(), new PixelWheel(),
new PixelWipe(), new Portal(), new RGBWarp(), new SnapOfDisintegration(),
new TeamRocket(), new TRexAttack(), new TVEffect(), new TVGlitch(),
new Wisps(), new Mushroom()
];
// Load all of our resources.
this._resources = Gio.Resource.load(Me.path + '/resources/burn-my-windows.gresource');
this._resources =
Gio.Resource.load(this.path + '/resources/burn-my-windows.gresource');
Gio.resources_register(this._resources);
// Store a reference to the settings object.
this._settings = ExtensionUtils.getSettings();
this._settings = this.getSettings();
// Now we check whether the extension settings need to be migrated from a previous
// version. If this is the case, we defer the profile loading until this is finished.
const lastVersion = this._settings.get_int('last-extension-version');
if (lastVersion < this.metadata.version) {
if (lastVersion <= 26) {
// If the profile migration fails for some reason, the callback will create a
// default profile instead.
fromVersion26().finally(() => {
this._loadProfiles();
this._settings.set_int('last-extension-version', this.metadata.version);
});
} else {
this._loadProfiles();
}
} else {
this._loadProfiles();
}
// We reload all effect profiles whenever the currently edited profile in the
// preferences dialog changes. This is most likely a bit too often, but it will also
// happen whenever a new profile is created and whenever an old profile is deleted.
this._settings.connect('changed::active-profile', () => {
this._loadProfiles();
});
// This is used to get the desktop's color scheme.
this._shellSettings = new Gio.Settings({schema: 'org.gnome.desktop.interface'});
// Enable the window-picking D-Bus API for the preferences dialog.
this._windowPicker = new WindowPicker();
this._windowPicker.export();
// We will use extensionThis to refer to the extension inside the patched methods.
const extensionThis = this;
@@ -100,178 +144,141 @@ class Extension {
}
// We will monkey-patch these methods. Let's store the original ones.
this._origShouldAnimateActor = Main.wm._shouldAnimateActor;
this._origWaitForOverviewToHide = Main.wm._waitForOverviewToHide;
this._origAddWindowClone = Workspace.prototype._addWindowClone;
this._origWindowRemoved = Workspace.prototype._windowRemoved;
this._origDoRemoveWindow = Workspace.prototype._doRemoveWindow;
this._origShouldAnimateActor = WindowManager.prototype._shouldAnimateActor;
this._origWaitForOverviewToHide = WindowManager.prototype._waitForOverviewToHide;
this._origDestroyWindowDone = WindowManager.prototype._destroyWindowDone;
// We will also override these animation times.
this._origWindowTime = imports.ui.windowManager.DESTROY_WINDOW_ANIMATION_TIME;
this._origDialogTime = imports.ui.windowManager.DIALOG_DESTROY_WINDOW_ANIMATION_TIME;
// ------------------------------- patching the window animations outside the overview
// ------------------------------------------------ patching the window-open animation
// Here we add an effect to the window-open animation. This is done whenever a new
// window is created. Usually, there is no real window animation for opening windows
// in the overview - only the window's clone is animated - but thanks to the hacks
// below, we can show the real animations in the overview.
// If a window is created the transitions are set up in the async _mapWindow of the
// If a window is created, the transitions are set up in the async _mapWindow() of the
// WindowManager:
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1452
// AFAIK, overriding this method is not possible as it's called by a signal to
// which it is bound via the bind() method. To tweak the async transition
// anyways, we override the actors ease() method once - the next time it will be
// called by the _mapWindow(), we will intercept it!
this._windowCreatedConnection =
global.display.connect('window-created', (d, metaWin) => {
let actor = metaWin.get_compositor_private();
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1436
// AFAIK, overriding this method is not possible as it's called by a signal to which
// it is bound via the bind() method. To tweak the async transition anyways, we
// override the actors ease() method once. We do this in _shouldAnimateActor() which
// is called right before the ease() in _mapWindow:
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1465
const orig = actor.ease;
actor.ease = function(...params) {
orig.apply(actor, params);
actor.ease = orig;
// The same trick is done for the window-close animation. This is set up in a similar
// fashion in the WindowManager's _destroyWindow():
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1525
// Here is _shouldAnimateActor() also called right before. So we use it again to
// monkey-patch the window actor's ease() once.
// There are cases where the ease() is called prior to mapping the actor. If
// the actor is not yet mapped, we defer the effect creation.
if (actor.mapped) {
extensionThis._setupEffect(actor, true);
} else {
const connectionID = actor.connect('notify::mapped', () => {
extensionThis._setupEffect(actor, true);
actor.disconnect(connectionID);
});
}
};
// We override WindowManager._shouldAnimateActor() also for another purpose: Usually,
// it returns false when we are in the overview. This prevents the window animations
// there. To enable animations in the overview, we check inside the method whether it
// was called by either _mapWindow or _destroyWindow. If so, we return true. Let's see
// if this breaks stuff left and right...
Main.wm._shouldAnimateActor = function(actor, types) {
const stack = (new Error()).stack;
const forClosing = stack.includes('_destroyWindow@');
const forOpening = stack.includes('_mapWindow@');
// This is also called in other cases, for instance when minimizing windows. We are
// only interested in window opening and window closing for now.
if (forClosing || forOpening) {
// If there is an applicable effect profile, we intercept the ease() method to
// setup our own effect.
const chosenEffect = extensionThis._chooseEffect(actor, forOpening);
if (chosenEffect) {
// Store the original ease() method of the actor.
const orig = actor.ease;
// Now intercept the next call to actor.ease().
actor.ease = function(...params) {
// There is a really weird issue in GNOME Shell 44: A few non-GTK windows are
// resized directly after they are mapped on X11. This happens for instance
// for keepassxc after it was closed in the maximized state. As the
// _mapWindow() method is called asynchronously, the window is not yet visible
// when the resize happens. Hence, our ease-override is called for the resize
// animation instead of the window-open or window-close animation. This is not
// what we want. So we check again whether the ease() call is for the
// window-open or window-close animation. If not, we just call the original
// ease() method. See also:
// https://github.com/Schneegans/Burn-My-Windows/issues/335
const stack = (new Error()).stack;
const forClosing = stack.includes('_destroyWindow@');
const forOpening = stack.includes('_mapWindow@');
if (forClosing || forOpening) {
// Quickly restore the original behavior. Nobody noticed, I guess :D
actor.ease = orig;
// And then create the effect!
extensionThis._setupEffect(actor, forOpening, chosenEffect.effect,
chosenEffect.profile);
} else {
orig.apply(this, params);
}
};
return true;
}
}
return extensionThis._origShouldAnimateActor.apply(this, [actor, types]);
};
// Make sure to remove any effects if requested by the window manager.
this._killEffectsSignal =
global.window_manager.connect('kill-window-effects', (wm, actor) => {
const shader = actor.get_effect('burn-my-windows-effect');
if (shader) {
shader.endAnimation();
}
});
// --------------------------------------------- fix window animations in the overview
// Some of the effects require that the window's actor is enlarged to provide a bigger
// canvas to draw the effects. Outside the overview we can simply increase the scale
// of the actor. However, if we are in the overview, we have to enlarge the clone of
// the window as well.
Workspace.prototype._addWindowClone = function(...params) {
const result = extensionThis._origAddWindowClone.apply(this, params);
const clone = extensionThis._origAddWindowClone.apply(this, params);
const container = clone.window_container;
const realWindow = params[0].get_compositor_private();
// The parameters of this method changed a bit through the versions...
let realWindow, clone;
// Store the overview clone as temporary members of the real window actor. When we
// set up the effect, we will check for the existence of these and enlarge the clone
// as needed.
realWindow._bmwOverviewClone = clone;
realWindow._bmwOverviewCloneContainer = container;
if (utils.shellVersionIs(3, 36)) {
clone = result[0];
realWindow = clone.realWindow;
} else if (utils.shellVersionIs(3, 38)) {
clone = result._windowContainer;
realWindow = params[0].get_compositor_private();
} else {
clone = result.window_container;
realWindow = params[0].get_compositor_private();
}
// Remove the temporary members again once the clone is deleted.
container.connect('destroy', () => {
delete realWindow._bmwOverviewClone;
delete realWindow._bmwOverviewCloneContainer;
});
// Syncing the real window's scale with the scale of its clone only works on GNOME
// Shell 3.38+. So effects cannot scale windows in the overview of GNOME 3.36...
if (utils.shellVersionIsAtLeast(3, 38)) {
const xID = realWindow.connect('notify::scale-x', () => {
if (realWindow.scale_x > 0 && clone.allocation.get_size()[0] > 0) {
clone.scale_x = realWindow.scale_x;
}
});
const yID = realWindow.connect('notify::scale-y', () => {
if (realWindow.scale_y > 0 && clone.allocation.get_size()[1] > 0) {
clone.scale_y = realWindow.scale_y;
}
});
clone.connect('destroy', () => {
realWindow.disconnect(xID);
realWindow.disconnect(yID);
});
}
// This is actually needed for the window-close animation on GNOME Shell 3.36.
// On GNOME 3.36, the window clone's 'destroy' handler only calls _removeWindowClone
// but not _doRemoveWindow. The latter is required to trigger the repositioning of
// the overview window layout. Therefore we call this method in addition.
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/gnome-3-36/js/ui/workspace.js#L1877
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1405
if (utils.shellVersionIs(3, 36)) {
clone.connect('destroy', () => this._doRemoveWindow(clone.metaWindow));
}
return result;
return clone;
};
// Usually, windows are faded in after the overview is completely hidden. We enable
// window-open animations by not waiting for this.
WindowManager.prototype._waitForOverviewToHide = async function() {
Main.wm._waitForOverviewToHide = async function() {
return Promise.resolve();
};
// Here comes the ULTRA-HACK: The method below is called (amongst others) by the
// _destroyWindow and _mapWindow methods of the WindowManager. Usually, it returns
// false when we are in the overview. This prevents the window animations. As we
// cannot monkey-patch the _destroyWindow or _mapWindow methods themselves, we check
// inside the method below whether it was called by either of those. If so, we return
// true. Let's see if this breaks stuff left and right...
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1124
WindowManager.prototype._shouldAnimateActor = function(...params) {
const caller = (new Error()).stack.split('\n')[1];
if (caller.includes('_destroyWindow@') || caller.includes('_mapWindow@')) {
return true;
}
return extensionThis._origShouldAnimateActor.apply(this, params);
};
// ----------------------------------------------- patching the window-close animation
// The signal handler below and the following patch are all which is required outside
// of the overview. All other hacks further below are just required to defer the
// window-hiding in the overview until the effect is finished.
// The close animation is set up in WindowManager's _destroyWindow:
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1541
// As we cannot monkey-patch the _destroyWindow itself, we connect to the 'destroy'
// signal of the window manager and tweak the animation to our needs.
this._destroyConnection = global.window_manager.connect('destroy', (wm, actor) => {
this._setupEffect(actor, false);
});
// Once the window-close animation is is finished, the window manager's
// _destroyWindowDone is called. We use this to free the effect so that it can be
// re-used in future.
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1541
WindowManager.prototype._destroyWindowDone = function(shellwm, actor) {
if (this._destroying.has(actor)) {
const shader = actor.get_effect('burn-my-windows-effect');
if (shader) {
actor.remove_effect(shader);
shader.endAnimation();
shader.returnToFactory();
}
}
// Call the original method.
extensionThis._origDestroyWindowDone.apply(this, [shellwm, actor]);
};
// These three method overrides are mega-hacky! Usually, windows are not faded when
// closed from the overview (why?). With these overrides we make sure that they are
// actually faded out. To do this, _windowRemoved and _doRemoveWindow now check
// whether there is a transition ongoing (via extensionThis._shouldDestroy). If that's
// the case, these methods do nothing. Are the actors removed in the end? I hope so.
// The _destroyWindow of the WindowManager sets the transitions up and should take
// care of removing the actors at the end of the transitions.
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1301
// the case, these methods do nothing.
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1258
Workspace.prototype._windowRemoved = function(ws, metaWin) {
if (extensionThis._shouldDestroy(this, metaWin)) {
extensionThis._origWindowRemoved.apply(this, [ws, metaWin]);
}
};
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1180
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1137
Workspace.prototype._doRemoveWindow = function(metaWin) {
if (extensionThis._shouldDestroy(this, metaWin)) {
extensionThis._origDoRemoveWindow.apply(this, [metaWin]);
@@ -279,53 +286,50 @@ class Extension {
};
// With the code below, we hide the window-overlay (icon, label, close button) in the
// overview once the close-animation is running. As the WindowPreview class is only
// available on GNOME 3.38 and beyond, we cannot hide the overlay on GNOME 3.36.
if (WindowPreview) {
// overview once the close-animation is running.
// We will monkey-patch these methods.
this._origDeleteAll = WindowPreview.prototype._deleteAll;
this._origRestack = WindowPreview.prototype._restack;
this._origInit = WindowPreview.prototype._init;
// We will monkey-patch these methods.
this._origDeleteAll = WindowPreview.prototype._deleteAll;
this._origRestack = WindowPreview.prototype._restack;
this._origInit = WindowPreview.prototype._init;
// Whenever a WindowPreview is created, we connect to the referenced Meta.Window's
// 'unmanaged' signal to hide the overlay.
WindowPreview.prototype._init = function(...params) {
extensionThis._origInit.apply(this, params);
// Whenever a WindowPreview is created, we connect to the referenced Meta.Window's
// 'unmanaged' signal to hide the overlay.
WindowPreview.prototype._init = function(...params) {
extensionThis._origInit.apply(this, params);
// Hide the window's icon, name, and close button.
const connectionID = this.metaWindow.connect('unmanaged', () => {
if (this.window_container) {
this.overlayEnabled = false;
this._icon.visible = false;
}
});
// Make sure to not call the callback above if the Meta.Window was not unmanaged
// before leaving the overview.
this.connect('destroy', () => {
this.metaWindow.disconnect(connectionID);
});
};
// The _deleteAll is called when the user clicks the X in the overview. We should
// not attempt to close windows twice. Due to the animation in the overview, the
// close button can be clicked twice which normally would lead to a crash.
WindowPreview.prototype._deleteAll = function() {
if (!this._closeRequested) {
extensionThis._origDeleteAll.apply(this);
// Hide the window's icon, name, and close button.
const connectionID = this.metaWindow.connect('unmanaged', () => {
if (this.window_container) {
this.overlayEnabled = false;
this._icon.visible = false;
}
};
});
// This is required, else WindowPreview's _restack() which is called by the
// "this.overlayEnabled = false", sometimes tries to access an already delete
// WindowPreview.
WindowPreview.prototype._restack = function() {
if (!this._closeRequested) {
extensionThis._origRestack.apply(this);
}
};
}
// Make sure to not call the callback above if the Meta.Window was not unmanaged
// before leaving the overview.
this.connect('destroy', () => {
this.metaWindow.disconnect(connectionID);
});
};
// The _deleteAll is called when the user clicks the X in the overview. We should
// not attempt to close windows twice. Due to the animation in the overview, the
// close button can be clicked twice which normally would lead to a crash.
WindowPreview.prototype._deleteAll = function() {
if (!this._closeRequested) {
extensionThis._origDeleteAll.apply(this);
}
};
// This is required, else WindowPreview's _restack() which is called by the
// "this.overlayEnabled = false", sometimes tries to access an already delete
// WindowPreview.
WindowPreview.prototype._restack = function() {
if (!this._closeRequested) {
extensionThis._origRestack.apply(this);
}
};
}
// This function could be called after the extension is uninstalled, disabled in GNOME
@@ -338,116 +342,207 @@ class Extension {
// Unregister our resources.
Gio.resources_unregister(this._resources);
// Disable the window-picking D-Bus API.
this._windowPicker.unexport();
global.window_manager.disconnect(this._killEffectsSignal);
// Restore the original window-open and window-close animations.
global.window_manager.disconnect(this._destroyConnection);
global.display.disconnect(this._windowCreatedConnection);
Workspace.prototype._addWindowClone = this._origAddWindowClone;
Workspace.prototype._windowRemoved = this._origWindowRemoved;
Workspace.prototype._doRemoveWindow = this._origDoRemoveWindow;
Main.wm._shouldAnimateActor = this._origShouldAnimateActor;
Main.wm._waitForOverviewToHide = this._origWaitForOverviewToHide;
Workspace.prototype._addWindowClone = this._origAddWindowClone;
Workspace.prototype._windowRemoved = this._origWindowRemoved;
Workspace.prototype._doRemoveWindow = this._origDoRemoveWindow;
WindowManager.prototype._shouldAnimateActor = this._origShouldAnimateActor;
WindowManager.prototype._waitForOverviewToHide = this._origWaitForOverviewToHide;
WindowManager.prototype._destroyWindowDone = this._origDestroyWindowDone;
imports.ui.windowManager.DESTROY_WINDOW_ANIMATION_TIME = this._origWindowTime;
imports.ui.windowManager.DIALOG_DESTROY_WINDOW_ANIMATION_TIME = this._origDialogTime;
if (WindowPreview) {
WindowPreview.prototype._deleteAll = this._origDeleteAll;
WindowPreview.prototype._restack = this._origRestack;
WindowPreview.prototype._init = this._origInit;
}
WindowPreview.prototype._deleteAll = this._origDeleteAll;
WindowPreview.prototype._restack = this._origRestack;
WindowPreview.prototype._init = this._origInit;
this._settings = null;
}
// ----------------------------------------------------------------------- private stuff
// This method adds one of the configured effects to the given actor. If forOpening is
// set to true, a effect from the enabled window-open animations is chosen, else an
// enabled window-close animation is used. This will also tweak the transitions of the
// given actor (e.g. scale it up if required).
_setupEffect(actor, forOpening) {
// This loads all effect profiles and assigns a priority to each profile. Whenever a
// window is opened or closed, the matching effect profile with the highest priority
// will be chosen.
// This method is called whenever the currently edited profile in the/ preferences
// dialog changes. This is most likely a bit too often, but it will also happen whenever
// a new profile is created and whenever an old profile is deleted.
_loadProfiles() {
// Only add effects to normal windows and dialog windows.
// Get all currently available profiles.
const profileManager = new ProfileManager(this.metadata);
this._profiles = profileManager.getProfiles();
// Whenever the properties of a profile is changed in the settings, we may have to
// resort all profiles according to their priority.
const updatePriority = (p) => {
p.priority = profileManager.getProfilePriority(p.settings);
this._profiles.sort((a, b) => b.priority - a.priority);
};
// For each profile, assign an initial priority and update the priority whenever a
// related setting changes.
this._profiles.forEach(p => {
p.priority = profileManager.getProfilePriority(p.settings);
p.settings.connect('changed::profile-app', () => updatePriority(p));
p.settings.connect('changed::profile-animation-type', () => updatePriority(p));
p.settings.connect('changed::profile-window-type', () => updatePriority(p));
p.settings.connect('changed::profile-color-scheme', () => updatePriority(p));
p.settings.connect('changed::profile-power-mode', () => updatePriority(p));
p.settings.connect('changed::profile-power-profile', () => updatePriority(p));
p.settings.connect('changed::profile-high-priority', () => updatePriority(p));
});
// Sort all profiles initially according to their initial priority.
this._profiles.sort((a, b) => b.priority - a.priority);
}
// This method selects an effect profile matching the current circumstances. Then a
// random effect from its enabled effects will be selected. It returns null if no
// profile is currently applicable.
_chooseEffect(actor, forOpening) {
// For now, we only add effects to normal windows and dialog windows.
const isNormalWindow = actor.meta_window.window_type == Meta.WindowType.NORMAL;
const isDialogWindow =
actor.meta_window.window_type == Meta.WindowType.MODAL_DIALOG ||
actor.meta_window.window_type == Meta.WindowType.DIALOG;
if (!isNormalWindow && !isDialogWindow) {
return;
return null;
}
// We do nothing if a dialog got closed and we should not burn them.
const shouldDestroyDialogs = this._settings.get_boolean('destroy-dialogs');
// ----------------------------------------------- choose a profile and then an effect
// If an effect is to be previewed, we have to affect dialogs es well. This is
// because the preview window is a dialog window...
const action = forOpening ? 'open' : 'close';
const previewNick = this._settings.get_string(action + '-preview-effect');
// Usually, we use the effect profile with the highest priority which matches the
// current circumstances. From this profile, we choose a random effect. However, if an
// effect is to be previewed, we choose the currently edited profile regardless of the
// circumstances.
let profile = null;
let effect = null;
if (isDialogWindow && !shouldDestroyDialogs && previewNick == '') {
this._fixAnimationTimes(isDialogWindow, forOpening, null);
return;
// Hence, we first check if an effect is to be previewed.
const previewNick = this._settings.get_string('preview-effect');
if (previewNick != '') {
const activeProfile = this._settings.get_string('active-profile');
effect =
this._ALL_EFFECTS.find(effect => effect.constructor.getNick() == previewNick);
profile = this._profiles.find(p => p.path == activeProfile);
// Only preview the effect until the preview window is closed.
if (!profile || !forOpening) {
this._settings.set_string('preview-effect', '');
}
}
// If no effect is previewed, we use the effect profile with the highest priority
// which matches the current circumstances. From this profile, we choose a random
// effect.
else {
// These numbers match the indices in the Gtk.StringLists defined in the UI files
// (e.g. resources/ui/adw/prefs.ui).
const animationType = forOpening ? 1 : 2;
const windowType = isNormalWindow ? 1 : 2;
const powerMode = this._upowerProxy.OnBattery ? 1 : 2;
// Get the first profile whose constraints match the circumstances. The list is
// sorted by priority, so we are good to take the first match.
profile = this._profiles.find(p => {
const profileApp = p.settings.get_string('profile-app');
const profileAnimationType = p.settings.get_int('profile-animation-type');
const profileWindowType = p.settings.get_int('profile-window-type');
const profilePowerMode = p.settings.get_int('profile-power-mode');
const profileColorScheme = p.settings.get_int('profile-color-scheme');
const profilePowerProfile = p.settings.get_int('profile-power-profile');
// First we check whether the animation type, window type, and power mode are
// matching.
let matches =
(profileAnimationType == 0 || profileAnimationType == animationType) &&
(profileWindowType == 0 || profileWindowType == windowType) &&
(profilePowerMode == 0 || profilePowerMode == powerMode);
// If that was the case, we also check the application name.
if (matches && profileApp != '') {
const wmClass = actor.meta_window.get_wm_class();
if (wmClass) {
const app = wmClass.toLowerCase();
// Split app names at |, remove any whitespace, and transform to lower case.
const profileApps =
profileApp.split('|').map(item => item.trim().toLowerCase());
matches = profileApps.includes(app);
} else {
matches = false;
}
}
// If the profile is still matching, we also check the color scheme.
if (matches && profileColorScheme != 0) {
const colorScheme = this._shellSettings.get_string('color-scheme');
matches &= (profileColorScheme == 1 && colorScheme == 'default') ||
(profileColorScheme == 2 && colorScheme == 'prefer-dark');
}
// Finally, we may also have to check the power profile.
if (matches && profilePowerProfile != 0 && this._powerProfilesProxy) {
const powerProfile = this._powerProfilesProxy.ActiveProfile;
// To understand the numbers, please refer to the indices in the Gtk.StringList
// of the profile-power-profile Adw.ComboRow in resources/ui/adw/prefs.ui.
if (powerProfile == 'power-saver') {
matches &= profilePowerProfile == 1 || profilePowerProfile == 4;
} else if (powerProfile == 'balanced') {
matches &= profilePowerProfile == 2 || profilePowerProfile == 4 ||
profilePowerProfile == 5;
} else {
matches &= profilePowerProfile == 3 || profilePowerProfile == 5;
}
}
return matches;
});
// If we found a matching profile, choose a random effect from it.
if (profile) {
// Create a list of all enabled effects of this profile.
const enabled = this._ALL_EFFECTS.filter(effect => {
return profile.settings.get_boolean(
`${effect.constructor.getNick()}-enable-effect`);
});
// And then choose a random effect.
if (enabled.length > 0) {
effect = enabled[Math.floor(Math.random() * enabled.length)];
}
}
}
// We may have to do nothing if running on battery power or if in power-save mode.
let disableOnBattery =
this._settings.get_boolean('disable-on-battery') && this._upowerProxy.OnBattery;
let disableOnPowerSave = this._settings.get_boolean('disable-on-power-save') &&
this._powerProfilesProxy && this._powerProfilesProxy.ActiveProfile == 'power-saver';
if ((disableOnBattery || disableOnPowerSave) && previewNick == '') {
this._fixAnimationTimes(isDialogWindow, forOpening, null);
return;
// If nothing was enabled, we have to do nothing :)
if (!effect || !profile) {
return null;
}
return {effect: effect, profile: profile};
}
// This method adds the given effect using the settings from the given profile to the
// given actor.
_setupEffect(actor, forOpening, effect, profile) {
// There is the weird case where an animation is already ongoing. This happens when a
// window is closed which has been created before the session was started (e.g. when
// GNOME Shell has been restarted in the meantime).
const oldShader = actor.get_effect('burn-my-windows-effect');
if (oldShader) {
actor.remove_effect(oldShader);
oldShader.endAnimation();
oldShader.returnToFactory();
}
// ------------------------------------------------------------------ choose an effect
// Now we chose a random effect from all enabled effects.
let effect = null;
// First we check if an effect is to be previewed.
if (previewNick != '') {
effect = this._ALL_EFFECTS.find(effect => effect.getNick() == previewNick);
// Only preview the effect once.
this._settings.set_string(action + '-preview-effect', '');
}
// Else we choose a random effect from all enabled effects.
else {
// Therefore, we first create a list of all currently enabled effects.
const enabled = this._ALL_EFFECTS.filter(effect => {
return this._settings.get_boolean(`${effect.getNick()}-${action}-effect`);
});
// And then choose a random effect.
if (enabled.length > 0) {
effect = enabled[Math.floor(Math.random() * enabled.length)];
}
}
// If nothing was enabled, we have to do nothing :)
if (effect == null) {
this._fixAnimationTimes(isDialogWindow, forOpening, null);
return;
}
// ----------------------------------------------------------- tweak actor transitions
// If we are currently performing integration test, all animations are set to a fixed
// duration and show a fixed frame from the middle of the animation.
const testMode = this._settings.get_boolean('test-mode');
@@ -456,123 +551,68 @@ class Extension {
// windows are faded in / out scaled up / down slightly by GNOME Shell. Here, we tweak
// the transitions so that nothing changes. The window stays opaque and is scaled to
// actorScale.
const actorScale = effect.getActorScale(this._settings, forOpening, actor);
const actorScale =
effect.constructor.getActorScale(profile.settings, forOpening, actor);
// To make things deterministic during testing, we set the effect duration to 5
// seconds.
const duration =
testMode ? 5000 : this._settings.get_int(effect.getNick() + '-animation-time');
// All animations are relative to the window's center.
// All scaling is relative to the window's center.
actor.set_pivot_point(0.5, 0.5);
actor.opacity = 255;
actor.scale_x = actorScale.x;
actor.scale_y = actorScale.y;
// We tweak the opacity and scale of the actor. If there is no ongoing transition for
// a property, a new one is set up.
const config = {'opacity': 255, 'scale-x': actorScale.x, 'scale-y': actorScale.y};
for (const property in config) {
let transition = actor.get_transition(property);
// If there is currently no ongoing transition, we create a new one. Clutter does
// not like to create transitions with the same start and end value - however, we
// need at least one transition for our progress value in the shader. So we trick
// Clutter by creating an arbitrary transition first and then modifying the start
// and end values according to our config object.
if (!transition) {
actor.set_property(property, 0);
actor.save_easing_state();
actor.set_easing_duration(1000);
actor.set_property(property, 1);
actor.restore_easing_state();
// Now there should be a transition!
transition = actor.get_transition(property);
}
// Tweak the transition according to the config object. For some reason, there are
// rare cases, where no transition is set up. This happens from time to time...
if (transition) {
transition.set_duration(duration);
transition.set_to(config[property]);
transition.set_from(config[property]);
transition.set_progress_mode(Clutter.AnimationMode.LINEAR);
}
// If we are in the overview, we have to enlarge the window's clone as well. We also
// disable the clone's overlay (e.g. its icon, name, and close button) during the
// animation.
if (actor._bmwOverviewClone) {
actor._bmwOverviewClone.overlayEnabled = false;
actor._bmwOverviewCloneContainer.set_pivot_point(0.5, 0.5);
actor._bmwOverviewCloneContainer.scale_x = actorScale.x;
actor._bmwOverviewCloneContainer.scale_y = actorScale.y;
}
// Once the transitions are finished, we restore the original actor size.
if (forOpening) {
const connectionID = actor.connect('transitions-completed', () => {
actor.scale_x = 1.0;
actor.scale_y = 1.0;
actor.disconnect(connectionID);
});
}
// -------------------------------------------------------------------- add the shader
// Now add a cool shader to our window actor!
const shader = effect.shaderFactory.getShader();
// There should always be an opacity transition going on...
const transition = actor.get_transition('opacity');
if (!transition) {
this._fixAnimationTimes(isDialogWindow, forOpening, null);
utils.debug('Cannot setup shader without opacity transition.')
return;
}
// Assign the effect to the window actor!
actor.add_effect_with_name('burn-my-windows-effect', shader);
// Set one-time uniforms.
shader.beginAnimation(this._settings, forOpening, duration * 0.001, actor);
// At the end of the animation, we restore the scale of the overview clone (if any)
// and call the methods which would have been called by the original ease() calls at
// the end of the standard fade-in animation.
const endID = shader.connect('end-animation', () => {
shader.disconnect(endID);
// Set other uniforms each frame.
transition.connect('new-frame', (t) => {
if (testMode) {
shader.updateAnimation(0.5);
if (actor._bmwOverviewClone) {
actor._bmwOverviewClone.overlayEnabled = true;
actor._bmwOverviewCloneContainer.scale_x = 1.0;
actor._bmwOverviewCloneContainer.scale_y = 1.0;
}
// Restore the original scale of the window actor.
actor.scale_x = 1.0;
actor.scale_y = 1.0;
// Remove the shader and mark it being re-usable for future animations.
actor.remove_effect(shader);
shader.returnToFactory();
// Finally, once the animation is done or interrupted, we call the methods which
// should have been called by the original ease() methods.
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1487
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1558.
if (forOpening) {
Main.wm._mapWindowDone(global.window_manager, actor);
} else {
shader.updateAnimation(t.get_progress());
Main.wm._destroyWindowDone(global.window_manager, actor);
}
});
// Remove the effect if the animation finished or was interrupted.
if (forOpening) {
transition.connect('stopped', () => {
const oldShader = actor.get_effect('burn-my-windows-effect');
if (oldShader) {
actor.remove_effect(oldShader);
oldShader.endAnimation();
oldShader.returnToFactory();
}
});
}
// To make things deterministic during testing, we set the effect duration to 8
// seconds.
const duration = testMode ?
8000 :
profile.settings.get_int(effect.constructor.getNick() + '-animation-time');
// Finally, ensure that all animation times are set properly so that other extensions
// may guess how long it will take until windows are gone :)
this._fixAnimationTimes(isDialogWindow, forOpening, duration);
}
// The code below is not necessary for Burn-My-Windows to function. However, there
// are some extensions such as "Show Application View When Workspace Empty"
// https://extensions.gnome.org/extension/2036/show-application-view-when-workspace-empty/
// which do something *after* a window was closed. As the window-close animation
// duration depends on the used effect, this may vary each time a window is
// closed. We set the currently used time here, so that others can get an idea how
// long this will take...
_fixAnimationTimes(isDialogWindow, forOpening, duration) {
if (!forOpening) {
if (isDialogWindow) {
imports.ui.windowManager.DIALOG_DESTROY_WINDOW_ANIMATION_TIME =
duration != null ? duration : this._origDialogTime;
} else {
imports.ui.windowManager.DESTROY_WINDOW_ANIMATION_TIME =
duration != null ? duration : this._origWindowTime;
}
}
// Finally start the animation!
shader.beginAnimation(profile.settings, forOpening, testMode, duration, actor);
}
// This is required to enable window-close animations in the overview. See the comment
@@ -583,18 +623,9 @@ class Extension {
return true;
}
// This was called "realWindow" in GNOME 3.36.
const propertyName = utils.shellVersionIs(3, 36) ? 'realWindow' : '_windowActor';
const actor = workspace._windows[index][propertyName];
if (!actor.get_transition('scale-y')) {
return true;
}
const actor = workspace._windows[index]._windowActor;
const shader = actor.get_effect('burn-my-windows-effect');
return false;
return shader == null;
}
}
// This function is called once when the extension is loaded, not enabled.
function init() {
return new Extension();
}
+210
View File
@@ -0,0 +1,210 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
SPDX-License-Identifier: GPL-3.0-or-later
-->
<ui version="4.0">
<class>BMWConfigForm</class>
<widget class="QWidget" name="BMWConfigForm">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>562</width>
<height>353</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Animation Time [ms]</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="kcfg_Duration">
<property name="minimum">
<number>100</number>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="singleStep">
<number>100</number>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="kcfg_RandomColor">
<property name="text">
<string>Random Color</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Start Hue</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QDoubleSpinBox" name="kcfg_StartHue">
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>0.500000000000000</double>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Speed</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QDoubleSpinBox" name="kcfg_Speed">
<property name="minimum">
<double>-5.000000000000000</double>
</property>
<property name="maximum">
<double>5.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Saturation</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QDoubleSpinBox" name="kcfg_Saturation">
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Edge Size</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QDoubleSpinBox" name="kcfg_EdgeSize">
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Edge Hardness</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QDoubleSpinBox" name="kcfg_EdgeHardness">
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Blur Amount</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QDoubleSpinBox" name="kcfg_BlurAmount">
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>30.000000000000000</double>
</property>
<property name="singleStep">
<double>1.000000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
<resources />
<connections />
</ui>
+36
View File
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
SPDX-License-Identifier: GPL-3.0-or-later
-->
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
<kcfgfile name="" />
<group name="">
<entry name="Duration" type="UInt">
<default>750</default>
</entry>
<entry name="RandomColor" type="Bool">
<default>false</default>
</entry>
<entry name="StartHue" type="Double">
<default>0.0</default>
</entry>
<entry name="Speed" type="Double">
<default>2.5</default>
</entry>
<entry name="Saturation" type="Double">
<default>0.75</default>
</entry>
<entry name="EdgeSize" type="Double">
<default>0.75</default>
</entry>
<entry name="EdgeHardness" type="Double">
<default>0.25</default>
</entry>
<entry name="BlurAmount" type="Double">
<default>15.0</default>
</entry>
</group>
</kcfg>
+8
View File
@@ -0,0 +1,8 @@
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
// 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 a window is closed or opened.
let seed = [Math.random(), Math.random()];
effect.setUniform(this.shader, 'uSeed', seed);
+15
View File
@@ -0,0 +1,15 @@
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
// 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, 'uSpeed', effect.readConfig('Speed', 1.0));
effect.setUniform(this.shader, 'uRandomColor',
effect.readConfig('RandomColor', true) ? 1.0 : 0.0);
effect.setUniform(this.shader, 'uStartHue', effect.readConfig('StartHue', 1.0));
effect.setUniform(this.shader, 'uSaturation', effect.readConfig('Saturation', 1.0));
effect.setUniform(this.shader, 'uBlur', effect.readConfig('BlurAmount', 1.0));
effect.setUniform(this.shader, 'uEdgeSize', effect.readConfig('EdgeSize', 1.0));
effect.setUniform(this.shader, 'uEdgeHardness', effect.readConfig('EdgeHardness', 1.0));
+30 -4
View File
@@ -38,14 +38,24 @@ for file in ../po/*.po; do
msgfmt "$file" -o "$BUILD_DIR/locale/$lang/LC_MESSAGES/burn-my-windows.mo"
done
# This method is called one for each effect. The parameters are as follows:
# This method is called once for each effect. The parameters are as follows:
# $1: The nick of the effect (e.g. "energize-a")
# $2: The name of the effect (e.g. "Energize A")
# $3: A short description of the effect (e.g. "Beam your windows away")
generate() {
generate_impl "$1" "$2" "$3" "kwin5"
generate_impl "$1" "$2" "$3" "kwin6"
}
# This method is called twice for each effect. The parameters are as follows:
# $1: The nick of the effect (e.g. "energize-a")
# $2: The name of the effect (e.g. "Energize A")
# $3: A short description of the effect (e.g. "Beam your windows away")
# #4: Either "kwin5" or "kwin6".
generate_impl() {
# We use the nick for the effect's directory name by replacing dashes with underscoares.
DIR_NAME="kwin4_effect_$(echo "$1" | tr '-' '_')"
DIR_NAME="${4}_effect_$(echo "$1" | tr '-' '_')"
# We transform the nick to CamelCase for the JavaScript class name.
EFFECT_CLASS="BurnMyWindows$(sed -r 's/(^|-)(\w)/\U\2/g' <<<"$1")Effect"
@@ -106,6 +116,11 @@ generate() {
{
echo "#version 140"
echo "#define KWIN"
if [ "$4" == "kwin6" ]; then
echo "#define PLASMA6"
fi
echo ""
echo "// This file is automatically generated during the build process."
echo ""
@@ -115,6 +130,11 @@ generate() {
{
echo "#define KWIN_LEGACY"
if [ "$4" == "kwin6" ]; then
echo "#define PLASMA6"
fi
echo ""
echo "// This file is automatically generated during the build process."
echo ""
@@ -130,14 +150,16 @@ generate() {
# Create an archive which can be uploaded to https://store.kde.org.
# shellcheck disable=SC2046
tar -cjf "$DIR_NAME.tar.gz" -C "$BUILD_DIR/$DIR_NAME" $(ls "$BUILD_DIR/$DIR_NAME")
tar -czf "$DIR_NAME.tar.gz" -C "$BUILD_DIR/$DIR_NAME" $(ls "$BUILD_DIR/$DIR_NAME")
}
# Now run the above method for all supported effects.
generate "aura-glow" "Aura Glow [Burn-My-Windows]" "A radiant edge-lit animation"
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"
@@ -146,10 +168,14 @@ generate "pixelate" "Pixelate [Burn-My-Windows]" "Pixelate the window and
generate "pixel-wheel" "Pixel Wheel [Burn-My-Windows]" "Pixelate the window and hide the pixels in a wheel-like fashion"
generate "pixel-wipe" "Pixel Wipe [Burn-My-Windows]" "Pixelate the window and hide the pixels radially, starting from the pointer position"
generate "portal" "Portal [Burn-My-Windows]" "Transfer your windows to other locations in space and time"
generate "rgbwarp" "RGB Warp [Burn-My-Windows]" "Red Blue and Green go bye bye"
generate "team-rocket" "Team Rocket [Burn-My-Windows]" "... is blasting off again!"
generate "tv" "TV Effect [Burn-My-Windows]" "Make windows close like turning off a TV"
generate "tv-glitch" "TV Glitch [Burn-My-Windows]" "Make your windows close like a very glitchy old-school TV"
generate "wisps" "Wisps [Burn-My-Windows]" "Let your windows be carried away to the realm of dreams by these little fairies"
# Finally, create an archive for the effects.
# shellcheck disable=SC2046
tar -cjf "burn_my_windows_kwin4.tar.gz" -C "$BUILD_DIR" $(ls "$BUILD_DIR")
cd "$BUILD_DIR"
tar -czf "../burn_my_windows_kwin5.tar.gz" kwin5*
tar -czf "../burn_my_windows_kwin6.tar.gz" kwin6*
+147 -140
View File
@@ -6,145 +6,152 @@ SPDX-License-Identifier: GPL-3.0-or-later
-->
<ui version="4.0">
<class>BMWConfigForm</class>
<widget class="QWidget" name="BMWConfigForm">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>562</width>
<height>365</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="4" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Gradient</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="kcfg_Duration">
<property name="minimum">
<number>100</number>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="singleStep">
<number>100</number>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QDoubleSpinBox" name="kcfg_Scale">
<property name="minimum">
<double>0.100000000000000</double>
</property>
<property name="maximum">
<double>10.000000000000000</double>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Speed</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QDoubleSpinBox" name="kcfg_MovementSpeed">
<property name="minimum">
<double>-5.000000000000000</double>
</property>
<property name="maximum">
<double>5.000000000000000</double>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Scale</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="4" column="1">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="KColorButton" name="kcfg_Gradient1">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="KColorButton" name="kcfg_Gradient2">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="KColorButton" name="kcfg_Gradient3">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="KColorButton" name="kcfg_Gradient4">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="KColorButton" name="kcfg_Gradient5">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item row="7" column="1">
<widget class="QCheckBox" name="kcfg_3DNoise">
<property name="text">
<string>3D Noise</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Animation Time [ms]</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
</layout>
<class>BMWConfigForm</class>
<widget class="QWidget" name="BMWConfigForm">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>562</width>
<height>365</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Animation Time [ms]</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
<customwidgets>
<customwidget>
<class>KColorButton</class>
<extends>QPushButton</extends>
<header>kcolorbutton.h</header>
</customwidget>
</customwidgets>
<resources />
<connections />
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="kcfg_Duration">
<property name="minimum">
<number>100</number>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="singleStep">
<number>100</number>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Scale</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QDoubleSpinBox" name="kcfg_Scale">
<property name="minimum">
<double>0.100000000000000</double>
</property>
<property name="maximum">
<double>10.000000000000000</double>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Speed</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QDoubleSpinBox" name="kcfg_MovementSpeed">
<property name="minimum">
<double>-5.000000000000000</double>
</property>
<property name="maximum">
<double>5.000000000000000</double>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Gradient</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item row="3" column="1">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="KColorButton" name="kcfg_Gradient1">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="KColorButton" name="kcfg_Gradient2">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="KColorButton" name="kcfg_Gradient3">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="KColorButton" name="kcfg_Gradient4">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="KColorButton" name="kcfg_Gradient5">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item row="4" column="1">
<widget class="QCheckBox" name="kcfg_3DNoise">
<property name="text">
<string>3D Noise</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QCheckBox" name="kcfg_RandomColor">
<property name="text">
<string>Use Random Color</string>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>KColorButton</class>
<extends>QPushButton</extends>
<header>kcolorbutton.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>
+3
View File
@@ -36,5 +36,8 @@ SPDX-License-Identifier: GPL-3.0-or-later
<entry name="3DNoise" type="Bool">
<default>false</default>
</entry>
<entry name="RandomColor" type="Bool">
<default>false</default>
</entry>
</group>
</kcfg>
+8
View File
@@ -0,0 +1,8 @@
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
// 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 a window is closed or opened.
let seed = Math.random();
effect.setUniform(this.shader, 'uSeed', seed);
+2
View File
@@ -8,6 +8,8 @@
effect.setUniform(this.shader, 'uDuration', this.duration * 0.001);
effect.setUniform(this.shader, 'u3DNoise',
effect.readConfig('3DNoise', true) ? 1.0 : 0.0);
effect.setUniform(this.shader, 'uRandomColor',
effect.readConfig('RandomColor', true) ? 1.0 : 0.0);
effect.setUniform(this.shader, 'uScale', effect.readConfig('Scale', 1.0));
effect.setUniform(this.shader, 'uMovementSpeed', effect.readConfig('MovementSpeed', 1.0));
effect.setUniform(this.shader, 'uGradient1', this.readRGBAConfig('Gradient1'));
+93
View File
@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
SPDX-License-Identifier: GPL-3.0-or-later
-->
<ui version="4.0">
<class>BMWConfigForm</class>
<widget class="QWidget" name="BMWConfigForm">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>562</width>
<height>365</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Animation Time [ms]</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Quality</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="kcfg_Duration">
<property name="minimum">
<number>100</number>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="singleStep">
<number>100</number>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Amount</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QDoubleSpinBox" name="kcfg_Quality">
<property name="decimals">
<number>0</number>
</property>
<property name="minimum">
<double>1.000000000000000</double>
</property>
<property name="maximum">
<double>10.000000000000000</double>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QDoubleSpinBox" name="kcfg_Amount">
<property name="decimals">
<number>0</number>
</property>
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>100.000000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
<resources />
<connections />
</ui>
+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
SPDX-License-Identifier: GPL-3.0-or-later
-->
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
<kcfgfile name="" />
<group name="">
<entry name="Duration" type="UInt">
<default>500</default>
</entry>
<entry name="Amount" type="UInt">
<default>50</default>
</entry>
<entry name="Quality" type="UInt">
<default>3</default>
</entry>
</group>
</kcfg>
+9
View File
@@ -0,0 +1,9 @@
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
// 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));
+20 -1
View File
@@ -9,7 +9,18 @@ const blacklist = [
"ksmserver-logout-greeter ksmserver-logout-greeter",
// KDE Plasma splash screen has to be animated only by the login effect.
"ksplashqml ksplashqml"
"ksplashqml ksplashqml",
// All the tooltips of IntelliJ IDEs use the same window class as their main window.
// This results in many awkward animations, so we have to blacklist them all.
// See https://github.com/Schneegans/Burn-My-Windows/issues/284 for details.
"jetbrains-studio jetbrains-studio", "jetbrains-aqua jetbrains-aqua",
"jetbrains-clion jetbrains-clion", "jetbrains-datagrip jetbrains-datagrip",
"jetbrains-dataspell jetbrains-dataspell", "jetbrains-goland jetbrains-goland",
"jetbrains-idea jetbrains-idea", "jetbrains-idea-ce jetbrains-idea-ce",
"jetbrains-phpstorm jetbrains-phpstorm", "jetbrains-pycharm jetbrains-pycharm",
"jetbrains-pycharm-ce jetbrains-pycharm-ce", "jetbrains-rider jetbrains-rider",
"jetbrains-rubymine jetbrains-rubymine", "jetbrains-webstorm jetbrains-webstorm"
];
class %EFFECT_CLASS% {
@@ -69,6 +80,12 @@ class %EFFECT_CLASS% {
return window.hasDecoration;
}
// This is primarily to avoid animating the AltTab popup.
// See https://github.com/Schneegans/Burn-My-Windows/issues/384 for details.
if (!window.hasDecoration && window.onAllDesktops) {
return false
}
if (blacklist.indexOf(window.windowClass) != -1) {
return false;
}
@@ -122,6 +139,7 @@ class %EFFECT_CLASS% {
this.setupForcedRoles(window);
effect.setUniform(this.shader, 'uForOpening', 1.0);
effect.setUniform(this.shader, 'uIsFullscreen', window.fullScreen ? 1.0 : 0.0);
%ON_ANIMATION_BEGIN%
@@ -161,6 +179,7 @@ class %EFFECT_CLASS% {
this.setupForcedRoles(window);
effect.setUniform(this.shader, 'uForOpening', 0.0);
effect.setUniform(this.shader, 'uIsFullscreen', window.fullScreen ? 1.0 : 0.0);
%ON_ANIMATION_BEGIN%
+3 -1
View File
@@ -1,4 +1,5 @@
{
"KPackageStructure": "KWin/Effect",
"KPlugin": {
"Name": "%NAME%",
"Description": "%DESCRIPTION%",
@@ -12,13 +13,14 @@
"Id": "%DIR_NAME%",
"License": "GPLv3",
"Version": "1.0",
"EnabledByDefault": "false",
"EnabledByDefault": false,
"Website": "https://github.com/Schneegans/Burn-My-Windows/",
"BugReportUrl": "https://github.com/Schneegans/Burn-My-Windows/issues",
"ServiceTypes": [
"KWin/Effect"
]
},
"X-KDE-ConfigModule": "kcm_kwin4_genericscripted",
"X-KDE-Ordering": "60",
"X-KDE-PluginKeyword": "%DIR_NAME%",
"X-KWin-Config-TranslationDomain": "burn-my-windows",
+148
View File
@@ -0,0 +1,148 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
SPDX-License-Identifier: GPL-3.0-or-later
-->
<ui version="4.0">
<class>BMWConfigForm</class>
<widget class="QWidget" name="BMWConfigForm">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>562</width>
<height>365</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="2" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Speed Red</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="kcfg_Duration">
<property name="minimum">
<number>100</number>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="singleStep">
<number>100</number>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Brightness</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Animation Time [ms]</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QDoubleSpinBox" name="kcfg_Brightness">
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Speed Green</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Speed Blue</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QDoubleSpinBox" name="kcfg_SpeedR">
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QDoubleSpinBox" name="kcfg_SpeedG">
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QDoubleSpinBox" name="kcfg_SpeedB">
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
+27
View File
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
SPDX-License-Identifier: GPL-3.0-or-later
-->
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
<kcfgfile name="" />
<group name="">
<entry name="Duration" type="UInt">
<default>750</default>
</entry>
<entry name="Brightness" type="Double">
<default>1.0</default>
</entry>
<entry name="SpeedR" type="Double">
<default>1.0</default>
</entry>
<entry name="SpeedG" type="Double">
<default>0.9</default>
</entry>
<entry name="SpeedB" type="Double">
<default>0.8</default>
</entry>
</group>
</kcfg>
+11
View File
@@ -0,0 +1,11 @@
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
// 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, 'uBrightness', effect.readConfig('Brightness', 1.0));
effect.setUniform(this.shader, 'uSpeedR', effect.readConfig('SpeedR', 1.0));
effect.setUniform(this.shader, 'uSpeedG', effect.readConfig('SpeedG', 1.0));
effect.setUniform(this.shader, 'uSpeedB', effect.readConfig('SpeedB', 1.0));
+185
View File
@@ -0,0 +1,185 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
SPDX-License-Identifier: GPL-3.0-or-later
-->
<ui version="4.0">
<class>BMWConfigForm</class>
<widget class="QWidget" name="BMWConfigForm">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>562</width>
<height>365</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Animation Time [ms]</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="kcfg_Duration">
<property name="minimum">
<number>100</number>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="singleStep">
<number>100</number>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Animation Split</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QDoubleSpinBox" name="kcfg_AnimationSplit">
<property name="minimum">
<double>0.200000000000000</double>
</property>
<property name="maximum">
<double>8.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>0.500000000000000</double>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QCheckBox" name="kcfg_RotateWindow">
<property name="text">
<string>Rotate Window</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Horizontal Sparkle Position</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QDoubleSpinBox" name="kcfg_HorizontalSparklePosition">
<property name="minimum">
<double>-1.000000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Vertical Sparkle Position</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QDoubleSpinBox" name="kcfg_VerticalSparklePosition">
<property name="minimum">
<double>-1.000000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Sparkle Size</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QDoubleSpinBox" name="kcfg_SparkleSize">
<property name="minimum">
<double>0.500000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Sparkle Rotation</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QDoubleSpinBox" name="kcfg_SparkleRotation">
<property name="minimum">
<double>-1.000000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
<resources />
<connections />
</ui>
+33
View File
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
SPDX-License-Identifier: GPL-3.0-or-later
-->
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
<kcfgfile name="" />
<group name="">
<entry name="Duration" type="UInt">
<default>1500</default>
</entry>
<entry name="AnimationSplit" type="Double">
<default>0.5</default>
</entry>
<entry name="RotateWindow" type="Bool">
<default>true</default>
</entry>
<entry name="HorizontalSparklePosition" type="Double">
<default>0.0</default>
</entry>
<entry name="VerticalSparklePosition" type="Double">
<default>0.5</default>
</entry>
<entry name="SparkleSize" type="Double">
<default>0.75</default>
</entry>
<entry name="SparkleRotation" type="Double">
<default>0.33</default>
</entry>
</group>
</kcfg>
+8
View File
@@ -0,0 +1,8 @@
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
// 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 a window is closed or opened.
let seed = [Math.random(), Math.random()];
effect.setUniform(this.shader, 'uSeed', seed);
+17
View File
@@ -0,0 +1,17 @@
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
// 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, 'uAnimationSplit',
effect.readConfig('AnimationSplit', 1.0));
effect.setUniform(this.shader, 'uWindowRotation',
effect.readConfig('RotateWindow', true) ? 1.0 : 0.0);
effect.setUniform(this.shader, 'uHorizontalSparklePosition',
effect.readConfig('HorizontalSparklePosition', 1.0));
effect.setUniform(this.shader, 'uVerticalSparklePosition',
effect.readConfig('VerticalSparklePosition', 1.0));
effect.setUniform(this.shader, 'uSparkleRot', effect.readConfig('SparkleRotation', 1.0));
effect.setUniform(this.shader, 'uSparkleSize', effect.readConfig('SparkleSize', 1.0));
+11 -1
View File
@@ -71,7 +71,17 @@ SPDX-License-Identifier: GPL-3.0-or-later
</widget>
</item>
<item row="1" column="1">
<widget class="KColorButton" name="kcfg_Color"></widget>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="KColorButton" name="kcfg_Color1"></widget>
</item>
<item>
<widget class="KColorButton" name="kcfg_Color2"></widget>
</item>
<item>
<widget class="KColorButton" name="kcfg_Color3"></widget>
</item>
</layout>
</item>
</layout>
</widget>
+8 -3
View File
@@ -5,8 +5,7 @@ SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
SPDX-License-Identifier: GPL-3.0-or-later
-->
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
<kcfgfile name="" />
<group name="">
<entry name="Duration" type="UInt">
@@ -15,8 +14,14 @@ SPDX-License-Identifier: GPL-3.0-or-later
<entry name="Scale" type="Double">
<default>1</default>
</entry>
<entry name="Color" type="Color">
<entry name="Color1" type="Color">
<default>#ff64c8</default>
</entry>
<entry name="Color2" type="Color">
<default>#6464ff</default>
</entry>
<entry name="Color3" type="Color">
<default>#64c8ff</default>
</entry>
</group>
</kcfg>
+3 -1
View File
@@ -7,4 +7,6 @@
effect.setUniform(this.shader, 'uDuration', this.duration * 0.001);
effect.setUniform(this.shader, 'uScale', effect.readConfig('Scale', 1.0));
effect.setUniform(this.shader, 'uColor', this.readRGBConfig('Color'));
effect.setUniform(this.shader, 'uColor1', this.readRGBConfig('Color1'));
effect.setUniform(this.shader, 'uColor2', this.readRGBConfig('Color2'));
effect.setUniform(this.shader, 'uColor3', this.readRGBConfig('Color3'));
+14 -16
View File
@@ -1,17 +1,15 @@
{
"uuid": "burn-my-windows@schneegans.github.com",
"description": "Disintegrate your windows with style.",
"name": "Burn My Windows",
"gettext-domain": "burn-my-windows",
"settings-schema": "org.gnome.shell.extensions.burn-my-windows",
"shell-version": [
"3.36",
"3.38",
"40",
"41",
"42",
"43"
],
"url": "https://github.com/Schneegans/Burn-My-Windows",
"version": 26
}
"uuid": "burn-my-windows@schneegans.github.com",
"description": "Disintegrate your windows with style.",
"name": "Burn My Windows",
"donations": {
"kofi": "schneegans",
"github": "schneegans",
"paypal": "simonschneegans"
},
"gettext-domain": "burn-my-windows",
"settings-schema": "org.gnome.shell.extensions.burn-my-windows",
"shell-version": ["45", "46", "47", "48"],
"url": "https://github.com/Schneegans/Burn-My-Windows",
"version": 46
}
+625 -445
View File
File diff suppressed because it is too large Load Diff
+622 -450
View File
File diff suppressed because it is too large Load Diff
+552 -417
View File
File diff suppressed because it is too large Load Diff
+609 -432
View File
File diff suppressed because it is too large Load Diff
+795
View File
@@ -0,0 +1,795 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Simon Schneegans
# This file is distributed under the same license as the burn-my-windows package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: burn-my-windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-17 20:23+0100\n"
"PO-Revision-Date: 2025-02-27 16:01+0000\n"
"Last-Translator: symegac <97731141+symegac@users.noreply.github.com>\n"
"Language-Team: Danish <https://hosted.weblate.org/projects/burn-my-windows/"
"core/da/>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.10.2-dev\n"
#: src/effects/Apparition.js:80
#, fuzzy
msgid "Apparition"
msgstr "Åndesyn"
#: src/effects/AuraGlow.js:89
msgid "Aura Glow"
msgstr "Auraglød"
#: src/effects/BrokenGlass.js:138
msgid "Broken Glass"
msgstr "Knust glas"
#: src/effects/Doom.js:87
msgid "Doom"
msgstr "Doom"
#: src/effects/EnergizeA.js:74
msgid "Energize A"
msgstr "Energi A"
#: src/effects/EnergizeB.js:75
msgid "Energize B"
msgstr "Energi B"
#: src/effects/Fire.js:96
msgid "Fire"
msgstr "Ild"
#: src/effects/Fire.js:150
msgid "Default Fire"
msgstr "Standardild"
#: src/effects/Fire.js:160
msgid "Hell Fire"
msgstr "Helvedesild"
#: src/effects/Fire.js:170
msgid "Dark and Smutty"
msgstr "Mørk og smudsig"
#: src/effects/Fire.js:180
msgid "Cold Breeze"
msgstr "Kold brise"
#: src/effects/Fire.js:190
msgid "Santa is Coming"
msgstr "Julemanden kommer"
#: src/effects/Fire.js:201
#, fuzzy
msgid "Nuclear ☢️"
msgstr "Atomisk ☢️"
#: src/effects/Focus.js:76
msgid "Focus"
msgstr "Fokus"
#: src/effects/Glide.js:78
msgid "Glide"
msgstr "Glid"
#: src/effects/Glitch.js:80
msgid "Glitch"
msgstr "Skærmfejl"
#: src/effects/Hexagon.js:83
msgid "Hexagon"
msgstr "Sekskant"
#: src/effects/Incinerate.js:126
msgid "Incinerate"
msgstr "Afbrænd"
#: src/effects/Matrix.js:109
msgid "Matrix"
msgstr "Matrix"
#: src/effects/Mushroom.js:124
msgid "Mushroom"
msgstr "Svamp"
#: src/effects/Mushroom.js:204
msgid "8Bit Plumber"
msgstr "8Bit-blikkenslager"
#: src/effects/Mushroom.js:221
msgid "New Bros 2 🍄"
msgstr "New Bros 2 🍄"
#: src/effects/Mushroom.js:239
msgid "Red White and Blue 🇺🇸"
msgstr "Rød, hvid og blå 🇺🇸"
#: src/effects/Mushroom.js:256
msgid "Rainbow 🌈"
msgstr "Regnbue 🌈"
#: src/effects/Mushroom.js:273
#, fuzzy
msgid "Cattuccino 😺"
msgstr "Kattuccino 😺"
#: src/effects/Mushroom.js:291
msgid "Dracula 🦇"
msgstr "Dracula 🦇"
#: src/effects/Mushroom.js:308
msgid "Sparkle ✨"
msgstr "Glimt ✨"
#: src/effects/PaintBrush.js:101
msgid "Paint Brush"
msgstr "Pensel"
#: src/effects/Pixelate.js:74
msgid "Pixelate"
msgstr "Pixeler"
#: src/effects/PixelWheel.js:74
msgid "Pixel Wheel"
msgstr "Pixelhjul"
#: src/effects/PixelWipe.js:100
msgid "Pixel Wipe"
msgstr "Pixelbølge"
#: src/effects/Portal.js:82
msgid "Portal"
msgstr "Portal"
#: src/effects/RGBWarp.js:77
#, fuzzy
msgid "RGB Warp"
msgstr "RGB-forvrængning"
#: src/effects/SnapOfDisintegration.js:110
msgid "Snap of Disintegration"
msgstr "Opløsningsknips"
#: src/effects/TeamRocket.js:89
msgid "Team Rocket"
msgstr "Team Rocket"
#: src/effects/TRexAttack.js:109
msgid "T-Rex Attack"
msgstr "Tyrannosaurus-angreb"
#: src/effects/TVEffect.js:73
msgid "TV Effect"
msgstr "TV-effekt"
#: src/effects/TVGlitch.js:81
msgid "TV Glitch"
msgstr "TV-skærmfejl"
#: src/effects/Wisps.js:85
msgid "Wisps"
msgstr "Feer"
#: prefs.js:256
msgid "Preview this effect"
msgstr "Forhåndsvis denne effekt"
#: prefs.js:333
msgid "Burn-My-Windows has been updated!"
msgstr "Burn-My-Windows er blevet opdateret!"
#: prefs.js:334 resources/ui/common/menus.ui:17
msgid "View Changelog"
msgstr "Vis ændringslog"
#: prefs.js:516
msgid "Delete this Profile?"
msgstr "Slet denne profil?"
#: prefs.js:517
msgid ""
"The current effect profile with all its effect settings will be permanently "
"lost."
msgstr ""
"Den aktuelle effektprofil med alle dens effektsindstillinger vil gå "
"permanent tabt."
#: prefs.js:520
msgid "Cancel"
msgstr "Annuller"
#: prefs.js:525
msgid "Delete"
msgstr "Slet"
#: prefs.js:757 resources/ui/adw/prefs.ui:103
msgid "Opening Windows"
msgstr "Åbning af vinduer"
#: prefs.js:758 resources/ui/adw/prefs.ui:104
msgid "Closing Windows"
msgstr "Lukning af vinduer"
#: prefs.js:759 resources/ui/adw/prefs.ui:118
msgid "Normal Windows"
msgstr "Normale vinduer"
#: prefs.js:760 resources/ui/adw/prefs.ui:119
msgid "Dialog Windows"
msgstr "Dialogvinduer"
#: prefs.js:761 resources/ui/adw/prefs.ui:133
msgid "Default Color Scheme"
msgstr "Standardfarveskema"
#: prefs.js:762 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme"
msgstr "Mørkt farveskema"
#: prefs.js:763 resources/ui/adw/prefs.ui:148
msgid "On Battery"
msgstr "På batteri"
#: prefs.js:764 resources/ui/adw/prefs.ui:149
msgid "Plugged In"
msgstr "Tilsluttet"
#: prefs.js:765 resources/ui/adw/prefs.ui:163
msgid "Power-Saver Mode"
msgstr "Energisparetilstand"
#: prefs.js:766 resources/ui/adw/prefs.ui:164
msgid "Balanced Mode"
msgstr "Balanceret tilstand"
#: prefs.js:767 resources/ui/adw/prefs.ui:165
msgid "Performance Mode"
msgstr "Ydelsestilstand"
#: prefs.js:768 resources/ui/adw/prefs.ui:166
msgid "Power Saver or Balanced"
msgstr "Energisparetilstand eller balanceret"
#: prefs.js:769 resources/ui/adw/prefs.ui:167
msgid "Balanced or Performance"
msgstr "Balanceret eller ydelsestilstand"
#: prefs.js:774 resources/ui/adw/prefs.ui:183
msgid "High Priority"
msgstr "Høj prioritet"
#: prefs.js:780
msgid "Standard Profile"
msgstr "Standardprofil"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:860
#, javascript-format
msgid "Preview for %s"
msgstr "Forhåndsvisning af %s"
#: prefs.js:879
msgid "Close this Window to Preview the Effect!"
msgstr "Luk dette vindue for at forhåndsvise effekten!"
#: resources/ui/common/menus.ui:13
msgid "Visit Homepage"
msgstr "Besøg hjemmesiden"
#: resources/ui/common/menus.ui:21
msgid "View Matching Wallpapers"
msgstr "Vis passende baggrundsbilleder"
#: resources/ui/common/menus.ui:25
msgid "View Donors Hall-of-Fame"
msgstr "Vis donor-æresgalleriet"
#: resources/ui/common/menus.ui:31
msgid "Donate"
msgstr "Doner"
#: resources/ui/common/menus.ui:50
msgid "Report a Bug"
msgstr "Rapportér en fejl"
#: resources/ui/common/menus.ui:54
msgid "Create an Effect"
msgstr "Opret en effekt"
#: resources/ui/common/menus.ui:58
msgid "Translate"
msgstr "Oversæt"
#: resources/ui/common/menus.ui:64
msgid "Open Effect-Profile Directory"
msgstr "Åbn effektprofil-filkatalog"
#: resources/ui/common/menus.ui:70
msgid "About Burn-My-Windows"
msgstr "Om Burn-My-Windows"
#: resources/ui/common/menus.ui:81
msgid "Add New Profile..."
msgstr "Tilføj ny profil..."
#: resources/ui/adw/broken-glass.ui:15 resources/ui/adw/tv-glitch.ui:14
#: resources/ui/adw/glitch.ui:14 resources/ui/adw/matrix.ui:14
#: resources/ui/adw/doom.ui:14 resources/ui/adw/rgbwarp.ui:17
#: resources/ui/adw/paint-brush.ui:14 resources/ui/adw/trex.ui:14
#: resources/ui/adw/wisps.ui:14 resources/ui/adw/aura-glow.ui:13
#: resources/ui/adw/energize-b.ui:15 resources/ui/adw/pixel-wheel.ui:14
#: resources/ui/adw/glide.ui:14 resources/ui/adw/apparition.ui:15
#: resources/ui/adw/portal.ui:14 resources/ui/adw/incinerate.ui:14
#: resources/ui/adw/hexagon.ui:14 resources/ui/adw/fire.ui:30
#: resources/ui/adw/team-rocket.ui:17 resources/ui/adw/pixel-wipe.ui:14
#: resources/ui/adw/snap.ui:14 resources/ui/adw/focus.ui:35
#: resources/ui/adw/mushroom.ui:17 resources/ui/adw/energize-a.ui:14
#: resources/ui/adw/pixelate.ui:14 resources/ui/adw/tv.ui:14
msgid "Animation Time [ms]"
msgstr "Animationstid [ms]"
#: resources/ui/adw/broken-glass.ui:37 resources/ui/adw/broken-glass.ui:70
#: resources/ui/adw/broken-glass.ui:103 resources/ui/adw/broken-glass.ui:136
#: resources/ui/adw/broken-glass.ui:159 resources/ui/adw/tv-glitch.ui:36
#: resources/ui/adw/tv-glitch.ui:69 resources/ui/adw/tv-glitch.ui:102
#: resources/ui/adw/tv-glitch.ui:135 resources/ui/adw/tv-glitch.ui:160
#: resources/ui/adw/glitch.ui:36 resources/ui/adw/glitch.ui:69
#: resources/ui/adw/glitch.ui:102 resources/ui/adw/glitch.ui:135
#: resources/ui/adw/glitch.ui:160 resources/ui/adw/matrix.ui:36
#: resources/ui/adw/matrix.ui:69 resources/ui/adw/matrix.ui:102
#: resources/ui/adw/matrix.ui:135 resources/ui/adw/matrix.ui:160
#: resources/ui/adw/matrix.ui:185 resources/ui/adw/doom.ui:36
#: resources/ui/adw/doom.ui:69 resources/ui/adw/doom.ui:102
#: resources/ui/adw/doom.ui:135 resources/ui/adw/rgbwarp.ui:42
#: resources/ui/adw/rgbwarp.ui:81 resources/ui/adw/rgbwarp.ui:118
#: resources/ui/adw/rgbwarp.ui:155 resources/ui/adw/rgbwarp.ui:192
#: resources/ui/adw/paint-brush.ui:36 resources/ui/adw/paint-brush.ui:69
#: resources/ui/adw/trex.ui:36 resources/ui/adw/trex.ui:69
#: resources/ui/adw/trex.ui:102 resources/ui/adw/trex.ui:135
#: resources/ui/adw/trex.ui:160 resources/ui/adw/wisps.ui:36
#: resources/ui/adw/wisps.ui:69 resources/ui/adw/wisps.ui:110
#: resources/ui/adw/aura-glow.ui:35 resources/ui/adw/aura-glow.ui:58
#: resources/ui/adw/aura-glow.ui:92 resources/ui/adw/aura-glow.ui:125
#: resources/ui/adw/aura-glow.ui:158 resources/ui/adw/aura-glow.ui:191
#: resources/ui/adw/aura-glow.ui:224 resources/ui/adw/aura-glow.ui:257
#: resources/ui/adw/energize-b.ui:37 resources/ui/adw/energize-b.ui:70
#: resources/ui/adw/energize-b.ui:95 resources/ui/adw/pixel-wheel.ui:36
#: resources/ui/adw/pixel-wheel.ui:69 resources/ui/adw/pixel-wheel.ui:102
#: resources/ui/adw/glide.ui:36 resources/ui/adw/glide.ui:69
#: resources/ui/adw/glide.ui:102 resources/ui/adw/glide.ui:135
#: resources/ui/adw/glide.ui:168 resources/ui/adw/apparition.ui:37
#: resources/ui/adw/apparition.ui:70 resources/ui/adw/apparition.ui:103
#: resources/ui/adw/apparition.ui:136 resources/ui/adw/apparition.ui:169
#: resources/ui/adw/portal.ui:36 resources/ui/adw/portal.ui:69
#: resources/ui/adw/portal.ui:102 resources/ui/adw/portal.ui:135
#: resources/ui/adw/portal.ui:160 resources/ui/adw/incinerate.ui:36
#: resources/ui/adw/incinerate.ui:69 resources/ui/adw/incinerate.ui:102
#: resources/ui/adw/incinerate.ui:125 resources/ui/adw/incinerate.ui:150
#: resources/ui/adw/hexagon.ui:36 resources/ui/adw/hexagon.ui:69
#: resources/ui/adw/hexagon.ui:102 resources/ui/adw/hexagon.ui:127
#: resources/ui/adw/hexagon.ui:152 resources/ui/adw/hexagon.ui:175
#: resources/ui/adw/fire.ui:52 resources/ui/adw/fire.ui:85
#: resources/ui/adw/fire.ui:118 resources/ui/adw/fire.ui:141
#: resources/ui/adw/fire.ui:199 resources/ui/adw/team-rocket.ui:42
#: resources/ui/adw/team-rocket.ui:80 resources/ui/adw/team-rocket.ui:102
#: resources/ui/adw/team-rocket.ui:139 resources/ui/adw/team-rocket.ui:176
#: resources/ui/adw/team-rocket.ui:214 resources/ui/adw/team-rocket.ui:251
#: resources/ui/adw/pixel-wipe.ui:36 resources/ui/adw/pixel-wipe.ui:69
#: resources/ui/adw/snap.ui:36 resources/ui/adw/snap.ui:69
#: resources/ui/adw/snap.ui:94 resources/ui/adw/focus.ui:50
#: resources/ui/adw/focus.ui:76 resources/ui/adw/focus.ui:102
#: resources/ui/adw/mushroom.ui:42 resources/ui/adw/mushroom.ui:99
#: resources/ui/adw/mushroom.ui:137 resources/ui/adw/mushroom.ui:175
#: resources/ui/adw/mushroom.ui:209 resources/ui/adw/mushroom.ui:243
#: resources/ui/adw/mushroom.ui:281 resources/ui/adw/mushroom.ui:319
#: resources/ui/adw/mushroom.ui:357 resources/ui/adw/mushroom.ui:427
#: resources/ui/adw/energize-a.ui:36 resources/ui/adw/energize-a.ui:69
#: resources/ui/adw/energize-a.ui:94 resources/ui/adw/pixelate.ui:36
#: resources/ui/adw/pixelate.ui:69 resources/ui/adw/pixelate.ui:102
#: resources/ui/adw/tv.ui:36 resources/ui/adw/tv.ui:61
msgid "Reset to Default Value"
msgstr "Nulstil til standardværdi"
#: resources/ui/adw/broken-glass.ui:48 resources/ui/adw/tv-glitch.ui:47
#: resources/ui/adw/glitch.ui:47 resources/ui/adw/matrix.ui:47
#: resources/ui/adw/wisps.ui:47 resources/ui/adw/energize-b.ui:48
#: resources/ui/adw/glide.ui:47 resources/ui/adw/incinerate.ui:47
#: resources/ui/adw/hexagon.ui:47 resources/ui/adw/fire.ui:63
#: resources/ui/adw/snap.ui:47 resources/ui/adw/energize-a.ui:47
msgid "Scale"
msgstr "Størrelse"
#: resources/ui/adw/broken-glass.ui:81
msgid "Gravity"
msgstr "Tyngdekraft"
#: resources/ui/adw/broken-glass.ui:114
msgid "Blow Force"
msgstr "Slagkraft"
#: resources/ui/adw/broken-glass.ui:147
msgid "Shatter From Pointer Location"
msgstr "Knus fra musepositionen"
#: resources/ui/adw/broken-glass.ui:148
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr ""
"Glasskårene flyver væk fra der, hvor din musemarkør befandt sig ved lukning "
"af vinduet."
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
msgid "Strength"
msgstr "Styrke"
#: resources/ui/adw/tv-glitch.ui:113 resources/ui/adw/glitch.ui:113
#: resources/ui/adw/aura-glow.ui:103 resources/ui/adw/fire.ui:96
msgid "Speed"
msgstr "Hastighed"
#: resources/ui/adw/tv-glitch.ui:146 resources/ui/adw/glitch.ui:146
#: resources/ui/adw/wisps.ui:80 resources/ui/adw/energize-b.ui:81
#: resources/ui/adw/portal.ui:146 resources/ui/adw/incinerate.ui:136
#: resources/ui/adw/snap.ui:80 resources/ui/adw/energize-a.ui:80
#: resources/ui/adw/tv.ui:47
msgid "Color"
msgstr "Farve"
#: resources/ui/adw/matrix.ui:80 resources/ui/adw/apparition.ui:48
msgid "Randomness"
msgstr "Tilfældighed"
#: resources/ui/adw/matrix.ui:113
#, fuzzy
msgid "Vertical Overshooting"
msgstr "Vertikal overskridelse"
#: resources/ui/adw/matrix.ui:146
msgid "Trail Color"
msgstr "Sporets farve"
#: resources/ui/adw/matrix.ui:171
msgid "Tip Color"
msgstr "Spidsens farve"
#: resources/ui/adw/doom.ui:47
msgid "Horizontal Scale"
msgstr "Vandret skalering"
#: resources/ui/adw/doom.ui:80
msgid "Vertical Scale"
msgstr "Lodret skalering"
#: resources/ui/adw/doom.ui:113 resources/ui/adw/pixel-wheel.ui:80
#: resources/ui/adw/pixel-wipe.ui:47 resources/ui/adw/pixelate.ui:80
msgid "Pixel Size"
msgstr "Pixelstørrelse"
#: resources/ui/adw/rgbwarp.ui:55
msgid "Brightness"
msgstr "Lysstyrke"
#: resources/ui/adw/rgbwarp.ui:93
msgid "Red Speed"
msgstr "Rød hastighed"
#: resources/ui/adw/rgbwarp.ui:130
msgid "Green Speed"
msgstr "Grøn hastighed"
#: resources/ui/adw/rgbwarp.ui:167
msgid "Blue Speed"
msgstr "Blå hastighed"
#: resources/ui/adw/paint-brush.ui:47
msgid "Brush Size"
msgstr "Penselstørrelse"
#: resources/ui/adw/trex.ui:47
msgid "Claw Scratch Scale"
msgstr "Klokradsstørrelse"
#: resources/ui/adw/trex.ui:80
msgid "Claw Scratch Count"
msgstr "Klokradsantal"
#: resources/ui/adw/trex.ui:113
msgid "Warp Effect"
msgstr "Forvridningseffekt"
#: resources/ui/adw/trex.ui:146
msgid "Flash Color"
msgstr "Blitzfarve"
#: resources/ui/adw/aura-glow.ui:47
msgid "Random Color"
msgstr "Tilfældig farve"
#: resources/ui/adw/aura-glow.ui:69
msgid "Start Hue"
msgstr "Startkulør"
#: resources/ui/adw/aura-glow.ui:136
msgid "Saturation"
msgstr "Farvemætning"
#: resources/ui/adw/aura-glow.ui:169
msgid "Edge Size"
msgstr "Kantstørrelse"
#: resources/ui/adw/aura-glow.ui:202
msgid "Edge Hardness"
msgstr "Kanthårdhed"
#: resources/ui/adw/aura-glow.ui:235 resources/ui/adw/focus.ui:61
msgid "Blur Amount"
msgstr "Sløringsmængde"
#: resources/ui/adw/pixel-wheel.ui:47
msgid "Spoke Count"
msgstr "Antal eger"
#: resources/ui/adw/glide.ui:80
#, fuzzy
msgid "Squish"
msgstr "Komprimering"
#: resources/ui/adw/glide.ui:113
msgid "Tilt"
msgstr "Hældning"
#: resources/ui/adw/glide.ui:146
msgid "Shift"
msgstr "Forskydning"
#: resources/ui/adw/apparition.ui:81
msgid "Twirl Intensity"
msgstr "Hvirvelintensitet"
#: resources/ui/adw/apparition.ui:114
msgid "Shake Intensity"
msgstr "Rystelsesintensitet"
#: resources/ui/adw/apparition.ui:147
msgid "Suction Intensity"
msgstr "Sugeintensitet"
#: resources/ui/adw/portal.ui:47
msgid "Rotation Speed"
msgstr "Rotationshastighed"
#: resources/ui/adw/portal.ui:80
msgid "Whirling"
msgstr "Hvirvling"
#: resources/ui/adw/portal.ui:113
msgid "Details"
msgstr "Detaljer"
#: resources/ui/adw/incinerate.ui:80
msgid "Turbulence"
msgstr "Turbulens"
#: resources/ui/adw/incinerate.ui:113
msgid "Start at Pointer"
msgstr "Start ved musemarkør"
#: resources/ui/adw/incinerate.ui:114
msgid "If disabled, a random location will be chosen."
msgstr "Hvis dette er deaktiveret, vælges en tilfældig placering."
#: resources/ui/adw/hexagon.ui:80
msgid "Mesh Line Width"
msgstr "Gitterlinjebredde"
#: resources/ui/adw/hexagon.ui:113
msgid "Line Color"
msgstr "Linjefarve"
#: resources/ui/adw/hexagon.ui:138
msgid "Glow Color"
msgstr "Glødfarve"
#: resources/ui/adw/hexagon.ui:163
msgid "Additive Blending"
msgstr "Additiv farveblanding"
#: resources/ui/adw/hexagon.ui:164
msgid "You may want to enable this for dark window themes."
msgstr "Du får måske brug for at aktivere dette for mørke vinduestemaer."
#: resources/ui/adw/fire.ui:14
msgid "Presets"
msgstr "Forhåndsindstillinger"
#: resources/ui/adw/fire.ui:19 resources/ui/adw/mushroom.ui:61
msgid "Choose a Preset"
msgstr "Vælg en forhåndsindstilling"
#: resources/ui/adw/fire.ui:129
msgid "3D Noise"
msgstr "3D-støj"
#: resources/ui/adw/fire.ui:130
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "Skaber en mere dynamisk ild men kræver mere GPU-kraft."
#: resources/ui/adw/fire.ui:152
msgid "Gradient"
msgstr "Farveforløb"
#: resources/ui/adw/team-rocket.ui:54
#, fuzzy
msgid "Animation Split"
msgstr "Animationssplit"
#: resources/ui/adw/team-rocket.ui:91
msgid "Rotate Window"
msgstr "Roter vindue"
#: resources/ui/adw/team-rocket.ui:114
msgid "Horizontal Sparkle Position"
msgstr "Vandret glimtposition"
#: resources/ui/adw/team-rocket.ui:151
msgid "Vertical Sparkle Position"
msgstr "Lodret glimtposition"
#: resources/ui/adw/team-rocket.ui:189
msgid "Sparkle Size"
msgstr "Glimtstørrelse"
#: resources/ui/adw/team-rocket.ui:226
msgid "Sparkle Rotation"
msgstr "Glimtrotation"
#: resources/ui/adw/focus.ui:87
msgid "Blur Quality"
msgstr "Sløringskvalitet"
#: resources/ui/adw/prefs.ui:65
msgid "Effect Profile Constraints"
msgstr "Rediger profilbegrænsninger"
#: resources/ui/adw/prefs.ui:66
msgid "Define when the current effect settings should be used."
msgstr "Definer, hvornår de aktuelle effektindstillinger skal bruges."
#: resources/ui/adw/prefs.ui:70
#, fuzzy
msgid "Application"
msgstr "Applikation"
#: resources/ui/adw/prefs.ui:81 resources/ui/adw/prefs.ui:102
#: resources/ui/adw/prefs.ui:117 resources/ui/adw/prefs.ui:132
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
msgid "Any"
msgstr "Hvilken som helst"
#: resources/ui/adw/prefs.ui:98
msgid "Animation Type"
msgstr "Animationstype"
#: resources/ui/adw/prefs.ui:113
msgid "Window Type"
msgstr "Vinduestype"
#: resources/ui/adw/prefs.ui:128
msgid "Color Scheme"
msgstr "Farveskema"
#: resources/ui/adw/prefs.ui:143
msgid "Power Mode"
msgstr "Strømtilstand"
#: resources/ui/adw/prefs.ui:158
msgid "Power Profile"
msgstr "Strømprofil"
#: resources/ui/adw/prefs.ui:179
msgid "Advanced Profile Options"
msgstr "Avancerede profilindstillinger"
#: resources/ui/adw/prefs.ui:184
msgid "Use this profile even if there are better matching profiles."
msgstr "Benyt denne profil, selv hvis der er mere passende profiler."
#: resources/ui/adw/prefs.ui:204
msgid "Delete this Profile..."
msgstr "Slet denne profil..."
#: resources/ui/adw/prefs.ui:223
msgid "Effect Selection"
msgstr "Effektudvælgelse"
#: resources/ui/adw/prefs.ui:224
msgid "If multiple are selected, one is chosen randomly."
msgstr "Hvis flere er valgt, vælges en tilfældigt."
#: resources/ui/adw/prefs.ui:235
msgid "Search..."
msgstr "Søg..."
#: resources/ui/adw/prefs.ui:250
msgid "Enable All"
msgstr "Aktivér alle"
#: resources/ui/adw/prefs.ui:256
msgid "Disable All"
msgstr "Deaktiver alle"
#: resources/ui/adw/mushroom.ui:55
msgid "Effect Presets"
msgstr "Effektforudindstillinger"
#: resources/ui/adw/mushroom.ui:73
msgid "Scale Style"
msgstr "Skaleringsstil"
#: resources/ui/adw/mushroom.ui:74
msgid "8Bit --- Smooth"
msgstr "8Bit --- Blød"
#: resources/ui/adw/mushroom.ui:112
msgid "Spark Count"
msgstr "Glimtantal"
#: resources/ui/adw/mushroom.ui:150
msgid "Spark Rotation"
msgstr "Glimtrotation"
#: resources/ui/adw/mushroom.ui:188
msgid "Spark Color"
msgstr "Glimtfarve"
#: resources/ui/adw/mushroom.ui:222
msgid "Rays Color"
msgstr "Strålefarve"
#: resources/ui/adw/mushroom.ui:256
msgid "Star Rings Count"
msgstr "Antal stjerneringe"
#: resources/ui/adw/mushroom.ui:294
msgid "Star Ring Rotation"
msgstr "Stjerneringsrotation"
#: resources/ui/adw/mushroom.ui:332
msgid "Stars Count Per Ring"
msgstr "Antal stjerner pr. ring"
#: resources/ui/adw/mushroom.ui:370
msgid "Star Gradient"
msgstr "Stjernefarveforløb"
#: resources/ui/adw/pixelate.ui:47
msgid "Noise"
msgstr "Støj"
#~ msgid "Gold Sponsors"
#~ msgstr "Guldsponsorer"
#~ msgid "Silver Sponsors"
#~ msgstr "Sølvsponsorer"
#~ msgid "Bronze Sponsors"
#~ msgstr "Bronzesponsorer"
#~ msgid "Past Sponsors"
#~ msgstr "Tidligere sponsorer"
#~ msgid "All"
#~ msgstr "Alle"
#~ msgid "None"
#~ msgstr "Ingen"
+647 -444
View File
File diff suppressed because it is too large Load Diff
+606 -435
View File
File diff suppressed because it is too large Load Diff
+637 -443
View File
File diff suppressed because it is too large Load Diff
+766
View File
@@ -0,0 +1,766 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Simon Schneegans
# This file is distributed under the same license as the burn-my-windows package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: burn-my-windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-17 20:23+0100\n"
"PO-Revision-Date: 2025-02-04 12:01+0000\n"
"Last-Translator: Priit Jõerüüt <hwlate@joeruut.com>\n"
"Language-Team: Estonian <https://hosted.weblate.org/projects/burn-my-windows/"
"core/et/>\n"
"Language: et\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.10-dev\n"
#: src/effects/Apparition.js:80
msgid "Apparition"
msgstr ""
#: src/effects/AuraGlow.js:89
msgid "Aura Glow"
msgstr ""
#: src/effects/BrokenGlass.js:138
msgid "Broken Glass"
msgstr ""
#: src/effects/Doom.js:87
msgid "Doom"
msgstr ""
#: src/effects/EnergizeA.js:74
msgid "Energize A"
msgstr ""
#: src/effects/EnergizeB.js:75
msgid "Energize B"
msgstr ""
#: src/effects/Fire.js:96
msgid "Fire"
msgstr ""
#: src/effects/Fire.js:150
msgid "Default Fire"
msgstr ""
#: src/effects/Fire.js:160
msgid "Hell Fire"
msgstr ""
#: src/effects/Fire.js:170
msgid "Dark and Smutty"
msgstr ""
#: src/effects/Fire.js:180
msgid "Cold Breeze"
msgstr ""
#: src/effects/Fire.js:190
msgid "Santa is Coming"
msgstr ""
#: src/effects/Fire.js:201
msgid "Nuclear ☢️"
msgstr ""
#: src/effects/Focus.js:76
msgid "Focus"
msgstr ""
#: src/effects/Glide.js:78
msgid "Glide"
msgstr ""
#: src/effects/Glitch.js:80
msgid "Glitch"
msgstr ""
#: src/effects/Hexagon.js:83
msgid "Hexagon"
msgstr ""
#: src/effects/Incinerate.js:126
msgid "Incinerate"
msgstr ""
#: src/effects/Matrix.js:109
msgid "Matrix"
msgstr ""
#: src/effects/Mushroom.js:124
msgid "Mushroom"
msgstr ""
#: src/effects/Mushroom.js:204
msgid "8Bit Plumber"
msgstr ""
#: src/effects/Mushroom.js:221
msgid "New Bros 2 🍄"
msgstr ""
#: src/effects/Mushroom.js:239
msgid "Red White and Blue 🇺🇸"
msgstr ""
#: src/effects/Mushroom.js:256
msgid "Rainbow 🌈"
msgstr ""
#: src/effects/Mushroom.js:273
msgid "Cattuccino 😺"
msgstr ""
#: src/effects/Mushroom.js:291
msgid "Dracula 🦇"
msgstr ""
#: src/effects/Mushroom.js:308
msgid "Sparkle ✨"
msgstr ""
#: src/effects/PaintBrush.js:101
msgid "Paint Brush"
msgstr ""
#: src/effects/Pixelate.js:74
msgid "Pixelate"
msgstr ""
#: src/effects/PixelWheel.js:74
msgid "Pixel Wheel"
msgstr ""
#: src/effects/PixelWipe.js:100
msgid "Pixel Wipe"
msgstr ""
#: src/effects/Portal.js:82
msgid "Portal"
msgstr ""
#: src/effects/RGBWarp.js:77
msgid "RGB Warp"
msgstr ""
#: src/effects/SnapOfDisintegration.js:110
msgid "Snap of Disintegration"
msgstr ""
#: src/effects/TeamRocket.js:89
msgid "Team Rocket"
msgstr ""
#: src/effects/TRexAttack.js:109
msgid "T-Rex Attack"
msgstr ""
#: src/effects/TVEffect.js:73
msgid "TV Effect"
msgstr ""
#: src/effects/TVGlitch.js:81
msgid "TV Glitch"
msgstr ""
#: src/effects/Wisps.js:85
msgid "Wisps"
msgstr ""
#: prefs.js:256
msgid "Preview this effect"
msgstr ""
#: prefs.js:333
msgid "Burn-My-Windows has been updated!"
msgstr ""
#: prefs.js:334 resources/ui/common/menus.ui:17
msgid "View Changelog"
msgstr ""
#: prefs.js:516
msgid "Delete this Profile?"
msgstr "Kas kustutame selle profiili?"
#: prefs.js:517
msgid ""
"The current effect profile with all its effect settings will be permanently "
"lost."
msgstr ""
"Praegune profiil koos kõikide seadistatud efektidega läheb jäädavalt kaotsi."
#: prefs.js:520
msgid "Cancel"
msgstr "Katkesta"
#: prefs.js:525
msgid "Delete"
msgstr "Kustuta"
#: prefs.js:757 resources/ui/adw/prefs.ui:103
msgid "Opening Windows"
msgstr "Avame aknaid"
#: prefs.js:758 resources/ui/adw/prefs.ui:104
msgid "Closing Windows"
msgstr "Sulgeme aknaid"
#: prefs.js:759 resources/ui/adw/prefs.ui:118
msgid "Normal Windows"
msgstr "Tavalised aknad"
#: prefs.js:760 resources/ui/adw/prefs.ui:119
msgid "Dialog Windows"
msgstr ""
#: prefs.js:761 resources/ui/adw/prefs.ui:133
msgid "Default Color Scheme"
msgstr ""
#: prefs.js:762 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme"
msgstr ""
#: prefs.js:763 resources/ui/adw/prefs.ui:148
msgid "On Battery"
msgstr ""
#: prefs.js:764 resources/ui/adw/prefs.ui:149
msgid "Plugged In"
msgstr ""
#: prefs.js:765 resources/ui/adw/prefs.ui:163
msgid "Power-Saver Mode"
msgstr ""
#: prefs.js:766 resources/ui/adw/prefs.ui:164
msgid "Balanced Mode"
msgstr ""
#: prefs.js:767 resources/ui/adw/prefs.ui:165
msgid "Performance Mode"
msgstr ""
#: prefs.js:768 resources/ui/adw/prefs.ui:166
msgid "Power Saver or Balanced"
msgstr ""
#: prefs.js:769 resources/ui/adw/prefs.ui:167
msgid "Balanced or Performance"
msgstr ""
#: prefs.js:774 resources/ui/adw/prefs.ui:183
msgid "High Priority"
msgstr ""
#: prefs.js:780
msgid "Standard Profile"
msgstr ""
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:860
#, javascript-format
msgid "Preview for %s"
msgstr ""
#: prefs.js:879
msgid "Close this Window to Preview the Effect!"
msgstr ""
#: resources/ui/common/menus.ui:13
msgid "Visit Homepage"
msgstr ""
#: resources/ui/common/menus.ui:21
msgid "View Matching Wallpapers"
msgstr ""
#: resources/ui/common/menus.ui:25
msgid "View Donors Hall-of-Fame"
msgstr ""
#: resources/ui/common/menus.ui:31
msgid "Donate"
msgstr ""
#: resources/ui/common/menus.ui:50
msgid "Report a Bug"
msgstr ""
#: resources/ui/common/menus.ui:54
msgid "Create an Effect"
msgstr ""
#: resources/ui/common/menus.ui:58
msgid "Translate"
msgstr ""
#: resources/ui/common/menus.ui:64
msgid "Open Effect-Profile Directory"
msgstr ""
#: resources/ui/common/menus.ui:70
msgid "About Burn-My-Windows"
msgstr ""
#: resources/ui/common/menus.ui:81
msgid "Add New Profile..."
msgstr ""
#: resources/ui/adw/broken-glass.ui:15 resources/ui/adw/tv-glitch.ui:14
#: resources/ui/adw/glitch.ui:14 resources/ui/adw/matrix.ui:14
#: resources/ui/adw/doom.ui:14 resources/ui/adw/rgbwarp.ui:17
#: resources/ui/adw/paint-brush.ui:14 resources/ui/adw/trex.ui:14
#: resources/ui/adw/wisps.ui:14 resources/ui/adw/aura-glow.ui:13
#: resources/ui/adw/energize-b.ui:15 resources/ui/adw/pixel-wheel.ui:14
#: resources/ui/adw/glide.ui:14 resources/ui/adw/apparition.ui:15
#: resources/ui/adw/portal.ui:14 resources/ui/adw/incinerate.ui:14
#: resources/ui/adw/hexagon.ui:14 resources/ui/adw/fire.ui:30
#: resources/ui/adw/team-rocket.ui:17 resources/ui/adw/pixel-wipe.ui:14
#: resources/ui/adw/snap.ui:14 resources/ui/adw/focus.ui:35
#: resources/ui/adw/mushroom.ui:17 resources/ui/adw/energize-a.ui:14
#: resources/ui/adw/pixelate.ui:14 resources/ui/adw/tv.ui:14
msgid "Animation Time [ms]"
msgstr ""
#: resources/ui/adw/broken-glass.ui:37 resources/ui/adw/broken-glass.ui:70
#: resources/ui/adw/broken-glass.ui:103 resources/ui/adw/broken-glass.ui:136
#: resources/ui/adw/broken-glass.ui:159 resources/ui/adw/tv-glitch.ui:36
#: resources/ui/adw/tv-glitch.ui:69 resources/ui/adw/tv-glitch.ui:102
#: resources/ui/adw/tv-glitch.ui:135 resources/ui/adw/tv-glitch.ui:160
#: resources/ui/adw/glitch.ui:36 resources/ui/adw/glitch.ui:69
#: resources/ui/adw/glitch.ui:102 resources/ui/adw/glitch.ui:135
#: resources/ui/adw/glitch.ui:160 resources/ui/adw/matrix.ui:36
#: resources/ui/adw/matrix.ui:69 resources/ui/adw/matrix.ui:102
#: resources/ui/adw/matrix.ui:135 resources/ui/adw/matrix.ui:160
#: resources/ui/adw/matrix.ui:185 resources/ui/adw/doom.ui:36
#: resources/ui/adw/doom.ui:69 resources/ui/adw/doom.ui:102
#: resources/ui/adw/doom.ui:135 resources/ui/adw/rgbwarp.ui:42
#: resources/ui/adw/rgbwarp.ui:81 resources/ui/adw/rgbwarp.ui:118
#: resources/ui/adw/rgbwarp.ui:155 resources/ui/adw/rgbwarp.ui:192
#: resources/ui/adw/paint-brush.ui:36 resources/ui/adw/paint-brush.ui:69
#: resources/ui/adw/trex.ui:36 resources/ui/adw/trex.ui:69
#: resources/ui/adw/trex.ui:102 resources/ui/adw/trex.ui:135
#: resources/ui/adw/trex.ui:160 resources/ui/adw/wisps.ui:36
#: resources/ui/adw/wisps.ui:69 resources/ui/adw/wisps.ui:110
#: resources/ui/adw/aura-glow.ui:35 resources/ui/adw/aura-glow.ui:58
#: resources/ui/adw/aura-glow.ui:92 resources/ui/adw/aura-glow.ui:125
#: resources/ui/adw/aura-glow.ui:158 resources/ui/adw/aura-glow.ui:191
#: resources/ui/adw/aura-glow.ui:224 resources/ui/adw/aura-glow.ui:257
#: resources/ui/adw/energize-b.ui:37 resources/ui/adw/energize-b.ui:70
#: resources/ui/adw/energize-b.ui:95 resources/ui/adw/pixel-wheel.ui:36
#: resources/ui/adw/pixel-wheel.ui:69 resources/ui/adw/pixel-wheel.ui:102
#: resources/ui/adw/glide.ui:36 resources/ui/adw/glide.ui:69
#: resources/ui/adw/glide.ui:102 resources/ui/adw/glide.ui:135
#: resources/ui/adw/glide.ui:168 resources/ui/adw/apparition.ui:37
#: resources/ui/adw/apparition.ui:70 resources/ui/adw/apparition.ui:103
#: resources/ui/adw/apparition.ui:136 resources/ui/adw/apparition.ui:169
#: resources/ui/adw/portal.ui:36 resources/ui/adw/portal.ui:69
#: resources/ui/adw/portal.ui:102 resources/ui/adw/portal.ui:135
#: resources/ui/adw/portal.ui:160 resources/ui/adw/incinerate.ui:36
#: resources/ui/adw/incinerate.ui:69 resources/ui/adw/incinerate.ui:102
#: resources/ui/adw/incinerate.ui:125 resources/ui/adw/incinerate.ui:150
#: resources/ui/adw/hexagon.ui:36 resources/ui/adw/hexagon.ui:69
#: resources/ui/adw/hexagon.ui:102 resources/ui/adw/hexagon.ui:127
#: resources/ui/adw/hexagon.ui:152 resources/ui/adw/hexagon.ui:175
#: resources/ui/adw/fire.ui:52 resources/ui/adw/fire.ui:85
#: resources/ui/adw/fire.ui:118 resources/ui/adw/fire.ui:141
#: resources/ui/adw/fire.ui:199 resources/ui/adw/team-rocket.ui:42
#: resources/ui/adw/team-rocket.ui:80 resources/ui/adw/team-rocket.ui:102
#: resources/ui/adw/team-rocket.ui:139 resources/ui/adw/team-rocket.ui:176
#: resources/ui/adw/team-rocket.ui:214 resources/ui/adw/team-rocket.ui:251
#: resources/ui/adw/pixel-wipe.ui:36 resources/ui/adw/pixel-wipe.ui:69
#: resources/ui/adw/snap.ui:36 resources/ui/adw/snap.ui:69
#: resources/ui/adw/snap.ui:94 resources/ui/adw/focus.ui:50
#: resources/ui/adw/focus.ui:76 resources/ui/adw/focus.ui:102
#: resources/ui/adw/mushroom.ui:42 resources/ui/adw/mushroom.ui:99
#: resources/ui/adw/mushroom.ui:137 resources/ui/adw/mushroom.ui:175
#: resources/ui/adw/mushroom.ui:209 resources/ui/adw/mushroom.ui:243
#: resources/ui/adw/mushroom.ui:281 resources/ui/adw/mushroom.ui:319
#: resources/ui/adw/mushroom.ui:357 resources/ui/adw/mushroom.ui:427
#: resources/ui/adw/energize-a.ui:36 resources/ui/adw/energize-a.ui:69
#: resources/ui/adw/energize-a.ui:94 resources/ui/adw/pixelate.ui:36
#: resources/ui/adw/pixelate.ui:69 resources/ui/adw/pixelate.ui:102
#: resources/ui/adw/tv.ui:36 resources/ui/adw/tv.ui:61
msgid "Reset to Default Value"
msgstr ""
#: resources/ui/adw/broken-glass.ui:48 resources/ui/adw/tv-glitch.ui:47
#: resources/ui/adw/glitch.ui:47 resources/ui/adw/matrix.ui:47
#: resources/ui/adw/wisps.ui:47 resources/ui/adw/energize-b.ui:48
#: resources/ui/adw/glide.ui:47 resources/ui/adw/incinerate.ui:47
#: resources/ui/adw/hexagon.ui:47 resources/ui/adw/fire.ui:63
#: resources/ui/adw/snap.ui:47 resources/ui/adw/energize-a.ui:47
msgid "Scale"
msgstr ""
#: resources/ui/adw/broken-glass.ui:81
msgid "Gravity"
msgstr ""
#: resources/ui/adw/broken-glass.ui:114
msgid "Blow Force"
msgstr ""
#: resources/ui/adw/broken-glass.ui:147
msgid "Shatter From Pointer Location"
msgstr ""
#: resources/ui/adw/broken-glass.ui:148
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr ""
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
msgid "Strength"
msgstr ""
#: resources/ui/adw/tv-glitch.ui:113 resources/ui/adw/glitch.ui:113
#: resources/ui/adw/aura-glow.ui:103 resources/ui/adw/fire.ui:96
msgid "Speed"
msgstr ""
#: resources/ui/adw/tv-glitch.ui:146 resources/ui/adw/glitch.ui:146
#: resources/ui/adw/wisps.ui:80 resources/ui/adw/energize-b.ui:81
#: resources/ui/adw/portal.ui:146 resources/ui/adw/incinerate.ui:136
#: resources/ui/adw/snap.ui:80 resources/ui/adw/energize-a.ui:80
#: resources/ui/adw/tv.ui:47
msgid "Color"
msgstr ""
#: resources/ui/adw/matrix.ui:80 resources/ui/adw/apparition.ui:48
msgid "Randomness"
msgstr ""
#: resources/ui/adw/matrix.ui:113
msgid "Vertical Overshooting"
msgstr ""
#: resources/ui/adw/matrix.ui:146
msgid "Trail Color"
msgstr ""
#: resources/ui/adw/matrix.ui:171
msgid "Tip Color"
msgstr ""
#: resources/ui/adw/doom.ui:47
msgid "Horizontal Scale"
msgstr ""
#: resources/ui/adw/doom.ui:80
msgid "Vertical Scale"
msgstr ""
#: resources/ui/adw/doom.ui:113 resources/ui/adw/pixel-wheel.ui:80
#: resources/ui/adw/pixel-wipe.ui:47 resources/ui/adw/pixelate.ui:80
msgid "Pixel Size"
msgstr ""
#: resources/ui/adw/rgbwarp.ui:55
msgid "Brightness"
msgstr ""
#: resources/ui/adw/rgbwarp.ui:93
msgid "Red Speed"
msgstr ""
#: resources/ui/adw/rgbwarp.ui:130
msgid "Green Speed"
msgstr ""
#: resources/ui/adw/rgbwarp.ui:167
msgid "Blue Speed"
msgstr ""
#: resources/ui/adw/paint-brush.ui:47
msgid "Brush Size"
msgstr ""
#: resources/ui/adw/trex.ui:47
msgid "Claw Scratch Scale"
msgstr ""
#: resources/ui/adw/trex.ui:80
msgid "Claw Scratch Count"
msgstr ""
#: resources/ui/adw/trex.ui:113
msgid "Warp Effect"
msgstr ""
#: resources/ui/adw/trex.ui:146
msgid "Flash Color"
msgstr ""
#: resources/ui/adw/aura-glow.ui:47
msgid "Random Color"
msgstr ""
#: resources/ui/adw/aura-glow.ui:69
msgid "Start Hue"
msgstr ""
#: resources/ui/adw/aura-glow.ui:136
msgid "Saturation"
msgstr ""
#: resources/ui/adw/aura-glow.ui:169
msgid "Edge Size"
msgstr ""
#: resources/ui/adw/aura-glow.ui:202
msgid "Edge Hardness"
msgstr ""
#: resources/ui/adw/aura-glow.ui:235 resources/ui/adw/focus.ui:61
msgid "Blur Amount"
msgstr ""
#: resources/ui/adw/pixel-wheel.ui:47
msgid "Spoke Count"
msgstr ""
#: resources/ui/adw/glide.ui:80
msgid "Squish"
msgstr ""
#: resources/ui/adw/glide.ui:113
msgid "Tilt"
msgstr ""
#: resources/ui/adw/glide.ui:146
msgid "Shift"
msgstr ""
#: resources/ui/adw/apparition.ui:81
msgid "Twirl Intensity"
msgstr ""
#: resources/ui/adw/apparition.ui:114
msgid "Shake Intensity"
msgstr ""
#: resources/ui/adw/apparition.ui:147
msgid "Suction Intensity"
msgstr ""
#: resources/ui/adw/portal.ui:47
msgid "Rotation Speed"
msgstr ""
#: resources/ui/adw/portal.ui:80
msgid "Whirling"
msgstr ""
#: resources/ui/adw/portal.ui:113
msgid "Details"
msgstr ""
#: resources/ui/adw/incinerate.ui:80
msgid "Turbulence"
msgstr ""
#: resources/ui/adw/incinerate.ui:113
msgid "Start at Pointer"
msgstr ""
#: resources/ui/adw/incinerate.ui:114
msgid "If disabled, a random location will be chosen."
msgstr ""
#: resources/ui/adw/hexagon.ui:80
msgid "Mesh Line Width"
msgstr ""
#: resources/ui/adw/hexagon.ui:113
msgid "Line Color"
msgstr ""
#: resources/ui/adw/hexagon.ui:138
msgid "Glow Color"
msgstr ""
#: resources/ui/adw/hexagon.ui:163
msgid "Additive Blending"
msgstr ""
#: resources/ui/adw/hexagon.ui:164
msgid "You may want to enable this for dark window themes."
msgstr ""
#: resources/ui/adw/fire.ui:14
msgid "Presets"
msgstr ""
#: resources/ui/adw/fire.ui:19 resources/ui/adw/mushroom.ui:61
msgid "Choose a Preset"
msgstr ""
#: resources/ui/adw/fire.ui:129
msgid "3D Noise"
msgstr ""
#: resources/ui/adw/fire.ui:130
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr ""
#: resources/ui/adw/fire.ui:152
msgid "Gradient"
msgstr ""
#: resources/ui/adw/team-rocket.ui:54
msgid "Animation Split"
msgstr ""
#: resources/ui/adw/team-rocket.ui:91
msgid "Rotate Window"
msgstr ""
#: resources/ui/adw/team-rocket.ui:114
msgid "Horizontal Sparkle Position"
msgstr ""
#: resources/ui/adw/team-rocket.ui:151
msgid "Vertical Sparkle Position"
msgstr ""
#: resources/ui/adw/team-rocket.ui:189
msgid "Sparkle Size"
msgstr ""
#: resources/ui/adw/team-rocket.ui:226
msgid "Sparkle Rotation"
msgstr ""
#: resources/ui/adw/focus.ui:87
msgid "Blur Quality"
msgstr ""
#: resources/ui/adw/prefs.ui:65
msgid "Effect Profile Constraints"
msgstr ""
#: resources/ui/adw/prefs.ui:66
msgid "Define when the current effect settings should be used."
msgstr ""
#: resources/ui/adw/prefs.ui:70
msgid "Application"
msgstr ""
#: resources/ui/adw/prefs.ui:81 resources/ui/adw/prefs.ui:102
#: resources/ui/adw/prefs.ui:117 resources/ui/adw/prefs.ui:132
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
msgid "Any"
msgstr ""
#: resources/ui/adw/prefs.ui:98
msgid "Animation Type"
msgstr ""
#: resources/ui/adw/prefs.ui:113
msgid "Window Type"
msgstr ""
#: resources/ui/adw/prefs.ui:128
msgid "Color Scheme"
msgstr ""
#: resources/ui/adw/prefs.ui:143
msgid "Power Mode"
msgstr ""
#: resources/ui/adw/prefs.ui:158
msgid "Power Profile"
msgstr ""
#: resources/ui/adw/prefs.ui:179
msgid "Advanced Profile Options"
msgstr ""
#: resources/ui/adw/prefs.ui:184
msgid "Use this profile even if there are better matching profiles."
msgstr ""
#: resources/ui/adw/prefs.ui:204
msgid "Delete this Profile..."
msgstr ""
#: resources/ui/adw/prefs.ui:223
msgid "Effect Selection"
msgstr ""
#: resources/ui/adw/prefs.ui:224
msgid "If multiple are selected, one is chosen randomly."
msgstr ""
#: resources/ui/adw/prefs.ui:235
msgid "Search..."
msgstr ""
#: resources/ui/adw/prefs.ui:250
msgid "Enable All"
msgstr ""
#: resources/ui/adw/prefs.ui:256
msgid "Disable All"
msgstr ""
#: resources/ui/adw/mushroom.ui:55
msgid "Effect Presets"
msgstr ""
#: resources/ui/adw/mushroom.ui:73
msgid "Scale Style"
msgstr ""
#: resources/ui/adw/mushroom.ui:74
msgid "8Bit --- Smooth"
msgstr ""
#: resources/ui/adw/mushroom.ui:112
msgid "Spark Count"
msgstr ""
#: resources/ui/adw/mushroom.ui:150
msgid "Spark Rotation"
msgstr ""
#: resources/ui/adw/mushroom.ui:188
msgid "Spark Color"
msgstr ""
#: resources/ui/adw/mushroom.ui:222
msgid "Rays Color"
msgstr ""
#: resources/ui/adw/mushroom.ui:256
msgid "Star Rings Count"
msgstr ""
#: resources/ui/adw/mushroom.ui:294
msgid "Star Ring Rotation"
msgstr ""
#: resources/ui/adw/mushroom.ui:332
msgid "Stars Count Per Ring"
msgstr ""
#: resources/ui/adw/mushroom.ui:370
msgid "Star Gradient"
msgstr ""
#: resources/ui/adw/pixelate.ui:47
msgid "Noise"
msgstr ""
+633 -458
View File
File diff suppressed because it is too large Load Diff
+619 -451
View File
File diff suppressed because it is too large Load Diff
+633 -439
View File
File diff suppressed because it is too large Load Diff
+573 -423
View File
File diff suppressed because it is too large Load Diff
+784
View File
@@ -0,0 +1,784 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Simon Schneegans
# This file is distributed under the same license as the burn-my-windows package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: burn-my-windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-17 20:23+0100\n"
"PO-Revision-Date: 2024-05-08 03:07+0000\n"
"Last-Translator: Scrambled777 <weblate.scrambled777@simplelogin.com>\n"
"Language-Team: Hindi <https://hosted.weblate.org/projects/burn-my-windows/"
"core/hi/>\n"
"Language: hi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.5.4-rc\n"
#: src/effects/Apparition.js:80
msgid "Apparition"
msgstr "प्रेतछाया"
#: src/effects/AuraGlow.js:89
msgid "Aura Glow"
msgstr ""
#: src/effects/BrokenGlass.js:138
msgid "Broken Glass"
msgstr "टूटा हुआ शीशा"
#: src/effects/Doom.js:87
msgid "Doom"
msgstr "कयामत"
#: src/effects/EnergizeA.js:74
msgid "Energize A"
msgstr "ऊर्जावान A"
#: src/effects/EnergizeB.js:75
msgid "Energize B"
msgstr "ऊर्जावान B"
#: src/effects/Fire.js:96
msgid "Fire"
msgstr "आग"
#: src/effects/Fire.js:150
msgid "Default Fire"
msgstr "तयशुदा आग"
#: src/effects/Fire.js:160
msgid "Hell Fire"
msgstr "नरक की आग"
#: src/effects/Fire.js:170
msgid "Dark and Smutty"
msgstr "अँधेरी और मैली"
#: src/effects/Fire.js:180
msgid "Cold Breeze"
msgstr "ठंडी हवा"
#: src/effects/Fire.js:190
msgid "Santa is Coming"
msgstr "सांता आ रहा है"
#: src/effects/Fire.js:201
msgid "Nuclear ☢️"
msgstr ""
#: src/effects/Focus.js:76
msgid "Focus"
msgstr ""
#: src/effects/Glide.js:78
msgid "Glide"
msgstr "फिसलन"
#: src/effects/Glitch.js:80
msgid "Glitch"
msgstr "गड़बड़ी"
#: src/effects/Hexagon.js:83
msgid "Hexagon"
msgstr "षटकोण"
#: src/effects/Incinerate.js:126
msgid "Incinerate"
msgstr "भस्म"
#: src/effects/Matrix.js:109
msgid "Matrix"
msgstr "आव्यूह"
#: src/effects/Mushroom.js:124
msgid "Mushroom"
msgstr ""
#: src/effects/Mushroom.js:204
msgid "8Bit Plumber"
msgstr ""
#: src/effects/Mushroom.js:221
msgid "New Bros 2 🍄"
msgstr ""
#: src/effects/Mushroom.js:239
msgid "Red White and Blue 🇺🇸"
msgstr ""
#: src/effects/Mushroom.js:256
msgid "Rainbow 🌈"
msgstr ""
#: src/effects/Mushroom.js:273
msgid "Cattuccino 😺"
msgstr ""
#: src/effects/Mushroom.js:291
msgid "Dracula 🦇"
msgstr ""
#: src/effects/Mushroom.js:308
msgid "Sparkle ✨"
msgstr ""
#: src/effects/PaintBrush.js:101
msgid "Paint Brush"
msgstr "पेंट ब्रश"
#: src/effects/Pixelate.js:74
msgid "Pixelate"
msgstr "पिक्सलेट"
#: src/effects/PixelWheel.js:74
msgid "Pixel Wheel"
msgstr "पिक्सल व्हील"
#: src/effects/PixelWipe.js:100
msgid "Pixel Wipe"
msgstr "पिक्सल वाइप"
#: src/effects/Portal.js:82
msgid "Portal"
msgstr "पोर्टल"
#: src/effects/RGBWarp.js:77
msgid "RGB Warp"
msgstr ""
#: src/effects/SnapOfDisintegration.js:110
msgid "Snap of Disintegration"
msgstr "विघटन की चुटकी"
#: src/effects/TeamRocket.js:89
msgid "Team Rocket"
msgstr ""
#: src/effects/TRexAttack.js:109
msgid "T-Rex Attack"
msgstr "T-Rex का हमला"
#: src/effects/TVEffect.js:73
msgid "TV Effect"
msgstr "TV प्रभाव"
#: src/effects/TVGlitch.js:81
msgid "TV Glitch"
msgstr "TV की गड़बड़ी"
#: src/effects/Wisps.js:85
msgid "Wisps"
msgstr "विसप्स"
#: prefs.js:256
msgid "Preview this effect"
msgstr "इस प्रभाव का पूर्वावलोकन करें"
#: prefs.js:333
msgid "Burn-My-Windows has been updated!"
msgstr "Burn-My-Windows अपडेट कर दिया गया है!"
#: prefs.js:334 resources/ui/common/menus.ui:17
msgid "View Changelog"
msgstr "चेंजलॉग देखें"
#: prefs.js:516
msgid "Delete this Profile?"
msgstr "यह प्रोफ़ाइल हटाएं?"
#: prefs.js:517
msgid ""
"The current effect profile with all its effect settings will be permanently "
"lost."
msgstr "वर्तमान प्रभाव प्रोफ़ाइल अपनी सभी प्रभाव सेटिंग्स के साथ स्थायी रूप से खो जाएगी।"
#: prefs.js:520
msgid "Cancel"
msgstr "रद्द करें"
#: prefs.js:525
msgid "Delete"
msgstr "मिटाएं"
#: prefs.js:757 resources/ui/adw/prefs.ui:103
msgid "Opening Windows"
msgstr "विंडो खोलते समय"
#: prefs.js:758 resources/ui/adw/prefs.ui:104
msgid "Closing Windows"
msgstr "विंडो बंद करते समय"
#: prefs.js:759 resources/ui/adw/prefs.ui:118
msgid "Normal Windows"
msgstr "सामान्य विंडो"
#: prefs.js:760 resources/ui/adw/prefs.ui:119
msgid "Dialog Windows"
msgstr "संवाद विंडो"
#: prefs.js:761 resources/ui/adw/prefs.ui:133
msgid "Default Color Scheme"
msgstr "तयशुदा रंग योजना"
#: prefs.js:762 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme"
msgstr "गहरी रंग योजना"
#: prefs.js:763 resources/ui/adw/prefs.ui:148
msgid "On Battery"
msgstr "बैटरी पर"
#: prefs.js:764 resources/ui/adw/prefs.ui:149
msgid "Plugged In"
msgstr "जब प्लग इन हो"
#: prefs.js:765 resources/ui/adw/prefs.ui:163
msgid "Power-Saver Mode"
msgstr "पावर-सेवर मोड"
#: prefs.js:766 resources/ui/adw/prefs.ui:164
msgid "Balanced Mode"
msgstr "संतुलित मोड"
#: prefs.js:767 resources/ui/adw/prefs.ui:165
msgid "Performance Mode"
msgstr "प्रदर्शन मोड"
#: prefs.js:768 resources/ui/adw/prefs.ui:166
msgid "Power Saver or Balanced"
msgstr "पावर सेवर या संतुलित"
#: prefs.js:769 resources/ui/adw/prefs.ui:167
msgid "Balanced or Performance"
msgstr "संतुलित या प्रदर्शन"
#: prefs.js:774 resources/ui/adw/prefs.ui:183
msgid "High Priority"
msgstr "उच्च प्राथमिकता"
#: prefs.js:780
msgid "Standard Profile"
msgstr "मानक प्रोफ़ाइल"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:860
#, javascript-format
msgid "Preview for %s"
msgstr "%s का पूर्वावलोकन"
#: prefs.js:879
msgid "Close this Window to Preview the Effect!"
msgstr "प्रभाव का पूर्वावलोकन करने के लिए इस विंडो को बंद करें!"
#: resources/ui/common/menus.ui:13
msgid "Visit Homepage"
msgstr "मुखपृष्ठ पर जाएं"
#: resources/ui/common/menus.ui:21
msgid "View Matching Wallpapers"
msgstr "मिलते-जुलते वॉलपेपर देखें"
#: resources/ui/common/menus.ui:25
msgid "View Donors Hall-of-Fame"
msgstr ""
#: resources/ui/common/menus.ui:31
msgid "Donate"
msgstr "दान करें"
#: resources/ui/common/menus.ui:50
msgid "Report a Bug"
msgstr "बग रिपोर्ट करें"
#: resources/ui/common/menus.ui:54
msgid "Create an Effect"
msgstr "एक प्रभाव पैदा करें"
#: resources/ui/common/menus.ui:58
msgid "Translate"
msgstr "अनुवाद"
#: resources/ui/common/menus.ui:64
msgid "Open Effect-Profile Directory"
msgstr "इफ़ेक्ट-प्रोफ़ाइल निर्देशिका खोलें"
#: resources/ui/common/menus.ui:70
msgid "About Burn-My-Windows"
msgstr "Burn-My-Windows के बारे में"
#: resources/ui/common/menus.ui:81
msgid "Add New Profile..."
msgstr "नई प्रोफ़ाइल जोड़ें…"
#: resources/ui/adw/broken-glass.ui:15 resources/ui/adw/tv-glitch.ui:14
#: resources/ui/adw/glitch.ui:14 resources/ui/adw/matrix.ui:14
#: resources/ui/adw/doom.ui:14 resources/ui/adw/rgbwarp.ui:17
#: resources/ui/adw/paint-brush.ui:14 resources/ui/adw/trex.ui:14
#: resources/ui/adw/wisps.ui:14 resources/ui/adw/aura-glow.ui:13
#: resources/ui/adw/energize-b.ui:15 resources/ui/adw/pixel-wheel.ui:14
#: resources/ui/adw/glide.ui:14 resources/ui/adw/apparition.ui:15
#: resources/ui/adw/portal.ui:14 resources/ui/adw/incinerate.ui:14
#: resources/ui/adw/hexagon.ui:14 resources/ui/adw/fire.ui:30
#: resources/ui/adw/team-rocket.ui:17 resources/ui/adw/pixel-wipe.ui:14
#: resources/ui/adw/snap.ui:14 resources/ui/adw/focus.ui:35
#: resources/ui/adw/mushroom.ui:17 resources/ui/adw/energize-a.ui:14
#: resources/ui/adw/pixelate.ui:14 resources/ui/adw/tv.ui:14
msgid "Animation Time [ms]"
msgstr "एनीमेशन समय [ms]"
#: resources/ui/adw/broken-glass.ui:37 resources/ui/adw/broken-glass.ui:70
#: resources/ui/adw/broken-glass.ui:103 resources/ui/adw/broken-glass.ui:136
#: resources/ui/adw/broken-glass.ui:159 resources/ui/adw/tv-glitch.ui:36
#: resources/ui/adw/tv-glitch.ui:69 resources/ui/adw/tv-glitch.ui:102
#: resources/ui/adw/tv-glitch.ui:135 resources/ui/adw/tv-glitch.ui:160
#: resources/ui/adw/glitch.ui:36 resources/ui/adw/glitch.ui:69
#: resources/ui/adw/glitch.ui:102 resources/ui/adw/glitch.ui:135
#: resources/ui/adw/glitch.ui:160 resources/ui/adw/matrix.ui:36
#: resources/ui/adw/matrix.ui:69 resources/ui/adw/matrix.ui:102
#: resources/ui/adw/matrix.ui:135 resources/ui/adw/matrix.ui:160
#: resources/ui/adw/matrix.ui:185 resources/ui/adw/doom.ui:36
#: resources/ui/adw/doom.ui:69 resources/ui/adw/doom.ui:102
#: resources/ui/adw/doom.ui:135 resources/ui/adw/rgbwarp.ui:42
#: resources/ui/adw/rgbwarp.ui:81 resources/ui/adw/rgbwarp.ui:118
#: resources/ui/adw/rgbwarp.ui:155 resources/ui/adw/rgbwarp.ui:192
#: resources/ui/adw/paint-brush.ui:36 resources/ui/adw/paint-brush.ui:69
#: resources/ui/adw/trex.ui:36 resources/ui/adw/trex.ui:69
#: resources/ui/adw/trex.ui:102 resources/ui/adw/trex.ui:135
#: resources/ui/adw/trex.ui:160 resources/ui/adw/wisps.ui:36
#: resources/ui/adw/wisps.ui:69 resources/ui/adw/wisps.ui:110
#: resources/ui/adw/aura-glow.ui:35 resources/ui/adw/aura-glow.ui:58
#: resources/ui/adw/aura-glow.ui:92 resources/ui/adw/aura-glow.ui:125
#: resources/ui/adw/aura-glow.ui:158 resources/ui/adw/aura-glow.ui:191
#: resources/ui/adw/aura-glow.ui:224 resources/ui/adw/aura-glow.ui:257
#: resources/ui/adw/energize-b.ui:37 resources/ui/adw/energize-b.ui:70
#: resources/ui/adw/energize-b.ui:95 resources/ui/adw/pixel-wheel.ui:36
#: resources/ui/adw/pixel-wheel.ui:69 resources/ui/adw/pixel-wheel.ui:102
#: resources/ui/adw/glide.ui:36 resources/ui/adw/glide.ui:69
#: resources/ui/adw/glide.ui:102 resources/ui/adw/glide.ui:135
#: resources/ui/adw/glide.ui:168 resources/ui/adw/apparition.ui:37
#: resources/ui/adw/apparition.ui:70 resources/ui/adw/apparition.ui:103
#: resources/ui/adw/apparition.ui:136 resources/ui/adw/apparition.ui:169
#: resources/ui/adw/portal.ui:36 resources/ui/adw/portal.ui:69
#: resources/ui/adw/portal.ui:102 resources/ui/adw/portal.ui:135
#: resources/ui/adw/portal.ui:160 resources/ui/adw/incinerate.ui:36
#: resources/ui/adw/incinerate.ui:69 resources/ui/adw/incinerate.ui:102
#: resources/ui/adw/incinerate.ui:125 resources/ui/adw/incinerate.ui:150
#: resources/ui/adw/hexagon.ui:36 resources/ui/adw/hexagon.ui:69
#: resources/ui/adw/hexagon.ui:102 resources/ui/adw/hexagon.ui:127
#: resources/ui/adw/hexagon.ui:152 resources/ui/adw/hexagon.ui:175
#: resources/ui/adw/fire.ui:52 resources/ui/adw/fire.ui:85
#: resources/ui/adw/fire.ui:118 resources/ui/adw/fire.ui:141
#: resources/ui/adw/fire.ui:199 resources/ui/adw/team-rocket.ui:42
#: resources/ui/adw/team-rocket.ui:80 resources/ui/adw/team-rocket.ui:102
#: resources/ui/adw/team-rocket.ui:139 resources/ui/adw/team-rocket.ui:176
#: resources/ui/adw/team-rocket.ui:214 resources/ui/adw/team-rocket.ui:251
#: resources/ui/adw/pixel-wipe.ui:36 resources/ui/adw/pixel-wipe.ui:69
#: resources/ui/adw/snap.ui:36 resources/ui/adw/snap.ui:69
#: resources/ui/adw/snap.ui:94 resources/ui/adw/focus.ui:50
#: resources/ui/adw/focus.ui:76 resources/ui/adw/focus.ui:102
#: resources/ui/adw/mushroom.ui:42 resources/ui/adw/mushroom.ui:99
#: resources/ui/adw/mushroom.ui:137 resources/ui/adw/mushroom.ui:175
#: resources/ui/adw/mushroom.ui:209 resources/ui/adw/mushroom.ui:243
#: resources/ui/adw/mushroom.ui:281 resources/ui/adw/mushroom.ui:319
#: resources/ui/adw/mushroom.ui:357 resources/ui/adw/mushroom.ui:427
#: resources/ui/adw/energize-a.ui:36 resources/ui/adw/energize-a.ui:69
#: resources/ui/adw/energize-a.ui:94 resources/ui/adw/pixelate.ui:36
#: resources/ui/adw/pixelate.ui:69 resources/ui/adw/pixelate.ui:102
#: resources/ui/adw/tv.ui:36 resources/ui/adw/tv.ui:61
msgid "Reset to Default Value"
msgstr "तयशुदा मान पर रीसेट करें"
#: resources/ui/adw/broken-glass.ui:48 resources/ui/adw/tv-glitch.ui:47
#: resources/ui/adw/glitch.ui:47 resources/ui/adw/matrix.ui:47
#: resources/ui/adw/wisps.ui:47 resources/ui/adw/energize-b.ui:48
#: resources/ui/adw/glide.ui:47 resources/ui/adw/incinerate.ui:47
#: resources/ui/adw/hexagon.ui:47 resources/ui/adw/fire.ui:63
#: resources/ui/adw/snap.ui:47 resources/ui/adw/energize-a.ui:47
msgid "Scale"
msgstr "पैमाना"
#: resources/ui/adw/broken-glass.ui:81
msgid "Gravity"
msgstr "गुरुत्व"
#: resources/ui/adw/broken-glass.ui:114
msgid "Blow Force"
msgstr "प्रहार का बल"
#: resources/ui/adw/broken-glass.ui:147
msgid "Shatter From Pointer Location"
msgstr "सूचक स्थान से चकनाचूर"
#: resources/ui/adw/broken-glass.ui:148
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr "खिड़की बंद करते समय आपका माउस सूचक जहां था, वहां से टुकड़े उड़ जाएंगे।"
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
msgid "Strength"
msgstr "ताकत"
#: resources/ui/adw/tv-glitch.ui:113 resources/ui/adw/glitch.ui:113
#: resources/ui/adw/aura-glow.ui:103 resources/ui/adw/fire.ui:96
msgid "Speed"
msgstr "गति"
#: resources/ui/adw/tv-glitch.ui:146 resources/ui/adw/glitch.ui:146
#: resources/ui/adw/wisps.ui:80 resources/ui/adw/energize-b.ui:81
#: resources/ui/adw/portal.ui:146 resources/ui/adw/incinerate.ui:136
#: resources/ui/adw/snap.ui:80 resources/ui/adw/energize-a.ui:80
#: resources/ui/adw/tv.ui:47
msgid "Color"
msgstr "रंग"
#: resources/ui/adw/matrix.ui:80 resources/ui/adw/apparition.ui:48
msgid "Randomness"
msgstr "बेतरतीबी"
#: resources/ui/adw/matrix.ui:113
msgid "Vertical Overshooting"
msgstr "लंबवत ओवरशूटिंग"
#: resources/ui/adw/matrix.ui:146
msgid "Trail Color"
msgstr "पगडंडी का रंग"
#: resources/ui/adw/matrix.ui:171
msgid "Tip Color"
msgstr "टिप का रंग"
#: resources/ui/adw/doom.ui:47
msgid "Horizontal Scale"
msgstr "क्षैतिज पैमाना"
#: resources/ui/adw/doom.ui:80
msgid "Vertical Scale"
msgstr "लंबवत पैमाना"
#: resources/ui/adw/doom.ui:113 resources/ui/adw/pixel-wheel.ui:80
#: resources/ui/adw/pixel-wipe.ui:47 resources/ui/adw/pixelate.ui:80
msgid "Pixel Size"
msgstr "पिक्सल आकार"
#: resources/ui/adw/rgbwarp.ui:55
msgid "Brightness"
msgstr ""
#: resources/ui/adw/rgbwarp.ui:93
msgid "Red Speed"
msgstr ""
#: resources/ui/adw/rgbwarp.ui:130
msgid "Green Speed"
msgstr ""
#: resources/ui/adw/rgbwarp.ui:167
msgid "Blue Speed"
msgstr ""
#: resources/ui/adw/paint-brush.ui:47
msgid "Brush Size"
msgstr "ब्रश का आकार"
#: resources/ui/adw/trex.ui:47
msgid "Claw Scratch Scale"
msgstr "पंजे का स्क्रैच स्केल"
#: resources/ui/adw/trex.ui:80
msgid "Claw Scratch Count"
msgstr "पंजे की खरोंच गिनती"
#: resources/ui/adw/trex.ui:113
msgid "Warp Effect"
msgstr "वार्प प्रभाव"
#: resources/ui/adw/trex.ui:146
msgid "Flash Color"
msgstr "फ़्लैश रंग"
#: resources/ui/adw/aura-glow.ui:47
msgid "Random Color"
msgstr ""
#: resources/ui/adw/aura-glow.ui:69
msgid "Start Hue"
msgstr ""
#: resources/ui/adw/aura-glow.ui:136
msgid "Saturation"
msgstr ""
#: resources/ui/adw/aura-glow.ui:169
msgid "Edge Size"
msgstr ""
#: resources/ui/adw/aura-glow.ui:202
msgid "Edge Hardness"
msgstr ""
#: resources/ui/adw/aura-glow.ui:235 resources/ui/adw/focus.ui:61
msgid "Blur Amount"
msgstr ""
#: resources/ui/adw/pixel-wheel.ui:47
msgid "Spoke Count"
msgstr "स्पोक की गिनती"
#: resources/ui/adw/glide.ui:80
msgid "Squish"
msgstr "स्क्विश"
#: resources/ui/adw/glide.ui:113
msgid "Tilt"
msgstr "झुकाव"
#: resources/ui/adw/glide.ui:146
msgid "Shift"
msgstr "बदलाव"
#: resources/ui/adw/apparition.ui:81
msgid "Twirl Intensity"
msgstr "घुमाव की तीव्रता"
#: resources/ui/adw/apparition.ui:114
msgid "Shake Intensity"
msgstr "झटकों की तीव्रता"
#: resources/ui/adw/apparition.ui:147
msgid "Suction Intensity"
msgstr "चूषण तीव्रता"
#: resources/ui/adw/portal.ui:47
msgid "Rotation Speed"
msgstr "घूर्णन गति"
#: resources/ui/adw/portal.ui:80
msgid "Whirling"
msgstr "घुमावदार"
#: resources/ui/adw/portal.ui:113
msgid "Details"
msgstr "विवरण"
#: resources/ui/adw/incinerate.ui:80
msgid "Turbulence"
msgstr "उथल-पुथल"
#: resources/ui/adw/incinerate.ui:113
msgid "Start at Pointer"
msgstr "सूचक से प्रारंभ करें"
#: resources/ui/adw/incinerate.ui:114
msgid "If disabled, a random location will be chosen."
msgstr "यदि अक्षम किया गया है, तो एक यादृच्छिक स्थान चुना जाएगा।"
#: resources/ui/adw/hexagon.ui:80
msgid "Mesh Line Width"
msgstr "जाल रेखा की चौड़ाई"
#: resources/ui/adw/hexagon.ui:113
msgid "Line Color"
msgstr "रेखा रंग"
#: resources/ui/adw/hexagon.ui:138
msgid "Glow Color"
msgstr "चमकदार रंग"
#: resources/ui/adw/hexagon.ui:163
msgid "Additive Blending"
msgstr "योगात्मक सम्मिश्रण"
#: resources/ui/adw/hexagon.ui:164
msgid "You may want to enable this for dark window themes."
msgstr "आप इसे डार्क विंडो थीम के लिए सक्षम करना चाह सकते हैं।"
#: resources/ui/adw/fire.ui:14
msgid "Presets"
msgstr "प्रीसेट"
#: resources/ui/adw/fire.ui:19 resources/ui/adw/mushroom.ui:61
msgid "Choose a Preset"
msgstr "प्रीसेट चुनें"
#: resources/ui/adw/fire.ui:129
msgid "3D Noise"
msgstr "3D शोर"
#: resources/ui/adw/fire.ui:130
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr ""
"अधिक गतिशील आग पैदा करता है लेकिन इसके लिए अधिक GPU शक्ति की आवश्यकता होती है।"
#: resources/ui/adw/fire.ui:152
msgid "Gradient"
msgstr "ग्रेडियेंट"
#: resources/ui/adw/team-rocket.ui:54
msgid "Animation Split"
msgstr ""
#: resources/ui/adw/team-rocket.ui:91
msgid "Rotate Window"
msgstr ""
#: resources/ui/adw/team-rocket.ui:114
msgid "Horizontal Sparkle Position"
msgstr ""
#: resources/ui/adw/team-rocket.ui:151
msgid "Vertical Sparkle Position"
msgstr ""
#: resources/ui/adw/team-rocket.ui:189
msgid "Sparkle Size"
msgstr ""
#: resources/ui/adw/team-rocket.ui:226
msgid "Sparkle Rotation"
msgstr ""
#: resources/ui/adw/focus.ui:87
msgid "Blur Quality"
msgstr ""
#: resources/ui/adw/prefs.ui:65
msgid "Effect Profile Constraints"
msgstr "प्रभाव प्रोफ़ाइल बाधाएं"
#: resources/ui/adw/prefs.ui:66
msgid "Define when the current effect settings should be used."
msgstr "परिभाषित करें कि वर्तमान प्रभाव सेटिंग्स का उपयोग कब किया जाना चाहिए।"
#: resources/ui/adw/prefs.ui:70
msgid "Application"
msgstr "अनुप्रयोग"
#: resources/ui/adw/prefs.ui:81 resources/ui/adw/prefs.ui:102
#: resources/ui/adw/prefs.ui:117 resources/ui/adw/prefs.ui:132
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
msgid "Any"
msgstr "कोई"
#: resources/ui/adw/prefs.ui:98
msgid "Animation Type"
msgstr "एनिमेशन प्रकार"
#: resources/ui/adw/prefs.ui:113
msgid "Window Type"
msgstr "विंडो प्रकार"
#: resources/ui/adw/prefs.ui:128
msgid "Color Scheme"
msgstr "रंग योजना"
#: resources/ui/adw/prefs.ui:143
msgid "Power Mode"
msgstr "पावर मोड"
#: resources/ui/adw/prefs.ui:158
msgid "Power Profile"
msgstr "पावर प्रोफ़ाइल"
#: resources/ui/adw/prefs.ui:179
msgid "Advanced Profile Options"
msgstr "उन्नत प्रोफ़ाइल विकल्प"
#: resources/ui/adw/prefs.ui:184
msgid "Use this profile even if there are better matching profiles."
msgstr "बेहतर मिलान वाली प्रोफ़ाइल होने पर भी इस प्रोफ़ाइल का उपयोग करें।"
#: resources/ui/adw/prefs.ui:204
msgid "Delete this Profile..."
msgstr "इस प्रोफ़ाइल को मिटाएं…"
#: resources/ui/adw/prefs.ui:223
msgid "Effect Selection"
msgstr "प्रभाव चयन"
#: resources/ui/adw/prefs.ui:224
msgid "If multiple are selected, one is chosen randomly."
msgstr "यदि एकाधिक का चयन किया जाता है, तो एक को यादृच्छिक रूप से चुना जाता है।"
#: resources/ui/adw/prefs.ui:235
msgid "Search..."
msgstr ""
#: resources/ui/adw/prefs.ui:250
msgid "Enable All"
msgstr ""
#: resources/ui/adw/prefs.ui:256
msgid "Disable All"
msgstr ""
#: resources/ui/adw/mushroom.ui:55
msgid "Effect Presets"
msgstr ""
#: resources/ui/adw/mushroom.ui:73
msgid "Scale Style"
msgstr ""
#: resources/ui/adw/mushroom.ui:74
msgid "8Bit --- Smooth"
msgstr ""
#: resources/ui/adw/mushroom.ui:112
msgid "Spark Count"
msgstr ""
#: resources/ui/adw/mushroom.ui:150
msgid "Spark Rotation"
msgstr ""
#: resources/ui/adw/mushroom.ui:188
msgid "Spark Color"
msgstr ""
#: resources/ui/adw/mushroom.ui:222
msgid "Rays Color"
msgstr ""
#: resources/ui/adw/mushroom.ui:256
msgid "Star Rings Count"
msgstr ""
#: resources/ui/adw/mushroom.ui:294
msgid "Star Ring Rotation"
msgstr ""
#: resources/ui/adw/mushroom.ui:332
msgid "Stars Count Per Ring"
msgstr ""
#: resources/ui/adw/mushroom.ui:370
msgid "Star Gradient"
msgstr ""
#: resources/ui/adw/pixelate.ui:47
msgid "Noise"
msgstr "शोर"
#~ msgid "Gold Sponsors"
#~ msgstr "स्वर्ण प्रायोजक"
#~ msgid "Silver Sponsors"
#~ msgstr "रजत प्रायोजक"
#~ msgid "Bronze Sponsors"
#~ msgstr "कांस्य प्रायोजक"
#~ msgid "Past Sponsors"
#~ msgstr "पिछले प्रायोजक"
#~ msgid "All"
#~ msgstr "सभी"
#~ msgid "None"
#~ msgstr "कोई नहीं"
+809
View File
@@ -0,0 +1,809 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Simon Schneegans
# This file is distributed under the same license as the burn-my-windows package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: burn-my-windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-17 20:23+0100\n"
"PO-Revision-Date: 2024-12-30 20:06+0000\n"
"Last-Translator: atomkapa atomkapa <atomkapa@gmail.com>\n"
"Language-Team: Hungarian <https://hosted.weblate.org/projects/burn-my-"
"windows/core/hu/>\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.10-dev\n"
#: src/effects/Apparition.js:80
msgid "Apparition"
msgstr "Megjelenés"
#: src/effects/AuraGlow.js:89
msgid "Aura Glow"
msgstr ""
#: src/effects/BrokenGlass.js:138
msgid "Broken Glass"
msgstr "Betört üveg"
#: src/effects/Doom.js:87
msgid "Doom"
msgstr "Doom"
#: src/effects/EnergizeA.js:74
msgid "Energize A"
msgstr "Energiát! A"
#: src/effects/EnergizeB.js:75
msgid "Energize B"
msgstr "Energiát! B"
#: src/effects/Fire.js:96
msgid "Fire"
msgstr "Tűz"
#: src/effects/Fire.js:150
msgid "Default Fire"
msgstr "Alapértelmezett tűz"
#: src/effects/Fire.js:160
msgid "Hell Fire"
msgstr "Pokoli tűz"
#: src/effects/Fire.js:170
msgid "Dark and Smutty"
msgstr "Sötét és kormos tűz"
#: src/effects/Fire.js:180
msgid "Cold Breeze"
msgstr "Fagyos szellő"
#: src/effects/Fire.js:190
msgid "Santa is Coming"
msgstr "Télapó itt van"
#: src/effects/Fire.js:201
msgid "Nuclear ☢️"
msgstr ""
#: src/effects/Focus.js:76
msgid "Focus"
msgstr "Fókuszálás"
#: src/effects/Glide.js:78
msgid "Glide"
msgstr "Siklás"
#: src/effects/Glitch.js:80
msgid "Glitch"
msgstr "Hiba"
#: src/effects/Hexagon.js:83
msgid "Hexagon"
msgstr "Hatszög"
#: src/effects/Incinerate.js:126
msgid "Incinerate"
msgstr "Elégetés"
#: src/effects/Matrix.js:109
msgid "Matrix"
msgstr "Mátrix"
#: src/effects/Mushroom.js:124
msgid "Mushroom"
msgstr ""
#: src/effects/Mushroom.js:204
msgid "8Bit Plumber"
msgstr ""
#: src/effects/Mushroom.js:221
msgid "New Bros 2 🍄"
msgstr ""
#: src/effects/Mushroom.js:239
msgid "Red White and Blue 🇺🇸"
msgstr ""
#: src/effects/Mushroom.js:256
msgid "Rainbow 🌈"
msgstr ""
#: src/effects/Mushroom.js:273
msgid "Cattuccino 😺"
msgstr ""
#: src/effects/Mushroom.js:291
msgid "Dracula 🦇"
msgstr ""
#: src/effects/Mushroom.js:308
msgid "Sparkle ✨"
msgstr ""
#: src/effects/PaintBrush.js:101
msgid "Paint Brush"
msgstr "Ecset"
#: src/effects/Pixelate.js:74
msgid "Pixelate"
msgstr "Pixelezés"
#: src/effects/PixelWheel.js:74
msgid "Pixel Wheel"
msgstr "Pixelkerék"
#: src/effects/PixelWipe.js:100
msgid "Pixel Wipe"
msgstr "Pixelhullám"
#: src/effects/Portal.js:82
msgid "Portal"
msgstr "Portál"
#: src/effects/RGBWarp.js:77
msgid "RGB Warp"
msgstr ""
#: src/effects/SnapOfDisintegration.js:110
msgid "Snap of Disintegration"
msgstr "Thanos csettintése"
#: src/effects/TeamRocket.js:89
msgid "Team Rocket"
msgstr ""
#: src/effects/TRexAttack.js:109
msgid "T-Rex Attack"
msgstr "T-Rex támadás"
#: src/effects/TVEffect.js:73
msgid "TV Effect"
msgstr "Tévé hatás"
#: src/effects/TVGlitch.js:81
msgid "TV Glitch"
msgstr "Tévé hiba"
#: src/effects/Wisps.js:85
msgid "Wisps"
msgstr "Szálak"
#: prefs.js:256
msgid "Preview this effect"
msgstr "Előnézet"
#: prefs.js:333
msgid "Burn-My-Windows has been updated!"
msgstr "A Burn-My-Windows frissült!"
#: prefs.js:334 resources/ui/common/menus.ui:17
msgid "View Changelog"
msgstr "Változási napló megtekintése"
#: prefs.js:516
msgid "Delete this Profile?"
msgstr "Biztosan törli a profilt?"
#: prefs.js:517
msgid ""
"The current effect profile with all its effect settings will be permanently "
"lost."
msgstr "A jelenlegi profil minden beállítással együtt örökre elveszik."
#: prefs.js:520
msgid "Cancel"
msgstr "Mégse"
#: prefs.js:525
msgid "Delete"
msgstr "Törlés"
#: prefs.js:757 resources/ui/adw/prefs.ui:103
msgid "Opening Windows"
msgstr "Ablakok megnyitása"
#: prefs.js:758 resources/ui/adw/prefs.ui:104
msgid "Closing Windows"
msgstr "Ablakok bezárása"
#: prefs.js:759 resources/ui/adw/prefs.ui:118
msgid "Normal Windows"
msgstr "Normál ablakok"
#: prefs.js:760 resources/ui/adw/prefs.ui:119
msgid "Dialog Windows"
msgstr "Párbeszédablakok"
#: prefs.js:761 resources/ui/adw/prefs.ui:133
msgid "Default Color Scheme"
msgstr "Alapértelmezett téma"
#: prefs.js:762 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme"
msgstr "Sötét téma"
#: prefs.js:763 resources/ui/adw/prefs.ui:148
msgid "On Battery"
msgstr "Akkumulátoron"
#: prefs.js:764 resources/ui/adw/prefs.ui:149
msgid "Plugged In"
msgstr "Csatlakoztatva"
#: prefs.js:765 resources/ui/adw/prefs.ui:163
msgid "Power-Saver Mode"
msgstr "Energiatakarékos üzemmód"
#: prefs.js:766 resources/ui/adw/prefs.ui:164
msgid "Balanced Mode"
msgstr "Kiegyensúlyozott üzemmód"
#: prefs.js:767 resources/ui/adw/prefs.ui:165
msgid "Performance Mode"
msgstr "Teljesítmény üzemmód"
#: prefs.js:768 resources/ui/adw/prefs.ui:166
msgid "Power Saver or Balanced"
msgstr "Enerigiatakarékos vagy kiegyensúlyozott üzemmód"
#: prefs.js:769 resources/ui/adw/prefs.ui:167
msgid "Balanced or Performance"
msgstr "Kiegyensúlyozott vagy teljesítmény üzemmód"
#: prefs.js:774 resources/ui/adw/prefs.ui:183
msgid "High Priority"
msgstr "Magas Prioritás"
#: prefs.js:780
msgid "Standard Profile"
msgstr "Alapértelmezett Profil"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:860
#, javascript-format
msgid "Preview for %s"
msgstr "%s előnézete"
#: prefs.js:879
msgid "Close this Window to Preview the Effect!"
msgstr "Zárja be ezt az ablakot hogy előnézze ezt a hatást!"
#: resources/ui/common/menus.ui:13
msgid "Visit Homepage"
msgstr "Honlap meglátogatása"
#: resources/ui/common/menus.ui:21
msgid "View Matching Wallpapers"
msgstr "Passzoló háttérképek megtekintése"
#: resources/ui/common/menus.ui:25
msgid "View Donors Hall-of-Fame"
msgstr "Támogatók"
#: resources/ui/common/menus.ui:31
msgid "Donate"
msgstr "Adományozás"
#: resources/ui/common/menus.ui:50
msgid "Report a Bug"
msgstr "Hiba jelentése"
#: resources/ui/common/menus.ui:54
msgid "Create an Effect"
msgstr "Hatás készítése"
#: resources/ui/common/menus.ui:58
msgid "Translate"
msgstr "Fordítás"
#: resources/ui/common/menus.ui:64
msgid "Open Effect-Profile Directory"
msgstr "Az effektbeállításokat tartalmazó mappa megnyitása"
#: resources/ui/common/menus.ui:70
msgid "About Burn-My-Windows"
msgstr "A Burn-My-Windowsról"
#: resources/ui/common/menus.ui:81
msgid "Add New Profile..."
msgstr "Új Profil Hozzáadása..."
#: resources/ui/adw/broken-glass.ui:15 resources/ui/adw/tv-glitch.ui:14
#: resources/ui/adw/glitch.ui:14 resources/ui/adw/matrix.ui:14
#: resources/ui/adw/doom.ui:14 resources/ui/adw/rgbwarp.ui:17
#: resources/ui/adw/paint-brush.ui:14 resources/ui/adw/trex.ui:14
#: resources/ui/adw/wisps.ui:14 resources/ui/adw/aura-glow.ui:13
#: resources/ui/adw/energize-b.ui:15 resources/ui/adw/pixel-wheel.ui:14
#: resources/ui/adw/glide.ui:14 resources/ui/adw/apparition.ui:15
#: resources/ui/adw/portal.ui:14 resources/ui/adw/incinerate.ui:14
#: resources/ui/adw/hexagon.ui:14 resources/ui/adw/fire.ui:30
#: resources/ui/adw/team-rocket.ui:17 resources/ui/adw/pixel-wipe.ui:14
#: resources/ui/adw/snap.ui:14 resources/ui/adw/focus.ui:35
#: resources/ui/adw/mushroom.ui:17 resources/ui/adw/energize-a.ui:14
#: resources/ui/adw/pixelate.ui:14 resources/ui/adw/tv.ui:14
msgid "Animation Time [ms]"
msgstr "Animáció időtartama [ms]"
#: resources/ui/adw/broken-glass.ui:37 resources/ui/adw/broken-glass.ui:70
#: resources/ui/adw/broken-glass.ui:103 resources/ui/adw/broken-glass.ui:136
#: resources/ui/adw/broken-glass.ui:159 resources/ui/adw/tv-glitch.ui:36
#: resources/ui/adw/tv-glitch.ui:69 resources/ui/adw/tv-glitch.ui:102
#: resources/ui/adw/tv-glitch.ui:135 resources/ui/adw/tv-glitch.ui:160
#: resources/ui/adw/glitch.ui:36 resources/ui/adw/glitch.ui:69
#: resources/ui/adw/glitch.ui:102 resources/ui/adw/glitch.ui:135
#: resources/ui/adw/glitch.ui:160 resources/ui/adw/matrix.ui:36
#: resources/ui/adw/matrix.ui:69 resources/ui/adw/matrix.ui:102
#: resources/ui/adw/matrix.ui:135 resources/ui/adw/matrix.ui:160
#: resources/ui/adw/matrix.ui:185 resources/ui/adw/doom.ui:36
#: resources/ui/adw/doom.ui:69 resources/ui/adw/doom.ui:102
#: resources/ui/adw/doom.ui:135 resources/ui/adw/rgbwarp.ui:42
#: resources/ui/adw/rgbwarp.ui:81 resources/ui/adw/rgbwarp.ui:118
#: resources/ui/adw/rgbwarp.ui:155 resources/ui/adw/rgbwarp.ui:192
#: resources/ui/adw/paint-brush.ui:36 resources/ui/adw/paint-brush.ui:69
#: resources/ui/adw/trex.ui:36 resources/ui/adw/trex.ui:69
#: resources/ui/adw/trex.ui:102 resources/ui/adw/trex.ui:135
#: resources/ui/adw/trex.ui:160 resources/ui/adw/wisps.ui:36
#: resources/ui/adw/wisps.ui:69 resources/ui/adw/wisps.ui:110
#: resources/ui/adw/aura-glow.ui:35 resources/ui/adw/aura-glow.ui:58
#: resources/ui/adw/aura-glow.ui:92 resources/ui/adw/aura-glow.ui:125
#: resources/ui/adw/aura-glow.ui:158 resources/ui/adw/aura-glow.ui:191
#: resources/ui/adw/aura-glow.ui:224 resources/ui/adw/aura-glow.ui:257
#: resources/ui/adw/energize-b.ui:37 resources/ui/adw/energize-b.ui:70
#: resources/ui/adw/energize-b.ui:95 resources/ui/adw/pixel-wheel.ui:36
#: resources/ui/adw/pixel-wheel.ui:69 resources/ui/adw/pixel-wheel.ui:102
#: resources/ui/adw/glide.ui:36 resources/ui/adw/glide.ui:69
#: resources/ui/adw/glide.ui:102 resources/ui/adw/glide.ui:135
#: resources/ui/adw/glide.ui:168 resources/ui/adw/apparition.ui:37
#: resources/ui/adw/apparition.ui:70 resources/ui/adw/apparition.ui:103
#: resources/ui/adw/apparition.ui:136 resources/ui/adw/apparition.ui:169
#: resources/ui/adw/portal.ui:36 resources/ui/adw/portal.ui:69
#: resources/ui/adw/portal.ui:102 resources/ui/adw/portal.ui:135
#: resources/ui/adw/portal.ui:160 resources/ui/adw/incinerate.ui:36
#: resources/ui/adw/incinerate.ui:69 resources/ui/adw/incinerate.ui:102
#: resources/ui/adw/incinerate.ui:125 resources/ui/adw/incinerate.ui:150
#: resources/ui/adw/hexagon.ui:36 resources/ui/adw/hexagon.ui:69
#: resources/ui/adw/hexagon.ui:102 resources/ui/adw/hexagon.ui:127
#: resources/ui/adw/hexagon.ui:152 resources/ui/adw/hexagon.ui:175
#: resources/ui/adw/fire.ui:52 resources/ui/adw/fire.ui:85
#: resources/ui/adw/fire.ui:118 resources/ui/adw/fire.ui:141
#: resources/ui/adw/fire.ui:199 resources/ui/adw/team-rocket.ui:42
#: resources/ui/adw/team-rocket.ui:80 resources/ui/adw/team-rocket.ui:102
#: resources/ui/adw/team-rocket.ui:139 resources/ui/adw/team-rocket.ui:176
#: resources/ui/adw/team-rocket.ui:214 resources/ui/adw/team-rocket.ui:251
#: resources/ui/adw/pixel-wipe.ui:36 resources/ui/adw/pixel-wipe.ui:69
#: resources/ui/adw/snap.ui:36 resources/ui/adw/snap.ui:69
#: resources/ui/adw/snap.ui:94 resources/ui/adw/focus.ui:50
#: resources/ui/adw/focus.ui:76 resources/ui/adw/focus.ui:102
#: resources/ui/adw/mushroom.ui:42 resources/ui/adw/mushroom.ui:99
#: resources/ui/adw/mushroom.ui:137 resources/ui/adw/mushroom.ui:175
#: resources/ui/adw/mushroom.ui:209 resources/ui/adw/mushroom.ui:243
#: resources/ui/adw/mushroom.ui:281 resources/ui/adw/mushroom.ui:319
#: resources/ui/adw/mushroom.ui:357 resources/ui/adw/mushroom.ui:427
#: resources/ui/adw/energize-a.ui:36 resources/ui/adw/energize-a.ui:69
#: resources/ui/adw/energize-a.ui:94 resources/ui/adw/pixelate.ui:36
#: resources/ui/adw/pixelate.ui:69 resources/ui/adw/pixelate.ui:102
#: resources/ui/adw/tv.ui:36 resources/ui/adw/tv.ui:61
msgid "Reset to Default Value"
msgstr "Visszaállítás az alapértelmezett értékre"
#: resources/ui/adw/broken-glass.ui:48 resources/ui/adw/tv-glitch.ui:47
#: resources/ui/adw/glitch.ui:47 resources/ui/adw/matrix.ui:47
#: resources/ui/adw/wisps.ui:47 resources/ui/adw/energize-b.ui:48
#: resources/ui/adw/glide.ui:47 resources/ui/adw/incinerate.ui:47
#: resources/ui/adw/hexagon.ui:47 resources/ui/adw/fire.ui:63
#: resources/ui/adw/snap.ui:47 resources/ui/adw/energize-a.ui:47
msgid "Scale"
msgstr "Skála"
#: resources/ui/adw/broken-glass.ui:81
msgid "Gravity"
msgstr "Gravitáció"
#: resources/ui/adw/broken-glass.ui:114
msgid "Blow Force"
msgstr "Fúvóerő"
#: resources/ui/adw/broken-glass.ui:147
msgid "Shatter From Pointer Location"
msgstr "Összetörés a mutató pozíciójáról"
#: resources/ui/adw/broken-glass.ui:148
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr ""
"A szilánkok onnan fognak elrepülni, ahol a mutató tartózkodott az ablak "
"bezárásakor."
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
msgid "Strength"
msgstr "Erő"
#: resources/ui/adw/tv-glitch.ui:113 resources/ui/adw/glitch.ui:113
#: resources/ui/adw/aura-glow.ui:103 resources/ui/adw/fire.ui:96
msgid "Speed"
msgstr "Gyorsaság"
#: resources/ui/adw/tv-glitch.ui:146 resources/ui/adw/glitch.ui:146
#: resources/ui/adw/wisps.ui:80 resources/ui/adw/energize-b.ui:81
#: resources/ui/adw/portal.ui:146 resources/ui/adw/incinerate.ui:136
#: resources/ui/adw/snap.ui:80 resources/ui/adw/energize-a.ui:80
#: resources/ui/adw/tv.ui:47
msgid "Color"
msgstr "Szín"
#: resources/ui/adw/matrix.ui:80 resources/ui/adw/apparition.ui:48
msgid "Randomness"
msgstr "Véletlenszerűség"
#: resources/ui/adw/matrix.ui:113
msgid "Vertical Overshooting"
msgstr "Függőleges túlcsúszás"
#: resources/ui/adw/matrix.ui:146
msgid "Trail Color"
msgstr "Nyom színe"
#: resources/ui/adw/matrix.ui:171
msgid "Tip Color"
msgstr "Csúcs színe"
#: resources/ui/adw/doom.ui:47
msgid "Horizontal Scale"
msgstr "Vízszintes skála"
#: resources/ui/adw/doom.ui:80
msgid "Vertical Scale"
msgstr "Függőleges skála"
#: resources/ui/adw/doom.ui:113 resources/ui/adw/pixel-wheel.ui:80
#: resources/ui/adw/pixel-wipe.ui:47 resources/ui/adw/pixelate.ui:80
msgid "Pixel Size"
msgstr "Pixelméret"
#: resources/ui/adw/rgbwarp.ui:55
msgid "Brightness"
msgstr ""
#: resources/ui/adw/rgbwarp.ui:93
msgid "Red Speed"
msgstr ""
#: resources/ui/adw/rgbwarp.ui:130
msgid "Green Speed"
msgstr ""
#: resources/ui/adw/rgbwarp.ui:167
msgid "Blue Speed"
msgstr ""
#: resources/ui/adw/paint-brush.ui:47
msgid "Brush Size"
msgstr "Ecset mérete"
#: resources/ui/adw/trex.ui:47
msgid "Claw Scratch Scale"
msgstr "Karmolás mérete"
#: resources/ui/adw/trex.ui:80
msgid "Claw Scratch Count"
msgstr "Korom karmolás száma"
#: resources/ui/adw/trex.ui:113
msgid "Warp Effect"
msgstr "Eltorzító hatás"
#: resources/ui/adw/trex.ui:146
msgid "Flash Color"
msgstr "Villanás színe"
#: resources/ui/adw/aura-glow.ui:47
msgid "Random Color"
msgstr ""
#: resources/ui/adw/aura-glow.ui:69
msgid "Start Hue"
msgstr ""
#: resources/ui/adw/aura-glow.ui:136
msgid "Saturation"
msgstr ""
#: resources/ui/adw/aura-glow.ui:169
msgid "Edge Size"
msgstr ""
#: resources/ui/adw/aura-glow.ui:202
msgid "Edge Hardness"
msgstr ""
#: resources/ui/adw/aura-glow.ui:235 resources/ui/adw/focus.ui:61
msgid "Blur Amount"
msgstr "Homályosítás mértéke"
#: resources/ui/adw/pixel-wheel.ui:47
msgid "Spoke Count"
msgstr "Sugár száma"
#: resources/ui/adw/glide.ui:80
msgid "Squish"
msgstr "Összenyomás"
#: resources/ui/adw/glide.ui:113
msgid "Tilt"
msgstr "Billenés"
#: resources/ui/adw/glide.ui:146
msgid "Shift"
msgstr "Elmozdítás"
#: resources/ui/adw/apparition.ui:81
msgid "Twirl Intensity"
msgstr "Pörgés intenzitása"
#: resources/ui/adw/apparition.ui:114
msgid "Shake Intensity"
msgstr "Rázkódás intenzitása"
#: resources/ui/adw/apparition.ui:147
msgid "Suction Intensity"
msgstr "Szívóerő Intenzitása"
#: resources/ui/adw/portal.ui:47
msgid "Rotation Speed"
msgstr "Forgás sebessége"
#: resources/ui/adw/portal.ui:80
msgid "Whirling"
msgstr "Örvénylés"
#: resources/ui/adw/portal.ui:113
msgid "Details"
msgstr "Részletesség"
#: resources/ui/adw/incinerate.ui:80
msgid "Turbulence"
msgstr "Turbulencia"
#: resources/ui/adw/incinerate.ui:113
msgid "Start at Pointer"
msgstr "Kezdés a mutatónál"
#: resources/ui/adw/incinerate.ui:114
msgid "If disabled, a random location will be chosen."
msgstr "Ha ki van kapcsolva, egy véletlenszerű hely lesz választva."
#: resources/ui/adw/hexagon.ui:80
msgid "Mesh Line Width"
msgstr "Körvonal Vastagsága"
#: resources/ui/adw/hexagon.ui:113
msgid "Line Color"
msgstr "Vonal színe"
#: resources/ui/adw/hexagon.ui:138
msgid "Glow Color"
msgstr "Világítás színe"
#: resources/ui/adw/hexagon.ui:163
msgid "Additive Blending"
msgstr "Beolvadó Színek"
#: resources/ui/adw/hexagon.ui:164
msgid "You may want to enable this for dark window themes."
msgstr "Sötét témájú ablakokhoz ajánlott."
#: resources/ui/adw/fire.ui:14
msgid "Presets"
msgstr "Sablonok"
#: resources/ui/adw/fire.ui:19 resources/ui/adw/mushroom.ui:61
msgid "Choose a Preset"
msgstr "Válassz egy sablont"
#: resources/ui/adw/fire.ui:129
msgid "3D Noise"
msgstr "3D zaj"
#: resources/ui/adw/fire.ui:130
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "Egy dinamikusabb tüzet készít, de több GPU erőt igényel."
#: resources/ui/adw/fire.ui:152
msgid "Gradient"
msgstr "Árnyalatok"
#: resources/ui/adw/team-rocket.ui:54
msgid "Animation Split"
msgstr ""
#: resources/ui/adw/team-rocket.ui:91
msgid "Rotate Window"
msgstr ""
#: resources/ui/adw/team-rocket.ui:114
msgid "Horizontal Sparkle Position"
msgstr ""
#: resources/ui/adw/team-rocket.ui:151
msgid "Vertical Sparkle Position"
msgstr ""
#: resources/ui/adw/team-rocket.ui:189
msgid "Sparkle Size"
msgstr ""
#: resources/ui/adw/team-rocket.ui:226
msgid "Sparkle Rotation"
msgstr ""
#: resources/ui/adw/focus.ui:87
msgid "Blur Quality"
msgstr "Homályosítás minősége"
#: resources/ui/adw/prefs.ui:65
msgid "Effect Profile Constraints"
msgstr "Profil Beállításai"
#: resources/ui/adw/prefs.ui:66
msgid "Define when the current effect settings should be used."
msgstr ""
"Határozza meg, mikor legyenek használatban az aktuális effektbeállítások."
#: resources/ui/adw/prefs.ui:70
msgid "Application"
msgstr "Applikáció"
#: resources/ui/adw/prefs.ui:81 resources/ui/adw/prefs.ui:102
#: resources/ui/adw/prefs.ui:117 resources/ui/adw/prefs.ui:132
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
msgid "Any"
msgstr "Bármelyik"
#: resources/ui/adw/prefs.ui:98
msgid "Animation Type"
msgstr "Animációtípus"
#: resources/ui/adw/prefs.ui:113
msgid "Window Type"
msgstr "Ablaktípus"
#: resources/ui/adw/prefs.ui:128
msgid "Color Scheme"
msgstr "Téma"
#: resources/ui/adw/prefs.ui:143
msgid "Power Mode"
msgstr "Energiaforrás módja"
#: resources/ui/adw/prefs.ui:158
msgid "Power Profile"
msgstr "Energiagazdálkodási beállítás"
#: resources/ui/adw/prefs.ui:179
msgid "Advanced Profile Options"
msgstr "Haladó beállítások"
#: resources/ui/adw/prefs.ui:184
msgid "Use this profile even if there are better matching profiles."
msgstr "Profil használata akkor is, ha van másik, ami jobban megfelelő lenne."
#: resources/ui/adw/prefs.ui:204
msgid "Delete this Profile..."
msgstr "Profil Törlése..."
#: resources/ui/adw/prefs.ui:223
msgid "Effect Selection"
msgstr "Effektus kiválasztása"
#: resources/ui/adw/prefs.ui:224
msgid "If multiple are selected, one is chosen randomly."
msgstr ""
"Ha több is ki van választva, minden alkalommal egy véletlenszerű lesz "
"használva."
#: resources/ui/adw/prefs.ui:235
msgid "Search..."
msgstr "Keresés..."
#: resources/ui/adw/prefs.ui:250
msgid "Enable All"
msgstr "Összes bekapcsolása"
#: resources/ui/adw/prefs.ui:256
msgid "Disable All"
msgstr "Összes kikapcsolása"
#: resources/ui/adw/mushroom.ui:55
msgid "Effect Presets"
msgstr ""
#: resources/ui/adw/mushroom.ui:73
msgid "Scale Style"
msgstr ""
#: resources/ui/adw/mushroom.ui:74
msgid "8Bit --- Smooth"
msgstr ""
#: resources/ui/adw/mushroom.ui:112
msgid "Spark Count"
msgstr ""
#: resources/ui/adw/mushroom.ui:150
msgid "Spark Rotation"
msgstr ""
#: resources/ui/adw/mushroom.ui:188
msgid "Spark Color"
msgstr ""
#: resources/ui/adw/mushroom.ui:222
msgid "Rays Color"
msgstr ""
#: resources/ui/adw/mushroom.ui:256
msgid "Star Rings Count"
msgstr ""
#: resources/ui/adw/mushroom.ui:294
msgid "Star Ring Rotation"
msgstr ""
#: resources/ui/adw/mushroom.ui:332
msgid "Stars Count Per Ring"
msgstr ""
#: resources/ui/adw/mushroom.ui:370
msgid "Star Gradient"
msgstr ""
#: resources/ui/adw/pixelate.ui:47
msgid "Noise"
msgstr "Zaj"
#~ msgid "Gold Sponsors"
#~ msgstr "Aranyszponzorok"
#~ msgid "Silver Sponsors"
#~ msgstr "Ezüstszponzorok"
#~ msgid "Bronze Sponsors"
#~ msgstr "Bronzszponzorok"
#~ msgid "Past Sponsors"
#~ msgstr "Korábbi szponzorok"
#~ msgid "All"
#~ msgstr "Mind"
#~ msgid "None"
#~ msgstr "Egyik sem"
#~ msgid "Effects"
#~ msgstr "Hatások"
#~ msgid "Use this effect when opening windows"
#~ msgstr "Használja ezt a hatást az ablakok megnyitásakor"
#~ msgid "Use this effect when closing windows"
#~ msgstr "Használja ezt a hatást az ablakok bezárásakor"
#~ msgid "General Options"
#~ msgstr "Általános opciók"
#~ msgid "Welcome to Burn-My-Windows!"
#~ msgstr "Üdvözöljük a Burn-My-Windowsban!"
#~ msgid "If you like this extension, recommend it to your friends :)"
#~ msgstr "Ha tetszik önnek ez a bővítmény, ajánlja barátainak :)"
#~ msgid "Open Window Animation"
#~ msgstr "Megnyitott ablak animációja"
+632 -441
View File
File diff suppressed because it is too large Load Diff
+651 -445
View File
File diff suppressed because it is too large Load Diff
+624 -440
View File
File diff suppressed because it is too large Load Diff
+642 -450
View File
File diff suppressed because it is too large Load Diff
+604 -429
View File
File diff suppressed because it is too large Load Diff
+590 -433
View File
File diff suppressed because it is too large Load Diff
+639 -443
View File
File diff suppressed because it is too large Load Diff
+638 -444
View File
File diff suppressed because it is too large Load Diff
+639 -460
View File
File diff suppressed because it is too large Load Diff
+636 -476
View File
File diff suppressed because it is too large Load Diff
+635 -442
View File
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More