Compare commits

...

283 Commits

Author SHA1 Message Date
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 01f7bf3a1a 🪲 Fix deployment of KWin packages
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-02-04 12:49:31 +01:00
Simon Schneegans 0e8bd76755 🎉 Bump version number 2023-02-04 12:42:50 +01:00
Simon Schneegans f603eb7784 🎉 Set release date 2023-02-04 12:40:50 +01:00
Simon Schneegans 712317225a Merge branch 'main' of github.com:Schneegans/Burn-My-Windows 2023-02-04 12:25:26 +01:00
Simon Schneegans d49f1853a9 📝 Add changelog entry 2023-02-03 19:53:34 +01:00
Simon Schneegans 0210945a1d 🌐 Translated using Weblate (German) 2023-02-03 19:51:41 +01:00
Simon Schneegans f45511290f 💞 Update credits 2023-02-03 19:51:22 +01:00
Simon Schneegans 746c3beb90 📝 Add links to README 2023-02-03 19:46:35 +01:00
SoftExpert 7da0833678 🌐 Translated using Weblate (Romanian) 2023-02-03 19:36:13 +01:00
Mathis Chabrier e7448f488d 🌐 Translated using Weblate (French) 2023-02-03 19:36:13 +01:00
SoftExpert 73b72f1c9d 🌐 Translated using Weblate (French) 2023-02-03 19:36:13 +01:00
Ryan Y 9961fcd867 🌐 Translated using Weblate (Japanese) 2023-02-02 16:49:30 +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
Ryan Y ea6ab1d7f3 🌐 Added translation using Weblate (Japanese) 2023-01-30 10:29:26 +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
Petro S 2ceb8e3212 🌐 Translated using Weblate (Ukrainian) 2023-01-26 05:33:22 +01:00
gnu-ewm 4179761c7a 🌐 Translated using Weblate (Polish) 2023-01-26 05:33:22 +01:00
Daudix UFO f22acef43b 🌐 Translated using Weblate (Russian) 2023-01-26 05:33:22 +01:00
Heimen Stoffels 30ddd8b496 🌐 Translated using Weblate (Dutch) 2023-01-26 05:33:22 +01:00
gallegonovato 49aeb053bf 🌐 Translated using Weblate (Spanish) 2023-01-26 05:33:22 +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 7ab078129f 🔀 Merge pull request #288 from Schneegans/feature/configurable-alpha 2023-01-23 19:46:26 +01:00
Hosted Weblate f318a02b02 🌐 Update translation files 2023-01-23 17:20:20 +01:00
gnu-ewm 6edd9ac723 🌐 Translated using Weblate (Polish) 2023-01-23 17:20:20 +01:00
Simon Schneegans 28d6531a87 🎉 Add support for alpha channel in color of TV Effect, TV Glitch, and Glitch 2023-01-23 17:15:47 +01:00
Simon Schneegans 50780eba46 📝 Add TV Glitch to README 2023-01-23 17:14:32 +01:00
Simon Schneegans 1e5b30a274 🔀 Merge pull request #286 from Schneegans/feature/tv-glitch 2023-01-23 17:13:05 +01:00
Simon Schneegans 7af4455833 🔧 Add more reference images 2023-01-23 13:54:17 +01:00
Simon Schneegans f833b49c25 🔧 Add more color to TV Glitch effect 2023-01-23 13:49:48 +01:00
Simon Schneegans 265187cac5 🔧 Add TV Glitch to CI tests 2023-01-23 13:33:06 +01:00
Simon Schneegans b3b9373956 🌐 Update translation template 2023-01-23 13:21:34 +01:00
Simon Schneegans 0441402fa3 🔧 Add some vertical squishing to the TV Glitch effect 2023-01-23 13:17:16 +01:00
Simon Schneegans d52c27228e 🔧 Port TV Glitch to GNOME 2023-01-23 12:57:24 +01:00
Simon Schneegans 9e1d9142fc 📝 Add changelog entry 2023-01-23 12:57:10 +01:00
Simon Schneegans bf7cb797f2 🚚 Rename shader file 2023-01-23 12:56:53 +01:00
Simon Schneegans 8ace960e18 🔀 Merge pull request #285 from Kurtoid/main 2023-01-23 12:23:16 +01:00
Simon Schneegans 3651237248 🔧 Work on loading of profiles 2023-01-23 09:59:46 +01:00
Kurt Wilson 424f522177 clarify change in tv timing code 2023-01-22 22:35:57 -05:00
Kurt Wilson 72db690fa8 🎉 add tvglitch effect - adds the TV effect to glitch 2023-01-22 22:31:27 -05: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 29174104e6 📝 Add hint to changelog [no-ci] 2023-01-21 19:33:33 +01:00
Simon Schneegans 4a8724f529 🔀 Merge pull request #283 from Schneegans/feature/translate-kde 2023-01-21 19:31:44 +01:00
Simon Schneegans b05e935f62 📝 Add changelog entry 2023-01-21 13:54:00 +01:00
Simon Schneegans d73bab1cb1 🔧 Fix some KDE strings 2023-01-21 13:45:55 +01:00
Simon Schneegans 8c88adcb19 🔧 Compile translations with kwin build script 2023-01-21 13:34:39 +01:00
Simon Schneegans 492b16cd0c 🔧 Make KDE and GNOME strings more similar 2023-01-21 13:12:14 +01:00
Simon Schneegans 73fc6820b8 🔧 Make fire effect translatable 2023-01-21 12:51:58 +01:00
Simon Schneegans 66f0640027 🔥 Remove unused kwin apparition directory 2023-01-21 12:51:32 +01:00
Simon Schneegans 04387af610 💞 Add new sponsor 2023-01-20 20:29:05 +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 a8c1035253 📝 Add changelog entry
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-01-17 20:13:21 +01:00
Simon Schneegans c21790f5a8 🪲 Fix issue #278 2023-01-17 20:13:07 +01:00
Simon Schneegans ae0c1309a2 🔧 Bind profile combo rows to settings 2023-01-17 20:01:41 +01:00
Simon Schneegans 2a79860aac 🔀 Merge pull request #277 from onuralpszr/fedora-package-readme 2023-01-15 12:55:09 +01:00
Onuralp SEZER fd5d195446 📝 fedora package name for readme
Signed-off-by: Onuralp SEZER <thunderbirdtr@fedoraproject.org>
2023-01-15 14:37:13 +03:00
Simon Schneegans a0d134f629 Merge branch 'main' into feature/application-profiles 2023-01-14 13:56:44 +01:00
Simon Schneegans bfc313c825 🎉 Bump version number 2023-01-14 13:43:46 +01:00
Simon Schneegans db38dcb76e 🎉 Set release date
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-01-14 13:29:39 +01:00
Simon Schneegans 945759f57b 💞 Update credits 2023-01-14 13:25:56 +01:00
Simon Schneegans a16ab49eb9 📝 Add changelog entry 2023-01-14 13:25:41 +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
SoftExpert c2a89b3012 🌐 Translated using Weblate (Romanian) 2023-01-11 20:15:30 +01:00
ssantos 26cba5c1b9 🌐 Translated using Weblate (Portuguese) 2023-01-11 20:15:30 +01:00
SoftExpert e1896b2c0e 🌐 Translated using Weblate (French) 2023-01-11 20:15:30 +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
Sir-Ivysaur 8897d23086 🌐 Translated using Weblate (Indonesian) 2023-01-09 20:14:58 +01:00
Daudix UFO cf393b04db 🌐 Translated using Weblate (Russian) 2023-01-09 20:14:58 +01:00
Heimen Stoffels 0cb8effd64 🌐 Translated using Weblate (Dutch) 2023-01-09 20:14:58 +01:00
gallegonovato 1e0370b5d9 🌐 Translated using Weblate (Spanish) 2023-01-09 20:14:58 +01:00
albanobattistella aa5068090d 🌐 Translated using Weblate (Italian) 2023-01-09 20:14:58 +01:00
Ettore Atalan 5236e6c623 🌐 Translated using Weblate (German) 2023-01-09 20:14:58 +01:00
Simon Schneegans 970346daaa 📝 Add changelog entry 2023-01-08 19:57:53 +01:00
Simon Schneegans 2fa10bb706 🪲 Fix issue #272 2023-01-08 19:46:48 +01:00
Simon Schneegans d87e84846d 🔀 Merge pull request #273 from Schneegans/feature/adw-about-window 2023-01-08 19:40:29 +01:00
Simon Schneegans 05c4c8979f 📝 Add changelog entry 2023-01-07 20:43:17 +01:00
Simon Schneegans 0d2ff4f5cd 🔧 Use Adw.AboutWindow if available 2023-01-07 20:42:36 +01:00
Hosted Weblate 7739504d76 🌐 Update translation files 2023-01-07 14:04:15 +01:00
Sir-Ivysaur 4c1320dbd2 🌐 Translated using Weblate (Indonesian) 2023-01-07 14:04:15 +01:00
Simon Schneegans c1989c51f8 🔀 Merge pull request #270 from Schneegans/feature/disable-on-battery-save 2023-01-07 13:48:11 +01:00
Simon Schneegans e2b5658598 🌐 Update translation template 2023-01-07 13:39:28 +01:00
Simon Schneegans 71c5821a6a 📝 Add changelog entry 2023-01-07 13:39:02 +01:00
Simon Schneegans da66af199b 🔧 Hide setting if power profiles deamon is not available 2023-01-07 13:28:13 +01:00
Simon Schneegans 09f2b3bde9 🔧 Add switch to UI 2023-01-07 13:25:36 +01:00
Simon Schneegans c7488c6646 🪲 Fix debug print 2023-01-07 13:05:41 +01:00
Simon Schneegans e4aa5e7aae 🔧 Add initial code to disable on power-save mode 2023-01-07 13:02:22 +01:00
Sir-Ivysaur 581a045c69 🌐 Translated using Weblate (Indonesian) 2023-01-06 08:24:57 +01:00
lenemter 0e4e3067e4 🌐 Translated using Weblate (Russian) 2023-01-06 08:24:57 +01:00
Heimen Stoffels 21bb58138c 🌐 Translated using Weblate (Dutch) 2023-01-06 08:24:57 +01:00
gallegonovato fcd05f498f 🌐 Translated using Weblate (Spanish) 2023-01-06 08:24:57 +01:00
Ettore Atalan f0afd86bab 🌐 Translated using Weblate (German) 2023-01-06 08:24:57 +01:00
Simon Schneegans cc7f73b859 🔧 Slight tweak the window fading of the glitch effect 2023-01-05 06:40:50 +01:00
Simon Schneegans c983a7838d 📝 Simplify README table 2023-01-05 06:40:26 +01:00
Sir-Ivysaur 511ca76f66 🌐 Added translation using Weblate (Indonesian) 2023-01-04 19:41:07 +01:00
Hosted Weblate 81969eb9a4 🌐 Update translation files 2023-01-03 13:56:39 +01:00
Simon Schneegans f0d7352c02 🔀 Merge pull request #265 from Schneegans/feature/glitch 2023-01-03 13:48:47 +01:00
Simon Schneegans c31456512c 🌐 Update translation template 2023-01-03 13:47:52 +01:00
Simon Schneegans e40f25f13e 🔧 Add glitch reference images 2023-01-03 13:39:01 +01:00
Simon Schneegans d6e42369c0 🪲 Fix glitch effect's kwin config ui 2023-01-03 13:32:59 +01:00
Simon Schneegans 9dccccf2b2 🎉 Add initial kwin version of the glitch effect 2023-01-03 13:12:05 +01:00
Simon Schneegans f09901c4ba 📝 Add glitch effect to README 2023-01-03 13:04:17 +01:00
Simon Schneegans 4844e1279d 📝 Add changelog entry [generate-references] 2023-01-03 12:54:25 +01:00
Simon Schneegans ab079efc90 🔧 Tweak glitch effect 2023-01-03 12:52:07 +01:00
Simon Schneegans 88a51ea0dc Merge branch 'main' into feature/glitch 2023-01-02 20:31:22 +01:00
Simon Schneegans 91e6dc86c6 📝 Add changelog entry 2023-01-02 20:31:10 +01:00
Simon Schneegans 6440d00891 🔧 Use heart button instead of menu button 2023-01-02 20:29:49 +01:00
Simon Schneegans 1693d9a25b 📝 Add comment 2023-01-02 20:29:25 +01:00
Simon Schneegans 7840665589 🎉 Add initial version of a glitch effect 2023-01-02 20:28:33 +01:00
lenemter 1b0ab3f127 🌐 Translated using Weblate (Russian) 2022-12-31 19:12:53 +01:00
Simon Schneegans d07f3972d1 🔀 Merge pull request #261 from Schneegans/feature/update-ci 2022-12-31 06:04:13 +01:00
Simon Schneegans eb819c90c8 🔧 Do not copy references into container 2022-12-31 05:56:25 +01:00
Simon Schneegans 5a68fe9189 🔧 Revert changes 2022-12-31 05:56:08 +01:00
Simon Schneegans c22417deef 🔧 Update references 2022-12-31 05:48:05 +01:00
Simon Schneegans a353c2ed3e 🪲 Fix reference generation 2022-12-31 05:42:47 +01:00
Simon Schneegans b7202496fb 🔧 Add Fedora 37 to makefile [generate-references] 2022-12-31 05:34:23 +01:00
Simon Schneegans c4094ab158 🔧 Run tests on Fedora 37 as well 2022-12-31 05:28:13 +01:00
Simon Schneegans dd87d28be9 🔧 Do not install gnome-terminal 2022-12-31 05:27:51 +01:00
Paweł Rzońca 0e9b2cc104 🌐 Translated using Weblate (Polish) 2022-12-30 13:15:33 +01:00
albanobattistella 1c5d1a2240 🌐 Translated using Weblate (Italian) 2022-12-30 13:15:33 +01:00
WaldiS 52d5d32955 🌐 Translated using Weblate (Polish) 2022-12-26 12:54:33 +01:00
Heimen Stoffels da0bc714b0 🌐 Translated using Weblate (Dutch) 2022-12-26 12:54:33 +01:00
albanobattistella 15f4d6aebb 🌐 Translated using Weblate (Italian) 2022-12-26 12:54:33 +01:00
Simon Schneegans 6eb8ab76b6 💞 Add new sponsor 2022-12-23 20:23:52 +01:00
Simon Schneegans a9d98257d9 🎉 Bump version number 2022-12-23 17:39:23 +01:00
532 changed files with 59274 additions and 75318 deletions
+1 -1
View File
@@ -6,7 +6,7 @@
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
ko_fi: schneegans
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
+4 -1
View File
@@ -89,7 +89,7 @@ jobs:
- name: Download Dependencies
run: |
sudo apt update -qq
sudo apt install gettext -qq
sudo apt install gettext imagemagick -qq
- name: Build Burn-My-Windows
run: make
- name: Generate References
@@ -115,6 +115,9 @@ jobs:
- '34'
- '35'
- '36'
- '37'
- '38'
- 'rawhide'
session:
- 'gnome-xsession'
- 'gnome-wayland-nested'
+1 -1
View File
@@ -39,7 +39,7 @@ jobs:
- name: Install Dependencies
run: |
sudo apt-get update -q
sudo apt-get install clang-format
sudo apt-get install gettext clang-format
- name: Create Release
run: |
./kwin/build.sh
+6 -4
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,6 +17,8 @@ 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/org.gnome.shell.extensions.$(NAME).gschema.xml \
schemas/org.gnome.shell.extensions.$(NAME)-profile.gschema.xml \
schemas/gschemas.compiled metadata.json LICENSE
# These seven recipes can be invoked by the user.
@@ -46,7 +48,7 @@ pot: $(JS_FILES) $(UI_FILES)
# This runs several tests in containerized versions of GNOME Shell.
test:
@ for version in 32 33 34 35 36 ; do \
@ for version in 32 33 34 35 36 37 38 "rawhide" ; do \
for session in "gnome-xsession" "gnome-wayland-nested" ; do \
echo ; \
echo "Running Tests on Fedora $$version ($$session)." ; \
@@ -57,7 +59,7 @@ test:
# This re-generates all reference images required by the tests.
references:
@ for version in 32 33 34 35 36 ; do \
@ for version in 32 33 34 35 36 37 38 "rawhide" ; do \
for session in "gnome-xsession" "gnome-wayland-nested" ; do \
echo ; \
echo "Generating References for Fedora $$version ($$session)." ; \
@@ -91,7 +93,7 @@ $(ZIP_NAME): $(ZIP_CONTENT)
fi
# Compiles the gschemas.compiled file from the gschema.xml file.
schemas/gschemas.compiled: schemas/org.gnome.shell.extensions.$(NAME).gschema.xml
schemas/gschemas.compiled: schemas/org.gnome.shell.extensions.$(NAME).gschema.xml schemas/org.gnome.shell.extensions.$(NAME)-profile.gschema.xml
@echo "Compiling schemas..."
@glib-compile-schemas schemas
+59 -35
View File
@@ -4,11 +4,10 @@ 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/>
@@ -23,18 +22,18 @@ SPDX-License-Identifier: CC-BY-4.0
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" />
**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/energizeA.gif" />
**Energize B** <br> Using different transporter technology results in an alternative visual effect. | <img src ="docs/pics/energizeB.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" />
**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" />
@@ -44,7 +43,8 @@ Effect | Preview
**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 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)
@@ -56,28 +56,30 @@ Below is a table which summarizes the current availability for all effects.
<table width="100%">
<tr>
<td></td>
<td colspan="6"><strong>GNOME</strong></td>
<td colspan="3"><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>41</td><td>42</td><td>43</td><td>5.25.0</td></tr>
<tr><td>Apparition</td> <td> </td> <td>✅</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><td>✅</td><td> </td> </tr>
<tr><td>Doom</td> <td> </td> <td>✅</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><td>✅</td><td>✅</td> </tr>
<tr><td>Energize B</td> <td>✅</td> <td>✅</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><td>✅</td><td>✅</td> </tr>
<tr><td>Glide</td> <td>✅</td> <td>✅</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><td>✅</td><td>✅</td> </tr>
<tr><td>Incinerate</td> <td>✅</td> <td>✅</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><td>✅</td><td> </td> </tr>
<tr><td>Pixelate</td> <td>✅</td> <td>✅</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><td>✅</td><td>✅</td> </tr>
<tr><td>Pixel Wipe</td> <td>✅</td> <td>✅</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><td>✅</td><td>✅</td> </tr>
<tr><td>Snap of Disintegration</td> <td> </td> <td> </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><td>✅</td><td> </td> </tr>
<tr><td>TV-Effect</td> <td>✅</td> <td>✅</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><td>✅</td><td>✅</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>
</table>
@@ -89,24 +91,27 @@ While [coding new features](docs/how-to-create-new-effects.md) or [translating t
<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>
<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/AngelBrielez'>Angel Brielez</a>
<a href='https://github.com/SubOptimal'>@SubOptimal</a><br>
<a href='https://github.com/vlazic'>@vlazic</a><br>
<!-- <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/dennis1248">Dennis ten Hoove</a><br>
<a href="https://github.com/MRR-dev">@MRR-dev</a><br>
<a href='https://github.com/AngelBrielez'>Angel Brielez</a>
<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>
@@ -188,11 +193,30 @@ You can either download the effects from the KDE store (a), download a stable ve
:warning: **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 `kwidgetsaddons-devel` (Fedora, OpenSuse, ...).**
: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, ...).**
### a) Download from the [KDE Store](https://store.kde.org/p/1861183)
### a) Download from the KDE Store
You can 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...".
Here are links to all effects which are currently available in the KDE store;
* [Doom](https://store.kde.org/p/1898739)
* [Energize A](https://store.kde.org/p/1884310)
* [Energize B](https://store.kde.org/p/1884311)
* [Fire](https://store.kde.org/p/1884307)
* [Glide](https://store.kde.org/p/1935778)
* [Glitch](https://store.kde.org/p/1972813)
* [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)
* [TV-Glitch](https://store.kde.org/p/1982142)
* [Wisps](https://store.kde.org/p/1884313)
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 Effects...".
### b) Downloading a Stable Release
+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

+120
View File
@@ -5,6 +5,126 @@ SPDX-License-Identifier: CC-BY-4.0
# Changelog of the Burn-My-Windows Extension
## [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!
#### 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.
## [Burn My Windows 25](https://github.com/schneegans/Burn-My-Windows/releases/tag/v25)
**Release Date:** 2023-01-17
#### Bug Fixes
* 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)
**Release Date:** 2023-01-14
#### 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.
#### 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.
#### Bug Fixes
* 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)
**Release Date:** 2022-12-23
+169 -195
View File
@@ -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,6 +86,20 @@ 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:
@@ -201,8 +209,9 @@ var SimpleFade = class {
// 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').
// 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.
getNick() {
return 'simple-fade';
}
@@ -215,12 +224,10 @@ var SimpleFade = class {
// -------------------------------------------------------------------- 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.
bindPreferences(dialog) {
// Empty for now... Code is added here later in the tutorial!
return null;
}
// ---------------------------------------------------------------- API for extension.js
@@ -245,7 +252,7 @@ Like this:
```javascript
const ALL_EFFECTS = [
...
new Me.imports.src.SimpleFade.SimpleFade(),
new Me.imports.src.effects.SimpleFade.SimpleFade(),
...
];
```
@@ -271,9 +278,10 @@ There should be two sliders in this example: The animation duration and the widt
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.
_:information_source: If you do not have the means to test your effect on different versions of GNOME, feel free to submit a pull request for one GNOME version only, I may then port your effect to other GNOME versions!_
Just save the code below to `resources/ui/gtk3/simple-fade.ui`, `resources/ui/gtk4/simple-fade.ui`, and `resources/ui/adw/simple-fade.ui` respectively.
Remember to replace any occurrence of `simple-fade` with your effect's nick-name!
<details>
@@ -287,7 +295,7 @@ 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>
@@ -303,114 +311,97 @@ 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>
<object class="GtkRevealer" id="simple-fade-prefs">
<child>
<object class="GtkFrame">
<object class="GtkListBox">
<property name="selection-mode">none</property>
<child>
<object class="GtkListBox">
<property name="selection-mode">none</property>
<style>
<class name="rich-list" />
</style>
<object class="GtkListBoxRow">
<property name="activatable">0</property>
<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>
<object class="GtkBox">
<child>
<object class="GtkBox">
<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="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 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="activatable">0</property>
<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>
<object class="GtkBox">
<child>
<object class="GtkBox">
<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="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 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>
@@ -437,7 +428,7 @@ 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>
@@ -453,97 +444,87 @@ 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>
<object class="GtkRevealer" id="simple-fade-prefs">
<child>
<object class="GtkFrame">
<object class="GtkListBox">
<property name="selection-mode">none</property>
<child>
<object class="GtkListBox">
<property name="selection-mode">none</property>
<property name="show-separators">1</property>
<style>
<class name="rich-list" />
</style>
<object class="GtkListBoxRow">
<property name="activatable">0</property>
<child>
<object class="GtkListBoxRow">
<property name="activatable">0</property>
<object class="GtkBox">
<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 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="GtkListBoxRow">
<property name="activatable">0</property>
<object class="GtkBox">
<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 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>
@@ -584,7 +565,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<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 +628,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` files, 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`);
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');
}
```
+1 -1
View File
@@ -3,5 +3,5 @@
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
```
Binary file not shown.

Before

Width:  |  Height:  |  Size: 415 KiB

After

Width:  |  Height:  |  Size: 256 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.

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.

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.

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.

Before

Width:  |  Height:  |  Size: 928 KiB

After

Width:  |  Height:  |  Size: 739 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.

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

+372 -324
View File
@@ -30,7 +30,10 @@ try {
const ExtensionUtils = imports.misc.extensionUtils;
const Me = imports.misc.extensionUtils.getCurrentExtension();
const migrate = Me.imports.src.migrate;
const utils = Me.imports.src.utils;
const ProfileManager = Me.imports.src.ProfileManager.ProfileManager;
const WindowPicker = Me.imports.src.WindowPicker.WindowPicker;
//////////////////////////////////////////////////////////////////////////////////////////
// This extensions modifies the window-close and window-open animations with all kinds //
@@ -51,24 +54,26 @@ 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.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.Wisps.Wisps(),
new Me.imports.src.effects.Apparition.Apparition(),
new Me.imports.src.effects.BrokenGlass.BrokenGlass(),
new Me.imports.src.effects.Doom.Doom(),
new Me.imports.src.effects.EnergizeA.EnergizeA(),
new Me.imports.src.effects.EnergizeB.EnergizeB(),
new Me.imports.src.effects.Fire.Fire(),
new Me.imports.src.effects.Glide.Glide(),
new Me.imports.src.effects.Glitch.Glitch(),
new Me.imports.src.effects.Hexagon.Hexagon(),
new Me.imports.src.effects.Incinerate.Incinerate(),
new Me.imports.src.effects.Matrix.Matrix(),
new Me.imports.src.effects.Pixelate.Pixelate(),
new Me.imports.src.effects.PixelWheel.PixelWheel(),
new Me.imports.src.effects.PixelWipe.PixelWipe(),
new Me.imports.src.effects.Portal.Portal(),
new Me.imports.src.effects.SnapOfDisintegration.SnapOfDisintegration(),
new Me.imports.src.effects.TRexAttack.TRexAttack(),
new Me.imports.src.effects.TVEffect.TVEffect(),
new Me.imports.src.effects.TVGlitch.TVGlitch(),
new Me.imports.src.effects.Wisps.Wisps(),
];
// Load all of our resources.
@@ -78,6 +83,39 @@ class Extension {
// Store a reference to the settings object.
this._settings = ExtensionUtils.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 < Me.metadata.version) {
if (lastVersion <= 26) {
// If the profile migration fails for some reason, the callback will create a
// default profile instead.
migrate.fromVersion26().finally(() => {
this._loadProfiles();
this._settings.set_int('last-extension-version', Me.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;
@@ -87,179 +125,157 @@ class Extension {
this._upowerProxy = new UPowerProxy(Gio.DBus.system, 'org.freedesktop.UPower',
'/org/freedesktop/UPower');
// This is used to get the current power profile.
try {
const PowerProfilesProxy = Gio.DBusProxy.makeProxyWrapper(
utils.getStringResource('/interfaces/net.hadess.PowerProfiles.xml'));
this._powerProfilesProxy = new PowerProfilesProxy(
Gio.DBus.system, 'net.hadess.PowerProfiles', '/net/hadess/PowerProfiles');
} catch (e) {
// Maybe the service is masked...
}
// 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#L1487
// 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#L1472
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#L1558.
// 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...
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1120
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) {
// 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);
};
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);
// The parameters of this method changed a bit through the versions...
let realWindow, clone;
let realWindow, container;
if (utils.shellVersionIs(3, 36)) {
clone = result[0];
realWindow = clone.realWindow;
container = clone[0];
realWindow = container.realWindow;
} else if (utils.shellVersionIs(3, 38)) {
clone = result._windowContainer;
container = clone._windowContainer;
realWindow = params[0].get_compositor_private();
} else {
clone = result.window_container;
container = clone.window_container;
realWindow = params[0].get_compositor_private();
}
// 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;
}
});
// 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;
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);
});
}
// Remove the temporary members again once the clone is deleted.
container.connect('destroy', () => {
delete realWindow._bmwOverviewClone;
delete realWindow._bmwOverviewCloneContainer;
});
// 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
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1363
if (utils.shellVersionIs(3, 36)) {
clone.connect('destroy', () => this._doRemoveWindow(clone.metaWindow));
container.connect('destroy', () => this._doRemoveWindow(container.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]);
@@ -326,19 +342,17 @@ 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;
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;
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;
if (WindowPreview) {
WindowPreview.prototype._deleteAll = this._origDeleteAll;
@@ -351,87 +365,184 @@ class Extension {
// ----------------------------------------------------------------------- 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._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.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 && utils.shellVersionIsAtLeast(42, 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.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.
if (this._settings.get_boolean('disable-on-battery') && this._upowerProxy.OnBattery &&
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');
@@ -440,123 +551,62 @@ 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.getActorScale(profile.settings, forOpening, actor);
// 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;
// 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 && utils.shellVersionIsAtLeast(3, 38)) {
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;
}
// Now add a cool shader to our window actor!
const shader = effect.shaderFactory.getShader();
actor.add_effect_with_name('burn-my-windows-effect', shader);
// 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);
if (actor._bmwOverviewClone && utils.shellVersionIsAtLeast(3, 38)) {
actor._bmwOverviewClone.overlayEnabled = true;
actor._bmwOverviewCloneContainer.scale_x = 1.0;
actor._bmwOverviewCloneContainer.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 {
Main.wm._destroyWindowDone(global.window_manager, 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');
testMode ? 5000 : profile.settings.get_int(effect.getNick() + '-animation-time');
// All animations are relative to the window's center.
actor.set_pivot_point(0.5, 0.5);
// 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);
}
}
// 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);
// Set other uniforms each frame.
transition.connect('new-frame', (t) => {
if (testMode) {
shader.updateAnimation(0.5);
} else {
shader.updateAnimation(t.get_progress());
}
});
// 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();
}
});
}
// 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
@@ -570,11 +620,9 @@ class Extension {
// 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 shader = actor.get_effect('burn-my-windows-effect');
return false;
return shader == null;
}
}
-127
View File
@@ -1,127 +0,0 @@
<?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="4" column="1">
<widget class="QDoubleSpinBox" name="kcfg_Randomness">
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="kcfg_Duration">
<property name="suffix">
<string> milliseconds</string>
</property>
<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="3" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Suction:</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_4">
<property name="text">
<string>Twirl:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Randomness:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Shake:</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_Suction">
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Duration:</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_Twirl">
<property name="minimum">
<double>-10.000000000000000</double>
</property>
<property name="maximum">
<double>10.000000000000000</double>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QDoubleSpinBox" name="kcfg_Shake">
<property name="maximum">
<double>10.000000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
<resources />
<connections />
</ui>
-11
View File
@@ -1,11 +0,0 @@
// 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, 'uShake', effect.readConfig('Shake', 1.0));
effect.setUniform(this.shader, 'uTwirl', effect.readConfig('Twirl', 1.0));
effect.setUniform(this.shader, 'uSuction', effect.readConfig('Suction', 1.0));
effect.setUniform(this.shader, 'uRandomness', effect.readConfig('Randomness', 1.0));
+14 -6
View File
@@ -30,6 +30,14 @@ BUILD_DIR="_build"
# Create it if it's not there yet.
mkdir -p "$BUILD_DIR"
# Compile the translations.
for file in ../po/*.po; do
echo "Compiling $file"
lang=$(basename "$file" .po)
mkdir -p "$BUILD_DIR/locale/$lang/LC_MESSAGES"
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:
# $1: The nick of the effect (e.g. "energize-a")
# $2: The name of the effect (e.g. "Energize A")
@@ -48,6 +56,9 @@ generate() {
mkdir -p "$BUILD_DIR/$DIR_NAME/contents/config"
mkdir -p "$BUILD_DIR/$DIR_NAME/contents/ui"
# Copy the translations.
cp -r "$BUILD_DIR/locale" "$BUILD_DIR/$DIR_NAME/contents"
# Copy the config file if it exists.
if [ -f "$1/main.xml" ]; then
cp "$1/main.xml" "$BUILD_DIR/$DIR_NAME/contents/config"
@@ -123,16 +134,12 @@ generate() {
}
# Now run the above method for all supported effects.
# The apparition effect is disabled for now. I have not yet found a way to upscale the
# window canvas during the animation.
#generate "apparition" "[BMW] Apparition" "This effect hides your windows by violently sucking them into the void of magic"
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 "doom" "Doom [Burn-My-Windows]" "Melt your windows"
generate "fire" "Fire [Burn-My-Windows]" "The classic effect inspired by Compiz"
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"
generate "incinerate" "Incinerate [Burn-My-Windows]" "A less snappy but definitely more fancy take on the fire effect"
generate "pixelate" "Pixelate [Burn-My-Windows]" "Pixelate the window and randomly hide the pixels"
@@ -140,6 +147,7 @@ generate "pixel-wheel" "Pixel Wheel [Burn-My-Windows]" "Pixelate the window and
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 "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.
+1 -4
View File
@@ -33,7 +33,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Duration:</string>
<string>Animation Time [ms]</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -62,9 +62,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="kcfg_Duration">
<property name="suffix">
<string> milliseconds</string>
</property>
<property name="minimum">
<number>100</number>
</property>
+3 -6
View File
@@ -20,7 +20,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Duration:</string>
<string>Animation Time [ms]</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -30,7 +30,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Color:</string>
<string>Color</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -50,7 +50,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="2" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Scale:</string>
<string>Scale</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -72,9 +72,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="kcfg_Duration">
<property name="suffix">
<string> milliseconds</string>
</property>
<property name="minimum">
<number>100</number>
</property>
+3 -6
View File
@@ -20,7 +20,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Duration:</string>
<string>Animation Time [ms]</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -30,7 +30,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Color:</string>
<string>Color</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -50,7 +50,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="2" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Scale:</string>
<string>Scale</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -72,9 +72,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="kcfg_Duration">
<property name="suffix">
<string> milliseconds</string>
</property>
<property name="minimum">
<number>100</number>
</property>
+5 -8
View File
@@ -20,7 +20,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="4" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Gradient:</string>
<string>Gradient</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -29,9 +29,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="kcfg_Duration">
<property name="suffix">
<string> milliseconds</string>
</property>
<property name="minimum">
<number>100</number>
</property>
@@ -56,7 +53,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="3" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Movement Speed:</string>
<string>Speed</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -76,7 +73,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Scale:</string>
<string>Scale</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -132,7 +129,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Duration:</string>
<string>Animation Time [ms]</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -150,4 +147,4 @@ SPDX-License-Identifier: GPL-3.0-or-later
</customwidgets>
<resources />
<connections />
</ui>
</ui>
+2 -5
View File
@@ -29,9 +29,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="kcfg_Duration">
<property name="suffix">
<string> milliseconds</string>
</property>
<property name="minimum">
<number>100</number>
</property>
@@ -46,7 +43,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Scale:</string>
<string>Scale</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -56,7 +53,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Duration:</string>
<string>Animation Time [ms]</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+137
View File
@@ -0,0 +1,137 @@
<?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_3">
<property name="text">
<string>Scale</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>kcfg_Color</cstring>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Color</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>kcfg_Color</cstring>
</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>
<item row="5" column="1">
<widget class="KColorButton" name="kcfg_Color">
<property name="alphaChannelEnabled" stdset="0">
<bool>true</bool>
</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="3" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Strength</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Speed</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_Scale">
<property name="minimum">
<double>0.100000000000000</double>
</property>
<property name="maximum">
<double>10.000000000000000</double>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QDoubleSpinBox" name="kcfg_Strength">
<property name="minimum">
<double>0.100000000000000</double>
</property>
<property name="maximum">
<double>10.000000000000000</double>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QDoubleSpinBox" name="kcfg_Speed">
<property name="minimum">
<double>0.100000000000000</double>
</property>
<property name="maximum">
<double>10.000000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>KColorButton</class>
<extends>QPushButton</extends>
<header>kcolorbutton.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>
@@ -10,19 +10,19 @@ SPDX-License-Identifier: GPL-3.0-or-later
<kcfgfile name="" />
<group name="">
<entry name="Duration" type="UInt">
<default>300</default>
<default>750</default>
</entry>
<entry name="Shake" type="Double">
<default>3</default>
<entry name="Scale" type="Double">
<default>1</default>
</entry>
<entry name="Twirl" type="Double">
<default>5</default>
<entry name="Strength" type="Double">
<default>2</default>
</entry>
<entry name="Suction" type="Double">
<default>0.75</default>
<entry name="Speed" type="Double">
<default>2</default>
</entry>
<entry name="Randomness" type="Double">
<default>0.5</default>
<entry name="Color" type="Color">
<default>#64A0FF</default>
</entry>
</group>
</kcfg>
</kcfg>
@@ -4,4 +4,4 @@
// 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.
effect.setUniform(this.shader, 'uSeed', [Math.random(), Math.random()]);
effect.setUniform(this.shader, 'uSeed', Math.random());
+12
View File
@@ -0,0 +1,12 @@
// 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, 'uDuration', this.duration * 0.001);
effect.setUniform(this.shader, 'uScale', effect.readConfig('Scale', 1.0));
effect.setUniform(this.shader, 'uStrength', effect.readConfig('Strength', 1.0));
effect.setUniform(this.shader, 'uSpeed', effect.readConfig('Speed', 1.0));
effect.setUniform(this.shader, 'uColor', this.readRGBAConfig('Color'));
+6 -9
View File
@@ -20,7 +20,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Line Color:</string>
<string>Line Color</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -49,9 +49,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="kcfg_Duration">
<property name="suffix">
<string> milliseconds</string>
</property>
<property name="minimum">
<number>100</number>
</property>
@@ -66,7 +63,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="2" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Glow Color:</string>
<string>Glow Color</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -76,7 +73,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="4" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Line Width:</string>
<string>Mesh Line Width</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -86,7 +83,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Duration:</string>
<string>Animation Time [ms]</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -96,7 +93,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="3" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Scale:</string>
<string>Scale</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -135,4 +132,4 @@ SPDX-License-Identifier: GPL-3.0-or-later
</customwidgets>
<resources />
<connections />
</ui>
</ui>
+6 -9
View File
@@ -20,7 +20,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="2" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Scale:</string>
<string>Scale</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -32,9 +32,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="kcfg_Duration">
<property name="suffix">
<string> milliseconds</string>
</property>
<property name="minimum">
<number>100</number>
</property>
@@ -59,7 +56,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Duration:</string>
<string>Animation Time [ms]</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -69,7 +66,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="3" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Turbulence:</string>
<string>Turbulence</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -92,7 +89,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Color:</string>
<string>Color</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -112,7 +109,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="4" column="1">
<widget class="QCheckBox" name="kcfg_UsePointer">
<property name="text">
<string>Start from Pointer Location</string>
<string>Start at Pointer</string>
</property>
</widget>
</item>
@@ -127,4 +124,4 @@ SPDX-License-Identifier: GPL-3.0-or-later
</customwidgets>
<resources />
<connections />
</ui>
</ui>
+1 -1
View File
@@ -21,7 +21,7 @@
},
"X-KDE-Ordering": "60",
"X-KDE-PluginKeyword": "%DIR_NAME%",
"X-KWin-Config-TranslationDomain": "kwin_effects",
"X-KWin-Config-TranslationDomain": "burn-my-windows",
"X-KWin-Exclusive-Category": "toplevel-open-close-animation",
"X-Plasma-API": "javascript",
"X-Plasma-MainScript": "code/main.js"
+1 -4
View File
@@ -20,7 +20,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Duration:</string>
<string>Animation Time [ms]</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -39,9 +39,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="kcfg_Duration">
<property name="suffix">
<string> milliseconds</string>
</property>
<property name="minimum">
<number>100</number>
</property>
+1 -4
View File
@@ -20,7 +20,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Duration:</string>
<string>Animation Time [ms]</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -39,9 +39,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="kcfg_Duration">
<property name="suffix">
<string> milliseconds</string>
</property>
<property name="minimum">
<number>100</number>
</property>
+1 -4
View File
@@ -20,7 +20,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Duration:</string>
<string>Animation Time [ms]</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -39,9 +39,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="kcfg_Duration">
<property name="suffix">
<string> milliseconds</string>
</property>
<property name="minimum">
<number>100</number>
</property>
+2 -5
View File
@@ -20,7 +20,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="4" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Color:</string>
<string>Color</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -33,7 +33,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Duration:</string>
<string>Animation Time [ms]</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -52,9 +52,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="kcfg_Duration">
<property name="suffix">
<string> milliseconds</string>
</property>
<property name="minimum">
<number>500</number>
</property>
+137
View File
@@ -0,0 +1,137 @@
<?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_3">
<property name="text">
<string>Scale</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>kcfg_Color</cstring>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Color</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>kcfg_Color</cstring>
</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>
<item row="5" column="1">
<widget class="KColorButton" name="kcfg_Color">
<property name="alphaChannelEnabled" stdset="0">
<bool>true</bool>
</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="3" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Strength</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Speed</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_Scale">
<property name="minimum">
<double>0.100000000000000</double>
</property>
<property name="maximum">
<double>10.000000000000000</double>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QDoubleSpinBox" name="kcfg_Strength">
<property name="minimum">
<double>0.100000000000000</double>
</property>
<property name="maximum">
<double>10.000000000000000</double>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QDoubleSpinBox" name="kcfg_Speed">
<property name="minimum">
<double>0.100000000000000</double>
</property>
<property name="maximum">
<double>10.000000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>KColorButton</class>
<extends>QPushButton</extends>
<header>kcolorbutton.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>
+28
View File
@@ -0,0 +1,28 @@
<?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="Scale" type="Double">
<default>1</default>
</entry>
<entry name="Strength" type="Double">
<default>2</default>
</entry>
<entry name="Speed" type="Double">
<default>2</default>
</entry>
<entry name="Color" type="Color">
<default>#64A0FF</default>
</entry>
</group>
</kcfg>
+7
View File
@@ -0,0 +1,7 @@
// 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.
effect.setUniform(this.shader, 'uSeed', Math.random());
+12
View File
@@ -0,0 +1,12 @@
// 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, 'uDuration', this.duration * 0.001);
effect.setUniform(this.shader, 'uScale', effect.readConfig('Scale', 1.0));
effect.setUniform(this.shader, 'uStrength', effect.readConfig('Strength', 1.0));
effect.setUniform(this.shader, 'uSpeed', effect.readConfig('Speed', 1.0));
effect.setUniform(this.shader, 'uColor', this.readRGBAConfig('Color'));
+2 -5
View File
@@ -19,9 +19,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="1">
<widget class="QSpinBox" name="kcfg_Duration">
<property name="suffix">
<string> milliseconds</string>
</property>
<property name="minimum">
<number>100</number>
</property>
@@ -43,7 +40,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Duration:</string>
<string>Animation Time [ms]</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -53,7 +50,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Color:</string>
<string>Color</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+1 -1
View File
@@ -5,4 +5,4 @@
// The code below is called whenever the user changes something in the configuration of
// the effect.
effect.setUniform(this.shader, 'uColor', this.readRGBConfig('Color'));
effect.setUniform(this.shader, 'uColor', this.readRGBAConfig('Color'));
+3 -6
View File
@@ -29,9 +29,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="kcfg_Duration">
<property name="suffix">
<string> milliseconds</string>
</property>
<property name="minimum">
<number>100</number>
</property>
@@ -46,7 +43,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="1" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Color:</string>
<string>Color</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -56,7 +53,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Duration:</string>
<string>Animation Time [ms]</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -66,7 +63,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<item row="2" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Scale:</string>
<string>Scale</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+3 -2
View File
@@ -10,8 +10,9 @@
"40",
"41",
"42",
"43"
"43",
"44"
],
"url": "https://github.com/Schneegans/Burn-My-Windows",
"version": 23
"version": 31
}
+598 -401
View File
File diff suppressed because it is too large Load Diff
+568 -379
View File
File diff suppressed because it is too large Load Diff
+528 -364
View File
File diff suppressed because it is too large Load Diff
+565 -380
View File
File diff suppressed because it is too large Load Diff
+590 -385
View File
File diff suppressed because it is too large Load Diff
+586 -398
View File
File diff suppressed because it is too large Load Diff
+586 -384
View File
File diff suppressed because it is too large Load Diff
+566 -381
View File
File diff suppressed because it is too large Load Diff
+562 -377
View File
File diff suppressed because it is too large Load Diff
+603 -401
View File
File diff suppressed because it is too large Load Diff
+535 -368
View File
File diff suppressed because it is too large Load Diff
+769
View File
@@ -0,0 +1,769 @@
# 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: 2023-02-21 16:46+0100\n"
"PO-Revision-Date: 2023-02-06 11:38+0000\n"
"Last-Translator: KinteLiX <superh552@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 4.16-dev\n"
#: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103
msgid "Opening Windows"
msgstr ""
#: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221
#: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104
msgid "Closing Windows"
msgstr ""
#: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249
#: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118
msgid "Normal Windows"
msgstr ""
#: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250
#: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119
msgid "Dialog Windows"
msgstr ""
#: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278
#: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133
msgid "Default Color Scheme"
msgstr ""
#: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279
#: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme"
msgstr ""
#: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307
#: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148
msgid "On Battery"
msgstr ""
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308
#: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149
msgid "Plugged In"
msgstr ""
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336
#: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163
msgid "Power-Saver Mode"
msgstr ""
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337
#: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164
msgid "Balanced Mode"
msgstr ""
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338
#: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165
msgid "Performance Mode"
msgstr ""
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339
#: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166
msgid "Power Saver or Balanced"
msgstr ""
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340
#: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167
msgid "Balanced or Performance"
msgstr ""
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387
#: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183
msgid "High Priority"
msgstr ""
#: src/ProfileManager.js:191
msgid "Standard Profile"
msgstr ""
#: src/effects/Apparition.js:78
msgid "Apparition"
msgstr "Jelenés"
#: src/effects/BrokenGlass.js:137
msgid "Broken Glass"
msgstr "Szilánkok"
#: src/effects/Doom.js:88
msgid "Doom"
msgstr "Végzet"
#: src/effects/EnergizeA.js:80
msgid "Energize A"
msgstr "Energia A"
#: src/effects/EnergizeB.js:81
msgid "Energize B"
msgstr "Energia B"
#: src/effects/Fire.js:100
msgid "Fire"
msgstr "Tűz"
#: src/effects/Fire.js:154
msgid "Default Fire"
msgstr "Alapértelmezett tűz"
#: src/effects/Fire.js:164
msgid "Hell Fire"
msgstr "Pokoli tűz"
#: src/effects/Fire.js:174
msgid "Dark and Smutty"
msgstr "Sötét és kormos"
#: src/effects/Fire.js:184
msgid "Cold Breeze"
msgstr "Hideg szellő"
#: src/effects/Fire.js:194
msgid "Santa is Coming"
msgstr "Jön a télapó"
#: src/effects/Glide.js:78
msgid "Glide"
msgstr "Siklás"
#: src/effects/Glitch.js:86
msgid "Glitch"
msgstr "Hiba"
#: src/effects/Hexagon.js:94
msgid "Hexagon"
msgstr "Hatszög"
#: src/effects/Incinerate.js:131
msgid "Incinerate"
msgstr "Elégetés"
#: src/effects/Matrix.js:114
msgid "Matrix"
msgstr "Mátrix"
#: src/effects/Pixelate.js:74
msgid "Pixelate"
msgstr "Pixelezés"
#: src/effects/PixelWheel.js:74
msgid "Pixel Wheel"
msgstr "Pixelciklus"
#: src/effects/PixelWipe.js:101
msgid "Pixel Wipe"
msgstr "Pixelhullám"
#: src/effects/Portal.js:88
msgid "Portal"
msgstr "Portál"
#: src/effects/SnapOfDisintegration.js:114
msgid "Snap of Disintegration"
msgstr "Hírtelen felbomlás"
#: src/effects/TRexAttack.js:112
msgid "T-Rex Attack"
msgstr "T-Rex támadás"
#: src/effects/TVEffect.js:78
msgid "TV Effect"
msgstr "Tévé hatás"
#: src/effects/TVGlitch.js:87
msgid "TV Glitch"
msgstr "Tévé hiba"
#: src/effects/Wisps.js:82
msgid "Wisps"
msgstr "Szálak"
#: prefs.js:247
msgid "Preview this effect"
msgstr "Nézze elő ezt a hatást"
#: prefs.js:364 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
msgid "Burn-My-Windows has been updated!"
msgstr ""
#: prefs.js:365 resources/ui/common/menus.ui:17 resources/ui/gtk4/prefs.ui:56
#: resources/ui/gtk3/prefs.ui:96
msgid "View Changelog"
msgstr "Változási napló megtekintése"
#: prefs.js:496 prefs.js:528
msgid "Gold Sponsors"
msgstr "Aranyszponzorok"
#: prefs.js:500 prefs.js:532
msgid "Silver Sponsors"
msgstr "Ezüstszponzorok"
#: prefs.js:504 prefs.js:536
msgid "Bronze Sponsors"
msgstr "Bronzszponzorok"
#: prefs.js:508 prefs.js:540
msgid "Past Sponsors"
msgstr "Korábbi szponzorok"
#: prefs.js:585
msgid "Delete this Profile?"
msgstr ""
#: prefs.js:587
msgid ""
"The current effect profile with all its effect settings will be permanently "
"lost."
msgstr ""
#: prefs.js:592
msgid "Cancel"
msgstr ""
#: prefs.js:593
msgid "Delete"
msgstr ""
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:923
#, javascript-format
msgid "Preview for %s"
msgstr "%s előnézete"
#: prefs.js:945
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 ""
#: resources/ui/common/menus.ui:27
msgid "Report a Bug"
msgstr "Hiba jelentése"
#: resources/ui/common/menus.ui:31
msgid "Create an Effect"
msgstr "Hatás készítése"
#: resources/ui/common/menus.ui:35
msgid "Translate"
msgstr "Fordítás"
#: resources/ui/common/menus.ui:39
msgid "Donate"
msgstr "Adományozás"
#: resources/ui/common/menus.ui:52
msgid "About Burn-My-Windows"
msgstr "A Burn-My-Windowsról"
#: resources/ui/common/menus.ui:63
msgid "Add New Profile..."
msgstr ""
#: resources/ui/gtk4/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23
#: resources/ui/gtk4/glitch.ui:23 resources/ui/gtk4/matrix.ui:23
#: resources/ui/gtk4/doom.ui:22 resources/ui/gtk4/trex.ui:23
#: resources/ui/gtk4/wisps.ui:23 resources/ui/gtk4/energize-b.ui:23
#: resources/ui/gtk4/pixel-wheel.ui:23 resources/ui/gtk4/glide.ui:23
#: resources/ui/gtk4/apparition.ui:22 resources/ui/gtk4/portal.ui:23
#: resources/ui/gtk4/incinerate.ui:23 resources/ui/gtk4/hexagon.ui:23
#: resources/ui/gtk4/fire.ui:46 resources/ui/gtk4/pixel-wipe.ui:23
#: resources/ui/gtk4/snap.ui:23 resources/ui/gtk4/energize-a.ui:23
#: resources/ui/gtk4/pixelate.ui:23 resources/ui/gtk4/tv.ui:23
#: resources/ui/gtk3/tv-glitch.ui:52 resources/ui/gtk3/glitch.ui:52
#: resources/ui/gtk3/doom.ui:52 resources/ui/gtk3/wisps.ui:38
#: resources/ui/gtk3/energize-b.ui:38 resources/ui/gtk3/pixel-wheel.ui:45
#: resources/ui/gtk3/glide.ui:59 resources/ui/gtk3/apparition.ui:59
#: resources/ui/gtk3/portal.ui:52 resources/ui/gtk3/incinerate.ui:45
#: resources/ui/gtk3/hexagon.ui:45 resources/ui/gtk3/fire.ui:84
#: resources/ui/gtk3/pixel-wipe.ui:45 resources/ui/gtk3/energize-a.ui:38
#: resources/ui/gtk3/pixelate.ui:45 resources/ui/gtk3/tv.ui:31
#: 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/trex.ui:14
#: resources/ui/adw/wisps.ui:14 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/pixel-wipe.ui:14
#: resources/ui/adw/snap.ui:14 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/gtk4/broken-glass.ui:50 resources/ui/gtk4/broken-glass.ui:96
#: resources/ui/gtk4/broken-glass.ui:142 resources/ui/gtk4/broken-glass.ui:188
#: resources/ui/gtk4/broken-glass.ui:244 resources/ui/gtk4/tv-glitch.ui:51
#: resources/ui/gtk4/tv-glitch.ui:97 resources/ui/gtk4/tv-glitch.ui:143
#: resources/ui/gtk4/tv-glitch.ui:189 resources/ui/gtk4/tv-glitch.ui:226
#: resources/ui/gtk4/glitch.ui:51 resources/ui/gtk4/glitch.ui:97
#: resources/ui/gtk4/glitch.ui:143 resources/ui/gtk4/glitch.ui:189
#: resources/ui/gtk4/glitch.ui:226 resources/ui/gtk4/matrix.ui:51
#: resources/ui/gtk4/matrix.ui:97 resources/ui/gtk4/matrix.ui:143
#: resources/ui/gtk4/matrix.ui:189 resources/ui/gtk4/matrix.ui:226
#: resources/ui/gtk4/matrix.ui:263 resources/ui/gtk4/doom.ui:50
#: resources/ui/gtk4/doom.ui:96 resources/ui/gtk4/doom.ui:142
#: resources/ui/gtk4/doom.ui:188 resources/ui/gtk4/trex.ui:51
#: resources/ui/gtk4/trex.ui:97 resources/ui/gtk4/trex.ui:143
#: resources/ui/gtk4/trex.ui:189 resources/ui/gtk4/trex.ui:226
#: resources/ui/gtk4/wisps.ui:51 resources/ui/gtk4/wisps.ui:97
#: resources/ui/gtk4/wisps.ui:134 resources/ui/gtk4/energize-b.ui:51
#: resources/ui/gtk4/energize-b.ui:97 resources/ui/gtk4/energize-b.ui:134
#: resources/ui/gtk4/pixel-wheel.ui:51 resources/ui/gtk4/pixel-wheel.ui:97
#: resources/ui/gtk4/pixel-wheel.ui:143 resources/ui/gtk4/glide.ui:51
#: resources/ui/gtk4/glide.ui:97 resources/ui/gtk4/glide.ui:143
#: resources/ui/gtk4/glide.ui:189 resources/ui/gtk4/glide.ui:235
#: resources/ui/gtk4/apparition.ui:50 resources/ui/gtk4/apparition.ui:96
#: resources/ui/gtk4/apparition.ui:142 resources/ui/gtk4/apparition.ui:188
#: resources/ui/gtk4/apparition.ui:234 resources/ui/gtk4/portal.ui:51
#: resources/ui/gtk4/portal.ui:97 resources/ui/gtk4/portal.ui:143
#: resources/ui/gtk4/portal.ui:189 resources/ui/gtk4/portal.ui:226
#: resources/ui/gtk4/incinerate.ui:51 resources/ui/gtk4/incinerate.ui:97
#: resources/ui/gtk4/incinerate.ui:143 resources/ui/gtk4/incinerate.ui:198
#: resources/ui/gtk4/incinerate.ui:235 resources/ui/gtk4/hexagon.ui:51
#: resources/ui/gtk4/hexagon.ui:97 resources/ui/gtk4/hexagon.ui:143
#: resources/ui/gtk4/hexagon.ui:180 resources/ui/gtk4/hexagon.ui:217
#: resources/ui/gtk4/hexagon.ui:272 resources/ui/gtk4/fire.ui:74
#: resources/ui/gtk4/fire.ui:120 resources/ui/gtk4/fire.ui:166
#: resources/ui/gtk4/fire.ui:221 resources/ui/gtk4/fire.ui:280
#: resources/ui/gtk4/pixel-wipe.ui:51 resources/ui/gtk4/pixel-wipe.ui:97
#: resources/ui/gtk4/energize-a.ui:51 resources/ui/gtk4/energize-a.ui:97
#: resources/ui/gtk4/energize-a.ui:134 resources/ui/gtk4/pixelate.ui:51
#: resources/ui/gtk4/pixelate.ui:97 resources/ui/gtk4/pixelate.ui:143
#: resources/ui/gtk4/tv.ui:51 resources/ui/gtk4/tv.ui:88
#: resources/ui/gtk3/tv-glitch.ui:78 resources/ui/gtk3/tv-glitch.ui:123
#: resources/ui/gtk3/tv-glitch.ui:168 resources/ui/gtk3/tv-glitch.ui:213
#: resources/ui/gtk3/tv-glitch.ui:255 resources/ui/gtk3/glitch.ui:78
#: resources/ui/gtk3/glitch.ui:123 resources/ui/gtk3/glitch.ui:168
#: resources/ui/gtk3/glitch.ui:213 resources/ui/gtk3/glitch.ui:255
#: resources/ui/gtk3/doom.ui:78 resources/ui/gtk3/doom.ui:123
#: resources/ui/gtk3/doom.ui:168 resources/ui/gtk3/doom.ui:213
#: resources/ui/gtk3/wisps.ui:64 resources/ui/gtk3/wisps.ui:109
#: resources/ui/gtk3/wisps.ui:151 resources/ui/gtk3/energize-b.ui:64
#: resources/ui/gtk3/energize-b.ui:109 resources/ui/gtk3/energize-b.ui:151
#: resources/ui/gtk3/pixel-wheel.ui:71 resources/ui/gtk3/pixel-wheel.ui:116
#: resources/ui/gtk3/pixel-wheel.ui:161 resources/ui/gtk3/glide.ui:85
#: resources/ui/gtk3/glide.ui:130 resources/ui/gtk3/glide.ui:175
#: resources/ui/gtk3/glide.ui:220 resources/ui/gtk3/glide.ui:265
#: resources/ui/gtk3/apparition.ui:85 resources/ui/gtk3/apparition.ui:130
#: resources/ui/gtk3/apparition.ui:175 resources/ui/gtk3/apparition.ui:220
#: resources/ui/gtk3/apparition.ui:265 resources/ui/gtk3/portal.ui:78
#: resources/ui/gtk3/portal.ui:123 resources/ui/gtk3/portal.ui:168
#: resources/ui/gtk3/portal.ui:213 resources/ui/gtk3/portal.ui:255
#: resources/ui/gtk3/incinerate.ui:71 resources/ui/gtk3/incinerate.ui:116
#: resources/ui/gtk3/incinerate.ui:161 resources/ui/gtk3/incinerate.ui:220
#: resources/ui/gtk3/incinerate.ui:262 resources/ui/gtk3/hexagon.ui:71
#: resources/ui/gtk3/hexagon.ui:116 resources/ui/gtk3/hexagon.ui:161
#: resources/ui/gtk3/hexagon.ui:203 resources/ui/gtk3/hexagon.ui:245
#: resources/ui/gtk3/hexagon.ui:304 resources/ui/gtk3/fire.ui:110
#: resources/ui/gtk3/fire.ui:154 resources/ui/gtk3/fire.ui:198
#: resources/ui/gtk3/fire.ui:257 resources/ui/gtk3/fire.ui:321
#: resources/ui/gtk3/pixel-wipe.ui:71 resources/ui/gtk3/pixel-wipe.ui:116
#: resources/ui/gtk3/energize-a.ui:64 resources/ui/gtk3/energize-a.ui:109
#: resources/ui/gtk3/energize-a.ui:151 resources/ui/gtk3/pixelate.ui:71
#: resources/ui/gtk3/pixelate.ui:116 resources/ui/gtk3/pixelate.ui:161
#: resources/ui/gtk3/tv.ui:57 resources/ui/gtk3/tv.ui:99
#: 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/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:94 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/pixel-wipe.ui:36 resources/ui/adw/pixel-wipe.ui:69
#: 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/gtk4/broken-glass.ui:68 resources/ui/gtk4/tv-glitch.ui:69
#: resources/ui/gtk4/glitch.ui:69 resources/ui/gtk4/matrix.ui:69
#: resources/ui/gtk4/wisps.ui:69 resources/ui/gtk4/energize-b.ui:69
#: resources/ui/gtk4/glide.ui:69 resources/ui/gtk4/incinerate.ui:69
#: resources/ui/gtk4/hexagon.ui:69 resources/ui/gtk4/fire.ui:92
#: resources/ui/gtk4/snap.ui:69 resources/ui/gtk4/energize-a.ui:69
#: resources/ui/gtk3/tv-glitch.ui:97 resources/ui/gtk3/glitch.ui:97
#: resources/ui/gtk3/wisps.ui:83 resources/ui/gtk3/energize-b.ui:83
#: resources/ui/gtk3/glide.ui:104 resources/ui/gtk3/incinerate.ui:90
#: resources/ui/gtk3/hexagon.ui:90 resources/ui/gtk3/fire.ui:128
#: resources/ui/gtk3/energize-a.ui:83 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/gtk4/broken-glass.ui:114 resources/ui/adw/broken-glass.ui:81
msgid "Gravity"
msgstr "Gravitáció"
#: resources/ui/gtk4/broken-glass.ui:160 resources/ui/adw/broken-glass.ui:114
msgid "Blow Force"
msgstr "Fúvóerő"
#: resources/ui/gtk4/broken-glass.ui:210 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/gtk4/broken-glass.ui:219 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/gtk4/tv-glitch.ui:115 resources/ui/gtk4/glitch.ui:115
#: resources/ui/gtk3/tv-glitch.ui:142 resources/ui/gtk3/glitch.ui:142
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
msgid "Strength"
msgstr "Erő"
#: resources/ui/gtk4/tv-glitch.ui:161 resources/ui/gtk4/glitch.ui:161
#: resources/ui/gtk4/fire.ui:138 resources/ui/gtk3/tv-glitch.ui:187
#: resources/ui/gtk3/glitch.ui:187 resources/ui/gtk3/fire.ui:172
#: resources/ui/adw/tv-glitch.ui:113 resources/ui/adw/glitch.ui:113
#: resources/ui/adw/fire.ui:96
msgid "Speed"
msgstr "Gyorsaság"
#: resources/ui/gtk4/tv-glitch.ui:207 resources/ui/gtk4/glitch.ui:207
#: resources/ui/gtk4/wisps.ui:115 resources/ui/gtk4/energize-b.ui:115
#: resources/ui/gtk4/portal.ui:207 resources/ui/gtk4/incinerate.ui:216
#: resources/ui/gtk4/snap.ui:115 resources/ui/gtk4/energize-a.ui:115
#: resources/ui/gtk4/tv.ui:69 resources/ui/gtk3/tv-glitch.ui:231
#: resources/ui/gtk3/glitch.ui:231 resources/ui/gtk3/wisps.ui:127
#: resources/ui/gtk3/energize-b.ui:127 resources/ui/gtk3/portal.ui:231
#: resources/ui/gtk3/incinerate.ui:238 resources/ui/gtk3/energize-a.ui:127
#: resources/ui/gtk3/tv.ui:75 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/gtk4/matrix.ui:115 resources/ui/gtk4/apparition.ui:68
#: resources/ui/gtk3/apparition.ui:104 resources/ui/adw/matrix.ui:80
#: resources/ui/adw/apparition.ui:48
msgid "Randomness"
msgstr "Véletlenszerűség"
#: resources/ui/gtk4/matrix.ui:161 resources/ui/adw/matrix.ui:113
msgid "Vertical Overshooting"
msgstr "Függőleges túlcsúszás"
#: resources/ui/gtk4/matrix.ui:207 resources/ui/adw/matrix.ui:146
msgid "Trail Color"
msgstr "Nyom színe"
#: resources/ui/gtk4/matrix.ui:244 resources/ui/adw/matrix.ui:171
msgid "Tip Color"
msgstr "Csúcs színe"
#: resources/ui/gtk4/doom.ui:68 resources/ui/gtk3/doom.ui:97
#: resources/ui/adw/doom.ui:47
msgid "Horizontal Scale"
msgstr "Vízszintes skála"
#: resources/ui/gtk4/doom.ui:114 resources/ui/gtk3/doom.ui:142
#: resources/ui/adw/doom.ui:80
msgid "Vertical Scale"
msgstr "Függőleges skála"
#: resources/ui/gtk4/doom.ui:160 resources/ui/gtk4/pixel-wheel.ui:115
#: resources/ui/gtk4/pixel-wipe.ui:69 resources/ui/gtk4/pixelate.ui:115
#: resources/ui/gtk3/doom.ui:187 resources/ui/gtk3/pixel-wheel.ui:135
#: resources/ui/gtk3/pixel-wipe.ui:90 resources/ui/gtk3/pixelate.ui:135
#: 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/gtk4/trex.ui:69 resources/ui/adw/trex.ui:47
msgid "Claw Scratch Scale"
msgstr "Korom karmolás skálája"
#: resources/ui/gtk4/trex.ui:115 resources/ui/adw/trex.ui:80
msgid "Claw Scratch Count"
msgstr "Korom karmolás száma"
#: resources/ui/gtk4/trex.ui:161 resources/ui/adw/trex.ui:113
msgid "Warp Effect"
msgstr "Eltorzító hatás"
#: resources/ui/gtk4/trex.ui:207 resources/ui/adw/trex.ui:146
msgid "Flash Color"
msgstr "Villanás színe"
#: resources/ui/gtk4/pixel-wheel.ui:69 resources/ui/gtk3/pixel-wheel.ui:90
#: resources/ui/adw/pixel-wheel.ui:47
msgid "Spoke Count"
msgstr "Sugár száma"
#: resources/ui/gtk4/glide.ui:115 resources/ui/gtk3/glide.ui:149
#: resources/ui/adw/glide.ui:80
msgid "Squish"
msgstr "Összenyomás"
#: resources/ui/gtk4/glide.ui:161 resources/ui/gtk3/glide.ui:194
#: resources/ui/adw/glide.ui:113
msgid "Tilt"
msgstr "Billenés"
#: resources/ui/gtk4/glide.ui:207 resources/ui/gtk3/glide.ui:239
#: resources/ui/adw/glide.ui:146
msgid "Shift"
msgstr "Elmozdítás"
#: resources/ui/gtk4/apparition.ui:114 resources/ui/gtk3/apparition.ui:149
#: resources/ui/adw/apparition.ui:81
msgid "Twirl Intensity"
msgstr ""
#: resources/ui/gtk4/apparition.ui:160 resources/ui/gtk3/apparition.ui:194
#: resources/ui/adw/apparition.ui:114
msgid "Shake Intensity"
msgstr ""
#: resources/ui/gtk4/apparition.ui:206 resources/ui/gtk3/apparition.ui:239
#: resources/ui/adw/apparition.ui:147
msgid "Suction Intensity"
msgstr ""
#: resources/ui/gtk4/portal.ui:69 resources/ui/gtk3/portal.ui:142
#: resources/ui/adw/portal.ui:80
msgid "Whirling"
msgstr ""
#: resources/ui/gtk4/portal.ui:115 resources/ui/gtk3/portal.ui:97
#: resources/ui/adw/portal.ui:47
msgid "Rotation Speed"
msgstr ""
#: resources/ui/gtk4/portal.ui:161 resources/ui/gtk3/portal.ui:187
#: resources/ui/adw/portal.ui:113
msgid "Details"
msgstr ""
#: resources/ui/gtk4/incinerate.ui:115 resources/ui/gtk3/incinerate.ui:135
#: resources/ui/adw/incinerate.ui:80
msgid "Turbulence"
msgstr "Légörvény"
#: resources/ui/gtk4/incinerate.ui:165 resources/ui/gtk3/incinerate.ui:183
#: resources/ui/adw/incinerate.ui:113
msgid "Start at Pointer"
msgstr "Mutatónál kezdje"
#: resources/ui/gtk4/incinerate.ui:174 resources/ui/gtk3/incinerate.ui:192
#: 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/gtk4/hexagon.ui:115 resources/ui/gtk3/hexagon.ui:135
#: resources/ui/adw/hexagon.ui:80
msgid "Mesh Line Width"
msgstr ""
#: resources/ui/gtk4/hexagon.ui:161 resources/ui/gtk3/hexagon.ui:179
#: resources/ui/adw/hexagon.ui:113
msgid "Line Color"
msgstr "Vonal színe"
#: resources/ui/gtk4/hexagon.ui:198 resources/ui/gtk3/hexagon.ui:221
#: resources/ui/adw/hexagon.ui:138
msgid "Glow Color"
msgstr "Világítás színe"
#: resources/ui/gtk4/hexagon.ui:239 resources/ui/gtk3/hexagon.ui:267
#: resources/ui/adw/hexagon.ui:163
msgid "Additive Blending"
msgstr ""
#: resources/ui/gtk4/hexagon.ui:248 resources/ui/gtk3/hexagon.ui:276
#: resources/ui/adw/hexagon.ui:164
msgid "You may want to enable this for dark window themes."
msgstr "Lehet, hogy szeretné bekapcsolni ezt a sötét témájú ablaktémákoknak."
#: resources/ui/gtk4/fire.ui:22 resources/ui/gtk3/fire.ui:44
#: resources/ui/adw/fire.ui:14
msgid "Presets"
msgstr "Sablonok"
#: resources/ui/gtk4/fire.ui:188 resources/ui/gtk3/fire.ui:220
#: resources/ui/adw/fire.ui:129
msgid "3D Noise"
msgstr "3D zaj"
#: resources/ui/gtk4/fire.ui:197 resources/ui/gtk3/fire.ui:229
#: 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/gtk4/fire.ui:239 resources/ui/gtk3/fire.ui:276
#: resources/ui/adw/fire.ui:152
msgid "Gradient"
msgstr "Gradiens"
#: resources/ui/gtk4/prefs.ui:82 resources/ui/gtk3/prefs.ui:124
#: resources/ui/adw/prefs.ui:224
msgid "Effect Settings"
msgstr ""
#: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134
#: resources/ui/adw/prefs.ui:225
msgid "If multiple are selected, one is chosen randomly."
msgstr ""
#: resources/ui/gtk4/prefs.ui:132 resources/ui/gtk3/prefs.ui:172
#: resources/ui/adw/prefs.ui:65
msgid "Effect Profile Constraints"
msgstr ""
#: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182
#: resources/ui/adw/prefs.ui:66
msgid "Define when the current effect settings should be used."
msgstr ""
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/prefs.ui:206
#: resources/ui/adw/prefs.ui:70
msgid "Application"
msgstr ""
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219
#: resources/ui/gtk4/prefs.ui:248 resources/ui/gtk4/prefs.ui:277
#: resources/ui/gtk4/prefs.ui:306 resources/ui/gtk4/prefs.ui:335
#: resources/ui/gtk3/prefs.ui:224 resources/ui/gtk3/prefs.ui:264
#: resources/ui/gtk3/prefs.ui:293 resources/ui/gtk3/prefs.ui:322
#: resources/ui/gtk3/prefs.ui:351 resources/ui/gtk3/prefs.ui:380
#: 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/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253
#: resources/ui/adw/prefs.ui:98
msgid "Animation Type"
msgstr ""
#: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282
#: resources/ui/adw/prefs.ui:113
msgid "Window Type"
msgstr ""
#: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311
#: resources/ui/adw/prefs.ui:128
msgid "Color Scheme"
msgstr ""
#: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340
#: resources/ui/adw/prefs.ui:143
msgid "Power Mode"
msgstr ""
#: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369
#: resources/ui/adw/prefs.ui:158
msgid "Power Profile"
msgstr ""
#: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401
#: resources/ui/adw/prefs.ui:179
msgid "Advanced Profile Options"
msgstr ""
#: resources/ui/gtk4/prefs.ui:396 resources/ui/gtk3/prefs.ui:441
#: resources/ui/adw/prefs.ui:184
msgid "Use this profile even if there are better matching profiles."
msgstr ""
#: resources/ui/gtk4/prefs.ui:428 resources/ui/gtk3/prefs.ui:473
#: resources/ui/adw/prefs.ui:204
msgid "Delete this Profile..."
msgstr ""
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
#: resources/ui/adw/pixelate.ui:47
msgid "Noise"
msgstr "Zaj"
#: resources/ui/gtk3/fire.ui:58 resources/ui/adw/fire.ui:19
msgid "Choose a Preset"
msgstr ""
#~ 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"
+781
View File
@@ -0,0 +1,781 @@
# 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: 2023-02-21 16:46+0100\n"
"PO-Revision-Date: 2023-01-09 16:48+0000\n"
"Last-Translator: Sir-Ivysaur <randompsyduck@duck.com>\n"
"Language-Team: Indonesian <https://hosted.weblate.org/projects/burn-my-"
"windows/core/id/>\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.15.1-dev\n"
#: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103
msgid "Opening Windows"
msgstr ""
#: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221
#: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104
msgid "Closing Windows"
msgstr ""
#: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249
#: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118
msgid "Normal Windows"
msgstr ""
#: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250
#: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119
msgid "Dialog Windows"
msgstr ""
#: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278
#: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133
msgid "Default Color Scheme"
msgstr ""
#: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279
#: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme"
msgstr ""
#: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307
#: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148
msgid "On Battery"
msgstr ""
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308
#: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149
msgid "Plugged In"
msgstr ""
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336
#: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163
msgid "Power-Saver Mode"
msgstr ""
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337
#: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164
msgid "Balanced Mode"
msgstr ""
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338
#: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165
msgid "Performance Mode"
msgstr ""
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339
#: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166
msgid "Power Saver or Balanced"
msgstr ""
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340
#: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167
msgid "Balanced or Performance"
msgstr ""
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387
#: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183
msgid "High Priority"
msgstr ""
#: src/ProfileManager.js:191
msgid "Standard Profile"
msgstr ""
#: src/effects/Apparition.js:78
msgid "Apparition"
msgstr "Penyedotan"
#: src/effects/BrokenGlass.js:137
msgid "Broken Glass"
msgstr "Kaca Pecah"
#: src/effects/Doom.js:88
msgid "Doom"
msgstr "Doom"
#: src/effects/EnergizeA.js:80
msgid "Energize A"
msgstr "Memberdayakan A"
#: src/effects/EnergizeB.js:81
msgid "Energize B"
msgstr "Memberdayakan B"
#: src/effects/Fire.js:100
msgid "Fire"
msgstr "Api"
#: src/effects/Fire.js:154
msgid "Default Fire"
msgstr "Api (Bawaan)"
#: src/effects/Fire.js:164
msgid "Hell Fire"
msgstr "Api Amat Panas"
#: src/effects/Fire.js:174
msgid "Dark and Smutty"
msgstr "Redup"
#: src/effects/Fire.js:184
msgid "Cold Breeze"
msgstr "Angin Sejuk"
#: src/effects/Fire.js:194
msgid "Santa is Coming"
msgstr "Sinterklas Datang"
#: src/effects/Glide.js:78
msgid "Glide"
msgstr "Meluncur"
#: src/effects/Glitch.js:86
msgid "Glitch"
msgstr "Glitch"
#: src/effects/Hexagon.js:94
msgid "Hexagon"
msgstr "Segi Enam"
#: src/effects/Incinerate.js:131
msgid "Incinerate"
msgstr "Bakar"
#: src/effects/Matrix.js:114
msgid "Matrix"
msgstr "Matriks"
#: src/effects/Pixelate.js:74
msgid "Pixelate"
msgstr "Pikselasi"
#: src/effects/PixelWheel.js:74
msgid "Pixel Wheel"
msgstr "Roda Piksel"
#: src/effects/PixelWipe.js:101
msgid "Pixel Wipe"
msgstr "Gelombang Piksel"
#: src/effects/Portal.js:88
msgid "Portal"
msgstr "Pintu Gerbang Ajaib"
#: src/effects/SnapOfDisintegration.js:114
msgid "Snap of Disintegration"
msgstr "Jentikan Kehancuran"
#: src/effects/TRexAttack.js:112
msgid "T-Rex Attack"
msgstr "Serangan T-Rex"
#: src/effects/TVEffect.js:78
msgid "TV Effect"
msgstr "Efek TV"
#: src/effects/TVGlitch.js:87
msgid "TV Glitch"
msgstr ""
#: src/effects/Wisps.js:82
msgid "Wisps"
msgstr "Cahaya"
#: prefs.js:247
msgid "Preview this effect"
msgstr "Pratinjau efek ini"
#: prefs.js:364 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
msgid "Burn-My-Windows has been updated!"
msgstr ""
#: prefs.js:365 resources/ui/common/menus.ui:17 resources/ui/gtk4/prefs.ui:56
#: resources/ui/gtk3/prefs.ui:96
msgid "View Changelog"
msgstr "Lihat Perubahan"
#: prefs.js:496 prefs.js:528
msgid "Gold Sponsors"
msgstr "Sponsor Emas"
#: prefs.js:500 prefs.js:532
msgid "Silver Sponsors"
msgstr "Sponsor Perak"
#: prefs.js:504 prefs.js:536
msgid "Bronze Sponsors"
msgstr "Sponsor Tembaga"
#: prefs.js:508 prefs.js:540
msgid "Past Sponsors"
msgstr "Mantan Sponsor"
#: prefs.js:585
msgid "Delete this Profile?"
msgstr ""
#: prefs.js:587
msgid ""
"The current effect profile with all its effect settings will be permanently "
"lost."
msgstr ""
#: prefs.js:592
msgid "Cancel"
msgstr ""
#: prefs.js:593
msgid "Delete"
msgstr ""
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:923
#, javascript-format
msgid "Preview for %s"
msgstr "Pratinjau %s"
#: prefs.js:945
msgid "Close this Window to Preview the Effect!"
msgstr "Tutup jendela ini untuk melihat efeknya!"
#: resources/ui/common/menus.ui:13
msgid "Visit Homepage"
msgstr "Buka Website"
#: resources/ui/common/menus.ui:21
msgid "View Matching Wallpapers"
msgstr ""
#: resources/ui/common/menus.ui:27
msgid "Report a Bug"
msgstr "Laporkan Bug"
#: resources/ui/common/menus.ui:31
msgid "Create an Effect"
msgstr "Buat Efek"
#: resources/ui/common/menus.ui:35
msgid "Translate"
msgstr "Terjemahkan"
#: resources/ui/common/menus.ui:39
msgid "Donate"
msgstr "Donasi"
#: resources/ui/common/menus.ui:52
msgid "About Burn-My-Windows"
msgstr "Tentang Burn-My-Windows"
#: resources/ui/common/menus.ui:63
msgid "Add New Profile..."
msgstr ""
#: resources/ui/gtk4/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23
#: resources/ui/gtk4/glitch.ui:23 resources/ui/gtk4/matrix.ui:23
#: resources/ui/gtk4/doom.ui:22 resources/ui/gtk4/trex.ui:23
#: resources/ui/gtk4/wisps.ui:23 resources/ui/gtk4/energize-b.ui:23
#: resources/ui/gtk4/pixel-wheel.ui:23 resources/ui/gtk4/glide.ui:23
#: resources/ui/gtk4/apparition.ui:22 resources/ui/gtk4/portal.ui:23
#: resources/ui/gtk4/incinerate.ui:23 resources/ui/gtk4/hexagon.ui:23
#: resources/ui/gtk4/fire.ui:46 resources/ui/gtk4/pixel-wipe.ui:23
#: resources/ui/gtk4/snap.ui:23 resources/ui/gtk4/energize-a.ui:23
#: resources/ui/gtk4/pixelate.ui:23 resources/ui/gtk4/tv.ui:23
#: resources/ui/gtk3/tv-glitch.ui:52 resources/ui/gtk3/glitch.ui:52
#: resources/ui/gtk3/doom.ui:52 resources/ui/gtk3/wisps.ui:38
#: resources/ui/gtk3/energize-b.ui:38 resources/ui/gtk3/pixel-wheel.ui:45
#: resources/ui/gtk3/glide.ui:59 resources/ui/gtk3/apparition.ui:59
#: resources/ui/gtk3/portal.ui:52 resources/ui/gtk3/incinerate.ui:45
#: resources/ui/gtk3/hexagon.ui:45 resources/ui/gtk3/fire.ui:84
#: resources/ui/gtk3/pixel-wipe.ui:45 resources/ui/gtk3/energize-a.ui:38
#: resources/ui/gtk3/pixelate.ui:45 resources/ui/gtk3/tv.ui:31
#: 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/trex.ui:14
#: resources/ui/adw/wisps.ui:14 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/pixel-wipe.ui:14
#: resources/ui/adw/snap.ui:14 resources/ui/adw/energize-a.ui:14
#: resources/ui/adw/pixelate.ui:14 resources/ui/adw/tv.ui:14
msgid "Animation Time [ms]"
msgstr "Panjang Animasi [milidetik]"
#: resources/ui/gtk4/broken-glass.ui:50 resources/ui/gtk4/broken-glass.ui:96
#: resources/ui/gtk4/broken-glass.ui:142 resources/ui/gtk4/broken-glass.ui:188
#: resources/ui/gtk4/broken-glass.ui:244 resources/ui/gtk4/tv-glitch.ui:51
#: resources/ui/gtk4/tv-glitch.ui:97 resources/ui/gtk4/tv-glitch.ui:143
#: resources/ui/gtk4/tv-glitch.ui:189 resources/ui/gtk4/tv-glitch.ui:226
#: resources/ui/gtk4/glitch.ui:51 resources/ui/gtk4/glitch.ui:97
#: resources/ui/gtk4/glitch.ui:143 resources/ui/gtk4/glitch.ui:189
#: resources/ui/gtk4/glitch.ui:226 resources/ui/gtk4/matrix.ui:51
#: resources/ui/gtk4/matrix.ui:97 resources/ui/gtk4/matrix.ui:143
#: resources/ui/gtk4/matrix.ui:189 resources/ui/gtk4/matrix.ui:226
#: resources/ui/gtk4/matrix.ui:263 resources/ui/gtk4/doom.ui:50
#: resources/ui/gtk4/doom.ui:96 resources/ui/gtk4/doom.ui:142
#: resources/ui/gtk4/doom.ui:188 resources/ui/gtk4/trex.ui:51
#: resources/ui/gtk4/trex.ui:97 resources/ui/gtk4/trex.ui:143
#: resources/ui/gtk4/trex.ui:189 resources/ui/gtk4/trex.ui:226
#: resources/ui/gtk4/wisps.ui:51 resources/ui/gtk4/wisps.ui:97
#: resources/ui/gtk4/wisps.ui:134 resources/ui/gtk4/energize-b.ui:51
#: resources/ui/gtk4/energize-b.ui:97 resources/ui/gtk4/energize-b.ui:134
#: resources/ui/gtk4/pixel-wheel.ui:51 resources/ui/gtk4/pixel-wheel.ui:97
#: resources/ui/gtk4/pixel-wheel.ui:143 resources/ui/gtk4/glide.ui:51
#: resources/ui/gtk4/glide.ui:97 resources/ui/gtk4/glide.ui:143
#: resources/ui/gtk4/glide.ui:189 resources/ui/gtk4/glide.ui:235
#: resources/ui/gtk4/apparition.ui:50 resources/ui/gtk4/apparition.ui:96
#: resources/ui/gtk4/apparition.ui:142 resources/ui/gtk4/apparition.ui:188
#: resources/ui/gtk4/apparition.ui:234 resources/ui/gtk4/portal.ui:51
#: resources/ui/gtk4/portal.ui:97 resources/ui/gtk4/portal.ui:143
#: resources/ui/gtk4/portal.ui:189 resources/ui/gtk4/portal.ui:226
#: resources/ui/gtk4/incinerate.ui:51 resources/ui/gtk4/incinerate.ui:97
#: resources/ui/gtk4/incinerate.ui:143 resources/ui/gtk4/incinerate.ui:198
#: resources/ui/gtk4/incinerate.ui:235 resources/ui/gtk4/hexagon.ui:51
#: resources/ui/gtk4/hexagon.ui:97 resources/ui/gtk4/hexagon.ui:143
#: resources/ui/gtk4/hexagon.ui:180 resources/ui/gtk4/hexagon.ui:217
#: resources/ui/gtk4/hexagon.ui:272 resources/ui/gtk4/fire.ui:74
#: resources/ui/gtk4/fire.ui:120 resources/ui/gtk4/fire.ui:166
#: resources/ui/gtk4/fire.ui:221 resources/ui/gtk4/fire.ui:280
#: resources/ui/gtk4/pixel-wipe.ui:51 resources/ui/gtk4/pixel-wipe.ui:97
#: resources/ui/gtk4/energize-a.ui:51 resources/ui/gtk4/energize-a.ui:97
#: resources/ui/gtk4/energize-a.ui:134 resources/ui/gtk4/pixelate.ui:51
#: resources/ui/gtk4/pixelate.ui:97 resources/ui/gtk4/pixelate.ui:143
#: resources/ui/gtk4/tv.ui:51 resources/ui/gtk4/tv.ui:88
#: resources/ui/gtk3/tv-glitch.ui:78 resources/ui/gtk3/tv-glitch.ui:123
#: resources/ui/gtk3/tv-glitch.ui:168 resources/ui/gtk3/tv-glitch.ui:213
#: resources/ui/gtk3/tv-glitch.ui:255 resources/ui/gtk3/glitch.ui:78
#: resources/ui/gtk3/glitch.ui:123 resources/ui/gtk3/glitch.ui:168
#: resources/ui/gtk3/glitch.ui:213 resources/ui/gtk3/glitch.ui:255
#: resources/ui/gtk3/doom.ui:78 resources/ui/gtk3/doom.ui:123
#: resources/ui/gtk3/doom.ui:168 resources/ui/gtk3/doom.ui:213
#: resources/ui/gtk3/wisps.ui:64 resources/ui/gtk3/wisps.ui:109
#: resources/ui/gtk3/wisps.ui:151 resources/ui/gtk3/energize-b.ui:64
#: resources/ui/gtk3/energize-b.ui:109 resources/ui/gtk3/energize-b.ui:151
#: resources/ui/gtk3/pixel-wheel.ui:71 resources/ui/gtk3/pixel-wheel.ui:116
#: resources/ui/gtk3/pixel-wheel.ui:161 resources/ui/gtk3/glide.ui:85
#: resources/ui/gtk3/glide.ui:130 resources/ui/gtk3/glide.ui:175
#: resources/ui/gtk3/glide.ui:220 resources/ui/gtk3/glide.ui:265
#: resources/ui/gtk3/apparition.ui:85 resources/ui/gtk3/apparition.ui:130
#: resources/ui/gtk3/apparition.ui:175 resources/ui/gtk3/apparition.ui:220
#: resources/ui/gtk3/apparition.ui:265 resources/ui/gtk3/portal.ui:78
#: resources/ui/gtk3/portal.ui:123 resources/ui/gtk3/portal.ui:168
#: resources/ui/gtk3/portal.ui:213 resources/ui/gtk3/portal.ui:255
#: resources/ui/gtk3/incinerate.ui:71 resources/ui/gtk3/incinerate.ui:116
#: resources/ui/gtk3/incinerate.ui:161 resources/ui/gtk3/incinerate.ui:220
#: resources/ui/gtk3/incinerate.ui:262 resources/ui/gtk3/hexagon.ui:71
#: resources/ui/gtk3/hexagon.ui:116 resources/ui/gtk3/hexagon.ui:161
#: resources/ui/gtk3/hexagon.ui:203 resources/ui/gtk3/hexagon.ui:245
#: resources/ui/gtk3/hexagon.ui:304 resources/ui/gtk3/fire.ui:110
#: resources/ui/gtk3/fire.ui:154 resources/ui/gtk3/fire.ui:198
#: resources/ui/gtk3/fire.ui:257 resources/ui/gtk3/fire.ui:321
#: resources/ui/gtk3/pixel-wipe.ui:71 resources/ui/gtk3/pixel-wipe.ui:116
#: resources/ui/gtk3/energize-a.ui:64 resources/ui/gtk3/energize-a.ui:109
#: resources/ui/gtk3/energize-a.ui:151 resources/ui/gtk3/pixelate.ui:71
#: resources/ui/gtk3/pixelate.ui:116 resources/ui/gtk3/pixelate.ui:161
#: resources/ui/gtk3/tv.ui:57 resources/ui/gtk3/tv.ui:99
#: 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/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:94 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/pixel-wipe.ui:36 resources/ui/adw/pixel-wipe.ui:69
#: 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 "Kembalikan ke Pengaturan Awal"
#: resources/ui/gtk4/broken-glass.ui:68 resources/ui/gtk4/tv-glitch.ui:69
#: resources/ui/gtk4/glitch.ui:69 resources/ui/gtk4/matrix.ui:69
#: resources/ui/gtk4/wisps.ui:69 resources/ui/gtk4/energize-b.ui:69
#: resources/ui/gtk4/glide.ui:69 resources/ui/gtk4/incinerate.ui:69
#: resources/ui/gtk4/hexagon.ui:69 resources/ui/gtk4/fire.ui:92
#: resources/ui/gtk4/snap.ui:69 resources/ui/gtk4/energize-a.ui:69
#: resources/ui/gtk3/tv-glitch.ui:97 resources/ui/gtk3/glitch.ui:97
#: resources/ui/gtk3/wisps.ui:83 resources/ui/gtk3/energize-b.ui:83
#: resources/ui/gtk3/glide.ui:104 resources/ui/gtk3/incinerate.ui:90
#: resources/ui/gtk3/hexagon.ui:90 resources/ui/gtk3/fire.ui:128
#: resources/ui/gtk3/energize-a.ui:83 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 "Skala"
#: resources/ui/gtk4/broken-glass.ui:114 resources/ui/adw/broken-glass.ui:81
msgid "Gravity"
msgstr "Gravitasi"
#: resources/ui/gtk4/broken-glass.ui:160 resources/ui/adw/broken-glass.ui:114
msgid "Blow Force"
msgstr "Kekuatan Pecahan"
#: resources/ui/gtk4/broken-glass.ui:210 resources/ui/adw/broken-glass.ui:147
msgid "Shatter From Pointer Location"
msgstr "Pecahkan dari Lokasi Pointer"
#: resources/ui/gtk4/broken-glass.ui:219 resources/ui/adw/broken-glass.ui:148
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr ""
"Pecahan kaca akan terbang menjauh dari lokasi pointer anda saat menutup "
"jendela."
#: resources/ui/gtk4/tv-glitch.ui:115 resources/ui/gtk4/glitch.ui:115
#: resources/ui/gtk3/tv-glitch.ui:142 resources/ui/gtk3/glitch.ui:142
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
msgid "Strength"
msgstr ""
#: resources/ui/gtk4/tv-glitch.ui:161 resources/ui/gtk4/glitch.ui:161
#: resources/ui/gtk4/fire.ui:138 resources/ui/gtk3/tv-glitch.ui:187
#: resources/ui/gtk3/glitch.ui:187 resources/ui/gtk3/fire.ui:172
#: resources/ui/adw/tv-glitch.ui:113 resources/ui/adw/glitch.ui:113
#: resources/ui/adw/fire.ui:96
msgid "Speed"
msgstr "Kecepatan"
#: resources/ui/gtk4/tv-glitch.ui:207 resources/ui/gtk4/glitch.ui:207
#: resources/ui/gtk4/wisps.ui:115 resources/ui/gtk4/energize-b.ui:115
#: resources/ui/gtk4/portal.ui:207 resources/ui/gtk4/incinerate.ui:216
#: resources/ui/gtk4/snap.ui:115 resources/ui/gtk4/energize-a.ui:115
#: resources/ui/gtk4/tv.ui:69 resources/ui/gtk3/tv-glitch.ui:231
#: resources/ui/gtk3/glitch.ui:231 resources/ui/gtk3/wisps.ui:127
#: resources/ui/gtk3/energize-b.ui:127 resources/ui/gtk3/portal.ui:231
#: resources/ui/gtk3/incinerate.ui:238 resources/ui/gtk3/energize-a.ui:127
#: resources/ui/gtk3/tv.ui:75 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 "Warna"
#: resources/ui/gtk4/matrix.ui:115 resources/ui/gtk4/apparition.ui:68
#: resources/ui/gtk3/apparition.ui:104 resources/ui/adw/matrix.ui:80
#: resources/ui/adw/apparition.ui:48
msgid "Randomness"
msgstr "Keserampangan"
#: resources/ui/gtk4/matrix.ui:161 resources/ui/adw/matrix.ui:113
msgid "Vertical Overshooting"
msgstr "Lewat Batas Vertikal Jendela"
#: resources/ui/gtk4/matrix.ui:207 resources/ui/adw/matrix.ui:146
msgid "Trail Color"
msgstr "Warna Jejak"
#: resources/ui/gtk4/matrix.ui:244 resources/ui/adw/matrix.ui:171
msgid "Tip Color"
msgstr "Warna Ujung"
#: resources/ui/gtk4/doom.ui:68 resources/ui/gtk3/doom.ui:97
#: resources/ui/adw/doom.ui:47
msgid "Horizontal Scale"
msgstr ""
#: resources/ui/gtk4/doom.ui:114 resources/ui/gtk3/doom.ui:142
#: resources/ui/adw/doom.ui:80
msgid "Vertical Scale"
msgstr ""
#: resources/ui/gtk4/doom.ui:160 resources/ui/gtk4/pixel-wheel.ui:115
#: resources/ui/gtk4/pixel-wipe.ui:69 resources/ui/gtk4/pixelate.ui:115
#: resources/ui/gtk3/doom.ui:187 resources/ui/gtk3/pixel-wheel.ui:135
#: resources/ui/gtk3/pixel-wipe.ui:90 resources/ui/gtk3/pixelate.ui:135
#: 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 "Ukuran Piksel"
#: resources/ui/gtk4/trex.ui:69 resources/ui/adw/trex.ui:47
msgid "Claw Scratch Scale"
msgstr "Skala Cakar"
#: resources/ui/gtk4/trex.ui:115 resources/ui/adw/trex.ui:80
msgid "Claw Scratch Count"
msgstr "Jumlah Cakar"
#: resources/ui/gtk4/trex.ui:161 resources/ui/adw/trex.ui:113
msgid "Warp Effect"
msgstr "Efek Distorsi"
#: resources/ui/gtk4/trex.ui:207 resources/ui/adw/trex.ui:146
msgid "Flash Color"
msgstr "Warna"
#: resources/ui/gtk4/pixel-wheel.ui:69 resources/ui/gtk3/pixel-wheel.ui:90
#: resources/ui/adw/pixel-wheel.ui:47
msgid "Spoke Count"
msgstr ""
#: resources/ui/gtk4/glide.ui:115 resources/ui/gtk3/glide.ui:149
#: resources/ui/adw/glide.ui:80
msgid "Squish"
msgstr ""
#: resources/ui/gtk4/glide.ui:161 resources/ui/gtk3/glide.ui:194
#: resources/ui/adw/glide.ui:113
msgid "Tilt"
msgstr "Miring"
#: resources/ui/gtk4/glide.ui:207 resources/ui/gtk3/glide.ui:239
#: resources/ui/adw/glide.ui:146
msgid "Shift"
msgstr "Pindah"
#: resources/ui/gtk4/apparition.ui:114 resources/ui/gtk3/apparition.ui:149
#: resources/ui/adw/apparition.ui:81
msgid "Twirl Intensity"
msgstr ""
#: resources/ui/gtk4/apparition.ui:160 resources/ui/gtk3/apparition.ui:194
#: resources/ui/adw/apparition.ui:114
msgid "Shake Intensity"
msgstr ""
#: resources/ui/gtk4/apparition.ui:206 resources/ui/gtk3/apparition.ui:239
#: resources/ui/adw/apparition.ui:147
msgid "Suction Intensity"
msgstr ""
#: resources/ui/gtk4/portal.ui:69 resources/ui/gtk3/portal.ui:142
#: resources/ui/adw/portal.ui:80
msgid "Whirling"
msgstr ""
#: resources/ui/gtk4/portal.ui:115 resources/ui/gtk3/portal.ui:97
#: resources/ui/adw/portal.ui:47
msgid "Rotation Speed"
msgstr "Kecepatan Rotasi"
#: resources/ui/gtk4/portal.ui:161 resources/ui/gtk3/portal.ui:187
#: resources/ui/adw/portal.ui:113
msgid "Details"
msgstr "Detil"
#: resources/ui/gtk4/incinerate.ui:115 resources/ui/gtk3/incinerate.ui:135
#: resources/ui/adw/incinerate.ui:80
msgid "Turbulence"
msgstr "Pergolakan"
#: resources/ui/gtk4/incinerate.ui:165 resources/ui/gtk3/incinerate.ui:183
#: resources/ui/adw/incinerate.ui:113
msgid "Start at Pointer"
msgstr "Bakar dari Lokasi Pointer"
#: resources/ui/gtk4/incinerate.ui:174 resources/ui/gtk3/incinerate.ui:192
#: resources/ui/adw/incinerate.ui:114
msgid "If disabled, a random location will be chosen."
msgstr "Jiki dimatikan, akan terpilih lokasi secara acak."
#: resources/ui/gtk4/hexagon.ui:115 resources/ui/gtk3/hexagon.ui:135
#: resources/ui/adw/hexagon.ui:80
msgid "Mesh Line Width"
msgstr ""
#: resources/ui/gtk4/hexagon.ui:161 resources/ui/gtk3/hexagon.ui:179
#: resources/ui/adw/hexagon.ui:113
msgid "Line Color"
msgstr ""
#: resources/ui/gtk4/hexagon.ui:198 resources/ui/gtk3/hexagon.ui:221
#: resources/ui/adw/hexagon.ui:138
msgid "Glow Color"
msgstr ""
#: resources/ui/gtk4/hexagon.ui:239 resources/ui/gtk3/hexagon.ui:267
#: resources/ui/adw/hexagon.ui:163
msgid "Additive Blending"
msgstr ""
#: resources/ui/gtk4/hexagon.ui:248 resources/ui/gtk3/hexagon.ui:276
#: resources/ui/adw/hexagon.ui:164
msgid "You may want to enable this for dark window themes."
msgstr ""
#: resources/ui/gtk4/fire.ui:22 resources/ui/gtk3/fire.ui:44
#: resources/ui/adw/fire.ui:14
msgid "Presets"
msgstr "Preset"
#: resources/ui/gtk4/fire.ui:188 resources/ui/gtk3/fire.ui:220
#: resources/ui/adw/fire.ui:129
msgid "3D Noise"
msgstr "Kebisingan 3D"
#: resources/ui/gtk4/fire.ui:197 resources/ui/gtk3/fire.ui:229
#: resources/ui/adw/fire.ui:130
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "Menciptakan api lebih dinamis tapi membutuhkan tenaga GPU lebih."
#: resources/ui/gtk4/fire.ui:239 resources/ui/gtk3/fire.ui:276
#: resources/ui/adw/fire.ui:152
msgid "Gradient"
msgstr "Gradien"
#: resources/ui/gtk4/prefs.ui:82 resources/ui/gtk3/prefs.ui:124
#: resources/ui/adw/prefs.ui:224
msgid "Effect Settings"
msgstr ""
#: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134
#: resources/ui/adw/prefs.ui:225
msgid "If multiple are selected, one is chosen randomly."
msgstr "Jika lebih dari satu terpilih, satu akan dipilih secara acak."
#: resources/ui/gtk4/prefs.ui:132 resources/ui/gtk3/prefs.ui:172
#: resources/ui/adw/prefs.ui:65
msgid "Effect Profile Constraints"
msgstr ""
#: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182
#: resources/ui/adw/prefs.ui:66
msgid "Define when the current effect settings should be used."
msgstr ""
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/prefs.ui:206
#: resources/ui/adw/prefs.ui:70
msgid "Application"
msgstr ""
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219
#: resources/ui/gtk4/prefs.ui:248 resources/ui/gtk4/prefs.ui:277
#: resources/ui/gtk4/prefs.ui:306 resources/ui/gtk4/prefs.ui:335
#: resources/ui/gtk3/prefs.ui:224 resources/ui/gtk3/prefs.ui:264
#: resources/ui/gtk3/prefs.ui:293 resources/ui/gtk3/prefs.ui:322
#: resources/ui/gtk3/prefs.ui:351 resources/ui/gtk3/prefs.ui:380
#: 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/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253
#: resources/ui/adw/prefs.ui:98
msgid "Animation Type"
msgstr ""
#: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282
#: resources/ui/adw/prefs.ui:113
msgid "Window Type"
msgstr ""
#: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311
#: resources/ui/adw/prefs.ui:128
msgid "Color Scheme"
msgstr ""
#: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340
#: resources/ui/adw/prefs.ui:143
msgid "Power Mode"
msgstr ""
#: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369
#: resources/ui/adw/prefs.ui:158
msgid "Power Profile"
msgstr ""
#: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401
#: resources/ui/adw/prefs.ui:179
msgid "Advanced Profile Options"
msgstr ""
#: resources/ui/gtk4/prefs.ui:396 resources/ui/gtk3/prefs.ui:441
#: resources/ui/adw/prefs.ui:184
msgid "Use this profile even if there are better matching profiles."
msgstr ""
#: resources/ui/gtk4/prefs.ui:428 resources/ui/gtk3/prefs.ui:473
#: resources/ui/adw/prefs.ui:204
msgid "Delete this Profile..."
msgstr ""
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
#: resources/ui/adw/pixelate.ui:47
msgid "Noise"
msgstr ""
#: resources/ui/gtk3/fire.ui:58 resources/ui/adw/fire.ui:19
msgid "Choose a Preset"
msgstr "Pilih Preset"
#~ msgid "Effects"
#~ msgstr "Efek"
#~ msgid "Use this effect when opening windows"
#~ msgstr "Gunakan efek ini saat membuka jendela"
#~ msgid "Use this effect when closing windows"
#~ msgstr "Gunakan efek ini saat menutup jendela"
#~ msgid "General Options"
#~ msgstr "Pengaturan Umum"
#~ msgid "Welcome to Burn-My-Windows!"
#~ msgstr "Selamat datang ke Burn-My-Windows!"
#~ msgid "If you like this extension, recommend it to your friends :)"
#~ msgstr "Jika anda menyukai ekstensi ini, rekomendasikan ke teman anda :)"
#~ msgid "Open Window Animation"
#~ msgstr "Animasi Pembukaan Jendela"
#~ msgid "Choose Effects"
#~ msgstr "Pilih Efek"
#~ msgid "Close Window Animation"
#~ msgstr "Animasi Penutupan Jendela"
#~ msgid "Also Add Effects to Dialogs"
#~ msgstr "Juga Tambah Efek pada Dialog"
#~ msgid "Disable on Battery Power"
#~ msgstr "Jangan Tampilkan Efek Saat Menggunakan Daya Baterai"
+596 -391
View File
File diff suppressed because it is too large Load Diff
+783
View File
@@ -0,0 +1,783 @@
# 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: 2023-02-21 16:46+0100\n"
"PO-Revision-Date: 2023-01-31 11:35+0000\n"
"Last-Translator: Ryan Y <ryuichi.ya220@gmail.com>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/burn-my-windows/"
"core/ja/>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.16-dev\n"
#: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103
msgid "Opening Windows"
msgstr ""
#: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221
#: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104
msgid "Closing Windows"
msgstr ""
#: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249
#: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118
msgid "Normal Windows"
msgstr ""
#: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250
#: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119
msgid "Dialog Windows"
msgstr ""
#: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278
#: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133
msgid "Default Color Scheme"
msgstr ""
#: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279
#: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme"
msgstr ""
#: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307
#: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148
msgid "On Battery"
msgstr ""
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308
#: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149
msgid "Plugged In"
msgstr ""
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336
#: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163
msgid "Power-Saver Mode"
msgstr ""
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337
#: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164
msgid "Balanced Mode"
msgstr ""
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338
#: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165
msgid "Performance Mode"
msgstr ""
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339
#: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166
msgid "Power Saver or Balanced"
msgstr ""
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340
#: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167
msgid "Balanced or Performance"
msgstr ""
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387
#: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183
msgid "High Priority"
msgstr ""
#: src/ProfileManager.js:191
msgid "Standard Profile"
msgstr ""
#: src/effects/Apparition.js:78
msgid "Apparition"
msgstr "幻影"
#: src/effects/BrokenGlass.js:137
msgid "Broken Glass"
msgstr "壊れたガラス"
#: src/effects/Doom.js:88
msgid "Doom"
msgstr ""
#: src/effects/EnergizeA.js:80
msgid "Energize A"
msgstr "エナジャイズ A"
#: src/effects/EnergizeB.js:81
msgid "Energize B"
msgstr "エナジャイズ B"
#: src/effects/Fire.js:100
msgid "Fire"
msgstr "炎"
#: src/effects/Fire.js:154
msgid "Default Fire"
msgstr "デフォルトの炎"
#: src/effects/Fire.js:164
msgid "Hell Fire"
msgstr "地獄の炎"
#: src/effects/Fire.js:174
msgid "Dark and Smutty"
msgstr "暗い感じ"
#: src/effects/Fire.js:184
msgid "Cold Breeze"
msgstr "冷たい風"
#: src/effects/Fire.js:194
msgid "Santa is Coming"
msgstr "サンタさんがやってきた"
#: src/effects/Glide.js:78
msgid "Glide"
msgstr "グライド"
#: src/effects/Glitch.js:86
msgid "Glitch"
msgstr "グリッチ"
#: src/effects/Hexagon.js:94
msgid "Hexagon"
msgstr "ヘキサゴン"
#: src/effects/Incinerate.js:131
msgid "Incinerate"
msgstr "焼却"
#: src/effects/Matrix.js:114
msgid "Matrix"
msgstr "マトリックス"
#: src/effects/Pixelate.js:74
msgid "Pixelate"
msgstr "ピクセル"
#: src/effects/PixelWheel.js:74
msgid "Pixel Wheel"
msgstr "ピクセルの輪"
#: src/effects/PixelWipe.js:101
msgid "Pixel Wipe"
msgstr "ピクセルの波"
#: src/effects/Portal.js:88
msgid "Portal"
msgstr "ポータル"
#: src/effects/SnapOfDisintegration.js:114
msgid "Snap of Disintegration"
msgstr "指パッチン"
#: src/effects/TRexAttack.js:112
msgid "T-Rex Attack"
msgstr "ティラノサウルスの攻撃"
#: src/effects/TVEffect.js:78
msgid "TV Effect"
msgstr "テレビ"
#: src/effects/TVGlitch.js:87
msgid "TV Glitch"
msgstr "テレビの故障"
#: src/effects/Wisps.js:82
msgid "Wisps"
msgstr "フェアリー"
#: prefs.js:247
msgid "Preview this effect"
msgstr "このエフェクトをプレビュー"
#: prefs.js:364 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
msgid "Burn-My-Windows has been updated!"
msgstr ""
#: prefs.js:365 resources/ui/common/menus.ui:17 resources/ui/gtk4/prefs.ui:56
#: resources/ui/gtk3/prefs.ui:96
msgid "View Changelog"
msgstr "変更ログを見る"
#: prefs.js:496 prefs.js:528
msgid "Gold Sponsors"
msgstr "ゴールドスポンサー"
#: prefs.js:500 prefs.js:532
msgid "Silver Sponsors"
msgstr "シルバースポンサー"
#: prefs.js:504 prefs.js:536
msgid "Bronze Sponsors"
msgstr "ブロンズスポンサー"
#: prefs.js:508 prefs.js:540
msgid "Past Sponsors"
msgstr "過去のスポンサー"
#: prefs.js:585
msgid "Delete this Profile?"
msgstr ""
#: prefs.js:587
msgid ""
"The current effect profile with all its effect settings will be permanently "
"lost."
msgstr ""
#: prefs.js:592
msgid "Cancel"
msgstr ""
#: prefs.js:593
msgid "Delete"
msgstr ""
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:923
#, javascript-format
msgid "Preview for %s"
msgstr "%s のプレビュー"
#: prefs.js:945
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:27
msgid "Report a Bug"
msgstr "バグを報告する"
#: resources/ui/common/menus.ui:31
msgid "Create an Effect"
msgstr "エフェクトを作成する"
#: resources/ui/common/menus.ui:35
msgid "Translate"
msgstr "翻訳する"
#: resources/ui/common/menus.ui:39
msgid "Donate"
msgstr "寄付する"
#: resources/ui/common/menus.ui:52
msgid "About Burn-My-Windows"
msgstr "Burn-My-Windows について"
#: resources/ui/common/menus.ui:63
msgid "Add New Profile..."
msgstr ""
#: resources/ui/gtk4/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23
#: resources/ui/gtk4/glitch.ui:23 resources/ui/gtk4/matrix.ui:23
#: resources/ui/gtk4/doom.ui:22 resources/ui/gtk4/trex.ui:23
#: resources/ui/gtk4/wisps.ui:23 resources/ui/gtk4/energize-b.ui:23
#: resources/ui/gtk4/pixel-wheel.ui:23 resources/ui/gtk4/glide.ui:23
#: resources/ui/gtk4/apparition.ui:22 resources/ui/gtk4/portal.ui:23
#: resources/ui/gtk4/incinerate.ui:23 resources/ui/gtk4/hexagon.ui:23
#: resources/ui/gtk4/fire.ui:46 resources/ui/gtk4/pixel-wipe.ui:23
#: resources/ui/gtk4/snap.ui:23 resources/ui/gtk4/energize-a.ui:23
#: resources/ui/gtk4/pixelate.ui:23 resources/ui/gtk4/tv.ui:23
#: resources/ui/gtk3/tv-glitch.ui:52 resources/ui/gtk3/glitch.ui:52
#: resources/ui/gtk3/doom.ui:52 resources/ui/gtk3/wisps.ui:38
#: resources/ui/gtk3/energize-b.ui:38 resources/ui/gtk3/pixel-wheel.ui:45
#: resources/ui/gtk3/glide.ui:59 resources/ui/gtk3/apparition.ui:59
#: resources/ui/gtk3/portal.ui:52 resources/ui/gtk3/incinerate.ui:45
#: resources/ui/gtk3/hexagon.ui:45 resources/ui/gtk3/fire.ui:84
#: resources/ui/gtk3/pixel-wipe.ui:45 resources/ui/gtk3/energize-a.ui:38
#: resources/ui/gtk3/pixelate.ui:45 resources/ui/gtk3/tv.ui:31
#: 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/trex.ui:14
#: resources/ui/adw/wisps.ui:14 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/pixel-wipe.ui:14
#: resources/ui/adw/snap.ui:14 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/gtk4/broken-glass.ui:50 resources/ui/gtk4/broken-glass.ui:96
#: resources/ui/gtk4/broken-glass.ui:142 resources/ui/gtk4/broken-glass.ui:188
#: resources/ui/gtk4/broken-glass.ui:244 resources/ui/gtk4/tv-glitch.ui:51
#: resources/ui/gtk4/tv-glitch.ui:97 resources/ui/gtk4/tv-glitch.ui:143
#: resources/ui/gtk4/tv-glitch.ui:189 resources/ui/gtk4/tv-glitch.ui:226
#: resources/ui/gtk4/glitch.ui:51 resources/ui/gtk4/glitch.ui:97
#: resources/ui/gtk4/glitch.ui:143 resources/ui/gtk4/glitch.ui:189
#: resources/ui/gtk4/glitch.ui:226 resources/ui/gtk4/matrix.ui:51
#: resources/ui/gtk4/matrix.ui:97 resources/ui/gtk4/matrix.ui:143
#: resources/ui/gtk4/matrix.ui:189 resources/ui/gtk4/matrix.ui:226
#: resources/ui/gtk4/matrix.ui:263 resources/ui/gtk4/doom.ui:50
#: resources/ui/gtk4/doom.ui:96 resources/ui/gtk4/doom.ui:142
#: resources/ui/gtk4/doom.ui:188 resources/ui/gtk4/trex.ui:51
#: resources/ui/gtk4/trex.ui:97 resources/ui/gtk4/trex.ui:143
#: resources/ui/gtk4/trex.ui:189 resources/ui/gtk4/trex.ui:226
#: resources/ui/gtk4/wisps.ui:51 resources/ui/gtk4/wisps.ui:97
#: resources/ui/gtk4/wisps.ui:134 resources/ui/gtk4/energize-b.ui:51
#: resources/ui/gtk4/energize-b.ui:97 resources/ui/gtk4/energize-b.ui:134
#: resources/ui/gtk4/pixel-wheel.ui:51 resources/ui/gtk4/pixel-wheel.ui:97
#: resources/ui/gtk4/pixel-wheel.ui:143 resources/ui/gtk4/glide.ui:51
#: resources/ui/gtk4/glide.ui:97 resources/ui/gtk4/glide.ui:143
#: resources/ui/gtk4/glide.ui:189 resources/ui/gtk4/glide.ui:235
#: resources/ui/gtk4/apparition.ui:50 resources/ui/gtk4/apparition.ui:96
#: resources/ui/gtk4/apparition.ui:142 resources/ui/gtk4/apparition.ui:188
#: resources/ui/gtk4/apparition.ui:234 resources/ui/gtk4/portal.ui:51
#: resources/ui/gtk4/portal.ui:97 resources/ui/gtk4/portal.ui:143
#: resources/ui/gtk4/portal.ui:189 resources/ui/gtk4/portal.ui:226
#: resources/ui/gtk4/incinerate.ui:51 resources/ui/gtk4/incinerate.ui:97
#: resources/ui/gtk4/incinerate.ui:143 resources/ui/gtk4/incinerate.ui:198
#: resources/ui/gtk4/incinerate.ui:235 resources/ui/gtk4/hexagon.ui:51
#: resources/ui/gtk4/hexagon.ui:97 resources/ui/gtk4/hexagon.ui:143
#: resources/ui/gtk4/hexagon.ui:180 resources/ui/gtk4/hexagon.ui:217
#: resources/ui/gtk4/hexagon.ui:272 resources/ui/gtk4/fire.ui:74
#: resources/ui/gtk4/fire.ui:120 resources/ui/gtk4/fire.ui:166
#: resources/ui/gtk4/fire.ui:221 resources/ui/gtk4/fire.ui:280
#: resources/ui/gtk4/pixel-wipe.ui:51 resources/ui/gtk4/pixel-wipe.ui:97
#: resources/ui/gtk4/energize-a.ui:51 resources/ui/gtk4/energize-a.ui:97
#: resources/ui/gtk4/energize-a.ui:134 resources/ui/gtk4/pixelate.ui:51
#: resources/ui/gtk4/pixelate.ui:97 resources/ui/gtk4/pixelate.ui:143
#: resources/ui/gtk4/tv.ui:51 resources/ui/gtk4/tv.ui:88
#: resources/ui/gtk3/tv-glitch.ui:78 resources/ui/gtk3/tv-glitch.ui:123
#: resources/ui/gtk3/tv-glitch.ui:168 resources/ui/gtk3/tv-glitch.ui:213
#: resources/ui/gtk3/tv-glitch.ui:255 resources/ui/gtk3/glitch.ui:78
#: resources/ui/gtk3/glitch.ui:123 resources/ui/gtk3/glitch.ui:168
#: resources/ui/gtk3/glitch.ui:213 resources/ui/gtk3/glitch.ui:255
#: resources/ui/gtk3/doom.ui:78 resources/ui/gtk3/doom.ui:123
#: resources/ui/gtk3/doom.ui:168 resources/ui/gtk3/doom.ui:213
#: resources/ui/gtk3/wisps.ui:64 resources/ui/gtk3/wisps.ui:109
#: resources/ui/gtk3/wisps.ui:151 resources/ui/gtk3/energize-b.ui:64
#: resources/ui/gtk3/energize-b.ui:109 resources/ui/gtk3/energize-b.ui:151
#: resources/ui/gtk3/pixel-wheel.ui:71 resources/ui/gtk3/pixel-wheel.ui:116
#: resources/ui/gtk3/pixel-wheel.ui:161 resources/ui/gtk3/glide.ui:85
#: resources/ui/gtk3/glide.ui:130 resources/ui/gtk3/glide.ui:175
#: resources/ui/gtk3/glide.ui:220 resources/ui/gtk3/glide.ui:265
#: resources/ui/gtk3/apparition.ui:85 resources/ui/gtk3/apparition.ui:130
#: resources/ui/gtk3/apparition.ui:175 resources/ui/gtk3/apparition.ui:220
#: resources/ui/gtk3/apparition.ui:265 resources/ui/gtk3/portal.ui:78
#: resources/ui/gtk3/portal.ui:123 resources/ui/gtk3/portal.ui:168
#: resources/ui/gtk3/portal.ui:213 resources/ui/gtk3/portal.ui:255
#: resources/ui/gtk3/incinerate.ui:71 resources/ui/gtk3/incinerate.ui:116
#: resources/ui/gtk3/incinerate.ui:161 resources/ui/gtk3/incinerate.ui:220
#: resources/ui/gtk3/incinerate.ui:262 resources/ui/gtk3/hexagon.ui:71
#: resources/ui/gtk3/hexagon.ui:116 resources/ui/gtk3/hexagon.ui:161
#: resources/ui/gtk3/hexagon.ui:203 resources/ui/gtk3/hexagon.ui:245
#: resources/ui/gtk3/hexagon.ui:304 resources/ui/gtk3/fire.ui:110
#: resources/ui/gtk3/fire.ui:154 resources/ui/gtk3/fire.ui:198
#: resources/ui/gtk3/fire.ui:257 resources/ui/gtk3/fire.ui:321
#: resources/ui/gtk3/pixel-wipe.ui:71 resources/ui/gtk3/pixel-wipe.ui:116
#: resources/ui/gtk3/energize-a.ui:64 resources/ui/gtk3/energize-a.ui:109
#: resources/ui/gtk3/energize-a.ui:151 resources/ui/gtk3/pixelate.ui:71
#: resources/ui/gtk3/pixelate.ui:116 resources/ui/gtk3/pixelate.ui:161
#: resources/ui/gtk3/tv.ui:57 resources/ui/gtk3/tv.ui:99
#: 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/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:94 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/pixel-wipe.ui:36 resources/ui/adw/pixel-wipe.ui:69
#: 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/gtk4/broken-glass.ui:68 resources/ui/gtk4/tv-glitch.ui:69
#: resources/ui/gtk4/glitch.ui:69 resources/ui/gtk4/matrix.ui:69
#: resources/ui/gtk4/wisps.ui:69 resources/ui/gtk4/energize-b.ui:69
#: resources/ui/gtk4/glide.ui:69 resources/ui/gtk4/incinerate.ui:69
#: resources/ui/gtk4/hexagon.ui:69 resources/ui/gtk4/fire.ui:92
#: resources/ui/gtk4/snap.ui:69 resources/ui/gtk4/energize-a.ui:69
#: resources/ui/gtk3/tv-glitch.ui:97 resources/ui/gtk3/glitch.ui:97
#: resources/ui/gtk3/wisps.ui:83 resources/ui/gtk3/energize-b.ui:83
#: resources/ui/gtk3/glide.ui:104 resources/ui/gtk3/incinerate.ui:90
#: resources/ui/gtk3/hexagon.ui:90 resources/ui/gtk3/fire.ui:128
#: resources/ui/gtk3/energize-a.ui:83 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/gtk4/broken-glass.ui:114 resources/ui/adw/broken-glass.ui:81
msgid "Gravity"
msgstr "重力"
#: resources/ui/gtk4/broken-glass.ui:160 resources/ui/adw/broken-glass.ui:114
msgid "Blow Force"
msgstr "吹き飛ぶ強さ"
#: resources/ui/gtk4/broken-glass.ui:210 resources/ui/adw/broken-glass.ui:147
msgid "Shatter From Pointer Location"
msgstr "ポインタの位置から砕ける"
#: resources/ui/gtk4/broken-glass.ui:219 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/gtk4/tv-glitch.ui:115 resources/ui/gtk4/glitch.ui:115
#: resources/ui/gtk3/tv-glitch.ui:142 resources/ui/gtk3/glitch.ui:142
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
msgid "Strength"
msgstr ""
#: resources/ui/gtk4/tv-glitch.ui:161 resources/ui/gtk4/glitch.ui:161
#: resources/ui/gtk4/fire.ui:138 resources/ui/gtk3/tv-glitch.ui:187
#: resources/ui/gtk3/glitch.ui:187 resources/ui/gtk3/fire.ui:172
#: resources/ui/adw/tv-glitch.ui:113 resources/ui/adw/glitch.ui:113
#: resources/ui/adw/fire.ui:96
msgid "Speed"
msgstr "速さ"
#: resources/ui/gtk4/tv-glitch.ui:207 resources/ui/gtk4/glitch.ui:207
#: resources/ui/gtk4/wisps.ui:115 resources/ui/gtk4/energize-b.ui:115
#: resources/ui/gtk4/portal.ui:207 resources/ui/gtk4/incinerate.ui:216
#: resources/ui/gtk4/snap.ui:115 resources/ui/gtk4/energize-a.ui:115
#: resources/ui/gtk4/tv.ui:69 resources/ui/gtk3/tv-glitch.ui:231
#: resources/ui/gtk3/glitch.ui:231 resources/ui/gtk3/wisps.ui:127
#: resources/ui/gtk3/energize-b.ui:127 resources/ui/gtk3/portal.ui:231
#: resources/ui/gtk3/incinerate.ui:238 resources/ui/gtk3/energize-a.ui:127
#: resources/ui/gtk3/tv.ui:75 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/gtk4/matrix.ui:115 resources/ui/gtk4/apparition.ui:68
#: resources/ui/gtk3/apparition.ui:104 resources/ui/adw/matrix.ui:80
#: resources/ui/adw/apparition.ui:48
msgid "Randomness"
msgstr "ランダム度"
#: resources/ui/gtk4/matrix.ui:161 resources/ui/adw/matrix.ui:113
msgid "Vertical Overshooting"
msgstr "垂直オーバーシュート"
#: resources/ui/gtk4/matrix.ui:207 resources/ui/adw/matrix.ui:146
msgid "Trail Color"
msgstr "軌跡の色"
#: resources/ui/gtk4/matrix.ui:244 resources/ui/adw/matrix.ui:171
msgid "Tip Color"
msgstr "先端の色"
#: resources/ui/gtk4/doom.ui:68 resources/ui/gtk3/doom.ui:97
#: resources/ui/adw/doom.ui:47
msgid "Horizontal Scale"
msgstr ""
#: resources/ui/gtk4/doom.ui:114 resources/ui/gtk3/doom.ui:142
#: resources/ui/adw/doom.ui:80
msgid "Vertical Scale"
msgstr ""
#: resources/ui/gtk4/doom.ui:160 resources/ui/gtk4/pixel-wheel.ui:115
#: resources/ui/gtk4/pixel-wipe.ui:69 resources/ui/gtk4/pixelate.ui:115
#: resources/ui/gtk3/doom.ui:187 resources/ui/gtk3/pixel-wheel.ui:135
#: resources/ui/gtk3/pixel-wipe.ui:90 resources/ui/gtk3/pixelate.ui:135
#: 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/gtk4/trex.ui:69 resources/ui/adw/trex.ui:47
msgid "Claw Scratch Scale"
msgstr ""
#: resources/ui/gtk4/trex.ui:115 resources/ui/adw/trex.ui:80
msgid "Claw Scratch Count"
msgstr ""
#: resources/ui/gtk4/trex.ui:161 resources/ui/adw/trex.ui:113
msgid "Warp Effect"
msgstr ""
#: resources/ui/gtk4/trex.ui:207 resources/ui/adw/trex.ui:146
msgid "Flash Color"
msgstr ""
#: resources/ui/gtk4/pixel-wheel.ui:69 resources/ui/gtk3/pixel-wheel.ui:90
#: resources/ui/adw/pixel-wheel.ui:47
msgid "Spoke Count"
msgstr ""
#: resources/ui/gtk4/glide.ui:115 resources/ui/gtk3/glide.ui:149
#: resources/ui/adw/glide.ui:80
msgid "Squish"
msgstr ""
#: resources/ui/gtk4/glide.ui:161 resources/ui/gtk3/glide.ui:194
#: resources/ui/adw/glide.ui:113
msgid "Tilt"
msgstr ""
#: resources/ui/gtk4/glide.ui:207 resources/ui/gtk3/glide.ui:239
#: resources/ui/adw/glide.ui:146
msgid "Shift"
msgstr ""
#: resources/ui/gtk4/apparition.ui:114 resources/ui/gtk3/apparition.ui:149
#: resources/ui/adw/apparition.ui:81
msgid "Twirl Intensity"
msgstr "ねじれの強さ"
#: resources/ui/gtk4/apparition.ui:160 resources/ui/gtk3/apparition.ui:194
#: resources/ui/adw/apparition.ui:114
msgid "Shake Intensity"
msgstr "揺れの強さ"
#: resources/ui/gtk4/apparition.ui:206 resources/ui/gtk3/apparition.ui:239
#: resources/ui/adw/apparition.ui:147
msgid "Suction Intensity"
msgstr "吸う力の強さ"
#: resources/ui/gtk4/portal.ui:69 resources/ui/gtk3/portal.ui:142
#: resources/ui/adw/portal.ui:80
msgid "Whirling"
msgstr "渦巻き度"
#: resources/ui/gtk4/portal.ui:115 resources/ui/gtk3/portal.ui:97
#: resources/ui/adw/portal.ui:47
msgid "Rotation Speed"
msgstr "回転速度"
#: resources/ui/gtk4/portal.ui:161 resources/ui/gtk3/portal.ui:187
#: resources/ui/adw/portal.ui:113
msgid "Details"
msgstr "ディテール"
#: resources/ui/gtk4/incinerate.ui:115 resources/ui/gtk3/incinerate.ui:135
#: resources/ui/adw/incinerate.ui:80
msgid "Turbulence"
msgstr "乱気流"
#: resources/ui/gtk4/incinerate.ui:165 resources/ui/gtk3/incinerate.ui:183
#: resources/ui/adw/incinerate.ui:113
msgid "Start at Pointer"
msgstr "ポインタから開始"
#: resources/ui/gtk4/incinerate.ui:174 resources/ui/gtk3/incinerate.ui:192
#: resources/ui/adw/incinerate.ui:114
msgid "If disabled, a random location will be chosen."
msgstr "無効化されている場合、ランダムに位置が選ばれます。"
#: resources/ui/gtk4/hexagon.ui:115 resources/ui/gtk3/hexagon.ui:135
#: resources/ui/adw/hexagon.ui:80
msgid "Mesh Line Width"
msgstr ""
#: resources/ui/gtk4/hexagon.ui:161 resources/ui/gtk3/hexagon.ui:179
#: resources/ui/adw/hexagon.ui:113
msgid "Line Color"
msgstr "線の色"
#: resources/ui/gtk4/hexagon.ui:198 resources/ui/gtk3/hexagon.ui:221
#: resources/ui/adw/hexagon.ui:138
msgid "Glow Color"
msgstr "光の色"
#: resources/ui/gtk4/hexagon.ui:239 resources/ui/gtk3/hexagon.ui:267
#: resources/ui/adw/hexagon.ui:163
msgid "Additive Blending"
msgstr ""
#: resources/ui/gtk4/hexagon.ui:248 resources/ui/gtk3/hexagon.ui:276
#: resources/ui/adw/hexagon.ui:164
msgid "You may want to enable this for dark window themes."
msgstr ""
#: resources/ui/gtk4/fire.ui:22 resources/ui/gtk3/fire.ui:44
#: resources/ui/adw/fire.ui:14
msgid "Presets"
msgstr "プリセット"
#: resources/ui/gtk4/fire.ui:188 resources/ui/gtk3/fire.ui:220
#: resources/ui/adw/fire.ui:129
msgid "3D Noise"
msgstr "3D ノイズ"
#: resources/ui/gtk4/fire.ui:197 resources/ui/gtk3/fire.ui:229
#: resources/ui/adw/fire.ui:130
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "ダイナミックな炎を生成します。GPU の使用率が増えます。"
#: resources/ui/gtk4/fire.ui:239 resources/ui/gtk3/fire.ui:276
#: resources/ui/adw/fire.ui:152
msgid "Gradient"
msgstr ""
#: resources/ui/gtk4/prefs.ui:82 resources/ui/gtk3/prefs.ui:124
#: resources/ui/adw/prefs.ui:224
msgid "Effect Settings"
msgstr ""
#: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134
#: resources/ui/adw/prefs.ui:225
msgid "If multiple are selected, one is chosen randomly."
msgstr ""
"複数のエフェクトが設定されている場合、その中からランダムに選択されます。"
#: resources/ui/gtk4/prefs.ui:132 resources/ui/gtk3/prefs.ui:172
#: resources/ui/adw/prefs.ui:65
msgid "Effect Profile Constraints"
msgstr ""
#: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182
#: resources/ui/adw/prefs.ui:66
msgid "Define when the current effect settings should be used."
msgstr ""
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/prefs.ui:206
#: resources/ui/adw/prefs.ui:70
msgid "Application"
msgstr ""
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219
#: resources/ui/gtk4/prefs.ui:248 resources/ui/gtk4/prefs.ui:277
#: resources/ui/gtk4/prefs.ui:306 resources/ui/gtk4/prefs.ui:335
#: resources/ui/gtk3/prefs.ui:224 resources/ui/gtk3/prefs.ui:264
#: resources/ui/gtk3/prefs.ui:293 resources/ui/gtk3/prefs.ui:322
#: resources/ui/gtk3/prefs.ui:351 resources/ui/gtk3/prefs.ui:380
#: 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/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253
#: resources/ui/adw/prefs.ui:98
msgid "Animation Type"
msgstr ""
#: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282
#: resources/ui/adw/prefs.ui:113
msgid "Window Type"
msgstr ""
#: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311
#: resources/ui/adw/prefs.ui:128
msgid "Color Scheme"
msgstr ""
#: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340
#: resources/ui/adw/prefs.ui:143
msgid "Power Mode"
msgstr ""
#: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369
#: resources/ui/adw/prefs.ui:158
msgid "Power Profile"
msgstr ""
#: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401
#: resources/ui/adw/prefs.ui:179
msgid "Advanced Profile Options"
msgstr ""
#: resources/ui/gtk4/prefs.ui:396 resources/ui/gtk3/prefs.ui:441
#: resources/ui/adw/prefs.ui:184
msgid "Use this profile even if there are better matching profiles."
msgstr ""
#: resources/ui/gtk4/prefs.ui:428 resources/ui/gtk3/prefs.ui:473
#: resources/ui/adw/prefs.ui:204
msgid "Delete this Profile..."
msgstr ""
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
#: resources/ui/adw/pixelate.ui:47
msgid "Noise"
msgstr "ノイズ"
#: resources/ui/gtk3/fire.ui:58 resources/ui/adw/fire.ui:19
msgid "Choose a Preset"
msgstr "プリセットを選ぶ"
#~ msgid "Effects"
#~ msgstr "エフェクト"
#~ msgid "Use this effect when opening windows"
#~ msgstr "ウィンドウを開くときに使用"
#~ msgid "Use this effect when closing windows"
#~ msgstr "ウィンドウを閉じるときに使用"
#~ msgid "General Options"
#~ msgstr "全般"
#~ msgid "Welcome to Burn-My-Windows!"
#~ msgstr "Burn-My-Windows へようこそ!"
#~ msgid "If you like this extension, recommend it to your friends :)"
#~ msgstr "気に入っていただけたなら、あなたの友人にも見せてみて下さい :)"
#~ msgid "Open Window Animation"
#~ msgstr "ウィンドウを開いたときのアニメーション"
#~ msgid "Choose Effects"
#~ msgstr "エフェクトを選ぶ"
#~ msgid "Close Window Animation"
#~ msgstr "ウィンドウを閉じたときのアニメーション"
#~ msgid "Also Add Effects to Dialogs"
#~ msgstr "ダイアログにでもエフェクトを使用する"
#~ msgid "Disable on Battery Power"
#~ msgstr "電源に接続されていないとき無効化"
#~ msgid "Disable in Power-Save Mode"
#~ msgstr "パワーセーブモード時無効化"
+590 -390
View File
File diff suppressed because it is too large Load Diff
+576 -391
View File
File diff suppressed because it is too large Load Diff
+542 -368
View File
File diff suppressed because it is too large Load Diff
+591 -387
View File
File diff suppressed because it is too large Load Diff
+593 -391
View File
File diff suppressed because it is too large Load Diff
+573 -385
View File
File diff suppressed because it is too large Load Diff
+593 -422
View File
File diff suppressed because it is too large Load Diff
+581 -380
View File
File diff suppressed because it is too large Load Diff
+623 -421
View File
File diff suppressed because it is too large Load Diff
+583 -392
View File
File diff suppressed because it is too large Load Diff
+567 -379
View File
File diff suppressed because it is too large Load Diff
+571 -383
View File
File diff suppressed because it is too large Load Diff
+620 -416
View File
File diff suppressed because it is too large Load Diff
+567 -379
View File
File diff suppressed because it is too large Load Diff
+650 -271
View File
File diff suppressed because it is too large Load Diff
+76 -16
View File
@@ -1,26 +1,86 @@
{
"gold": [
"<a href='https://github.com/D3vil0p3r'>D3vil0p3r</a>",
"Maxence Sebald",
"<a href='https://github.com/dennis1248'>Dennis ten Hoove</a>"
{
"name": "D3vil0p3r",
"url": "https://github.com/D3vil0p3r"
},
{
"name": "Maxence Sebald",
"url": ""
}
],
"silver": [
"<a href='https://github.com/danielheadbang'>@danielheadbang</a>",
"<a href='https://github.com/MRR-dev'>@MRR-dev</a>",
"<a href='https://github.com/castrojo'>Jorge Castro</a>"
{
"name": "@danielheadbang",
"url": "https://github.com/danielheadbang"
},
{
"name": "Jorge Castro",
"url": "https://github.com/castrojo"
}
],
"bronze": [
"<a href='https://github.com/AngelBrielez'>Angel Brielez</a>"
{
"name": "@SubOptimal",
"url": "https://github.com/SubOptimal"
},
{
"name": "@vlazic",
"url": "https://github.com/vlazic"
}
],
"past": [
"<a href='https://github.com/enolive'>@enolive</a>",
"<a href='https://github.com/Aggraxis'>@Aggraxis</a>",
"<a href='https://twitter.com/tjiiik'>tj3k</a>",
"<a href='https://github.com/wolfyrion'>@wolfyrion</a>",
"<a href='https://github.com/MrTomRod'>@MrTomRod</a>",
"Pouhiou",
"DAPREMONT Christophe",
"<a href='https://github.com/manero6'>@manero6</a>",
"<a href='https://github.com/RickStanley'>@RickStanley</a>"
{
"name": "Dennis ten Hoove",
"url": "https://github.com/dennis1248"
},
{
"name": "@MRR-dev",
"url": "https://github.com/MRR-dev"
},
{
"name": "Angel Brielez",
"url": "https://github.com/AngelBrielez"
},
{
"name": "@taconomix",
"url": "https://github.com/taconomix"
},
{
"name": "@enolive",
"url": "https://github.com/enolive"
},
{
"name": "@Aggraxis",
"url": "https://github.com/Aggraxis"
},
{
"name": "tj3k",
"url": "https://twitter.com/tjiiik"
},
{
"name": "@wolfyrion",
"url": "https://github.com/wolfyrion"
},
{
"name": "@MrTomRod",
"url": "https://github.com/MrTomRod"
},
{
"name": "Pouhiou",
"url": ""
},
{
"name": "DAPREMONT Christophe",
"url": ""
},
{
"name": "@manero6",
"url": "https://github.com/manero6"
},
{
"name": "@RickStanley",
"url": "https://github.com/RickStanley"
}
]
}
+251 -185
View File
@@ -1,44 +1,47 @@
[
{
"French": [
"Turkish": [
[
"matshot03@gmail.com",
"Mathis Chabrier",
4
"tcreeper.earth@gmail.com",
"TCr3",
23
],
[
"softexpert@gmail.com",
"SoftExpert",
5
],
[
"redxxiii@zaclys.net",
"Reda",
13
],
[
"mathieu.bousquet2@gmail.com",
"Mathieu B.",
28
],
[
"theo.remon+weblate@uswery.eu",
"Th\u00e9o Remon",
30
],
[
"bonnemainsnathan@gmail.com",
"Nathan",
42
"muhaaliss@pm.me",
"Muha Aliss",
52
]
]
},
{
"Polish": [
"Lithuanian": [
[
"pwrzonca@gmail.com",
"Pawe\u0142 Rzo\u0144ca",
84
"hazap@hotmail.com",
"Moo",
43
]
]
},
{
"Portuguese (Brazil)": [
[
"mr-isaac@ig.com.br",
"Isaac Dias",
93
]
]
},
{
"German": [
[
"atalanttore@googlemail.com",
"Ettore Atalan",
1
],
[
"code@simonschneegans.de",
"Simon Schneegans",
119
]
]
},
@@ -47,49 +50,36 @@
[
"phlostically@mailinator.com",
"phlostically",
81
]
]
},
{
"Finnish": [
[
"jiri.gronroos@iki.fi",
"Jiri Gr\u00f6nroos",
54
72
]
]
},
{
"Russian": [
[
"lenemter@gmail.com",
"lenemter",
10
],
[
"sergei@racingrebel.com",
"\u041c\u0438\u0441\u0442\u0435\u0440 \u041f\u0435\u0440\u0435\u0432\u043e\u0434",
11
],
[
"ddaudix@gmail.com",
"Daudix UFO",
31
],
[
"eg.ermakov2016@yandex.ru",
"\u0415\u0433\u043e\u0440 \u0415\u0440\u043c\u0430\u043a\u043e\u0432",
39
33
],
[
"franigoyt@gmail.com",
"ANIGO R. (AR)",
56
]
]
},
{
"Ukrainian": [
49
],
[
"yuridm@gmail.com",
"\u042e\u0440\u0456\u0439 \u0414\u043c\u0438\u0442\u0440\u0435\u043d\u043a\u043e",
53
"lenemter@gmail.com",
"lenemter",
50
]
]
},
@@ -98,7 +88,35 @@
[
"softexpert@gmail.com",
"SoftExpert",
93
127
]
]
},
{
"Ukrainian": [
[
"cakestwix1@gmail.com",
"CakesTwix",
36
],
[
"911us@duck.com",
"Petro S.",
44
],
[
"yuridm@gmail.com",
"\u042e\u0440\u0456\u0439 \u0414\u043c\u0438\u0442\u0440\u0435\u043d\u043a\u043e",
48
]
]
},
{
"Japanese": [
[
"ryuichi.ya220@gmail.com",
"Ryan Y",
79
]
]
},
@@ -117,7 +135,63 @@
[
"jiri.doubravsky@gmail.com",
"Ji\u0159\u00ed Doubravsk\u00fd",
69
60
]
]
},
{
"Portuguese": [
[
"ssantos@web.de",
"ssantos",
1
],
[
"dyegoaurelio@gmail.com",
"dyegoaurelio",
8
],
[
"pedro.hvn.2018@gmail.com",
"KrulesExGamer",
70
]
]
},
{
"Hungarian": [
[
"superh552@gmail.com",
"KinteLiX",
79
]
]
},
{
"Hebrew": [
[
"hvusvvnkl12345@gmail.com",
"\u05d9\u05d4\u05d5\u05d3\u05d4 \u05d0\u05dc\u05d9\u05e1\u05e3",
37
]
]
},
{
"Polish": [
[
"gnu.ewm@protonmail.com",
"Eryk Michalak",
10
],
[
"sto@tutanota.de",
"WaldiS",
39
],
[
"pwrzonca@gmail.com",
"Pawe\u0142 Rzo\u0144ca",
77
]
]
},
@@ -131,12 +205,17 @@
[
"albano_battistella@hotmail.com",
"albanobattistella",
85
127
]
]
},
{
"Arabic": [
[
"hamzah.abusamak@gmail.com",
"bonbonboi",
5
],
[
"dabsantamer@yahoo.com",
"tamer dab",
@@ -145,69 +224,12 @@
[
"yamen.malik2@gmail.com",
"Yamen Malik",
8
],
[
"hamzah.abusamak@gmail.com",
"bonbonboi",
8
7
],
[
"fawaz27000@hotmail.com",
"fawaz006",
76
]
]
},
{
"Chinese (Simplified)": [
[
"coelacanthushex@gmail.com",
"Celeste Liu",
3
],
[
"ourmicroid@outlook.com",
"joe",
4
],
[
"lyuutau@outlook.com",
"\u5218\u97ec",
35
],
[
"poonsters6@gmail.com",
"merelymyself",
39
],
[
"aerowolf@tom.com",
"aerowolf",
49
]
]
},
{
"Norwegian Bokm\u00e5l": [
[
"code@simonschneegans.de",
"Simon Schneegans",
1
],
[
"epost@anotheragency.no",
"Allan Nordh\u00f8y",
47
]
]
},
{
"Korean": [
[
"darkcircle.0426@gmail.com",
"Seong-ho Cho",
74
68
]
]
},
@@ -216,12 +238,26 @@
[
"xxmn77@gmail.com",
"X\u0259yyam Qocayev",
76
67
]
]
},
{
"Indonesian": [
[
"randompsyduck@duck.com",
"Sir-Ivysaur",
75
]
]
},
{
"Dutch": [
[
"philip.goto@gmail.com",
"Philip Goto",
1
],
[
"code@simonschneegans.de",
"Simon Schneegans",
@@ -230,25 +266,7 @@
[
"vistausss@fastmail.com",
"Heimen Stoffels",
97
]
]
},
{
"Persian": [
[
"eshagh094@gmail.com",
"Eshagh shahidani",
72
]
]
},
{
"Slovak": [
[
"jose1711@gmail.com",
"Jose Riha",
82
127
]
]
},
@@ -259,15 +277,10 @@
"Jorge C",
5
],
[
"dev.n47os@aleeas.com",
"Ulices",
6
],
[
"fitojb@ubuntu.com",
"Adolfo Jayme Barrientos",
9
7
],
[
"andres.segarra.aparicio@gmail.com",
@@ -277,35 +290,51 @@
[
"fran-carro@hotmail.es",
"gallegonovato",
13
14
],
[
"dev.n47os@aleeas.com",
"Ulices",
40
],
[
"oscfdezdz@tuta.io",
"\u00d3scar Fern\u00e1ndez D\u00edaz",
69
60
]
]
},
{
"Lithuanian": [
"French": [
[
"hazap@hotmail.com",
"Moo",
50
]
]
},
{
"Portuguese": [
[
"dyegoaurelio@gmail.com",
"dyegoaurelio",
12
"matshot03@gmail.com",
"Mathis Chabrier",
2
],
[
"pedro.hvn.2018@gmail.com",
"KrulesExGamer",
78
"redxxiii@zaclys.net",
"Reda",
10
],
[
"theo.remon+weblate@uswery.eu",
"Th\u00e9o Remon",
22
],
[
"mathieu.bousquet2@gmail.com",
"Mathieu B.",
26
],
[
"bonnemainsnathan@gmail.com",
"Nathan",
38
],
[
"softexpert@gmail.com",
"SoftExpert",
52
]
]
},
@@ -319,49 +348,86 @@
[
"droidbittin@gmail.com",
"Luna Jernberg",
10
9
],
[
"swedishsailfishosuser@tutanota.com",
"Kristoffer Grundstr\u00f6m",
55
48
]
]
},
{
"Turkish": [
"Persian": [
[
"tcreeper.earth@gmail.com",
"TCr3",
24
"eshagh094@gmail.com",
"Eshagh shahidani",
65
]
]
},
{
"Finnish": [
[
"jiri.gronroos@iki.fi",
"Jiri Gr\u00f6nroos",
47
]
]
},
{
"Korean": [
[
"darkcircle.0426@gmail.com",
"Seong-ho Cho",
129
]
]
},
{
"Slovak": [
[
"jose1711@gmail.com",
"Jose Riha",
129
]
]
},
{
"Chinese (Simplified)": [
[
"coelacanthushex@gmail.com",
"Celeste Liu",
3
],
[
"muhaaliss@pm.me",
"Muha Aliss",
59
]
]
},
{
"Hebrew": [
"lyuutau@outlook.com",
"\u5218\u97ec",
34
],
[
"hvusvvnkl12345@gmail.com",
"\u05d9\u05d4\u05d5\u05d3\u05d4 \u05d0\u05dc\u05d9\u05e1\u05e3",
"poonsters6@gmail.com",
"merelymyself",
38
],
[
"aerowolf@tom.com",
"aerowolf",
42
]
]
},
{
"German": [
[
"juri26@outlook.de",
"jagfwajgf",
1
],
"Norwegian Bokm\u00e5l": [
[
"code@simonschneegans.de",
"Simon Schneegans",
92
1
],
[
"epost@anotheragency.no",
"Allan Nordh\u00f8y",
44
]
]
}
-8
View File
@@ -1,8 +0,0 @@
/*
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
SPDX-License-Identifier: CC0-1.0
*/
.pill-button {
border-radius: 9999px;
}
+23
View File
@@ -0,0 +1,23 @@
/*
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
SPDX-License-Identifier: CC0-1.0
*/
row {
padding: 8px;
}
.effect-row {
padding: 0;
}
.effect-row-header,
.effect-row list {
padding: 8px;
border: 0 solid @borders;
border-bottom-width: 1px;
}
.revealer-arrow {
margin-right: 6px;
}
+26
View File
@@ -0,0 +1,26 @@
/*
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
SPDX-License-Identifier: CC0-1.0
*/
/* These are only used if not using libadwaita */
.effect-row {
padding: 0;
}
.effect-row-header,
.effect-row list {
padding: 8px;
border: 0 solid @borders;
border-bottom-width: 1px;
}
.revealer-arrow {
margin-right: 6px;
transition: transform 250ms;
}
.revealer-arrow.revealed {
transform: rotate(180deg);
}
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="16"
height="16"
version="1.1"
id="svg859"
sodipodi:docname="bmw-copy-effects-symbolic.svg"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs863" />
<sodipodi:namedview
id="namedview861"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="true"
inkscape:zoom="39.949625"
inkscape:cx="3.1915194"
inkscape:cy="6.7334801"
inkscape:window-width="1920"
inkscape:window-height="1163"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg859">
<inkscape:grid
type="xygrid"
id="grid963" />
</sodipodi:namedview>
<g
fill="#222222"
id="g951"
transform="rotate(-90,8.5,8.5)">
<path
id="path949"
d="M 11,5 H 10 C 9.742188,5 9.472656,5.128906 9.28125,5.3125 L 9,5.59375 V 0 H 7 V 5.59375 L 6.71875,5.3125 C 6.527344,5.128906 6.257812,5 6,5 H 5 V 6 C 5,6 5.089844,6.550781 5.28125,6.75 L 8,9.40625 10.71875,6.75 C 10.910156,6.550781 11,6.308594 11,6 Z m 0,0 M 6,2 H 3 C 2,2 2,3 2,3 v 10 c 0,0 0,1 1,1 h 11 c 1,0 1,-1 1,-1 v -3 c 0.14,0 0.28,0 0.41,-0.03 C 16.32,9.78 17,8.97 17,8 17,6.9 16.1,6 15,6 V 3 C 15,2 14,2 14,2 h -4 v 2 h 3 v 1 h -1 v 6 h 1 v 1 H 4 V 4 H 6 Z M 16,8 C 16,8.41 15.73,8.75 15.38,8.91 15.26,8.96 15.14,9 15,9 14.45,9 14,8.55 14,8 c 0,-0.55 0.45,-1 1,-1 0.55,0 1,0.45 1,1 z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 11.574219 0.402344 l -2.574219 2.597656 l 3.984375 4.074219 l 2.648437 -2.671875 c 0.484376 -0.484375 0.425782 -1.515625 0 -1.941406 l -2.058593 -2.058594 c -0.4375 -0.4375002 -1.441407 -0.554688 -2 0 z m -3.574219 3.597656 l -8 8 v 4 h 4.058594 l 7.925781 -7.925781 z m 0 0" fill="#222222"/></svg>

After

Width:  |  Height:  |  Size: 436 B

@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="16"
height="16"
version="1.1"
id="svg859"
sodipodi:docname="bmw-paste-effects-symbolic.svg"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs863" />
<sodipodi:namedview
id="namedview861"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="true"
inkscape:zoom="30.619781"
inkscape:cx="14.02688"
inkscape:cy="7.5114841"
inkscape:window-width="1920"
inkscape:window-height="1163"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg859">
<inkscape:grid
type="xygrid"
id="grid963" />
</sodipodi:namedview>
<g
fill="#222222"
id="g951"
transform="rotate(-90,11.5,5.5)">
<path
id="path949"
d="M 11,5 H 10 C 9.742188,5 9.472656,5.128906 9.28125,5.3125 L 9,5.59375 V 1 H 7 V 5.59375 L 6.71875,5.3125 C 6.527344,5.128906 6.257812,5 6,5 H 5 V 6 C 5,6 5.089844,6.550781 5.28125,6.75 L 8,9.40625 10.71875,6.75 C 10.910156,6.550781 11,6.308594 11,6 Z M 16,2 C 16,2.41 15.73,2.75 15.38,2.91 15.26,2.96 15.14,3 15,3 14.45,3 14,2.55 14,2 c 0,-0.55 0.45,-1 1,-1 0.55,0 1,0.45 1,1 z m -3,-4 v 1 h -1 v 6 h 1 v 1 h -1 c 0,1 0,1 -1,2 h 3 c 1,0 1,-1 1,-1 V 4 C 15.14,4 15.28,4 15.41,3.97 16.32,3.78 17,2.97 17,2 17,0.9 16.1,0 15,0 V -3 C 15,-4 14,-4 14,-4 9.9636199,-4 6.886735,-4 3,-4 2,-4 2,-3 2,-3 V 7 C 2,7 2,8 3,8 H 5.048681 C 4,7 4,7 4,6 v -8 c 3.0556612,0 6.334851,0 9,0 z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
height="16px"
viewBox="0 0 16 16"
width="16px"
version="1.1"
id="svg880"
sodipodi:docname="bmw-select-app-symbolic.svg"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs884" />
<sodipodi:namedview
id="namedview882"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="true"
inkscape:zoom="57.412587"
inkscape:cx="8.0905604"
inkscape:cy="8.0992692"
inkscape:window-width="1920"
inkscape:window-height="1163"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg880">
<inkscape:grid
type="xygrid"
id="grid975" />
</sodipodi:namedview>
<path
d="m 7,11 v 5 h 2 v -5 m 2,-2 h 5 V 7 H 11 M 9,5 V 0 H 7 V 5 M 5.0431967,7 H 0 v 2 h 4.9715524"
fill="#222222"
id="path878"
sodipodi:nodetypes="cccccccccccccccc" />
<path
id="path966"
d="M 14.708984 10 L 12.580078 10 C 12.074974 11.149358 11.149798 12.075226 10 12.580078 L 10 14.707031 C 12.252335 14.032781 14.034893 12.252099 14.708984 10 z " />
<path
id="path2645"
d="M 10 1.2929688 L 10 3.4199219 C 11.149798 3.9247737 12.074974 4.8506419 12.580078 6 L 14.708984 6 C 14.034893 3.7479009 12.252335 1.9672199 10 1.2929688 z " />
<path
id="path2107"
d="M 3.421875 10 L 1.2910156 10 C 1.965107 12.252099 3.7476652 14.032781 6 14.707031 L 6 12.580078 C 4.8504712 12.075345 3.9270579 11.148985 3.421875 10 z " />
<path
id="path2456"
d="M 6 1.2929688 C 3.7476652 1.9672199 1.965107 3.7479009 1.2910156 6 L 3.421875 6 C 3.9270579 4.8510155 4.8504712 3.9246556 6 3.4199219 L 6 1.2929688 z " />
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

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