Compare commits

...

667 Commits
v2 ... v17

Author SHA1 Message Date
Simon Schneegans 74f759e5a3 📝 Set release date
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2022-06-30 05:12:33 +02:00
Simon Schneegans 75e4a9c94d 💞 Update credits 2022-06-30 05:03:56 +02:00
albanobattistella 7c194e0b65 🌐 Translated using Weblate (Italian) 2022-06-29 21:44:21 +02:00
Heimen Stoffels c87f088f7d 🌐 Translated using Weblate (Dutch) 2022-06-29 21:44:21 +02:00
Simon Schneegans 3e33953fdd 📝 Add changelog entry 2022-06-26 09:48:30 +02:00
Simon Schneegans 79a3e2241a 💞 Update credits 2022-06-26 08:03:58 +02:00
Simon Schneegans 4aef62b07c 🪲 Fix incinerate random seed on kwin 2022-06-25 21:03:23 +02:00
Simon Schneegans 6b3a6a60b3 🌐 Translated using Weblate (German) 2022-06-25 05:56:53 +02:00
Hosted Weblate 3728660047 🌐 Update translation files 2022-06-25 05:56:53 +02:00
Simon Schneegans 0a4c83a80c 🔀 Merge pull request #174 from Schneegans/feature/incinerate 2022-06-25 05:42:43 +02:00
Simon Schneegans 772c1dc15a 🔧 Disable X11 tests again... 2022-06-25 05:38:30 +02:00
Simon Schneegans 88bf8a9a9e 🔧 Update test references 2022-06-25 05:29:33 +02:00
Simon Schneegans 6135bef34e 🔧 Add incinerate effect to test suite 2022-06-25 05:29:15 +02:00
Simon Schneegans 9a74b9d874 🔧 Attempt to run xsession tests 2022-06-25 05:06:43 +02:00
Simon Schneegans 19f03dddf6 🌐 Update translation template 2022-06-25 05:05:28 +02:00
Simon Schneegans 4201a9ea35 🔧 Do not yet attempt to translate KWin effects 2022-06-25 05:05:19 +02:00
Simon Schneegans 85246135af 📝 Add more comments 2022-06-25 05:02:07 +02:00
Simon Schneegans 573613c2d7 📝 Add some comments 2022-06-21 22:29:09 +02:00
jagfwajgf 9b7822a245 🌐 Translated using Weblate (German) 2022-06-21 18:03:51 +02:00
Simon Schneegans d32d02e07b 📝 Use more precise version number 2022-06-21 07:44:12 +02:00
Simon Schneegans 4106167c49 💞 Add new sponsor 2022-06-21 07:43:32 +02:00
Simon Schneegans 395f2702e8 📝 Add changelog entry 2022-06-21 07:20:59 +02:00
Simon Schneegans 1b09955fef 🔧 Tweak default turbulence of incinerate effect 2022-06-21 07:20:40 +02:00
Simon Schneegans a17fbfd114 🔧 Tweak scale of incinerate effect 2022-06-21 07:12:52 +02:00
Simon Schneegans b40d0f068b 🔧 MAke iTexCoord behave the same on KWin and GNOME 2022-06-21 07:12:34 +02:00
Simon Schneegans c84530931d 🔧 Set seed for incinerate on kwin 2022-06-20 06:01:10 +02:00
Simon Schneegans ae072bf427 🔧 KWin fixes 2022-06-20 05:58:51 +02:00
Simon Schneegans e4b16ba599 🔧 KWin fixes 2022-06-20 05:57:57 +02:00
Simon Schneegans 3ec64ec585 🔧 Remove implicit casts 2022-06-20 05:56:46 +02:00
Simon Schneegans 0f22ac4915 🔧 Remove implicit casts 2022-06-20 05:55:26 +02:00
Simon Schneegans 746cb29ef3 💄 Tweak ui of kwin incinerate settings 2022-06-20 05:55:17 +02:00
Simon Schneegans 48abc8b598 🎉 Add incinerate kwin effect 2022-06-20 05:43:21 +02:00
Simon Schneegans 1ba580943b 📝 Fix indentation 2022-06-20 05:43:10 +02:00
Simon Schneegans fc2424ffb4 🔧 Add incinerate gtk3 ui 2022-06-20 05:39:32 +02:00
Simon Schneegans 1a20ee94cd 🔧 Tweak incinerate effect 2022-06-20 05:37:06 +02:00
Simon Schneegans cc18efd9e0 📝 Add incinerate effect to the README 2022-06-20 05:36:53 +02:00
Simon Schneegans 3323cbf66d 🔧 Tweak incinerate effect 2022-06-18 13:54:56 +02:00
Simon Schneegans 15702cf3da 🔧 Tweak incinerate effect 2022-06-18 09:44:38 +02:00
Simon Schneegans 86dd1131fc 🔧 Improve incinerate effect 2022-06-17 21:17:23 +02:00
Simon Schneegans 2e3bd0bfbb Merge branch 'main' into feature/incinerate 2022-06-17 05:58:36 +02:00
Simon Schneegans bb44d4bd81 🔥 Remove empty file 2022-06-16 05:29:25 +02:00
Simon Schneegans 1cd69b4cbb 🔀 Merge pull request #169 from Schneegans/feature/kde 2022-06-16 05:26:49 +02:00
Simon Schneegans 3afbf6d93b 📝 Add changelog entry 2022-06-16 05:25:54 +02:00
Simon Schneegans 4e5ddfdcc6 🔧 Do not build the apparition effect for KWin for now 2022-06-16 05:19:55 +02:00
Simon Schneegans caec83a391 📝 Fix archive name 2022-06-14 06:20:49 +02:00
Simon Schneegans fdad5f6c89 🔧 Fix job name 2022-06-14 06:20:42 +02:00
Simon Schneegans 4ab87d1257 🔧 Create kwin package on tags 2022-06-14 06:17:06 +02:00
Simon Schneegans 9057f8cceb 🔧 Put all effects into one archive 2022-06-14 06:13:05 +02:00
Simon Schneegans b31a166b22 📝 Update kwin instructions 2022-06-14 06:11:08 +02:00
Simon Schneegans b3568d9be5 📝 Add disclaimer to tutorial 2022-06-14 05:53:32 +02:00
Simon Schneegans ca4484727f 🔧 Use RGB for wisps color 2022-06-13 06:27:10 +02:00
Simon Schneegans d76aea4fc8 🔧 Use rgba color config readers 2022-06-13 06:24:38 +02:00
Simon Schneegans fda91e69bb 🔧 Use RGB for TV color 2022-06-13 06:22:27 +02:00
Simon Schneegans 8d6b844def 🔧 Use RGB for energize b color 2022-06-13 06:20:17 +02:00
Simon Schneegans 87209db9bd 🔧 Fix typo 2022-06-13 06:18:28 +02:00
Simon Schneegans ad76fff308 🔧 Use RGB for energize a color 2022-06-13 06:16:59 +02:00
Simon Schneegans ee902debe1 🔧 Add helpers to read color settings 2022-06-13 06:15:20 +02:00
Simon Schneegans 7e91b9c1f7 📝 Update README 2022-06-12 18:13:49 +02:00
Simon Schneegans c769677328 📝 Add some comments 2022-06-10 17:21:41 +02:00
Simon Schneegans fabe1999ad 🔧 Set duration uniforms 2022-06-10 17:09:22 +02:00
Simon Schneegans 611ba14230 🔧 Fix kwin fire 2022-06-10 16:19:30 +02:00
Simon Schneegans 5c58ccf2cf 🎉 Add fire kwin effect 2022-06-10 16:08:05 +02:00
Simon Schneegans ef746c20e6 🔧 Remove implicit conversions 2022-06-10 15:58:10 +02:00
Simon Schneegans 149e91f06d 🔧 Add BMW to effect names 2022-06-10 15:43:11 +02:00
Simon Schneegans a2fdf05431 🔧 Tweak UI 2022-06-10 15:42:58 +02:00
Simon Schneegans 2571c60d6b 🔧 Remove implicit conversions 2022-06-10 15:42:46 +02:00
Simon Schneegans 55e46b501b 🎉 Add apparition kwin effect 2022-06-10 15:28:42 +02:00
Simon Schneegans 97a4226898 🎉 Add wisps kwin effect 2022-06-10 15:24:54 +02:00
Simon Schneegans 79fe1feb5c 🔧 Fix shellcheck issues 2022-06-10 15:15:38 +02:00
Simon Schneegans d4e0ee95c9 🔧 Build archives for effects 2022-06-10 15:13:49 +02:00
Simon Schneegans 4e2edc1492 🔧 Fix kwin default colors 2022-06-10 14:53:38 +02:00
Simon Schneegans d5bf63b99c 🔧 Update kwin default colors 2022-06-10 14:50:38 +02:00
Simon Schneegans 2bd67c0d37 🔧 Tweak kwin config GUI 2022-06-10 14:38:34 +02:00
Simon Schneegans d4165b4b62 🔧 Fix GLSL compiler issue 2022-06-10 14:38:14 +02:00
Simon Schneegans b4455d5f48 🔧 Only set duration if required 2022-06-10 14:13:29 +02:00
Simon Schneegans cc86b16817 🎉 Add kwin hexagon effect 2022-06-10 14:07:20 +02:00
Simon Schneegans d08c318b7d 🔧 Tweak kwin build process 2022-06-10 13:57:21 +02:00
Simon Schneegans 192719739c 🔧 Flip texture coordinates for kwin 2022-06-10 11:48:31 +02:00
Simon Schneegans 4d77635e78 🔧 Fix implicit conversion 2022-06-10 11:45:59 +02:00
Simon Schneegans e84ec002a3 🔧 Fix typo 2022-06-10 11:10:10 +02:00
Simon Schneegans 46fb61b96c 🎉 Add new kwin effect 2022-06-10 11:07:56 +02:00
Simon Schneegans 6a764b6552 🔧 Load defaults from settings 2022-06-10 11:07:41 +02:00
Simon Schneegans d7859145c3 🔧 Update kwin settings ui 2022-06-10 11:04:03 +02:00
Simon Schneegans 15a622d7b7 🔧 Fix shellcheck issues 2022-06-10 10:42:59 +02:00
Simon Schneegans 2056130e98 🔧 Fixes for kwin 2022-06-10 10:42:04 +02:00
Simon Schneegans bfc3467e33 🔧 Fixes for kwin 2022-06-10 10:29:47 +02:00
Simon Schneegans 9f8258b9f8 🔧 Fix setting of window size 2022-06-10 10:29:29 +02:00
Simon Schneegans 4e5084bdba 🔧 Use correct duration 2022-06-10 10:29:12 +02:00
Simon Schneegans 6fb56612e2 🔧 Reduce number of implicit calls 2022-06-10 08:24:42 +02:00
Simon Schneegans f44d0ae5b6 🔧 Add new kwin effect 2022-06-10 08:13:35 +02:00
Simon Schneegans 3cbbd63629 📝 Fix typo 2022-06-10 07:34:14 +02:00
Simon Schneegans a182f247cb 🔧 Pass duration to kwin shaders 2022-06-10 07:33:06 +02:00
Simon Schneegans 46a1729e54 🔧 Use uDuration instead of uTime 2022-06-10 07:30:44 +02:00
Simon Schneegans 0bd0fb27b9 🔧 Use new global methods for shader I/O 2022-06-10 07:20:21 +02:00
Simon Schneegans 25f2261ad6 📝 Update tutorial 2022-06-10 07:20:02 +02:00
Ulices af9cdb6459 🌐 Translated using Weblate (Spanish) 2022-06-09 22:54:04 +02:00
Simon Schneegans e9e51adbf4 🔧 Fix shellcheck issues 2022-06-09 14:09:50 +02:00
Simon Schneegans ba9f1c91f5 🔧 Generate JS code for kwin 2022-06-09 14:03:00 +02:00
Simon Schneegans bf3aa0af93 🔧 Use methods shader I/O 2022-06-09 11:34:18 +02:00
Simon Schneegans b8335dd4e6 🔧 Fix function call 2022-06-09 10:59:03 +02:00
Simon Schneegans bbd7d6ea64 🔧 Use consistent class names 2022-06-09 10:46:45 +02:00
Simon Schneegans 03a6d9263a 🔧 Make class name unique 2022-06-09 08:29:04 +02:00
Simon Schneegans 3360b45c18 🔧 Use vec4 for color 2022-06-09 08:28:48 +02:00
Simon Schneegans 67d6df0a70 🔧 Fix incompatibilites with OpenGL 1.0 2022-06-09 08:06:43 +02:00
Simon Schneegans e96b42a3f7 🔧 Support different profiles for kwin 2022-06-09 07:47:12 +02:00
Simon Schneegans 1e665f0db3 🔧 Tweak shader 2022-05-31 05:55:19 +02:00
Simon Schneegans d6e46d951c 🚚 Rename burn effect 2022-05-28 21:05:52 +02:00
Simon Schneegans d114c68422 Merge branch 'main' into feature/incinerate 2022-05-28 20:56:38 +02:00
Simon Schneegans 9a68af1676 🔧 Make ShellCheck happy 2022-05-28 06:01:01 +02:00
Simon Schneegans bf0feae117 🔧 Make ShellCheck happy 2022-05-28 05:57:41 +02:00
Simon Schneegans 74bd7cdef8 🔧 Use generic i/o names 2022-05-28 05:56:04 +02:00
Simon Schneegans c635336a7e 🔧 Append common.glsl to kwin shaders 2022-05-28 05:52:25 +02:00
Simon Schneegans 6807be6f35 Merge branch 'main' into feature/kde 2022-05-27 21:29:45 +02:00
Simon Schneegans 8aafd57b2f 🔀 Merge pull request #161 from Schneegans/feature/simplify-includes 2022-05-27 21:28:40 +02:00
Simon Schneegans b99c80a343 📝 Add changelog entry 2022-05-27 21:23:54 +02:00
Simon Schneegans 6a65d59144 🚚 Rename shader files 2022-05-27 21:21:05 +02:00
Simon Schneegans c90f3a1c97 🚚 Move common includes to one file 2022-05-27 21:18:18 +02:00
Simon Schneegans 18c46f58c2 📝 Add some comments 2022-05-27 21:06:44 +02:00
albanobattistella 75d5b6ddd5 🌐 Translated using Weblate (Italian) 2022-05-27 20:23:57 +02:00
Simon Schneegans 411a87d7fc 🔧 Ignore kwin build directory 2022-05-27 20:16:24 +02:00
Simon Schneegans c92f3b5574 🎉 Add some initial kwin files 2022-05-27 20:16:09 +02:00
Heimen Stoffels eb2fb8b523 🌐 Translated using Weblate (Dutch) 2022-05-26 21:18:11 +02:00
Hosted Weblate de056a56df 🌐 Update translation files 2022-05-26 21:18:11 +02:00
Simon Schneegans fb38d883c9 🔀 Merge pull request #158 from Schneegans/feature/disable-on-battery 2022-05-25 16:59:06 +02:00
Simon Schneegans ee10cdf9ad 🔧 Update test references 2022-05-25 13:26:14 +02:00
Simon Schneegans 96a7b91706 📝 Add changelog entry 2022-05-25 13:00:59 +02:00
Simon Schneegans 10deeb584f 🌐 Update translation template 2022-05-25 12:59:37 +02:00
Simon Schneegans b215379dac 🎉 Add option to disable effects if on battery power 2022-05-25 12:59:03 +02:00
Paweł Rzońca 8dc73ff9f6 🌐 Translated using Weblate (Polish) 2022-05-25 05:35:53 +02:00
Jose Riha 630149d571 🌐 Translated using Weblate (Slovak) 2022-05-23 11:52:01 +02:00
Eshagh Shahedany 8a669cda3b 🌐 Translated using Weblate (Persian) 2022-05-23 11:52:01 +02:00
Seong-ho Cho f58aa95859 🌐 Translated using Weblate (Korean) 2022-05-23 11:52:01 +02:00
Jose Riha aa7aad7910 🌐 Translated using Weblate (Czech) 2022-05-23 11:52:01 +02:00
Paweł Rzońca b3229e9b6e 🌐 Added translation using Weblate (Polish) 2022-05-23 11:52:01 +02:00
Simon Schneegans c4aa0cd92a 📝 Fix tutorial 2022-05-23 06:03:25 +02:00
Jose Riha e90e64656d 🌐 Added translation using Weblate (Slovak) 2022-05-23 06:00:04 +02:00
Eshagh Shahedany 29a811884b 🌐 Added translation using Weblate (Persian) 2022-05-23 06:00:04 +02:00
Simon Schneegans a89f16c767 🎉 Bump version number 2022-05-21 13:12:32 +02:00
Simon Schneegans 9ed471a1c6 📝 Set release date
Deploy / Extension Bundle (push) Has been cancelled
2022-05-21 13:10:39 +02:00
Simon Schneegans badd1fd2c3 📝 Add changelog entry 2022-05-21 13:08:40 +02:00
Simon Schneegans 2f4d9ade01 💞 Update credits 2022-05-21 12:40:40 +02:00
Seong-ho Cho 2d386e3620 🌐 Translated using Weblate (Korean) 2022-05-21 12:37:51 +02:00
Simon Schneegans b7306b9feb 📝 Tweak changelog 2022-05-21 11:30:15 +02:00
Simon Schneegans 020fbc9332 🔧 Make sure to reset progress uniforms before drawing 2022-05-21 11:29:24 +02:00
Simon Schneegans 48aa96312f 🎉 Add initial incinerate effect 2022-05-21 11:08:24 +02:00
Seong-ho Cho 20b9086464 🌐 Added translation using Weblate (Korean) 2022-05-20 20:11:13 +02:00
Simon Schneegans 703f990f7f ♻️ Remove redundant class names 2022-05-19 08:21:20 +02:00
fawaz006 8d8779130c 🌐 Translated using Weblate (Arabic) 2022-05-19 08:11:39 +02:00
fawaz006 83658510af 🌐 Added translation using Weblate (Arabic) 2022-05-19 08:11:39 +02:00
Simon Schneegans 76aa003d99 🔀 Merge pull request #149 from Schneegans/fix/#63 2022-05-16 07:50:16 +02:00
Simon Schneegans 1a14b8bd56 📝 Add changelog entry 2022-05-16 07:41:05 +02:00
Simon Schneegans de190b4fd9 🔧 Pass window padding to the shaders 2022-05-16 07:38:09 +02:00
Simon Schneegans 812fa6612a 🔀 Merge pull request #148 from Schneegans/refactor/base-classes 2022-05-16 05:30:07 +02:00
Simon Schneegans 18a43390b6 🔧 Temporarily disable X11 tests 2022-05-15 21:29:26 +02:00
Simon Schneegans 6af87f727d 🔧 PAss all arguments of vfunc 2022-05-15 21:23:30 +02:00
Simon Schneegans 8dbfa5fdb1 🔧 Add debug output 2022-05-15 21:12:28 +02:00
Simon Schneegans e0d9ed5677 🔧 Try tweaking test timings 2022-05-15 20:58:40 +02:00
Simon Schneegans 6e65f29bb3 🔧 Update test references 2022-05-15 14:17:34 +02:00
Simon Schneegans eb597cffbe 🔧 Fix test time 2022-05-15 14:17:25 +02:00
Simon Schneegans be88a682b9 🔧 Update test references 2022-05-15 13:31:42 +02:00
Simon Schneegans fa09a1f40a 🔧 Try fix CI 2022-05-15 12:55:30 +02:00
Simon Schneegans 1262089e82 📝 Update tutorial 2022-05-14 21:09:19 +02:00
Simon Schneegans 0da73cf675 ✨ Format code 2022-05-14 20:53:25 +02:00
Simon Schneegans a228dc7b2e 🔥 Remove obsolete class 2022-05-14 20:51:09 +02:00
Simon Schneegans e6a6a0d831 🔧 Update test references 2022-05-14 20:48:45 +02:00
Simon Schneegans 0fb05c66eb 🔧 Remove paint-target signal 2022-05-14 20:48:34 +02:00
Simon Schneegans e1017b7707 🔧 Use factory to create shaders 2022-05-14 13:58:28 +02:00
Simon Schneegans cb4b87811e ♻️ Add base classes for the effects and shaders 2022-05-13 20:39:45 +02:00
Simon Schneegans 1ccc34f766 🔀 Merge pull request #146 from Schneegans/refactor/shader-resources
Move shader code to GLSL files
2022-05-13 09:49:59 +02:00
Simon Schneegans 1fe20971f8 🔧 Replace replaceAll() by replace() 2022-05-13 09:36:24 +02:00
Simon Schneegans 7ee6e2c58c 🪲 Fix regex 2022-05-13 09:24:47 +02:00
Simon Schneegans 7b8d6e18b2 ♻️ Use a single GLSL files for each effect 2022-05-13 09:17:26 +02:00
Simon Schneegans 84d5ad9caf 🔀 Merge branch 'main' into refactor/shader-resources 2022-05-13 08:38:14 +02:00
Simon Schneegans 46cc997e2a 🚚 Move shader code to GLSL files 2022-05-13 08:27:09 +02:00
Simon Schneegans 829cc49e3c 🔀 Merge pull request #145 from Schneegans/refactor/transition-tweaking 2022-05-13 05:45:41 +02:00
Simon Schneegans a134449706 🔧 Update test references 2022-05-13 05:40:36 +02:00
Simon Schneegans 5b89db0c4b 📝 Add changelog entry 2022-05-12 21:14:25 +02:00
Simon Schneegans 351838b121 🔧 Update test references 2022-05-12 21:12:25 +02:00
Simon Schneegans f59d354729 🔧 Use clutter version of easing 2022-05-12 21:07:23 +02:00
Simon Schneegans 9d7d912261 ♻️ Simplify transition tweaking 2022-05-12 05:48:14 +02:00
obslsessed 77d5de7b8e 🌐 Translated using Weblate (Swedish) 2022-05-11 20:23:49 +02:00
Kristoffer Grundström 2238a744f3 🌐 Translated using Weblate (Swedish) 2022-05-11 20:23:49 +02:00
Muha Aliss 539fd59e9b 🌐 Translated using Weblate (Turkish) 2022-05-11 20:23:49 +02:00
Simon Schneegans a42e2736db 🔀 Merge pull request #143 from Schneegans/feature/refactor-common-uniforms 2022-05-11 05:51:17 +02:00
Simon Schneegans 2eca2c7374 🚚 Move uForOpening to standard uniforms 2022-05-11 05:44:36 +02:00
Simon Schneegans 2bd897fe0e 📝 Update tutorial 2022-05-11 05:33:37 +02:00
Simon Schneegans 1347fc4d11 🔧 Use vec2 for size uniform 2022-05-11 05:33:25 +02:00
Simon Schneegans afaeebd0ab 🔀 Merge pull request #139 from Schneegans/feature/reuse-shaders 2022-05-11 05:30:36 +02:00
Simon Schneegans 7e33e1ce4a 🔧 Update test reference files 2022-05-11 05:26:07 +02:00
Simon Schneegans 2f1c38afc2 🔧 Update test reference files 2022-05-11 05:19:14 +02:00
Simon Schneegans 295aa1e362 📝 Add changelog entry 2022-05-11 05:07:18 +02:00
Simon Schneegans d224d14db1 🔧 Convert window texture alpha from premultiplied to straight 2022-05-11 04:59:58 +02:00
Simon Schneegans 478ba77288 📝 Update tutorial 2022-05-11 04:57:19 +02:00
Simon Schneegans 3175c289b5 🔧 Remove old shader if a new one is to be applied 2022-05-11 04:57:07 +02:00
Simon Schneegans 78679ef139 🔧 Fix straight alpha 2022-05-08 20:49:29 +02:00
Simon Schneegans fa8e3a17c1 🔧 Add compositing snippet 2022-05-08 14:15:54 +02:00
Simon Schneegans 88a56998d6 🔧 Fix straight alpha 2022-05-08 14:15:43 +02:00
Simon Schneegans 6555a8f02c 🔧 Fix straight alpha 2022-05-08 13:56:21 +02:00
Simon Schneegans a28e406da4 🔧 Fix straight alpha 2022-05-08 13:52:16 +02:00
Simon Schneegans 317eaa2969 🔧 Fix memory leaks of more effects 2022-05-08 13:09:02 +02:00
Simon Schneegans 61bea04018 🔧 Fix memory leaks of more effects 2022-05-08 12:31:20 +02:00
Simon Schneegans 6ebc975a20 📝 Add changelog entry 2022-05-07 21:09:19 +02:00
Simon Schneegans 9f8f2afead 🪲 Fix close-animation of windows which were opened before the session was started 2022-05-07 21:07:50 +02:00
Simon Schneegans 472317612c ♻️ Rename some variables 2022-05-07 20:52:07 +02:00
Simon Schneegans e9b82d0b78 🔧 Prevent non-fatal error message 2022-05-07 20:45:20 +02:00
Simon Schneegans 07929e1775 🔧 Use float for window size uniforms 2022-05-07 12:35:52 +02:00
Simon Schneegans e20bcd46d7 🔧 Use an array of effect instances 2022-05-05 21:17:03 +02:00
Simon Schneegans 3b0be6236c ♻️ Make it possible to reuse the hexagon shader 2022-05-04 21:32:21 +02:00
Simon Schneegans 27d2a43c99 ♻️ Make it possible to reuse the fire shader 2022-05-04 21:10:04 +02:00
matb 06aa705f43 🌐 Translated using Weblate (French) 2022-05-02 15:44:54 +02:00
Simon Schneegans fa9941ce5b 🔧 Set uniforms only once 2022-05-01 13:25:37 +02:00
Simon Schneegans c0b1115b23 💞 Add new sponsor 2022-04-29 20:02:25 +02:00
Muha Aliss 2ba7b181da 🌐 Translated using Weblate (Turkish) 2022-04-23 12:57:06 +02:00
matb e2e3425720 🌐 Translated using Weblate (French) 2022-04-23 12:57:06 +02:00
Simon Schneegans b7d72d35ed 🔧 Use tagged version of dynamic-badges-action 2022-04-18 14:00:34 +02:00
Simon Schneegans 256e6db158 🔧 Use new color range feature of dynamic-badges-action 2022-04-18 13:41:28 +02:00
albanobattistella e0aebca055 🌐 Translated using Weblate (Italian) 2022-04-16 13:15:32 +02:00
Егор Ермаков cde4e73645 🌐 Translated using Weblate (Russian) 2022-04-16 13:15:32 +02:00
Simon Schneegans 83b583dd13 📝 Update links in source code 2022-04-16 13:14:40 +02:00
Simon Schneegans c459d06f53 💞 Update sponsors 2022-04-13 21:17:10 +02:00
Kristoffer Grundström c49615a504 🌐 Translated using Weblate (Swedish) 2022-04-11 20:48:04 +02:00
Allan Nordhøy 6605fd0cae 🌐 Translated using Weblate (Norwegian Bokmål) 2022-04-11 20:48:04 +02:00
Kristoffer Grundström 6bf5970b90 🌐 Added translation using Weblate (Swedish) 2022-04-10 07:11:21 +02:00
Simon Schneegans 57e8e0384b 📝 Fix typo 2022-04-09 13:48:40 +02:00
Simon Schneegans c82f5dabd8 📝 Add changelog entry 2022-04-09 13:15:39 +02:00
Simon Schneegans 7cecc9e160 🪲 Ceck for presence of libadwaita 2022-04-09 13:13:39 +02:00
Jiri Grönroos 9b2e57cba0 🌐 Translated using Weblate (Finnish) 2022-04-09 12:54:07 +02:00
merelymyself 2dac407959 🌐 Translated using Weblate (Chinese (Simplified)) 2022-04-09 12:54:07 +02:00
Óscar Fernández Díaz 9c1139b3af 🌐 Translated using Weblate (Spanish) 2022-04-09 12:54:07 +02:00
Théo Remon ab990b1a05 🌐 Translated using Weblate (French) 2022-04-09 12:54:07 +02:00
Nathan d0f624ab5f 🌐 Translated using Weblate (French) 2022-04-09 12:54:07 +02:00
Andres Segarra b2a4aec1c3 🌐 Translated using Weblate (Spanish) 2022-04-06 20:09:12 +02:00
Jiri Grönroos 999b6800a9 🌐 Added translation using Weblate (Finnish) 2022-04-06 13:13:37 +02:00
Simon Schneegans 77505c5aa9 🎉 Bump version number 2022-04-06 07:40:42 +02:00
Simon Schneegans 1a1e952804 📝 Set release date
Deploy / Extension Bundle (push) Has been cancelled
2022-04-06 07:30:45 +02:00
Heimen Stoffels de5ddc8622 🌐 Translated using Weblate (Dutch) 2022-04-05 21:40:11 +02:00
Simon Schneegans 08ffdef229 🌐 Translated using Weblate (German) 2022-04-05 21:40:11 +02:00
Hosted Weblate d7e56483c0 🌐 Update translation files 2022-04-05 21:40:11 +02:00
Simon Schneegans 6a2f72f406 🔧 Update test references 2022-04-05 20:55:36 +02:00
Simon Schneegans 9809d7b0d6 🔧 Update test reference files 2022-04-05 19:46:00 +02:00
Simon Schneegans 359f61e1f4 🌐 Update translation template 2022-04-05 19:45:23 +02:00
Simon Schneegans 74a3cc281d 📝 Add hexagon effect to README 2022-04-05 19:45:07 +02:00
Simon Schneegans 26ac1dce6c 📝 Add changelog entry 2022-04-05 19:44:52 +02:00
Simon Schneegans 82be8aa32f 🎉 Add hexagon effect 2022-04-05 19:44:39 +02:00
Simon Schneegans bebe7d95b0 🔧 Support alpha values for snap color 2022-04-05 19:44:02 +02:00
Simon Schneegans 1b3d76d35e 📝 Add Snap of Disintegration to README.md 2022-04-03 13:18:26 +02:00
Simon Schneegans 2282f44dfa 🔧 Update reference images 2022-04-03 13:10:17 +02:00
Simon Schneegans dc849112b8 🔧 Improve optics of Snap of Disintegration 2022-04-03 13:06:09 +02:00
Simon Schneegans b6a419a0d7 🔧 Tweak Apparition defaults 2022-04-02 13:52:19 +02:00
Simon Schneegans e802f41d44 🔧 Apparition is not available on GNOME 3.36 2022-04-02 13:49:07 +02:00
Simon Schneegans b29598643d 📝 Add Apparition to README 2022-04-02 13:48:41 +02:00
Егор Ермаков eb4b6d72e3 🌐 Translated using Weblate (Russian) 2022-04-01 21:24:16 +02:00
Simon Schneegans d38e6b6e7a 🔧 Update reference images 2022-04-01 21:18:56 +02:00
Simon Schneegans ba52acebc9 📝 Update gif creation note 2022-04-01 21:17:04 +02:00
Simon Schneegans b6a3e5d941 🎉 Add Apparition effect 2022-04-01 21:10:02 +02:00
Simon Schneegans f11d36d295 📝 Add changelog entry 2022-03-31 21:40:17 +02:00
Simon Schneegans cf1721bae1 🔀 Merge pull request #121 from Schneegans/feature/thanos 2022-03-31 21:39:06 +02:00
Simon Schneegans 0603540315 🔧 Update references 2022-03-31 21:33:48 +02:00
Simon Schneegans 4de12d426c 🔧 Obey test mode 2022-03-31 21:25:32 +02:00
Simon Schneegans c8cf476501 🪲 Fix animation time settings for TV effect 2022-03-31 21:08:12 +02:00
Simon Schneegans a7aef913fc 📝 Add changelog entry 2022-03-31 21:07:42 +02:00
Simon Schneegans 7d0a75cd59 🪲 Fix shatter-from-pointer-when-openeing-windows 2022-03-31 21:07:33 +02:00
Simon Schneegans a166072168 🔧 Finalize Thanos effect 2022-03-31 21:04:01 +02:00
Simon Schneegans 47f8222349 Merge branch 'main' into feature/thanos 2022-03-31 08:35:07 +02:00
Simon Schneegans 4942418120 🎉 Bump version number 2022-03-29 20:29:32 +02:00
ANIGO R. (AR) a0d087be33 🌐 Translated using Weblate (Russian)
Deploy / Extension Bundle (push) Has been cancelled
2022-03-29 20:28:04 +02:00
ANIGO R. (AR) dd80db09e9 🌐 Added translation using Weblate (Russian) 2022-03-29 20:28:04 +02:00
Simon Schneegans 653d680347 💞 Update credits 2022-03-29 20:26:41 +02:00
Simon Schneegans ee584ab15e 📝 Add changelog entry 2022-03-29 20:26:25 +02:00
Simon Schneegans 82e2738f33 💞 Add new sponsor 2022-03-29 17:02:49 +02:00
Simon Schneegans 45d52842cf 📝 Add changelog entries 2022-03-29 11:57:28 +02:00
Simon Schneegans f738f648d8 🔧 Resolve #115 2022-03-29 11:54:39 +02:00
Simon Schneegans 0cf53c5a5d 🪲 Fix #118 (again) 2022-03-29 11:53:54 +02:00
Simon Schneegans 6f5bcc6681 🎉 Bump version number 2022-03-27 13:49:39 +02:00
Simon Schneegans 1a84ad337d 🔥 Undo commit
Deploy / Extension Bundle (push) Has been cancelled
2022-03-27 13:48:08 +02:00
Simon Schneegans 6a003f8bfb 📝 Add changelog entry 2022-03-27 13:45:07 +02:00
Simon Schneegans adc906006b 💞 Update credits 2022-03-27 13:44:17 +02:00
Simon Schneegans 9b46b9b009 📝 Set release date 2022-03-27 13:38:08 +02:00
Simon Schneegans d24dc6030d 📝 Add changelog entry 2022-03-27 13:23:23 +02:00
Simon Schneegans 26e4a32fe4 🪲 Fix version check 2022-03-27 13:23:12 +02:00
Simon Schneegans 376a3899e9 🔥 Remove liberapay donation option 2022-03-27 07:32:46 +02:00
Simon Schneegans 486f6b4c74 🔧 Use new version of dynamic badges action 2022-03-27 06:56:10 +02:00
Muha Aliss c43579974d 🌐 Translated using Weblate (Turkish) 2022-03-21 07:25:53 +01:00
Muha Aliss fbd02bb22c 🌐 Added translation using Weblate (Turkish) 2022-03-21 07:25:53 +01:00
Adolfo Jayme Barrientos beddd689c7 🌐 Translated using Weblate (Spanish) 2022-03-16 10:54:50 +01:00
Simon Schneegans 77310f9e65 ✨ Tweak clang-format style 2022-03-04 20:39:12 +01:00
刘韬 28c1cb6d72 🌐 Translated using Weblate (Chinese (Simplified)) 2022-03-04 05:04:22 +01:00
刘韬 9bdcea1dea 🌐 Translated using Weblate (Chinese (Simplified)) 2022-03-04 05:04:22 +01:00
刘韬 5e737ffd3a 🌐 Added translation using Weblate (Chinese (Simplified)) 2022-03-04 05:04:22 +01:00
Simon Schneegans 474f6cff25 🔀 Merge pull request #113 from Schneegans/feature/advanced-ci 2022-03-04 04:53:36 +01:00
Simon Schneegans 35c91cf925 🔧 Fix shellcheck issue [run-ci] 2022-03-03 21:31:51 +01:00
Simon Schneegans 0facae304b 🔧 Use imagemagick for comparisons [run-ci] 2022-03-03 21:25:47 +01:00
Simon Schneegans 31fa0f54bd 📝 Fix comment 2022-03-03 21:25:25 +01:00
Simon Schneegans 6c2f9d1553 🎉 Add reference generator script [run-ci] 2022-03-03 20:20:57 +01:00
Simon Schneegans 81a0e18c79 🔧 Tweak fuzzyness 2022-03-03 20:20:38 +01:00
Simon Schneegans 3caf2a176d 🎉 Add advanced CI tests [run-ci] 2022-03-03 20:01:37 +01:00
Simon Schneegans b48b6bb39b 📝 Add changelog entry 2022-03-03 20:00:36 +01:00
Simon Schneegans 69aadfd643 🎉 Add test mode 2022-03-03 20:00:24 +01:00
Simon Schneegans 59c01999b2 🔧 Update action version 2022-03-01 20:45:55 +01:00
Simon Schneegans c431437c34 🔧 Use more generic makefile 2022-03-01 16:05:09 +01:00
Simon Schneegans 312be215a0 🎉 Run tests on GNOME 42 as well 2022-02-28 21:21:33 +01:00
albanobattistella e1fcfb5d25 🌐 Translated using Weblate (Italian) 2022-02-28 20:04:14 +01:00
Simon Schneegans 4410aeac3b 📝 Add video teaser 2022-02-27 21:31:17 +01:00
Simon Schneegans f77aeded5e 🎨 Add teaser image 2022-02-27 21:30:55 +01:00
Heimen Stoffels 1d0dd3e8da 🌐 Translated using Weblate (Dutch) 2022-02-23 07:44:05 +01:00
Ulices cc916886c5 🌐 Translated using Weblate (Spanish) 2022-02-23 07:44:05 +01:00
albanobattistella 41648f2496 🌐 Translated using Weblate (Italian) 2022-02-23 07:44:05 +01:00
Nathan 8b79995723 🌐 Translated using Weblate (French) 2022-02-23 07:44:05 +01:00
Simon Schneegans f35cda20a8 📝 Set release date 2022-02-19 13:20:16 +01:00
Simon Schneegans 73c237aaa4 🎉 Bump version number 2022-02-19 13:19:40 +01:00
Simon Schneegans 2cc1c9655e 💞 Update credits
Deploy / Extension Bundle (push) Has been cancelled
2022-02-19 12:58:51 +01:00
Simon Schneegans e47c85e365 🌐 Translated using Weblate (German) 2022-02-18 20:40:36 +01:00
Hosted Weblate b8a0a158d8 🌐 Update translation files 2022-02-18 20:40:36 +01:00
Simon Schneegans 29ea1de206 🌐 Update translation template 2022-02-18 20:34:38 +01:00
Simon Schneegans 2637390557 📝 Add changelog entry 2022-02-18 20:32:48 +01:00
Simon Schneegans 9b513f7e2b 🔀 Merge pull request #104 from Schneegans/feature/gnome-42
GNOME Shell 42
2022-02-18 20:31:17 +01:00
Simon Schneegans 97fe06a98f 📝 Add changelog entry 2022-02-18 20:23:25 +01:00
Simon Schneegans 1a3568e80d 💄 Fix margin 2022-02-18 20:21:10 +01:00
Simon Schneegans 62363d7bd9 Merge branch 'main' into feature/gnome-42 2022-02-18 20:18:10 +01:00
Simon Schneegans ecdb6d605f 🔧 Add liberapay link 2022-02-18 20:17:51 +01:00
Simon Schneegans 41fcaf04ff 🔧 Use libadwaita for the settings dialog 2022-02-18 17:43:40 +01:00
Simon Schneegans 0886007e98 🔧 Support alpha and beta versions in version check 2022-02-18 17:24:10 +01:00
Simon Schneegans 4a82e7f580 🔧 Add liberapay funding method 2022-02-17 13:58:33 +01:00
Mario 78d30e82c6 🌐 Translated using Weblate (Italian) 2022-02-14 13:05:55 +01:00
Simon Schneegans 664bd3b5dc 💞 Add new sponsor 2022-02-14 13:02:38 +01:00
Ulices 737e88a23b 🌐 Translated using Weblate (Spanish) 2022-02-09 20:03:30 +01:00
Heimen Stoffels 6d10c6f031 🌐 Translated using Weblate (Dutch) 2022-02-05 13:55:25 +01:00
albanobattistella 1fb5e8584a 🌐 Translated using Weblate (Italian) 2022-02-05 13:55:25 +01:00
Reda 563d72531e 🌐 Translated using Weblate (French) 2022-02-05 13:55:25 +01:00
Simon Schneegans 39baed1b29 💞 Add new sponsor 2022-02-04 20:42:02 +01:00
Simon Schneegans 318558240c 🔀 Merge pull request #96 from shemgp/patch-1 2022-02-04 14:09:46 +01:00
Shem Pasamba bda68175a0 Add version 42 since it works there 2022-02-04 13:55:35 +08:00
Simon Schneegans 3a37aa3dce 🎉 Bump version number 2022-02-03 13:20:36 +01:00
Simon Schneegans ef2bef9f87 📝 Set release date
Deploy / Extension Bundle (push) Has been cancelled
2022-02-03 13:16:38 +01:00
Simon Schneegans c99ea6617e 🌐 Translated using Weblate (German) 2022-02-03 13:14:27 +01:00
Hosted Weblate c7c4f18af6 🌐 Update translation files 2022-02-03 13:14:27 +01:00
Simon Schneegans ff1490f8c6 🌐 Update translation template 2022-02-03 13:11:47 +01:00
Simon Schneegans 0be73d8b2f 💄 Remove tagline 2022-02-03 13:11:36 +01:00
Simon Schneegans 9266655493 🔀 Merge pull request #94 from Schneegans/feature/better-templates 2022-02-03 13:06:12 +01:00
Simon Schneegans 513bbd8b85 📝 Add changelog entry 2022-02-03 12:56:23 +01:00
Simon Schneegans 6c891a60e7 📝 Add new-effect template 2022-02-03 12:56:12 +01:00
Simon Schneegans 2115c31359 📝 Improve feature request template 2022-02-03 12:46:02 +01:00
Simon Schneegans 855f8870e3 📝 Improve bug report template 2022-02-03 12:42:08 +01:00
Ulices 16d7e3c195 🌐 Translated using Weblate (Spanish) 2022-02-03 09:56:29 +01:00
Heimen Stoffels 5133f82041 🌐 Translated using Weblate (Dutch) 2022-02-03 09:56:29 +01:00
Jiří Doubravský 91a60e9813 🌐 Translated using Weblate (Czech) 2022-02-03 09:56:29 +01:00
Óscar Fernández Díaz 511e447f24 🌐 Translated using Weblate (Spanish) 2022-02-03 09:56:29 +01:00
albanobattistella 31e8cf9405 🌐 Translated using Weblate (Italian) 2022-02-03 09:56:29 +01:00
Reda 0fd8832b36 🌐 Translated using Weblate (French) 2022-02-03 09:56:29 +01:00
Simon Schneegans f111a6c3bb 💞 Add new sponsor 2022-02-02 15:53:51 +01:00
Simon Schneegans eb1d8f6ac6 📝 Add changelog entry 2022-02-02 14:43:47 +01:00
Simon Schneegans d05635b9c2 Merge branch 'main' of github.com:Schneegans/Burn-My-Windows 2022-02-02 14:42:57 +01:00
Simon Schneegans dad19c5505 🔀 Merge pull request #87 from Schneegans/fix/#86 2022-02-02 14:42:36 +01:00
Simon Schneegans 5406c88a7b 🔧 Add about dialog 2022-02-02 14:40:38 +01:00
Simon Schneegans 39f79507ac 🔧 Tweak tagline 2022-02-02 14:39:08 +01:00
Simon Schneegans 78ff080dce 💞 Add credits files 2022-02-02 14:38:54 +01:00
Simon Schneegans 6d85ce893b 📝 Add changelog entry 2022-02-02 13:13:29 +01:00
Simon Schneegans f9b82c6086 🪲 Try fixing #86 2022-02-02 13:13:16 +01:00
Heimen Stoffels 432a0a7998 🌐 Added translation using Weblate (Dutch) 2022-02-02 13:08:23 +01:00
Simon Schneegans e22eb79ccd 📝 Add trailer link 2022-02-01 16:06:41 +01:00
Jiří Doubravský d92183eff4 🌐 Added translation using Weblate (Czech) 2022-02-01 15:58:36 +01:00
Nathan 92fe4d0179 🌐 Translated using Weblate (French) 2022-02-01 15:58:36 +01:00
Reda 6e1a643e22 🌐 Translated using Weblate (French) 2022-02-01 15:58:36 +01:00
Óscar Fernández Díaz 207d79c66c 🌐 Added translation using Weblate (Spanish) 2022-02-01 15:58:36 +01:00
Théo Remon 88c9dacb31 🌐 Translated using Weblate (French) 2022-02-01 15:58:36 +01:00
Nathan a9493a6765 🌐 Translated using Weblate (French) 2022-02-01 15:58:36 +01:00
Théo Remon fdea3cd148 🌐 Translated using Weblate (French) 2022-02-01 15:58:36 +01:00
Nathan 79851e9eca 🌐 Translated using Weblate (French) 2022-02-01 15:58:36 +01:00
Théo Remon c993e02447 🌐 Translated using Weblate (French) 2022-02-01 15:58:36 +01:00
Simon Schneegans ee12f50d85 🎉 Bump version number 2022-01-31 05:59:55 +01:00
Simon Schneegans 784e2f3d9e 📝 Tweak changelog
Deploy / Extension Bundle (push) Has been cancelled
2022-01-31 05:58:04 +01:00
Simon Schneegans 1128370b83 Merge branch 'main' of github.com:Schneegans/Burn-My-Windows 2022-01-31 05:56:26 +01:00
Simon Schneegans 289bf81046 📝 Set release date 2022-01-31 05:56:21 +01:00
albanobattistella 11030d4552 🌐 Translated using Weblate (Italian) 2022-01-31 05:49:22 +01:00
albanobattistella 013d2fbcdf 🌐 Added translation using Weblate (Italian) 2022-01-31 05:41:48 +01:00
Simon Schneegans 98724af986 📝 Rephrase some changelog entries 2022-01-30 05:43:20 +01:00
Simon Schneegans bd05a3c6b6 📝 Update guide 2022-01-30 05:40:14 +01:00
Allan Nordhøy 28916e4901 🌐 Translated using Weblate (Norwegian Bokmål) 2022-01-30 05:21:32 +01:00
Allan Nordhøy 3ad2ddd516 🌐 Added translation using Weblate (Norwegian Bokmål) 2022-01-30 05:21:32 +01:00
Simon Schneegans 3f41dd0f94 🎉 Add advanced CI tests 2022-01-29 13:52:27 +01:00
Simon Schneegans fa6c7b566a 🔧 Attempt to fix occasionally corrupted windows 2022-01-29 13:30:34 +01:00
Simon Schneegans 531dfdb162 📝 Fix typo 2022-01-29 06:07:31 +01:00
Simon Schneegans 571af02170 📝 Show loc badges in README 2022-01-29 06:05:08 +01:00
Simon Schneegans 4aaf6a1823 Merge branch 'main' of github.com:Schneegans/Burn-My-Windows 2022-01-29 05:59:44 +01:00
Simon Schneegans 086f17f8b6 🎉 Add badges workflow 2022-01-29 05:59:39 +01:00
Simon Schneegans 7d1e175f54 🌐 Translated using Weblate (German) 2022-01-29 05:43:59 +01:00
Hosted Weblate 321df91031 🌐 Update translation files 2022-01-29 05:43:59 +01:00
Simon Schneegans e9e34c4984 🌐 Update translation template 2022-01-29 05:41:11 +01:00
Simon Schneegans d627048146 Merge branch 'feature/locales' 2022-01-29 05:40:35 +01:00
Simon Schneegans e56a56d11c 🔧 Add translation link to menu 2022-01-29 05:40:07 +01:00
Simon Schneegans 5a858b3270 🔀 Merge pull request #76 from Schneegans/feature/locales 2022-01-29 05:32:28 +01:00
Simon Schneegans 58a97d03a3 📝 Add some README links 2022-01-29 05:30:16 +01:00
Simon Schneegans 87b6fb7bd2 📝 Add changelog entry 2022-01-29 05:28:32 +01:00
Simon Schneegans 47580a5935 📝 Add weblate badge 2022-01-29 05:27:21 +01:00
Simon Schneegans 50c86229c0 🪲 Fix CI 2022-01-29 05:23:43 +01:00
Simon Schneegans 805680b4e5 🌐 Translated using Weblate (German) 2022-01-28 21:28:37 +01:00
Hosted Weblate 4e0c7a312d 🌐 Update translation files 2022-01-28 21:28:37 +01:00
Simon Schneegans c3949f961d 🌐 Update translation template 2022-01-28 21:26:24 +01:00
Simon Schneegans 3b164d5128 🔧 Make more strings translatable 2022-01-28 21:26:13 +01:00
Simon Schneegans 27305238df 🌐 Translated using Weblate (German) 2022-01-28 21:20:06 +01:00
Hosted Weblate 3894e4c97a 🌐 Update translation files 2022-01-28 21:20:06 +01:00
Hosted Weblate 0c4ed02e26 🌐 Update translation files 2022-01-28 21:20:06 +01:00
Simon Schneegans 95d7e4932b 🌐 Update translation template 2022-01-28 20:54:56 +01:00
Simon Schneegans 1dadccd9b5 🔧 Make fire preset names translatable 2022-01-28 20:54:36 +01:00
Simon Schneegans 57960ef0c8 🌐 Update translation template 2022-01-28 20:41:07 +01:00
Simon Schneegans fea441000d 🔧 MAke effect names translatable 2022-01-28 20:40:46 +01:00
Simon Schneegans 65969ce7a6 🔧 Add translation domains 2022-01-28 20:29:38 +01:00
Simon Schneegans e92ab9fe18 💄 Improve appearance of preview window 2022-01-28 20:26:28 +01:00
Simon Schneegans b92c4613c1 🌐 Translated using Weblate (German) 2022-01-28 20:11:11 +01:00
Hosted Weblate 59cf2f89ca 🌐 Update translation files 2022-01-28 20:11:11 +01:00
Hosted Weblate 58244cfbb4 🌐 Update translation files 2022-01-28 20:11:11 +01:00
J. Lavoie 9d324bfff3 🌐 Added translation using Weblate (French) 2022-01-28 20:11:11 +01:00
Simon Schneegans 357c506370 🔧 Add another translatable string 2022-01-28 20:09:19 +01:00
Simon Schneegans b95fbac409 🌐 Translated using Weblate (German) 2022-01-28 15:08:05 +01:00
Simon Schneegans a3fa8254f7 🌐 Added translation using Weblate (German) 2022-01-28 15:08:05 +01:00
Simon Schneegans f9b6f1ffbc 🔧 Load translations 2022-01-28 15:00:35 +01:00
Simon Schneegans fc902f2a73 🌐 Update translation template 2022-01-28 15:00:22 +01:00
Simon Schneegans 1692be778c 🌐 Add initial translation template 2022-01-28 14:35:23 +01:00
Simon Schneegans d014ec2841 🔧 Compile locales 2022-01-28 14:35:04 +01:00
Simon Schneegans 6ff16dc693 🔀 Merge pull request #71 from Schneegans/feature/fixes 2022-01-28 14:05:45 +01:00
Simon Schneegans c41bef6413 🪲 Fix occasional empty window 2022-01-28 14:04:40 +01:00
Simon Schneegans bcb7619d37 🔧 Disconnect from transitions-completed 2022-01-28 07:54:20 +01:00
Simon Schneegans f87a0a649b 🔧 Use opacity transition for uProgress 2022-01-28 07:50:10 +01:00
Simon Schneegans 51ba0d06ab 📝 Improve comments 2022-01-28 07:49:48 +01:00
Simon Schneegans dcaa28c200 🔧 Improve timing of energize b 2022-01-27 21:43:55 +01:00
Simon Schneegans 765cf6d54c 🔧 Improve timing of tv effect 2022-01-27 21:40:58 +01:00
Simon Schneegans 7b7b5cbb46 🔧 Improve timing of trex attack 2022-01-27 21:34:11 +01:00
Simon Schneegans bc2f39fac8 🔧 Improve timing of energize b 2022-01-27 21:33:53 +01:00
Simon Schneegans c9000fcad7 🪲 Fix blending of fire shader 2022-01-27 21:33:33 +01:00
Simon Schneegans 6914771bb5 🔀 Merge pull request #69 from Schneegans/feature/reverse 2022-01-27 21:01:10 +01:00
Simon Schneegans e2d9015490 📝 Add plenty of comments 2022-01-27 20:59:02 +01:00
Simon Schneegans acff1da6c2 🪲 Prevent registering the same type twice 2022-01-27 06:53:30 +01:00
Simon Schneegans 68712fb842 📝 Add changelog entry 2022-01-27 06:16:07 +01:00
Simon Schneegans 5ff2632499 🔧 Reduce default energize b time 2022-01-27 06:09:18 +01:00
Simon Schneegans 1b79cd4aa4 🔧 Remove debug print 2022-01-27 05:53:13 +01:00
Simon Schneegans a8d75de4c9 💄 Only add headerbar on GTK4 2022-01-27 05:52:49 +01:00
Simon Schneegans 38458e4a4c 🪲 Fix some GNOME 3.36 and 3.38 issues 2022-01-27 05:47:59 +01:00
Simon Schneegans c107083cde 🪲 Fix some GNOME 3.36 issues 2022-01-27 05:46:10 +01:00
Simon Schneegans f5e58b100f 🪲 Fix some GNOME 3.36 issues 2022-01-27 05:31:38 +01:00
Simon Schneegans bf95e349da 🪲 Fix some GNOME 3.36 issues 2022-01-27 05:24:32 +01:00
Simon Schneegans f1b764062b 🪲 Fix some GNOME 3.36 issues 2022-01-27 05:21:15 +01:00
Simon Schneegans 6b218d049f 🔨 Initial attempt on window-opening animation 2022-01-27 05:07:30 +01:00
Simon Schneegans b6cb78330d 💄 Add headerbar to preview windows 2022-01-27 05:07:00 +01:00
Simon Schneegans 28754a93c2 🔧 Reduce default animation time of some effects 2022-01-24 20:36:23 +01:00
Simon Schneegans ba79b5b611 🎉 Make it possible to select window open effects 2022-01-24 20:34:50 +01:00
Simon Schneegans 638613a190 🔧 Tweak effect 2022-01-24 11:15:17 +01:00
Simon Schneegans 9b59dd942c 🔧 Tweak alpha blending 2022-01-23 20:56:27 +01:00
Simon Schneegans 20dce532ae 🔧 Port to newest version 2022-01-23 16:47:31 +01:00
Simon Schneegans 8e53dc6117 Merge branch 'main' into feature/thanos 2022-01-23 16:45:05 +01:00
Simon Schneegans 7875060375 🔀 Merge pull request #68 from Schneegans/feature/fix-35 2022-01-23 16:43:25 +01:00
Simon Schneegans 14ba603f22 🎉 Add matrix overshooting option 2022-01-23 16:42:02 +01:00
Simon Schneegans 982a2c76c3 🔀 Merge pull request #67 from Schneegans/feature/preview 2022-01-23 13:49:56 +01:00
Simon Schneegans 799e1e6b24 📝 Add changelog entry 2022-01-23 13:48:30 +01:00
Simon Schneegans 3c046bd2ef 🪲 Fix dialog handling 2022-01-23 13:44:19 +01:00
Simon Schneegans 0f9103d1f0 💄 Tweak preview button 2022-01-23 13:43:51 +01:00
Simon Schneegans 783f5c695d 🔧 GTK3 fixes 2022-01-23 13:19:18 +01:00
Simon Schneegans 8475ae29ba 🔧 Use more robust preview logic 2022-01-23 13:13:55 +01:00
Simon Schneegans 242625ee9f 🎉 Add a preview button to each effect page 2022-01-23 06:44:28 +01:00
Simon Schneegans b2f11f494d 🔧 Add custom gtk style sheet 2022-01-23 06:34:37 +01:00
Simon Schneegans fd5871b924 💄 Add new menu entry 2022-01-23 06:33:39 +01:00
Simon Schneegans a5f7769e58 ♻️ Refactor how preferences pages are set up 2022-01-22 20:24:38 +01:00
Simon Schneegans 4e29c751ed 🎉 Add initial version of a thanos snap 2022-01-22 20:09:56 +01:00
Simon Schneegans 58a8213233 🎨 Add dust texture 2022-01-22 20:09:21 +01:00
Simon Schneegans 55727f7c2b 🔀 Merge pull request #64 from Schneegans/feature/broken-glass 2022-01-22 12:45:03 +01:00
Simon Schneegans 33ac6fa80c 🔧 Use 'unmanged' signal to adjust window clone transitions 2022-01-22 12:38:14 +01:00
Simon Schneegans 07cbe89ffd 💞 Add new sponsor 2022-01-21 21:38:43 +01:00
Simon Schneegans 61fbdcbc49 🪲 Try fix accessing deleted window previews 2022-01-21 21:36:56 +01:00
Simon Schneegans 8bdfb822a1 📝 Add version disclaimer 2022-01-21 21:13:55 +01:00
Simon Schneegans ff97d7292c 📝 Add new effect 2022-01-21 21:09:07 +01:00
Simon Schneegans c998896cc1 🔧 Tweak defaults 2022-01-21 21:00:09 +01:00
Simon Schneegans 98fc36d039 📝 Add changelog entry 2022-01-21 20:57:41 +01:00
Simon Schneegans cf0b268019 💄 Tweak label 2022-01-21 20:55:05 +01:00
Simon Schneegans e2153bece1 🪲 Fix error message 2022-01-21 20:54:53 +01:00
Simon Schneegans c7001de666 📝 Add comments 2022-01-21 20:46:36 +01:00
Simon Schneegans 3985697573 🎉 Add broken glass effect 2022-01-21 20:18:11 +01:00
Simon Schneegans 8f8f4dc7c0 🎉 Allow setting actor transitions in overview 2022-01-21 20:17:24 +01:00
Simon Schneegans 156cefcd1d 🔧 Ignore temporary blender files 2022-01-21 19:29:45 +01:00
Simon Schneegans 0b9c2a252f 🔧 Pass actor to shader creation method 2022-01-21 19:29:26 +01:00
Simon Schneegans 627b1c5bfe 🎨 Add shards texture 2022-01-21 19:27:44 +01:00
Simon Schneegans 4409337cc3 💞 Add new sponsor 2022-01-19 21:02:35 +01:00
Simon Schneegans c91a1203fb 🎉 Bump version number 2022-01-18 20:38:13 +01:00
Simon Schneegans 458731e391 📝 Set release date
Deploy / Extension Bundle (push) Has been cancelled
2022-01-18 20:37:42 +01:00
Simon Schneegans 5c0d6afddc 🔀 Merge pull request #57 from Schneegans/feature/tryfix_54 2022-01-18 20:30:55 +01:00
Simon Schneegans 69bec85d76 📝 Update changelog 2022-01-18 20:20:35 +01:00
Simon Schneegans 3d9b0b7560 🔧 Set animation time even if we do not use it 2022-01-18 20:15:49 +01:00
Simon Schneegans e0f1e13e9c 🔀 Merge pull request #51 from Schneegans/feature/fryfix_49 2022-01-17 21:34:00 +01:00
Simon Schneegans b8db5daa12 🔧 Use try/catch for more robust import 2022-01-17 21:30:54 +01:00
Simon Schneegans c21313dd34 🔧 Do not try to fix #49 on GS 3.36 2022-01-17 21:23:03 +01:00
Simon Schneegans 0c0547f4dd 🪲 Fix crash when clicking the close buttons in the overview twice 2022-01-17 21:11:06 +01:00
Simon Schneegans 6c73574edc 🎉 Bump version number 2022-01-17 17:30:16 +01:00
Simon Schneegans afae41694c 📝 Set release date 2022-01-17 17:30:01 +01:00
Simon Schneegans 70ce055b0c 🔧 GTK3 fixes
Deploy / Extension Bundle (push) Has been cancelled
2022-01-17 17:13:27 +01:00
Simon Schneegans 8fae06ea14 🚚 Rename settings ui files 2022-01-17 16:58:51 +01:00
Simon Schneegans 333b60bf4e 📝 Add note on preview GIFs 2022-01-17 16:47:21 +01:00
Simon Schneegans 07220fa2b9 🔀 Merge pull request #48 from Schneegans/feature/transporter 2022-01-17 16:40:13 +01:00
Simon Schneegans 8714de6269 📝 Add changelog entries 2022-01-17 16:06:01 +01:00
Simon Schneegans 8effb279a6 📝 Add energize effects to the README.md 2022-01-17 15:36:51 +01:00
Simon Schneegans 6b90b944bc 🔧 Tweak energize A effect 2022-01-17 15:36:28 +01:00
Simon Schneegans c01d775289 🔧 Add energize settings 2022-01-17 15:36:08 +01:00
Simon Schneegans 4cc2d4b68f 🔧 Add wisps scale 2022-01-17 15:35:37 +01:00
Simon Schneegans 06e0d5340d 🔧 Add wisps scale 2022-01-17 15:35:21 +01:00
Simon Schneegans 85629bb55e 📝 Fix typo 2022-01-16 19:35:37 +01:00
Simon Schneegans c4a1d7a113 📝 Fix settings descriptions 2022-01-16 19:35:18 +01:00
Simon Schneegans 87b765c60f 🔧 Tweak Energize B effect 2022-01-16 13:47:54 +01:00
Simon Schneegans f363ec4b41 🚚 Use simpler effect class names 2022-01-16 05:48:30 +01:00
Simon Schneegans 382097f7e6 Merge branch 'main' into feature/transporter 2022-01-16 05:47:31 +01:00
Simon Schneegans ee37015d6d 🚚 Use simpler effect class names 2022-01-16 05:46:22 +01:00
Simon Schneegans 5244ac65f3 🚚 Rename transporter effects 2022-01-16 05:37:40 +01:00
Simon Schneegans b873772419 Merge branch 'main' into feature/transporter 2022-01-16 05:32:22 +01:00
Simon Schneegans 5287ac2614 ♻️ Move edge mask to snippets 2022-01-16 05:31:00 +01:00
Simon Schneegans 6b2e67a9ec 🔧 Update shader 2022-01-16 05:14:50 +01:00
Simon Schneegans 5a800c14a7 Merge branch 'main' into feature/transporter 2022-01-16 05:04:42 +01:00
Simon Schneegans bb9f57fe83 📝 Add custom effect image 2022-01-15 21:33:05 +01:00
Simon Schneegans e48da54b82 🔀 Merge pull request #47 from Schneegans/feature/wisps 2022-01-15 21:20:12 +01:00
Simon Schneegans c55b3712a4 🔧 Increase default matrix animation time 2022-01-15 21:18:27 +01:00
Simon Schneegans d2de984354 🔧 Tweak effect 2022-01-15 21:16:24 +01:00
Simon Schneegans 7271141623 📝 Add new effect 2022-01-15 20:47:06 +01:00
Simon Schneegans e273b309f1 🔧 Tweak effect 2022-01-15 20:46:50 +01:00
Simon Schneegans d75a3a0881 🔧 Tweak wisps effect 2022-01-15 14:15:32 +01:00
Simon Schneegans 4349a3246a 🎉 Add wisps effect 2022-01-15 14:06:43 +01:00
Simon Schneegans b6fc32ee0d 🔧 Use alternative noise 2022-01-15 12:42:57 +01:00
Simon Schneegans de67afb711 Merge branch 'main' into feature/transporter 2022-01-14 09:28:53 +01:00
Simon Schneegans c478a0f6c6 📝 Add breaking-change disclaimer 2022-01-14 08:43:27 +01:00
Simon Schneegans 5bade13636 📝 Add changelog entry 2022-01-14 08:33:43 +01:00
Simon Schneegans 76c79ea0f3 💄 Add drop-down arrow on GTK3 2022-01-14 08:31:46 +01:00
Simon Schneegans 0beea22d20 🔧 Tweak effect 2022-01-14 08:29:40 +01:00
Simon Schneegans c78a21d2b9 🎉 Add initial attempt on a second transporter effect 2022-01-14 08:29:29 +01:00
Simon Schneegans c7c28184eb Merge branch 'main' into feature/transporter 2022-01-13 16:30:54 +01:00
Simon Schneegans 04b8d1060a 📝 Fix typo 2022-01-13 16:19:29 +01:00
Simon Schneegans 264ed8e720 📝 Add another link to the guide 2022-01-13 16:18:48 +01:00
Simon Schneegans 4baf45c2b1 🔀 Merge pull request #46 from Schneegans/feature/contribution-guide 2022-01-13 16:14:36 +01:00
Simon Schneegans 82a55211e8 📝 Some guide fixes 2022-01-13 16:12:31 +01:00
Simon Schneegans eeca6cb06e 📝 Some guide fixes 2022-01-13 16:07:54 +01:00
Simon Schneegans adacc616a0 📝 Use separate GTK3 example code 2022-01-13 16:04:42 +01:00
Simon Schneegans 3cf99ec2bb 📝 Link to tutorial 2022-01-13 15:39:41 +01:00
Simon Schneegans e545ba11a7 📝 Add tutorial 2022-01-13 15:39:28 +01:00
Simon Schneegans 5358e8907a 💄 Tweak spacing 2022-01-13 04:55:47 +01:00
Simon Schneegans 5c79220504 🎨 Tweak icon 2022-01-13 04:55:34 +01:00
Simon Schneegans b3d26649a6 🔧 Fix indentation 2022-01-13 04:49:59 +01:00
Simon Schneegans 3228106ddf 🎉 Add initial attempt on a transporter effect 2022-01-13 04:49:28 +01:00
Simon Schneegans 286b47e69c 🔀 Merge pull request #45 from Schneegans/feature/welcome-page 2022-01-11 19:50:37 +01:00
Simon Schneegans 8a240766ed 🎉 Add welcome message 2022-01-11 19:47:46 +01:00
Simon Schneegans 314090e0d0 ♻️ Use unified shader names 2022-01-11 19:43:47 +01:00
Simon Schneegans 466365fcc7 💞 Add new sponsor 2022-01-10 19:59:33 +01:00
Simon Schneegans 0772dfab90 🔧 Improve T-Rex effect 2022-01-10 17:21:24 +01:00
Simon Schneegans 5782aded97 🔧 Revert wrong commit 2022-01-10 17:16:20 +01:00
Simon Schneegans b74f307fa9 Merge branch 'main' of github.com:Schneegans/Burn-My-Windows 2022-01-10 17:09:40 +01:00
Simon Schneegans f3b2417496 📝 Add changelog entry 2022-01-10 17:09:19 +01:00
Simon Schneegans 70a15dec53 📝 Add changelog entry 2022-01-10 17:07:22 +01:00
Simon Schneegans 5b588aa9e0 🔀 Merge pull request #43 from Schneegans/feature/improve-modularity 2022-01-10 16:22:05 +01:00
Simon Schneegans 7e1e1e2e67 📝 Add some more comments 2022-01-10 16:19:20 +01:00
Simon Schneegans 9c07f4ef3d 📝 Add changelog entries 2022-01-10 16:19:00 +01:00
Simon Schneegans 458a382f16 📝 Add even more comments 2022-01-10 06:02:21 +01:00
Simon Schneegans 63515a3d8d ♻️ Introduce utils.getGTKString() 2022-01-10 05:53:09 +01:00
Simon Schneegans 67186eb37d 📝 Add even more comments 2022-01-10 05:51:22 +01:00
Simon Schneegans 871cb8489f 📝 Add some more comments 2022-01-10 05:41:10 +01:00
Simon Schneegans 3e61368087 ♻️ Move shader code to bottom of file 2022-01-10 05:28:03 +01:00
Simon Schneegans 03c10308f9 📝 Add some comments 2022-01-10 05:21:50 +01:00
Simon Schneegans f04295b32b 🔧 Add transiation tweaking 2022-01-09 21:18:01 +01:00
Simon Schneegans 9cd43a9c56 🔧 Increase default tv effect time 2022-01-09 21:17:29 +01:00
Simon Schneegans 46887df950 ♻️ Merge prefs and extension classes 2022-01-09 20:41:02 +01:00
Simon Schneegans b726064e65 🔧 Make effect classes static 2022-01-09 13:49:03 +01:00
Simon Schneegans f8b17eadea 💄 Add relieft to preset button 2022-01-09 13:24:57 +01:00
Simon Schneegans 578063f8f8 🪲 Fix version test 2022-01-09 13:20:43 +01:00
Simon Schneegans 9e230d4df7 🔧 Change animation duration directly 2022-01-09 13:19:49 +01:00
Simon Schneegans a99b682bf9 🔧 Revert fire settings names 2022-01-09 13:13:34 +01:00
Simon Schneegans 7ec9609d7a 🔧 Add close-effects menu 2022-01-09 13:05:34 +01:00
Simon Schneegans e3f0288eaf 🔧 Add shell version check 2022-01-08 21:41:10 +01:00
Simon Schneegans c81316bfe9 🔨 Split prefs in separate classes 2022-01-08 21:30:12 +01:00
Simon Schneegans d6fed235c2 🔧 Gtk3 fixes 2022-01-08 13:56:38 +01:00
Simon Schneegans 875ef391a7 🔧 Gtk3 fixes 2022-01-08 13:54:16 +01:00
Simon Schneegans 1af87cd5e3 🔧 Gtk3 fixes 2022-01-08 13:51:59 +01:00
Simon Schneegans 93bdd8c1a1 🔧 Gtk3 fixes 2022-01-08 13:48:10 +01:00
Simon Schneegans 088290f8ba 🔧 Gtk3 fixes 2022-01-08 13:44:58 +01:00
Simon Schneegans db80b34fad 🔧 Gtk3 fixes 2022-01-08 13:42:53 +01:00
Simon Schneegans 8c1157f808 🔧 Gtk3 fixes 2022-01-08 13:41:26 +01:00
Simon Schneegans 5396e1f18d 🔧 Port to Gtk3 2022-01-08 13:38:57 +01:00
Simon Schneegans c154115192 ♻️ Move main menu to separate file 2022-01-08 13:34:28 +01:00
Simon Schneegans 91daabd791 ♻️ Split settings to separate ui files 2022-01-08 13:24:54 +01:00
Simon Schneegans a3571e3879 💄 Use GtkStackSidebar for settings (Gtk3 port still pending) 2022-01-08 13:05:17 +01:00
Simon Schneegans 3dd5ff1b36 💞 Add new sponsor 2022-01-07 08:21:38 +01:00
Simon Schneegans 564ba8ed28 💞 Add sponsors 2022-01-07 05:48:29 +01:00
Simon Schneegans 3c582755f3 📝 Add changelog link 2022-01-05 13:20:43 +01:00
Simon Schneegans fddbaffeb3 📝 Tweak README 2022-01-05 13:16:27 +01:00
Simon Schneegans 8dd1d70f86 📝 Use h3's 2022-01-05 08:39:48 +01:00
Simon Schneegans 2e9cb26086 💞 Add list of sponsors 2022-01-05 08:17:20 +01:00
Simon Schneegans b5f911802d 📝 Update comments 2022-01-04 21:51:07 +01:00
Simon Schneegans 935e922707 🎉 Bump version number 2022-01-03 20:52:23 +01:00
Simon Schneegans aeec220a5e Merge branch 'feature/3d-noise'
Deploy / Extension Bundle (push) Has been cancelled
2022-01-03 20:50:35 +01:00
Simon Schneegans 17fae262c5 💄 Tweak labels 2022-01-03 20:50:17 +01:00
Simon Schneegans a331736eb3 🔀 Merge pull request #21 from Schneegans/feature/3d-noise 2022-01-03 20:40:06 +01:00
Simon Schneegans c439727ddd 📝 Add changelog entry 2022-01-03 20:28:59 +01:00
Simon Schneegans 2b073d34bd 🎉 Add 3D noise option 2022-01-03 20:27:00 +01:00
Simon Schneegans 15b0237e54 🔧 Use different noise implementation 2022-01-03 20:13:42 +01:00
Simon Schneegans 466d449dc4 📝 Add changelog entries 2022-01-03 13:56:45 +01:00
Simon Schneegans f92b8d058a 🎉 Add changelog entry to menu 2022-01-03 13:54:29 +01:00
Simon Schneegans 0a9e04ce09 ♻️ Resolve license issues 2022-01-03 13:50:56 +01:00
Simon Schneegans 022fc8f77e 🎨 Add icon 2022-01-03 13:43:15 +01:00
Simon Schneegans 820b3f75ea 🎉 Bump version number 2022-01-02 21:09:53 +01:00
Simon Schneegans d5f20f32ca 🔧 Lower the version number again...
Deploy / Extension Bundle (push) Has been cancelled
2022-01-02 21:07:29 +01:00
Simon Schneegans 2ffb9c9717 🎉 Bump version number 2022-01-02 21:03:57 +01:00
Simon Schneegans 719540d020 📝 Add changelog entry 2022-01-02 21:03:16 +01:00
Simon Schneegans e479b86664 🔧 Remove debug output 2022-01-02 21:01:58 +01:00
Simon Schneegans 6b68fd6715 🎉 Bump version number 2022-01-02 19:41:27 +01:00
Simon Schneegans 27fec7adea ♻️ Rename method
Deploy / Extension Bundle (push) Has been cancelled
2022-01-02 14:00:18 +01:00
Simon Schneegans 3630e461a9 📝 Tweak README 2022-01-02 13:35:40 +01:00
Simon Schneegans d14e9750cf 📝 Add list of included effects 2022-01-02 13:32:17 +01:00
Simon Schneegans d44f021348 🔀 Merge pull request #19 from Schneegans/feature/menu-button 2022-01-02 12:51:13 +01:00
Simon Schneegans 681afb4793 📝 Add changelog entry 2022-01-02 12:49:59 +01:00
Simon Schneegans 5682a5cdf8 🪲 Fix GTK3 2022-01-02 12:48:47 +01:00
Simon Schneegans 8c7e3abbeb 🎉 Add a menu button 2022-01-02 12:37:51 +01:00
Simon Schneegans 7e05588682 🔧 Tweak motto 2022-01-02 12:34:13 +01:00
Simon Schneegans 13d02da36b 🔀 Merge pull request #18 from Schneegans/feature/fix-14 2022-01-02 12:32:58 +01:00
Simon Schneegans 552dc3b0c7 📝 Fix changelog 2022-01-02 12:31:15 +01:00
Simon Schneegans 976533ccc8 🎉 Support ovierview animations in GNOME 3.36 2022-01-02 07:58:35 +01:00
Simon Schneegans 403fac3367 📝 Add changelog entry 2022-01-01 21:57:57 +01:00
Simon Schneegans b916f9677e 🔧 Do not attempt to animate window closing in the overview of GNOME 3.36 2022-01-01 21:49:31 +01:00
Simon Schneegans 4965ca8735 🔀 Merge pull request #16 from Schneegans/feature/claws 2022-01-01 21:23:12 +01:00
Simon Schneegans c9bfdc4bf9 📝 Add comment 2022-01-01 21:21:56 +01:00
Simon Schneegans 54fa765766 📝 Add changelog entry 2022-01-01 21:19:30 +01:00
Simon Schneegans 37cd1fb7cc 📝 Add plenty of comments 2022-01-01 21:18:49 +01:00
Simon Schneegans 5d845e09c1 🎨 Add claws source file 2022-01-01 20:59:21 +01:00
Simon Schneegans f758f4db82 🔧 Tweak defaults 2022-01-01 20:55:12 +01:00
Simon Schneegans b410536fc2 🎉 Make T-Rex effect configurable 2022-01-01 20:47:59 +01:00
Simon Schneegans db636a7cfe Merge branch 'main' into feature/claws 2022-01-01 20:17:51 +01:00
Simon Schneegans 8c6c1bc7bd 🪲 Fix GTK3 2022-01-01 20:16:59 +01:00
Simon Schneegans 976e713a2b 🎉 Make TV Effect color configurable 2022-01-01 20:12:41 +01:00
Simon Schneegans 7dea28a145 🔧 Reduce scaling 2022-01-01 19:51:26 +01:00
Simon Schneegans 918a12060c 🎉 Add initial T-Rex shader 2022-01-01 19:48:24 +01:00
Simon Schneegans 11a3562533 🔀 Merge pull request #15 from Schneegans/feature/tv-effect 2021-12-31 20:36:56 +01:00
Simon Schneegans 68c851c9e0 📝 Add changelog entry 2021-12-31 20:35:37 +01:00
Simon Schneegans 03db97fdda 📝 Add comments 2021-12-31 20:34:50 +01:00
Simon Schneegans 0ee171aae0 Merge branch 'main' into feature/tv-effect 2021-12-30 13:51:54 +01:00
Simon Schneegans 9c9b9657e8 🎉 Improve fire appearance 2021-12-30 13:51:14 +01:00
Simon Schneegans fdd21a44b8 🎉 Add TV Effect shader 2021-12-30 13:42:41 +01:00
Simon Schneegans cd3b91a191 🎉 Bump version number 2021-12-25 20:39:28 +01:00
Simon Schneegans 333195559d 📝 Update changelog
Deploy / Extension Bundle (push) Has been cancelled
2021-12-25 20:38:38 +01:00
Simon Schneegans b5fe644782 📝 Update changelog 2021-12-25 20:33:31 +01:00
Simon Schneegans 13201620de 🔧 Do not enable the animation for dialogs per default 2021-12-25 20:32:40 +01:00
Simon Schneegans a3711e8606 🔧 Tweak fire animation fading even more 2021-12-25 20:30:40 +01:00
Simon Schneegans 3c83f7c5bc 🔀 Merge pull request #11 from Schneegans/feature/matrix 2021-12-25 13:47:36 +01:00
Simon Schneegans cb2224ca56 🔀 Merge branch 'main' into feature/matrix 2021-12-25 13:44:18 +01:00
Simon Schneegans 49ec9d8de2 🔀 Merge pull request #10 from Schneegans/feature/dialogs 2021-12-25 13:39:18 +01:00
Simon Schneegans 9b2ef55871 🎉 Add option to also destroy dialogs 2021-12-25 13:32:15 +01:00
Simon Schneegans b0aaf402f6 💄 Tweak labels 2021-12-25 13:13:25 +01:00
Simon Schneegans aa33667cae 📝 Add note why the matrix effect is not available on GNOME 3.3x 2021-12-25 13:03:03 +01:00
Simon Schneegans c5aa8b9268 🔧 Disable matrix animation on GNOME 3.3x 2021-12-25 12:56:14 +01:00
Simon Schneegans a994a3e80d 📝 Update changelog 2021-12-24 21:16:07 +01:00
Simon Schneegans c160bb92bd 🔧 Tweak fire timing 2021-12-24 21:12:26 +01:00
Simon Schneegans d91fb2f1b4 🔧 Reduce default animation time 2021-12-24 21:11:57 +01:00
Simon Schneegans 404db45ba9 🔧 GTK3 fixes 2021-12-24 13:52:00 +01:00
Simon Schneegans 46a2f3310d 🔧 Port settings to GTK3 2021-12-24 13:22:08 +01:00
Simon Schneegans 5628545c00 📝 Add some comments 2021-12-24 13:13:56 +01:00
Simon Schneegans 9e374d04d0 🔧 Make animation type configurable 2021-12-24 13:08:45 +01:00
Simon Schneegans 32a57cc523 🎉 Make matrix effect configurable 2021-12-24 12:25:17 +01:00
Simon Schneegans ca024872db 🔧 Tweak matrix shader 2021-12-23 20:56:54 +01:00
Simon Schneegans 547db3a2b8 🎉 Add initial matrix shader 2021-12-22 21:34:03 +01:00
Simon Schneegans 75b803d523 🪲 Fix preferences dialog 2021-12-22 12:30:04 +01:00
Simon Schneegans 9f27626c72 📝 Update changelog 2021-12-22 05:56:32 +01:00
Simon Schneegans a338a2f1b2 📝 Add some comments 2021-12-22 05:54:58 +01:00
Simon Schneegans 3149371a04 🚚 Move fire shader to its own file 2021-12-22 05:40:42 +01:00
Simon Schneegans e32b11a010 🎉 Bump version number 2021-12-20 20:34:55 +01:00
Simon Schneegans 8265010650 📝 Update changelog
Deploy / Extension Bundle (push) Has been cancelled
2021-12-20 20:32:10 +01:00
Simon Schneegans d4ced0b5fe 🪲 Fix support for GNOME 3.36 2021-12-20 20:24:29 +01:00
Simon Schneegans 42ccf20704 🎉 Add support for older GNOME versions 2021-12-20 20:11:39 +01:00
Simon Schneegans 570a0146b6 📝 Fix typo 2021-12-17 06:25:11 +01:00
Simon Schneegans 0480dda3ee 🎉 Bump version number 2021-12-16 20:32:41 +01:00
362 changed files with 81618 additions and 722 deletions
+3
View File
@@ -1,4 +1,7 @@
BasedOnStyle: Google
AlignConsecutiveAssignments: true
AlignAfterOpenBracket: Align
ContinuationIndentWidth: 2
KeepEmptyLinesAtTheStartOfBlocks: true
SortIncludes: false
ColumnLimit: 90
+1 -1
View File
@@ -6,7 +6,7 @@ open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
liberapay: # Schneegans
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: ['https://www.paypal.com/donate/?hosted_button_id=3F7UFL8KLVPXE']
+3 -4
View File
@@ -17,14 +17,13 @@ Steps to reproduce the behavior:
4. See error
You may also check the output of GNOME Shell for any error messages.
This can be done with the following terminal command:
This can be done with the following terminal command.
Execute this in a terminal and observe the output while reproducing the bug.
```bash
journalctl -f -o cat | grep -E 'burn-my-windows|'
```
## Expected Behavior
A clear and concise description of what you expected to happen.
## System
_Please complete the following information:_
- Linux distribution [e.g. Ubuntu 21.04]
+6 -8
View File
@@ -1,16 +1,14 @@
---
name: Feature Request
name: General Feature Request
about: Suggest an idea for the Burn-My-Windows Extension.
title: ''
labels: enhancement
labels: 'feature request'
assignees: ''
---
## The Motivation
A clear and concise description of use-case.
## The Solution
A clear and concise description of what you want to happen.
## The Idea
A clear and concise description of your idea.
If applicable, feel free to add screenshots or mock-ups to illustrate your idea!
## The Alternatives
A clear and concise description of any alternative solutions or features you've considered.
Are there alternative solutions or features you've considered?
+17
View File
@@ -0,0 +1,17 @@
---
name: New Effect
about: Suggest a new effect for the Burn-My-Windows Extension.
title: ''
labels: 'new effect'
assignees: ''
---
## The Idea
Please describe your idea as detailed as possible.
It would be great if you could add a drawing or any other kind of mock-up to illustrate your idea!
## Window Closing vs. Window Opening
Make sure to describe how the effect could be reversed, so how should a window disappear and how should it appear.
## References
It would be great if you could provide some video references (e.g. YouTube links) if your idea is based on something which - for example - exists in movies.
+42
View File
@@ -0,0 +1,42 @@
name: Badges
on:
push:
branches:
- main
jobs:
update-badges:
name: Update Badges
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Download cloc
run: sudo apt-get update -y && sudo apt-get install -y cloc
- name: Get the Numbers
run: |
echo "CODE_LINES=$(scripts/cloc.sh --loc)" >> $GITHUB_ENV
echo "COMMENT_LINES=$(scripts/cloc.sh --percentage)" >> $GITHUB_ENV
- name: Create Lines-of-Code-Badge
uses: schneegans/dynamic-badges-action@v1.3.0
with:
auth: ${{ secrets.GIST_SECRET }}
gistID: 8cf45f23253ff09b21196e7271378762
filename: loc.json
label: Lines of Code
message: ${{ env.CODE_LINES }}
color: lightgrey
labelColor: 303030
- name: Create Comments-Badge
uses: schneegans/dynamic-badges-action@v1.3.0
with:
auth: ${{ secrets.GIST_SECRET }}
gistID: 8cf45f23253ff09b21196e7271378762
filename: comments.json
label: Comments
message: ${{ env.COMMENT_LINES }}%
valColorRange: ${{ env.COMMENT_LINES }}
maxColorRange: 50
minColorRange: 0
labelColor: 303030
+28
View File
@@ -76,7 +76,35 @@ jobs:
( contains(github.ref, 'main') && !contains(github.event.head_commit.message, '[no-ci]') ) ||
( contains(github.ref, 'develop') && !contains(github.event.head_commit.message, '[no-ci]') ) ||
contains(github.event.head_commit.message, '[run-ci]')
strategy:
fail-fast: false
matrix:
version:
- '32'
- '33'
- '34'
- '35'
- '36'
session:
#- 'gnome-xsession' Disabled for now as it miraculously fails on GitHub. Locally, all tests pass...
- 'gnome-wayland-nested'
steps:
- uses: actions/checkout@v2
- name: Download Dependencies
run: |
sudo apt update -qq
sudo apt install gettext -qq
- name: Build Burn-My-Windows
run: make
- name: Test Burn-My-Windows
run: sudo $GITHUB_WORKSPACE/tests/run-test.sh -v ${{ matrix.version }} -s ${{ matrix.session }}
- uses: actions/upload-artifact@v2
if: failure()
with:
name: log_${{ matrix.version }}_${{ matrix.session }}
path: fail.log
- uses: actions/upload-artifact@v2
if: failure()
with:
name: screen_${{ matrix.version }}_${{ matrix.session }}
path: fail.png
+24 -4
View File
@@ -6,8 +6,8 @@ on:
- '**'
jobs:
source_code:
name: Extension Bundle
gnome_bundle:
name: Bundle GNOME Shell Extension
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
@@ -20,10 +20,30 @@ jobs:
run: |
make zip
- name: Upload Release
uses: svenstaro/upload-release-action@v1-release
uses: svenstaro/upload-release-action@2.2.1
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: burn-my-windows@schneegans.github.com.zip
asset_name: burn-my-windows@schneegans.github.com.zip
tag: ${{ github.ref }}
overwrite: true
kwin_bundle:
name: Bundle KWin Effect
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Install Dependencies
run: |
sudo apt-get update -q
sudo apt-get install clang-format
- name: Create Release
run: |
./kwin/build.sh
- name: Upload Release
uses: svenstaro/upload-release-action@2.2.1
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: kwin/burn_my_windows_kwin4.tar.gz
tag: ${{ github.ref }}
overwrite: true
+7 -1
View File
@@ -1,5 +1,11 @@
*~
*.zip
*.blend1
*.blend2
*.blend3
/locale
/schemas/gschemas.compiled
/resources/burn-my-windows.gresource
/resources/burn-my-windows.gresource.xml
/resources/burn-my-windows.gresource.xml
kwin/_build
kwin/*.tar.gz
+91 -31
View File
@@ -1,51 +1,111 @@
SHELL := /bin/bash
JS_FILES = $(shell find -type f -and \( -name "*.js" \))
# We define these here to make the makefile easier to port to another extension.
NAME := burn-my-windows
DOMAIN := schneegans.github.com
ZIP_NAME := $(NAME)@$(DOMAIN).zip
# Some of the recipes below depend on some of these files.
JS_FILES = $(shell find -type f -and \( -name "*.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)
LOCALES_MO = $(patsubst po/%.po,locale/%/LC_MESSAGES/$(NAME).mo,$(LOCALES_PO))
.PHONY: zip install uninstall clean
# These files will be included in the extension zip file.
ZIP_CONTENT = $(JS_FILES) $(LOCALES_MO) resources/$(NAME).gresource \
schemas/gschemas.compiled metadata.json LICENSE
zip: burn-my-windows@schneegans.github.com.zip
# These seven recipes can be invoked by the user.
.PHONY: zip install uninstall pot clean test references
install: burn-my-windows@schneegans.github.com.zip
gnome-extensions install "burn-my-windows@schneegans.github.com.zip" --force
# The zip recipes only bundles the extension without installing it.
zip: $(ZIP_NAME)
# The install recipes creates the extension zip and installs it.
install: $(ZIP_NAME)
gnome-extensions install "$(ZIP_NAME)" --force
@echo "Extension installed successfully! Now restart the Shell ('Alt'+'F2', then 'r')."
# This uninstalls the previously installed extension.
uninstall:
gnome-extensions uninstall "burn-my-windows@schneegans.github.com"
gnome-extensions uninstall "$(NAME)@$(DOMAIN)"
# Use gettext to generate a translation template file.
pot: $(JS_FILES) $(UI_FILES)
@echo "Generating '$(NAME).pot'..."
@xgettext --from-code=UTF-8 \
--add-comments=Translators \
--copyright-holder="Simon Schneegans" \
--package-name="$(NAME)" \
--output=po/$(NAME).pot \
$(JS_FILES) $(UI_FILES)
# This runs several tests in containerized versions of GNOME Shell.
test:
@ for version in 32 33 34 35 36 ; do \
for session in "gnome-xsession" "gnome-wayland-nested" ; do \
echo ; \
echo "Running Tests on Fedora $$version ($$session)." ; \
echo ; \
./tests/run-test.sh -s $$session -v $$version ; \
done \
done
# This re-generates all reference images required by the tests.
references:
@ for version in 32 33 34 35 36 ; do \
for session in "gnome-xsession" "gnome-wayland-nested" ; do \
echo ; \
echo "Generating References for Fedora $$version ($$session)." ; \
echo ; \
./tests/generate-references.sh -s $$session -v $$version ; \
done \
done
# This removes all temporary files created with the other recipes.
clean:
rm -rf \
burn-my-windows@schneegans.github.com.zip \
resources/burn-my-windows.gresource \
resources/burn-my-windows.gresource.xml \
schemas/gschemas.compiled
rm -rf $(ZIP_NAME) \
resources/$(NAME).gresource \
resources/$(NAME).gresource.xml \
schemas/gschemas.compiled \
locale
burn-my-windows@schneegans.github.com.zip: schemas/gschemas.compiled resources/burn-my-windows.gresource $(JS_FILES)
@# Check if the VERSION variable was passed and set version to it
@if [[ "$(VERSION)" != "" ]]; then \
sed -i "s| \"version\":.*| \"version\": $(VERSION)|g" metadata.json; \
fi
@# TODO Maybe echo version number of the release that was built, in order to facilitate double-checking before publishing it?
# This bundles the extension and checks whether it is small enough to be uploaded to
# extensions.gnome.org. We do not use "gnome-extensions pack" for this, as this is not
# readily available on the GitHub runners.
$(ZIP_NAME): $(ZIP_CONTENT)
@echo "Packing zip file..."
@rm --force burn-my-windows@schneegans.github.com.zip
@zip -r burn-my-windows@schneegans.github.com.zip -- *.js resources/burn-my-windows.gresource schemas/gschemas.compiled metadata.json LICENSE
@rm --force $(ZIP_NAME)
@zip $(ZIP_NAME) -- $(ZIP_CONTENT)
@#Check if the zip size is too big to be uploaded
@if [[ "$$(stat -c %s burn-my-windows@schneegans.github.com.zip)" -gt 4096000 ]]; then \
echo "ERROR! The extension is too big to be uploaded to the extensions website, keep it smaller than 4096 KB!"; exit 1; \
fi
@SIZE=$$(unzip -Zt $(ZIP_NAME) | awk '{print $$3}') ; \
if [[ $$SIZE -gt 5242880 ]]; then \
echo "ERROR! The extension is too big to be uploaded to" \
"the extensions website, keep it smaller than 5 MB!"; \
exit 1; \
fi
resources/burn-my-windows.gresource: resources/burn-my-windows.gresource.xml
# Compiles the gschemas.compiled file from the gschema.xml file.
schemas/gschemas.compiled: schemas/org.gnome.shell.extensions.$(NAME).gschema.xml
@echo "Compiling schemas..."
@glib-compile-schemas schemas
# Compiles the gresource file from the gresources.xml.
resources/$(NAME).gresource: resources/$(NAME).gresource.xml
@echo "Compiling resources..."
@glib-compile-resources --sourcedir="resources" --generate resources/burn-my-windows.gresource.xml
@glib-compile-resources --sourcedir="resources" --generate resources/$(NAME).gresource.xml
resources/burn-my-windows.gresource.xml: $(RESOURCE_FILES)
# Generates the gresources.xml based on all files in the resources subdirectory.
resources/$(NAME).gresource.xml: $(RESOURCE_FILES)
@echo "Creating resources xml..."
@FILES=$$(find "resources" -mindepth 2 -type f -printf "%P\n" | xargs -i echo "<file>{}</file>") ; \
echo "<?xml version='1.0' encoding='UTF-8'?><gresources><gresource> $$FILES </gresource></gresources>" > resources/burn-my-windows.gresource.xml
echo "<?xml version='1.0' encoding='UTF-8'?><gresources><gresource> $$FILES </gresource></gresources>" \
> resources/$(NAME).gresource.xml
schemas/gschemas.compiled: schemas/org.gnome.shell.extensions.burn-my-windows.gschema.xml
@echo "Compiling schemas..."
@glib-compile-schemas schemas
# Compiles all *.po files to *.mo files.
locale/%/LC_MESSAGES/$(NAME).mo: po/%.po
@echo "Compiling $@"
@mkdir -p locale/$*/LC_MESSAGES
@msgfmt -c -o $@ $<
+138 -7
View File
@@ -1,19 +1,105 @@
<p align="center">
<img src ="docs/pics/teaser.gif" />
<a href="https://www.youtube.com/watch?v=L2aaNF_rPHo"><img src ="docs/pics/teaser.jpg" /></a>
</p>
# Set your Windows on Fire!
<h1 align="center">🔥 Set GNOME Shell on Fire!</h1>
<p align="center">(and KWin as well)</p>
<p align="center">
<a href="https://extensions.gnome.org/extension/4679/burn-my-windows/"><img src="https://img.shields.io/badge/Download-extensions.gnome.org-e67f4d.svg?logo=gnome&logoColor=lightgrey&labelColor=303030" /></a><br/>
<a href="https://github.com/Schneegans/Burn-My-Windows/actions"><img src="https://github.com/Schneegans/Burn-My-Windows/workflows/Checks/badge.svg?branch=main" /></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/License-GPLv3-blue.svg?labelColor=303030" /></a>
<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>
When I released the [Desktop Cube Extension](https://github.com/Schneegans/Desktop-Cube/), many people requested to revive the one of the most useless features of Linux desktop history: Setting windows on fire!
<a href="https://hosted.weblate.org/engage/burn-my-windows/"><img src="https://img.shields.io/weblate/progress/burn-my-windows?label=Translated&logo=weblate&logoColor=lightgray&labelColor=303030" /></a>
<a href="scripts/cloc.sh"><img src="https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Schneegans/8cf45f23253ff09b21196e7271378762/raw/loc.json" /></a>
<a href="scripts/cloc.sh"><img src="https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Schneegans/8cf45f23253ff09b21196e7271378762/raw/comments.json" /></a>
</p>
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.
## Installation
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" />
**Energize A** <br> Beam your windows away! | <img src ="docs/pics/energizeA.gif" />
**Energize B** <br> Using different transporter technology results in an alternative visual effect. | <img src ="docs/pics/energizeB.gif" />
**Fire** <br> The classic effect inspired by Compiz. However, this is implemented using a GLSL shader and not with a particle system like in the old days. | <img src ="docs/pics/fire.gif" />
**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" />
**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" />
**Wisps** <br> Let your windows be carried away to the realm of dreams by these little fairies! | <img src ="docs/pics/wisps.gif" />
**Your Effect!** <br> The extension is very modular and with a bit of creativity and GLSL knowledge, [you can easily create your own effects](docs/how-to-create-new-effects.md). | [![Create your own effects](docs/pics/custom.jpg)](docs/how-to-create-new-effects.md)
## ✅ Supported Versions
Not every effect is available on each version of GNOME or KWin.
Below is a table which summarizes the current availability for all effects.
<table width="100%">
<tr>
<td></td>
<td colspan="5"><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>5.25.0</td></tr>
<tr><td>Apparition</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> </tr>
<tr><td>Energize A</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> </tr>
<tr><td>Fire</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> </tr>
<tr><td>Incinerate</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> </tr>
<tr><td>Snap of Disintegration</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> </tr>
<tr><td>TV-Effect</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> </tr>
</table>
## 💞 These People _love_ this Extension
While [coding new features](docs/how-to-create-new-effects.md) or [translating the extension](https://hosted.weblate.org/engage/burn-my-windows/) are the most awesome ways to contribute, providing financial support will help me stay motivated to invest my spare time to keep the project alive in the future.
<h3 align="center">🥇 Current Gold Sponsors</h3>
<p align="center">
<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://twitter.com/tjiiik">tj3k</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>
</p>
<h3 align="center">🏅 Previous Sponsors and One-Time Donators</h3>
<p align="center">
<a href="https://github.com/wolfyrion">@wolfyrion</a><br>
<a href="https://github.com/MrTomRod">@MrTomRod</a><br>
Pouhiou<br>
DAPREMONT Christophe<br>
<a href="https://github.com/manero6">@manero6</a><br>
<a href="https://github.com/RickStanley">@RickStanley</a><br>
</p>
Do you want to show that you love it too? You may <a href="https://github.com/sponsors/Schneegans">become a sponsor for as little as 1$ / month</a>!
If you like this extension, you may also want to try one of my other GNOME extensions: [🧊 Desktop-Cube](https://github.com/Schneegans/Desktop-Cube) or [🍰 Fly-Pie](https://github.com/Schneegans/Fly-Pie/)!
## ⬇️ Installation (GNOME)
You can either install the Burn-My-Windows extension from extensions.gnome.org (a), download a stable release
from GitHub (b) or clone the latest version directly with `git` (c).
@@ -72,10 +158,55 @@ Then you can enable the extension with the *Gnome Tweak Tool*, the *Extensions*
gnome-extensions enable burn-my-windows@schneegans.github.com
```
## ⬇️ Installation (KWin)
You can either download a stable version from GitHub (a) or clone the latest version directly with `git` (b).
### a) Downloading a Stable Release
Execute this command to download the latest stable release:
```bash
wget https://github.com/Schneegans/Burn-My-Windows/releases/latest/download/burn_my_windows_kwin4.tar.gz
```
Install it by executing the following commands.
```bash
mkdir -p ~/.local/share/kwin/effects
tar -xf burn_my_windows_kwin4.tar.gz -C ~/.local/share/kwin/effects
```
Then select the desired effects in the system settings under "Desktop Effects".
### b) Cloning the Latest Version with `git`
Execute the clone command below where you want to have the source code of the extension.
```bash
git clone https://github.com/Schneegans/Burn-My-Windows.git
cd Burn-My-Windows
```
Now you will have to build the effects and copy them to your KWin effect directory.
```bash
./kwin/build.sh
mkdir -p ~/.local/share/kwin/effects
cp -r kwin/_build/* ~/.local/share/kwin/effects
```
That's it!
You can now select the desired effects in the system settings under "Desktop Effects".
## :octocat: I want to contribute!
That's great!
Here are some basic rulles to get you started:
Most likely, you want to [create a new effect](docs/how-to-create-new-effects.md) or to [translate the extension](https://hosted.weblate.org/engage/burn-my-windows/)?
Here are some basic rules to get you started:
Commits should start with a Capital letter and should be written in present tense (e.g. __:tada: Add cool new feature__ instead of __:tada: Added cool new feature__).
You should also start your commit message with **one** applicable emoji.
This does not only look great but also makes you rethink what to add to a commit. Make many but small commits!
+7
View File
@@ -0,0 +1,7 @@
# Notes for `claws.blend`
This is the source file for `resources/img/claws.png`. To generate the image, the animation in `claws.blend` is rendered to 256 PNG files and then combined using this command:
```bash
convert *.png -average claws.png
```
+3795
View File
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 968 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.
BIN
View File
Binary file not shown.
+374
View File
@@ -0,0 +1,374 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="512"
height="512"
viewBox="0 0 135.46666 135.46667"
version="1.1"
id="svg5"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
sodipodi:docname="matrixFont.svg"
inkscape:export-filename="/home/simon/Linux-Projects/Burn-My-Windows/resources/img/matrixFont.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
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">
<sodipodi:namedview
id="namedview7"
pagecolor="#000000"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="1"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="true"
units="px"
inkscape:zoom="3.2650549"
inkscape:cx="194.33058"
inkscape:cy="126.49098"
inkscape:window-width="1920"
inkscape:window-height="1131"
inkscape:window-x="0"
inkscape:window-y="32"
inkscape:window-maximized="1"
inkscape:current-layer="layer1">
<inkscape:grid
type="xygrid"
id="grid8183"
empspacing="2"
spacingx="4.2333333"
spacingy="4.2333333"
color="#cbcbff"
opacity="0.1254902"
empcolor="#ffffff"
empopacity="0.25098039" />
</sodipodi:namedview>
<defs
id="defs2">
<filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter972"
x="-0.014295474"
y="-0.01399304"
width="1.0285909"
height="1.0279861">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.78384108"
id="feGaussianBlur970" />
</filter>
<filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter974"
x="-0.024387008"
y="-0.023871079"
width="1.048774"
height="1.0477422">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="1.3371742"
id="feGaussianBlur976" />
</filter>
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-weight:300;font-size:7.60522px;line-height:1.112;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Light';letter-spacing:3.89202px;opacity:1;mix-blend-mode:normal;stroke-width:0.190131;filter:url(#filter972)"
x="1.7241572"
y="6.4795361"
id="text968"
inkscape:export-filename="/home/simon/Linux-Projects/Burn-My-Windows/resources/img/text3003.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="6.4795361"
id="tspan934">ABCDEFGHIJKLMNOP</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="14.946301"
id="tspan936">QRSTUVWXYZabcdef</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="23.413067"
id="tspan938">ghijklmnopqrstuv</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="31.879831"
id="tspan940">wxyzÀÁÂÃÄÅÆÇÈÉÊË</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="40.346596"
id="tspan942">ÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜ</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="48.813362"
id="tspan944">ÝÞßàáâãäåæçèéêëì</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="57.280125"
id="tspan946">íîïðΑαΒβΓγΔδΕεΖζ</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="65.746887"
id="tspan948">ΗηΘθΙιΚκΛλΜμΝνΞξ</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="74.213654"
id="tspan950">ΟοΠπΡρΣσΤτΥυΦφΧχ</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="82.68042"
id="tspan952">ΨψΩω1234567890Аа</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="91.147186"
id="tspan954">БбВвГгДдЕеЖжЗзИи</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="99.613953"
id="tspan956">ЙйКкЛлМмНнОоПпРр</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="108.08072"
id="tspan958">СсТтУуФфХхЦцЧчШш</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="116.54748"
id="tspan960">ЩщЬьЭэЮюЯя!&quot;#$%&amp;</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="125.01424"
id="tspan962">()*+,-/:;&lt;=&gt;?@©§</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="133.48102"
id="tspan964">[\]{|}~ªº¿®¬½¼¡¶</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="141.94777"
id="tspan966" /></text>
<text
xml:space="preserve"
style="font-weight:300;font-size:7.60522px;line-height:1.112;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Light';letter-spacing:3.89202px;opacity:1;stroke-width:0.190131"
x="1.7241572"
y="6.4795361"
id="text94444"><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="6.4795361"
id="tspan94410">ABCDEFGHIJKLMNOP</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="14.946301"
id="tspan94412">QRSTUVWXYZabcdef</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="23.413067"
id="tspan94414">ghijklmnopqrstuv</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="31.879831"
id="tspan94416">wxyzÀÁÂÃÄÅÆÇÈÉÊË</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="40.346596"
id="tspan94418">ÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜ</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="48.813362"
id="tspan94420">ÝÞßàáâãäåæçèéêëì</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="57.280125"
id="tspan94422">íîïðΑαΒβΓγΔδΕεΖζ</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="65.746887"
id="tspan94424">ΗηΘθΙιΚκΛλΜμΝνΞξ</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="74.213654"
id="tspan94426">ΟοΠπΡρΣσΤτΥυΦφΧχ</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="82.68042"
id="tspan94428">ΨψΩω1234567890Аа</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="91.147186"
id="tspan94430">БбВвГгДдЕеЖжЗзИи</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="99.613953"
id="tspan94432">ЙйКкЛлМмНнОоПпРр</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="108.08072"
id="tspan94434">СсТтУуФфХхЦцЧчШш</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="116.54748"
id="tspan94436">ЩщЬьЭэЮюЯя!&quot;#$%&amp;</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="125.01424"
id="tspan94438">()*+,-/:;&lt;=&gt;?@©§</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="133.48102"
id="tspan94440">[\]{|}~ªº¿®¬½¼¡¶</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="141.94777"
id="tspan94442" /></text>
<text
xml:space="preserve"
style="font-weight:300;font-size:7.60522px;line-height:1.112;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Light';letter-spacing:3.89202px;opacity:1;mix-blend-mode:normal;stroke-width:0.190131;filter:url(#filter974)"
x="1.7241572"
y="6.4795361"
id="text3003"
inkscape:export-filename="/home/simon/Linux-Projects/Burn-My-Windows/resources/img/text3003.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="6.4795361"
id="tspan30643">ABCDEFGHIJKLMNOP</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="14.946301"
id="tspan40072">QRSTUVWXYZabcdef</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="23.413067"
id="tspan42210">ghijklmnopqrstuv</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="31.879831"
id="tspan43166">wxyzÀÁÂÃÄÅÆÇÈÉÊË</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="40.346596"
id="tspan43762">ÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜ</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="48.813362"
id="tspan44946">ÝÞßàáâãäåæçèéêëì</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="57.280125"
id="tspan48062">íîïðΑαΒβΓγΔδΕεΖζ</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="65.746887"
id="tspan56533">ΗηΘθΙιΚκΛλΜμΝνΞξ</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="74.213654"
id="tspan58635">ΟοΠπΡρΣσΤτΥυΦφΧχ</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="82.68042"
id="tspan61169">ΨψΩω1234567890Аа</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="91.147186"
id="tspan67243">БбВвГгДдЕеЖжЗзИи</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="99.613953"
id="tspan69399">ЙйКкЛлМмНнОоПпРр</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="108.08072"
id="tspan70763">СсТтУуФфХхЦцЧчШш</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="116.54748"
id="tspan72709">ЩщЬьЭэЮюЯя!&quot;#$%&amp;</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="125.01424"
id="tspan77955">()*+,-/:;&lt;=&gt;?@©§</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="133.48102"
id="tspan77957">[\]{|}~ªº¿®¬½¼¡¶</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;fill:#ffffff;fill-opacity:1;stroke-width:0.190131"
x="1.7241572"
y="141.94777"
id="tspan75487" /></text>
<text
xml:space="preserve"
style="font-weight:300;font-size:10.5833px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Light';stroke-width:0.264583"
x="169.33333"
y="29.009251"
id="text17385"><tspan
sodipodi:role="line"
id="tspan17383"
style="stroke-width:0.264583"
x="169.33333"
y="29.009251" /></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.
+54986
View File
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 4.1 MiB

+235 -2
View File
@@ -1,6 +1,239 @@
# Changelog of the Burn-My-Windows Extension
## [Burn My Window 2](https://github.com/schneegans/Burn-My-Windows/releases/tag/v2)
## [Burn My Windows 17](https://github.com/schneegans/Burn-My-Windows/releases/tag/v17)
**Release Date:** 2022-06-30
#### New Features
* **New Effect: Incinerate.** This is a completely new take on the fire effect. It is a bit more demanding in terms of GPU power, but at the same time it looks much more awesome!
* **Initial KDE Support.** Thanks to the [awesome work](https://invent.kde.org/plasma/kwin/-/merge_requests/2227) of Martin Flöser, it has become possible to port some of its effects to KDE Plasma! For now, only the most simple effects can be ported, but hopefully this list can be improved in the future.
* An option has been added which allows to automatically disable all effects if running on battery power.
#### Enhancements
* Many translation updates, including a completely new Persian, Polish, and Slovak translation. A BIG THANKS to all translators!
* The shader include system has been simplified. There's now just one "common.glsl" which is automatically loaded into each shader.
## [Burn My Windows 16](https://github.com/schneegans/Burn-My-Windows/releases/tag/v16)
**Release Date:** 2022-05-21
#### Enhancements
* Many translation updates, including a completely new Arabic, Finnish, Korean, and Swedish translation. A BIG THANKS to all translators!
* The shaders are now aware of the actual window size (e.g. excluding the area where the shadow is drawn). For instance, this **fixes the drawing of the effects outside the window bounds** for `libadwaita` apps.
* Refactored how the size and opacity transitions of the window actors are set up. Effects can now only specify a desired actor scale which will not change during the animation. All dynamic scaling and fading must be implemented in the shaders now.
* The standard uniforms of all shaders have been updated: The window size is now passed as a `vec2` and there is a new `bool uForOpening` which is set to `true` if a window-open animation is ongoing, to `false` otherwise.
#### Bug Fixes
* **Fixed a major memory leak**. Now, shaders are not re-created anymore whenever a window is opened or closed. Instead, previously created shaders are re-used as often as possible. This requires that all settings are set as uniform values (previously they were injected into the shader source) which in turn requires that `Shell.GLSLEffect` is used instead of `Clutter.ShaderEffect`. This change also requires that all shaders now work with straight instead of premultiplied alpha. Anyways, a lot needed to be refactored for this fix and I hope that it did not bring too many visual changes.
* Fixed the window-close animation of windows which were opened before the session was started (e.g. before GNOME Shell has been restarted).
* There seem to be cases were `libadwaita` is not available on GNOME 42 (e.g. Pop!_OS 22.04 beta). The preferences dialog now tries to fallback to the GTK4-only variant if `libadwaita` is not available.
## [Burn My Windows 15](https://github.com/schneegans/Burn-My-Windows/releases/tag/v15)
**Release Date:** 2022-04-06
#### New Features
* **New Effect: Apparition.** This effect hides the window by violently sucking it into the void of magic. This is available only for GNOME Shell 3.38 and newer.
* **New Effect: Hexagon.** With glowing lines and hexagon-shaped tiles, this effect looks very sci-fi. This is available for GNOME Shell 3.36 and newer.
* **New Effect: Snap of Disintegration.** This was requested quite frequently! Dissolve your windows into a cloud of dust. This is available only for GNOME Shell 40 and newer.
#### Bug Fixes
* Disabled the buggy "Shatter from pointer" option of the Broken Glass effect when opening windows (it only makes sense for closing windows).
## [Burn My Windows 14](https://github.com/schneegans/Burn-My-Windows/releases/tag/v14)
**Release Date:** 2022-03-29
#### Enhancements
* Reduced the lower animation time limits for all effects to 100 ms. This should now allow for very snappy animations!
* A completely new Russian translation. Thank you, ANIGO R.!
#### Bug Fixes
* Fixed the version check for GNOME Shell `42.rc` (before it only worked on `42.alpha` and `42.beta`)
## [Burn My Windows 13](https://github.com/schneegans/Burn-My-Windows/releases/tag/v13)
**Release Date:** 2022-03-27
#### Enhancements
* The continuous integration tests have been significantly enhanced. Now, all window-open and window-close animations are visually tested on all supported GNOME versions and on X11 / Wayland (summing up to a total of 136 test cases).
* Many translation updates, including a completely new Turkish and Chinese translation. A BIG THANKS to all translators!
#### Other Changes
* Removed the Liberapay donation option as it does not work properly.
#### Bug Fixes
* Fixed the version check for GNOME Shell 42.
## [Burn My Windows 12](https://github.com/schneegans/Burn-My-Windows/releases/tag/v12)
**Release Date:** 2022-02-19
#### New Features
* Added initial support for GNOME Shell 42.
* The preferences dialog now uses libadwaita on GNOME Shell 42.
#### Enhancements
* Added [Liberapay](https://liberapay.com/Schneegans) to the sponsorship options.
## [Burn My Windows 11](https://github.com/schneegans/Burn-My-Windows/releases/tag/v11)
**Release Date:** 2022-02-03
#### New Features
* Added an about-dialog which shows all translators and sponsors.
#### Enhancements
* There are several new translations! Thanks a lot to all the translators! We now have translations for:
* German
* English
* Czech
* Dutch
* French
* Italian
* Norwegian Bokmål
* Spanish
* A new issue template for suggesting new effects has been added.
#### Fixes
* Fixed an issue which caused corrupted windows when trying to maximize windows while the window-open animation was still running (#82, #86, #91).
## [Burn My Windows 10](https://github.com/schneegans/Burn-My-Windows/releases/tag/v10)
**Release Date:** 2022-01-31
#### New Features
<a href="https://youtu.be/L2aaNF_rPHo"><img align="right" src ="pics/bmw10.jpg" /></a>
* **Effects for Window Opening.** You can now select effects which are applied on newly opened windows! I expect that there are some bugs left, so please [report any issue you find](https://github.com/Schneegans/Burn-My-Windows/issues)!
* **New Effect: Broken Glass.** Shatter your windows into a shower sharp shards! This effect can be configured so that the shards fly away from your mouse pointer position!
* **Preview Buttons** have been added to the effect-configuration pages of the preferences dialog. These can be used to, well, preview the current settings (without having to enable the effect first).
* **Translations!** It is now possible to [translate the preferences dialog](https://hosted.weblate.org/engage/burn-my-windows/). There is already a finished German translation, and in-progress translations to Italian and Norwegian Bokmål.
* **A "Vertical Overshooting" option** was added to the Matrix Effect: This can add some vertical variation to the start and end position of the letter drops.
#### Other Enhancements
* Added a menu entry with a link to the guide for creating new effect types.
* Thanks to improved timing, the default animation time of several effects could be reduced.
* The README now shows the current lines of code and the current comment percentage using my [dynamic-badges-action](https://github.com/Schneegans/dynamic-badges-action).
* **Add advanced CI tests:** For each commit to `main`, it is now tested whether the extension can be installed and if the preferences dialog can be shown on GNOME Shell 3.36, 3.38, 40, and 41. Both, X11 and Wayland are checked.
## [Burn My Windows 9](https://github.com/schneegans/Burn-My-Windows/releases/tag/v9)
**Release Date:** 2022-01-18
#### Fixes
* Improved compatibility with [Show Application View When Workspace Empty ](https://extensions.gnome.org/extension/2036/show-application-view-when-workspace-empty/) (#54).
* Fixed a crash which happened when the window-close icon in the overview was clicked twice (#49).
## [Burn My Windows 8](https://github.com/schneegans/Burn-My-Windows/releases/tag/v8)
**Release Date:** 2022-01-17
#### New Features
* **Random effects!** You can now select a set of effects of which one will be chosen randomly whenever you close a window. **This changes how effects are selected, so you will have to re-select your desired effect(s)**.
* **New Effect: Energize A.** Beam your windows away!
* **New Effect: Energize B.** Using different transporter technology results in an alternative visual effect.
* **New Effect: Wisps.** These little fairies carry your windows to the realm of dreams!
* Each effect has its own "Animation Time" setting now. The global animation time has been replaced by those, so **you may have to adjust the sliders to match your previous settings**.
#### Other Enhancements
* A [guide for creating new effects](how-to-create-new-effects.md) has been added.
* The source code has received a **major refactoring**. This will make the addition of new effects much easier in the future.
* The **layout of the settings dialog** has been reworked to make it easier to expand it in the future.
* The lower limit of the **animation time of the TV Effect** has been reduced.
* The T-Rex-Attack effect is not shown in fully transparent regions of a window any more.
* The shaders now use a different noise implementation which produces better 3D noise.
#### Fixes
* The extension now works even if GNOME Shell's animations are disabled globally.
## [Burn My Windows 7](https://github.com/schneegans/Burn-My-Windows/releases/tag/v7)
**Release Date:** 2022-01-03
#### New Features
* An option to use a 3D noise for the fire shader has been added. This will add some more temporal variation to the flames at the cost of slightly decreased rendering performance.
* A changelog entry has been added to the menu of the preferences dialog.
#### Fixes
* Resolve copyright issues by using a MIT-licensed noise implementation.
## [Burn My Windows 6](https://github.com/schneegans/Burn-My-Windows/releases/tag/v6)
**Release Date:** 2022-01-02
#### Fixes
* Removed a debug log message.
## [Burn My Windows 5](https://github.com/schneegans/Burn-My-Windows/releases/tag/v5)
**Release Date:** 2022-01-02
#### New Features
* Added a new ridiculous close-animation: the T-Rex-Attack!
* Added a new simple close-animation: the TV-Effect!
* Added a menu to the preferences dialog with links for bug reporting and donations.
#### Other Enhancements
* The fire shader now uses a `smoothstep` to make it less blocky.
#### Bug Fixes
* Fixed a bug which messed up the overview of GNOME Shell 3.36.
## [Burn My Windows 4](https://github.com/schneegans/Burn-My-Windows/releases/tag/v4)
**Release Date:** 2021-12-25
#### New Features
* Added a new Matrix shader which dissolves your windows in a shower of green letters. You can switch between the fire and the matrix shader in the settings. Sadly, this effect cannot be available under GNOME 3.3x as it was apparently impossible to set textures for a `Clutter.ShaderEffect` in GJS back then.
* Added a setting to apply the animation also for closing dialog windows.
#### Other Enhancements
* Refactored the code a lot to make it easier to add new shader effects in the future.
* Tweaked timing of the fire shader. Previously, the fire became invisible quite quickly. Due to this new animation timing, the default animation time has been reduced to 1500 ms.
## [Burn My Windows 3](https://github.com/schneegans/Burn-My-Windows/releases/tag/v3)
**Release Date:** 2021-12-20
#### New Features
* Add support for GNOME 3.36 and GNOME 3.38.
## [Burn My Windows 2](https://github.com/schneegans/Burn-My-Windows/releases/tag/v2)
**Release Date:** 2021-12-16
@@ -10,7 +243,7 @@
* Added the possibility to adjust flame speed and scale.
* Added some fire presets.
## [Burn My Window 1](https://github.com/schneegans/Burn-My-Windows/releases/tag/v1)
## [Burn My Windows 1](https://github.com/schneegans/Burn-My-Windows/releases/tag/v1)
**Release Date:** 2021-12-14
+570
View File
@@ -0,0 +1,570 @@
# 🔥 Creating a new Effect for Burn-My-Windows
The extension is very modular and with a bit of creativity and GLSL knowledge, you can easily create your own effects.
If you are happy with your results, please open a pull request so that we can include your effect in the next version of Burn-My-Windows!
_:warning: For now, this guide is only for GNOME Shell (and not for KWin). As soon as the API for KWin is more stable, this guide will be updated._
### Before you Start
First you should [fork the repository](https://github.com/Schneegans/Burn-My-Windows/fork) and clone it to your PC.
Afterwards, use a terminal in the directory of the cloned repository to install the extension.
```bash
make install
```
_:information_source: Whenever you changed something in the source code, you will have to call this command and restart GNOME Shell with <kbd>Alt</kbd> + <kbd>F2</kbd>, <kbd>r</kbd> + <kbd>Enter</kbd>.
Or logout / login if you are on Wayland to see the changes._
### Debugging
Debugging GNOME Shell extensions is a bit difficult.
Most of the time, you will print messages to a log in order to understand what is going on.
To make this a bit more convenient, Burn-My-Windows includes the method `utils.debug("Hello World")`.
With this, each line will be prefixed with the extension's name, which will make spotting log messages more easy. You can use the following command to watch the log output; it will highlight all messages from Burn-My-Windows:
```bash
journalctl -f -o cat | grep -E 'burn-my-windows|'
```
## Adding a new Effect
For the sake of this tutorial, we will create a **"Simple Fade"** effect.
Of course, you can replace any occurrence of this name and its nick `simple-fade` with your custom effect name.
Three simple steps are required to create a new effect.
You will have to ...
1. add preferences keys for enabling the effect,
2. create an additional effects class, and finally
3. register the new effect in two places.
### 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.
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 remember to replace `simple-fade` with your custom name!
```xml
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- Simple Fade Effect Options -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<key name="simple-fade-close-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>
</key>
<key name="simple-fade-animation-time" type="i">
<default>1500</default>
<summary>Simple Fade Animation Time</summary>
<description>The time the Simple Fade effect takes.</description>
</key>
<key name="simple-fade-width" type="d">
<default>0.1</default>
<summary>Simple Fade Width</summary>
<description>Width of the fading effect.</description>
</key>
```
### 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`.
Simply paste the following source code to the respective file.
Please study this code carefully, all of it is explained with inline comments.
<details>
<summary>Expand this to show the GLSL code.</summary>
```glsl
// The content from common.glsl is automatically prepended to each shader effect. This
// provides the standard input:
// vec2 iTexCoord: Texture coordinates for retrieving the window input color.
// bool uForOpening: True if a window-open animation is ongoing, false otherwise.
// float uProgress: A value which transitions from 0 to 1 during the animation.
// float uDuration: The duration of the current animation in seconds.
// vec2 uSize: The size of uTexture in pixels.
// float uPadding: The empty area around the actual window (e.g. where the shadow
// is drawn). For now, this will only be set on GNOME.
// Furthermore, there are two global methods for reading the window input color and
// setting the shader output color. Both methods assume straight alpha:
// vec4 getInputColor(vec2 coords)
// void setOutputColor(vec4 outColor)
// The width of the fading effect is loaded from the settings.
uniform float uFadeWidth;
void main() {
// Get the color from the window texture.
vec4 oColor = getInputColor(iTexCoord.st);
// Radial distance from window edge to the window's center.
float dist = length(iTexCoord.st - 0.5) * 2.0 / sqrt(2.0);
// This gradually dissolves from [1..0] from the outside to the center. We
// switch the direction for opening and closing.
float progress = uForOpening ? 1.0 - uProgress : uProgress;
float mask = (1.0 - progress * (1.0 + uFadeWidth) - dist + uFadeWidth) / uFadeWidth;
// Make the mask smoother.
mask = smoothstep(0, 1, mask);
// Apply the mask to the output.
oColor.a *= mask;
setOutputColor(oColor);
}
```
</details>
<details>
<summary>Expand this to show the JavaScript code.</summary>
```javascript
//////////////////////////////////////////////////////////////////////////////////////////
// ) ( //
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
// |__/ //
// Copyright (c) 2021 Simon Schneegans //
// Released under the GPLv3 or later. See LICENSE file for details. //
//////////////////////////////////////////////////////////////////////////////////////////
'use strict';
const GObject = imports.gi.GObject;
const _ = imports.gettext.domain('burn-my-windows').gettext;
const ExtensionUtils = imports.misc.extensionUtils;
const Me = imports.misc.extensionUtils.getCurrentExtension();
const utils = Me.imports.src.utils;
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
//////////////////////////////////////////////////////////////////////////////////////////
// This effect ... //
// <- Please add a description of your effect here -> //
//////////////////////////////////////////////////////////////////////////////////////////
// The effect class can be used to get some metadata (like the effect's name or supported
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
// well as to create the actual shader for the effect.
var SimpleFade = class {
// The constructor creates a ShaderFactory which will be used by extension.js to create
// shader instances for this effect. The shaders will be automagically created using the
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
// newly created shader instance.
constructor() {
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
// Store uniform locations of newly created shaders.
shader._uFadeWidth = shader.get_uniform_location('uFadeWidth');
// Write all uniform values at the start of each animation.
shader.connect('begin-animation', (shader, settings) => {
shader.set_uniform_float(shader._uFadeWidth, 1, [settings.get_double('simple-fade-width')]);
});
});
}
// ---------------------------------------------------------------------------- metadata
// The effect is available on all GNOME Shell versions supported by this extension.
getMinShellVersion() {
return [3, 36];
}
// This will be called in various places where a unique identifier for this effect is
// required. It should match the prefix of the settings keys which store whether the
// effect is enabled currently (e.g. '*-close-effect'), and its animation time
// (e.g. '*-animation-time').
getNick() {
return 'simple-fade';
}
// This will be shown in the sidebar of the preferences dialog as well as in the
// drop-down menus where the user can choose the effect.
getLabel() {
return _('Simple Fade Effect');
}
// -------------------------------------------------------------------- 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) {
// Empty for now... Code is added here later in the tutorial!
return null;
}
// ---------------------------------------------------------------- API for extension.js
// The getActorScale() is called from extension.js to adjust the actor's size during the
// animation. This is useful if the effect requires drawing something beyond the usual
// bounds of the actor. This only works for GNOME 3.38+.
getActorScale(settings) {
return {x: 1.0, y: 1.0};
}
}
```
</details>
### 3. Registering the new Effect
You will have to register the new effect in two files.
Both, [`extension.js`](../extension.js) and [`prefs.js`](../prefs.js) define an array in the beginning where you have to add an import to your new effect.
Like this:
```javascript
const ALL_EFFECTS = [
...
new Me.imports.src.SimpleFade.SimpleFade(),
...
];
```
### Testing your Effect
Now you can call `make install` and restart GNOME Shell with <kbd>Alt</kbd> + <kbd>F2</kbd>, <kbd>r</kbd> + <kbd>Enter</kbd>.
Or logout / login if you are on Wayland.
You can open the extension's preferences and choose the new effect!
However, there are no configuration options yet.
It is also not possible to adjust the animation time setting.
```bash
gnome-extensions prefs burn-my-windows@schneegans.github.com
```
## Adding a Preferences Page
There should be two sliders in this example: The animation duration and the width of the fading gradient.
If your effect supports GNOME Shell 3.3x _and_ GNOME Shell 40+, you will have to provide two `*.ui` files for this.
This is because starting with GNOME Shell 40, the preference dialog uses GTK4, before it used to use GTK3.
Usually, there are only a few minor differences between the two files.
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` and `resources/ui/gtk4/SimpleFade.ui` respectively.
Remember to replace any occurrence of `simple-fade` with your effect's nick-name!
<details>
<summary>Expand this to show the GTK3 code.</summary>
```xml
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object class="GtkAdjustment" id="simple-fade-animation-time">
<property name="upper">5000</property>
<property name="lower">100</property>
<property name="step-increment">10</property>
<property name="page-increment">100</property>
</object>
<object class="GtkAdjustment" id="simple-fade-width">
<property name="upper">1</property>
<property name="lower">0</property>
<property name="step-increment">0.01</property>
<property name="page-increment">0.1</property>
</object>
<object class="GtkBox" id="simple-fade-prefs">
<property name="orientation">vertical</property>
<child>
<object class="GtkFrame">
<child>
<object class="GtkListBox">
<property name="selection-mode">none</property>
<style>
<class name="rich-list" />
</style>
<child>
<object class="GtkListBoxRow">
<property name="margin-start">10</property>
<property name="margin-end">10</property>
<property name="margin-top">10</property>
<property name="margin-bottom">10</property>
<property name="activatable">0</property>
<child>
<object class="GtkBox">
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Animation Time [ms]</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
</object>
</child>
<child>
<object class="GtkScale">
<property name="halign">end</property>
<property name="valign">center</property>
<property name="draw-value">1</property>
<property name="digits">0</property>
<property name="value-pos">left</property>
<property name="width-request">300</property>
<property name="adjustment">simple-fade-animation-time</property>
</object>
</child>
<child>
<object class="GtkButton" id="reset-simple-fade-animation-time">
<child>
<object class="GtkImage">
<property name="icon-name">edit-clear-symbolic</property>
<property name="icon-size">1</property>
</object>
</child>
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
<style>
<class name="flat" />
</style>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkListBoxRow">
<property name="margin-start">10</property>
<property name="margin-end">10</property>
<property name="margin-top">10</property>
<property name="margin-bottom">10</property>
<property name="activatable">0</property>
<child>
<object class="GtkBox">
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Fade Width</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
</object>
</child>
<child>
<object class="GtkScale">
<property name="halign">end</property>
<property name="valign">center</property>
<property name="draw-value">1</property>
<property name="digits">2</property>
<property name="value-pos">left</property>
<property name="width-request">300</property>
<property name="adjustment">simple-fade-width</property>
</object>
</child>
<child>
<object class="GtkButton" id="reset-simple-fade-width">
<child>
<object class="GtkImage">
<property name="icon-name">edit-clear-symbolic</property>
<property name="icon-size">1</property>
</object>
</child>
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
<style>
<class name="flat" />
</style>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</interface>
```
</details>
<details>
<summary>Expand this to show the GTK4 code.</summary>
```xml
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object class="GtkAdjustment" id="simple-fade-animation-time">
<property name="upper">5000</property>
<property name="lower">100</property>
<property name="step-increment">10</property>
<property name="page-increment">100</property>
</object>
<object class="GtkAdjustment" id="simple-fade-width">
<property name="upper">1</property>
<property name="lower">0</property>
<property name="step-increment">0.01</property>
<property name="page-increment">0.1</property>
</object>
<object class="GtkBox" id="simple-fade-prefs">
<property name="orientation">vertical</property>
<child>
<object class="GtkFrame">
<child>
<object class="GtkListBox">
<property name="selection-mode">none</property>
<property name="show-separators">1</property>
<style>
<class name="rich-list" />
</style>
<child>
<object class="GtkListBoxRow">
<property name="activatable">0</property>
<child>
<object class="GtkBox">
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Animation Time [ms]</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
</object>
</child>
<child>
<object class="GtkScale">
<property name="halign">end</property>
<property name="valign">center</property>
<property name="draw-value">1</property>
<property name="digits">0</property>
<property name="value-pos">left</property>
<property name="width-request">300</property>
<property name="adjustment">simple-fade-animation-time</property>
</object>
</child>
<child>
<object class="GtkButton" id="reset-simple-fade-animation-time">
<property name="icon-name">edit-clear-symbolic</property>
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
<style>
<class name="flat" />
</style>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkListBoxRow">
<property name="activatable">0</property>
<child>
<object class="GtkBox">
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Fade Width</property>
<property name="xalign">0</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
</object>
</child>
<child>
<object class="GtkScale">
<property name="halign">end</property>
<property name="valign">center</property>
<property name="draw-value">1</property>
<property name="digits">2</property>
<property name="value-pos">left</property>
<property name="width-request">300</property>
<property name="adjustment">simple-fade-width</property>
</object>
</child>
<child>
<object class="GtkButton" id="reset-simple-fade-width">
<property name="icon-name">edit-clear-symbolic</property>
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
<style>
<class name="flat" />
</style>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</interface>
```
</details>
### Loading the Preferences Page
In order to load the above `*.ui` files, add the following code to your effect's `getPreferences()` method.
```javascript
static getPreferences(dialog) {
// Add the settings page to the builder.
dialog.getBuilder().add_from_resource(`/ui/${utils.getGTKString()}/SimpleFade.ui`);
// 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');
}
```
Once this is in place, you can kill the extension-preferences process and re-open the settings.
It is not required to reload GNOME Shell for developing the preferences dialog!
Here's a handy one-liner to do this:
```bash
make install && pkill -f '.Extensions' && sleep 2 ; gnome-extensions prefs burn-my-windows@schneegans.github.com
```
## Summing Up
That's it!
If you have any questions, feel free to [ask them on the discussions board](https://github.com/Schneegans/Burn-My-Windows/discussions).
If you are happy with your effect, submit a pull request, and it may get included in the next version!
+7
View File
@@ -0,0 +1,7 @@
# Preview GIFs
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
```
Binary file not shown.

After

Width:  |  Height:  |  Size: 415 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 958 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 949 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 615 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 975 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 928 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 936 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 821 KiB

+488 -225
View File
@@ -13,21 +13,31 @@
'use strict';
const {Clutter} = imports.gi;
const {Clutter, Gio, Meta} = imports.gi;
const Workspace = imports.ui.workspace.Workspace;
const WindowManager = imports.ui.windowManager.WindowManager;
const WINDOW_REPOSITIONING_DELAY = imports.ui.workspace.WINDOW_REPOSITIONING_DELAY;
const Main = imports.ui.main;
const Workspace = imports.ui.workspace.Workspace;
const WindowManager = imports.ui.windowManager.WindowManager;
// The WindowPreview class is only available on GNOME Shell 3.38+;
let WindowPreview = null;
try {
WindowPreview = imports.ui.windowPreview.WindowPreview;
} catch (error) {
// Nothing to be done, we are on GNOME Shell 3.36.
}
const ExtensionUtils = imports.misc.extensionUtils;
const Me = imports.misc.extensionUtils.getCurrentExtension();
const utils = Me.imports.utils;
const utils = Me.imports.src.utils;
//////////////////////////////////////////////////////////////////////////////////////////
// This extensions modifies the window-close animation to look like the window was set //
// on fire. While this is definitely a homage to the good old Compiz plugin, it is //
// implemented differently. While Compiz used a particle system, this extension uses a //
// perlin noise shader. //
// This extensions modifies the window-close and window-open animations with all kinds //
// of effects. The effects are implemented using GLSL shaders which are applied to the //
// window's Clutter.Actor. The extension is actually very simple, much of the //
// complexity comes from the fact that GNOME Shell usually does not show an animation //
// when a window is closed in the overview. Several methods need to be monkey-patched //
// to get this working. For more details, read the other comments in this file... //
//////////////////////////////////////////////////////////////////////////////////////////
class Extension {
@@ -38,266 +48,519 @@ class Extension {
// from GNOME Tweaks, when you log in or when the screen is unlocked.
enable() {
// 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.EnergizeA.EnergizeA(),
new Me.imports.src.EnergizeB.EnergizeB(),
new Me.imports.src.Fire.Fire(),
new Me.imports.src.Hexagon.Hexagon(),
new Me.imports.src.Incinerate.Incinerate(),
new Me.imports.src.Matrix.Matrix(),
new Me.imports.src.SnapOfDisintegration.SnapOfDisintegration(),
new Me.imports.src.TRexAttack.TRexAttack(),
new Me.imports.src.TVEffect.TVEffect(),
new Me.imports.src.Wisps.Wisps(),
];
// Load all of our resources.
this._resources = Gio.Resource.load(Me.path + '/resources/burn-my-windows.gresource');
Gio.resources_register(this._resources);
// Store a reference to the settings object.
this._settings = ExtensionUtils.getSettings();
// We will monkey-patch these three methods. Let's store the original ones.
this._origWindowRemoved = Workspace.prototype._windowRemoved;
this._origDoRemoveWindow = Workspace.prototype._doRemoveWindow;
this._origShouldAnimateActor = WindowManager.prototype._shouldAnimateActor;
// We may also override these animation times.
this._origDestroyTime = imports.ui.windowManager.DESTROY_WINDOW_ANIMATION_TIME;
const loadAnimationTimes = () => {
imports.ui.windowManager.DESTROY_WINDOW_ANIMATION_TIME =
this._settings.get_int('destroy-animation-time');
};
this._settings.connect('changed::destroy-animation-time', loadAnimationTimes);
loadAnimationTimes();
// We will use extensionThis to refer to the extension inside the patched methods of
// the WorkspacesView.
// We will use extensionThis to refer to the extension inside the patched methods.
const extensionThis = this;
// These three method overrides are mega-hacky! They are only required to make the
// fire animation work in the overview. 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,
// they 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#L1299
// This is used to get the battery state.
const UPowerProxy = Gio.DBusProxy.makeProxyWrapper(
utils.getStringResource('/interfaces/org.freedesktop.UPower.xml'));
this._upowerProxy = new UPowerProxy(Gio.DBus.system, 'org.freedesktop.UPower',
'/org/freedesktop/UPower');
// We will monkey-patch these methods. Let's store the original ones.
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-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
// 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();
const orig = actor.ease;
actor.ease = function(...params) {
orig.apply(actor, params);
actor.ease = orig;
// 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);
});
}
};
});
// 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);
// The parameters of this method changed a bit through the versions...
let realWindow, clone;
if (utils.shellVersionIs(3, 36)) {
clone = result[0];
realWindow = clone.realWindow;
} else if (utils.shellVersionIs(3, 38)) {
clone = result._windowContainer;
realWindow = params[0].get_compositor_private();
} else {
clone = result.window_container;
realWindow = params[0].get_compositor_private();
}
// Syncing the real window's scale with the scale of its clone only works on GNOME
// Shell 3.38+. So effects cannot scale windows in the overview of GNOME 3.36...
if (utils.shellVersionIsAtLeast(3, 38)) {
const xID = realWindow.connect('notify::scale-x', () => {
if (realWindow.scale_x > 0 && clone.allocation.get_size()[0] > 0) {
clone.scale_x = realWindow.scale_x;
}
});
const yID = realWindow.connect('notify::scale-y', () => {
if (realWindow.scale_y > 0 && clone.allocation.get_size()[1] > 0) {
clone.scale_y = realWindow.scale_y;
}
});
clone.connect('destroy', () => {
realWindow.disconnect(xID);
realWindow.disconnect(yID);
});
}
// This is actually needed for the window-close animation on GNOME Shell 3.36.
// On GNOME 3.36, the window clone's 'destroy' handler only calls _removeWindowClone
// but not _doRemoveWindow. The latter is required to trigger the repositioning of
// the overview window layout. Therefore we call this method in addition.
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/gnome-3-36/js/ui/workspace.js#L1877
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1405
if (utils.shellVersionIs(3, 36)) {
clone.connect('destroy', () => this._doRemoveWindow(clone.metaWindow));
}
return result;
};
// 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() {
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.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
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#L1178
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1180
Workspace.prototype._doRemoveWindow = function(metaWin) {
if (extensionThis._shouldDestroy(this, metaWin)) {
extensionThis._origDoRemoveWindow.apply(this, [metaWin]);
}
};
// Here comes the ULTRA-HACK: The method below is called (amongst others) by the
// _destroyWindow method of the WindowManager. Usually, it returns false when we are
// in the overview. This prevents the window-close animation. As we cannot
// monkey-patch the _destroyWindow method itself, we check inside the method below
// whether it was called by _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#L1125
WindowManager.prototype._shouldAnimateActor = function(actor, types) {
if ((new Error()).stack.split('\n')[1].includes('_destroyWindow@')) {
return true;
}
return extensionThis._origShouldAnimateActor.apply(this, [actor, types]);
};
// With the code below, we hide the window-overlay (icon, label, close button) in the
// overview once the close-animation is running. As the WindowPreview class is only
// available on GNOME 3.38 and beyond, we cannot hide the overlay on GNOME 3.36.
if (WindowPreview) {
// The close animation is set up in WindowManager's _destroyWindow:
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1549
// 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) => {
// The _destroyWindow method of WindowManager, which was called right before this
// one, set up the window close animation. This usually fades-out the window and
// scales it a bit down. If no transition is in progress, something unexpected
// happened. We rather try not to burn the window!
const transition = actor.get_transition('opacity');
if (!transition) {
return;
}
// We will monkey-patch these methods.
this._origDeleteAll = WindowPreview.prototype._deleteAll;
this._origRestack = WindowPreview.prototype._restack;
this._origInit = WindowPreview.prototype._init;
// If there's a transition in progress, we re-target these transitions so that the
// window is neither scaled nor faded.
const tweakTransition = (property, value) => {
const transition = actor.get_transition(property);
if (transition) {
transition.set_to(value);
transition.set_progress_mode(Clutter.AnimationMode.EASE_OUT_QUAD);
// Whenever a WindowPreview is created, we connect to the referenced Meta.Window's
// 'unmanaged' signal to hide the overlay.
WindowPreview.prototype._init = function(...params) {
extensionThis._origInit.apply(this, params);
// Hide the window's icon, name, and close button.
const connectionID = this.metaWindow.connect('unmanaged', () => {
if (this.window_container) {
this.overlayEnabled = false;
this._icon.visible = false;
}
});
// Make sure to not call the callback above if the Meta.Window was not unmanaged
// before leaving the overview.
this.connect('destroy', () => {
this.metaWindow.disconnect(connectionID);
});
};
// The _deleteAll is called when the user clicks the X in the overview. We should
// not attempt to close windows twice. Due to the animation in the overview, the
// close button can be clicked twice which normally would lead to a crash.
WindowPreview.prototype._deleteAll = function() {
if (!this._closeRequested) {
extensionThis._origDeleteAll.apply(this);
}
};
tweakTransition('opacity', 255);
tweakTransition('scale-x', 1);
tweakTransition('scale-y', 1);
// Instead, we add a cool fire shader to our window actor! The noise implementation
// is from https://www.shadertoy.com/view/3tcBzH (CC-BY-NC-SA).
const shader = new Clutter.ShaderEffect({
shader_type: Clutter.ShaderType.FRAGMENT_SHADER,
});
// Load the gradient values from the settings. We directly inject the values in the
// GLSL code below. The shader is compiled once for each window-closing anyways. In
// the future, we my want to prevent this frequent recompilations of shaders,
// though.
const gradient = [];
for (let i = 1; i <= 5; i++) {
const color =
Clutter.Color.from_string(this._settings.get_string('fire-color-' + i))[1];
gradient.push(`vec4(${color.red / 255}, ${color.green / 255}, ${
color.blue / 255}, ${color.alpha / 255})`);
}
shader.set_shader_source(`
uniform sampler2D texture;
uniform float progress;
uniform float time;
uniform int sizeX;
uniform int sizeY;
// These may be configurable in the future.
const float EDGE_BLEND = 70;
const float BURN_RANGE = 0.1;
const float BURN_TIME = 0.2;
const vec2 FIRE_SCALE = vec2(400, 600) * ${
this._settings.get_double('flame-scale')};
const float FIRE_SPEED = ${this._settings.get_double('flame-movement-speed')};
float rand(vec2 co) {
return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);
// This is required, else WindowPreview's _restack() which is called by the
// "this.overlayEnabled = false", sometimes tries to access an already delete
// WindowPreview.
WindowPreview.prototype._restack = function() {
if (!this._closeRequested) {
extensionThis._origRestack.apply(this);
}
float hermite(float t) {
return t * t * (3.0 - 2.0 * t);
}
float noiseImpl(vec2 co, float frequency) {
vec2 v = vec2(co.x * frequency, co.y * frequency);
float ix1 = floor(v.x);
float iy1 = floor(v.y);
float ix2 = floor(v.x + 1.0);
float iy2 = floor(v.y + 1.0);
float fx = hermite(fract(v.x));
float fy = hermite(fract(v.y));
float fade1 = mix(rand(vec2(ix1, iy1)), rand(vec2(ix2, iy1)), fx);
float fade2 = mix(rand(vec2(ix1, iy2)), rand(vec2(ix2, iy2)), fx);
return mix(fade1, fade2, fy);
}
float pNoise(vec2 co, float freq, int steps, float persistence) {
float value = 0.0;
float ampl = 1.0;
float sum = 0.0;
for(int i=0 ; i<steps ; i++) {
sum += ampl;
value += noiseImpl(co, freq) * ampl;
freq *= 2.0;
ampl *= persistence;
}
return value / sum;
}
vec4 getFireColor(float v) {
const float steps[5] = float[](0.0, 0.2, 0.35, 0.5, 0.8);
const vec4 colors[5] = vec4[](
${gradient[0]},
${gradient[1]},
${gradient[2]},
${gradient[3]},
${gradient[4]}
);
if (v < steps[0]) {
return colors[0];
}
for (int i=0; i<4; ++i) {
if (v <= steps[i+1]) {
return mix(colors[i], colors[i+1], vec4(v - steps[i])/(steps[i+1]-steps[i]));
}
}
return colors[4];
}
void main(void) {
float burnProgress = clamp(progress/BURN_TIME, 0, 1);
float afterBurnProgress = clamp((progress-BURN_TIME)/(1-BURN_TIME), 0, 1);
// Gradient from top to bottom.
float t = cogl_tex_coord_in[0].t * (1 - BURN_RANGE);
// Visible part of the window. Gradually dissolves towards the bottom.
float alpha = 1 - clamp((burnProgress - t) / BURN_RANGE, 0, 1);
// Get window texture.
cogl_color_out = texture2D(texture, cogl_tex_coord_in[0].st) * alpha;
// Gradient from top burning window.
float mask = clamp(t*(1-alpha)/burnProgress, 0, 1);
// Fade-out when the window burned down.
if (progress > BURN_TIME) {
mask *= mix(1, 1-t, afterBurnProgress) * pow(1-afterBurnProgress, 2);
}
// Fade at window borders.
vec2 pos = cogl_tex_coord_in[0].st * vec2(sizeX, sizeY);
mask *= clamp(pos.x / EDGE_BLEND, 0, 1);
mask *= clamp(pos.y / EDGE_BLEND, 0, 1);
mask *= clamp((sizeX - pos.x) / EDGE_BLEND, 0, 1);
mask *= clamp((sizeY - pos.y) / EDGE_BLEND, 0, 1);
vec2 firePos = pos / FIRE_SCALE;
firePos.y += time * FIRE_SPEED;
float noise = pNoise(firePos, 10.0, 5, 0.5);
// Modulate noise by mask and map to color.
vec4 color = getFireColor(noise*mask);
color.rgb *= color.a;
// cogl_color_out = vec4(mask);
cogl_color_out += color;
}
`);
actor.add_effect(shader);
// Update uniforms at each frame.
transition.connect('new-frame', (t) => {
shader.set_uniform_value('progress', t.get_progress());
shader.set_uniform_value('time', 0.001 * t.get_elapsed_time());
shader.set_uniform_value('sizeX', actor.width);
shader.set_uniform_value('sizeY', actor.height);
});
});
};
}
}
// This function could be called after the extension is uninstalled, disabled in GNOME
// Tweaks, when you log out or when the screen locks.
disable() {
// Restore the original behavior.
// Free all effect resources.
this._ALL_EFFECTS = [];
// Unregister our resources.
Gio.resources_unregister(this._resources);
// Restore the original window-open and window-close animations.
global.window_manager.disconnect(this._destroyConnection);
global.display.disconnect(this._windowCreatedConnection);
Workspace.prototype._windowRemoved = this._origWindowRemoved;
Workspace.prototype._doRemoveWindow = this._origDoRemoveWindow;
WindowManager.prototype._shouldAnimateActor = this._origShouldAnimateActor;
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._origDestroyTime;
imports.ui.windowManager.DESTROY_WINDOW_ANIMATION_TIME = this._origWindowTime;
imports.ui.windowManager.DIALOG_DESTROY_WINDOW_ANIMATION_TIME = this._origDialogTime;
if (WindowPreview) {
WindowPreview.prototype._deleteAll = this._origDeleteAll;
WindowPreview.prototype._restack = this._origRestack;
WindowPreview.prototype._init = this._origInit;
}
this._settings = null;
}
// ----------------------------------------------------------------------- private stuff
// This method adds one of the configured effects to the given actor. If forOpening is
// set to true, a effect from the enabled window-open animations is chosen, else an
// enabled window-close animation is used. This will also tweak the transitions of the
// given actor (e.g. scale it up if required).
_setupEffect(actor, forOpening) {
// 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;
}
// We do nothing if a dialog got closed and we should not burn them.
const shouldDestroyDialogs = this._settings.get_boolean('destroy-dialogs');
// 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');
if (isDialogWindow && !shouldDestroyDialogs && previewNick == '') {
this._fixAnimationTimes(isDialogWindow, forOpening, null);
return;
}
// 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;
}
// 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.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');
// The following is used to tweak the ongoing transitions of a window actor. Usually
// 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);
// To make things deterministic during testing, we set the effect duration to 5
// seconds.
const duration =
testMode ? 5000 : this._settings.get_int(effect.getNick() + '-animation-time');
// All animations are relative to the window's center.
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.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;
}
}
}
// This is required to enable window-close animations in the overview. See the comment
// for Workspace.prototype._windowRemoved above for an explanation.
_shouldDestroy(workspace, metaWindow) {
const index = workspace._lookupIndex(metaWindow);
if (index == -1) {
return true;
}
const actor = workspace._windows[index]._windowActor;
if (!actor.get_transition('opacity')) {
// 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;
}
+121
View File
@@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8"?>
<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>
+22
View File
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<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>300</default>
</entry>
<entry name="Shake" type="Double">
<default>3</default>
</entry>
<entry name="Twirl" type="Double">
<default>5</default>
</entry>
<entry name="Suction" type="Double">
<default>0.75</default>
</entry>
<entry name="Randomness" type="Double">
<default>0.5</default>
</entry>
</group>
</kcfg>
+4
View File
@@ -0,0 +1,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()]);
+8
View File
@@ -0,0 +1,8 @@
// 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));
Executable
+137
View File
@@ -0,0 +1,137 @@
#!/bin/bash
# -------------------------------------------------------------------------------------- #
# ) ( #
# ( /( ( ( ) ( ( ( ( )\ ) ( ( #
# )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( #
# ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ #
# | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) #
# | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< #
# |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ #
# |__/ #
# Copyright (c) 2021 Simon Schneegans #
# Released under the GPLv3 or later. See LICENSE file for details. #
# -------------------------------------------------------------------------------------- #
# This scripts takes the shaders of Burn-My-Windows as well as some other input files from
# the directories next to this script and creates effect for KDE's Kwin.
# Exit the script when one command fails.
set -e
# Go to the script's directory.
cd "$( cd "$( dirname "$0" )" && pwd )" || \
{ echo "ERROR: Could not find kwin directory."; exit 1; }
# We will store the effect directories in this directory.
BUILD_DIR="_build"
# Create it if it's not there yet.
mkdir -p "$BUILD_DIR"
# 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")
# $3: A short description of the effect (e.g. "Beam your windows away")
generate() {
# We use the nick for the effect's directory name by replacing dashes with underscoares.
DIR_NAME="kwin4_effect_$(echo "$1" | tr '-' '_')"
# We transform the nick to CamelCase for the JavaScript class name.
EFFECT_CLASS="BurnMyWindows$(sed -r 's/(^|-)(\w)/\U\2/g' <<<"$1")Effect"
# Now create all required resource directories.
mkdir -p "$BUILD_DIR/$DIR_NAME/contents/shaders"
mkdir -p "$BUILD_DIR/$DIR_NAME/contents/code"
mkdir -p "$BUILD_DIR/$DIR_NAME/contents/config"
mkdir -p "$BUILD_DIR/$DIR_NAME/contents/ui"
# Copy the config file if it exists.
if [ -f "$1/main.xml" ]; then
cp "$1/main.xml" "$BUILD_DIR/$DIR_NAME/contents/config"
fi
# Copy the ui file if it exists.
if [ -f "$1/config.ui" ]; then
cp "$1/config.ui" "$BUILD_DIR/$DIR_NAME/contents/ui"
fi
# Now we create the effect's JavaScript source file. This is done by taking main.js.in
# and replacing some placeholders with effect-specific files and values.
ON_SETTINGS_CHANGE=""
ON_ANIMATION_BEGIN=""
# If the effect's directory contains a onSettingsChanged.js, we replace the
# corresponding placeholder with it's content. We replace all occurences of / temporily
# so that the REGEX works.
if [ -f "$1/onSettingsChanged.js" ]; then
ON_SETTINGS_CHANGE=$(tr '/' '\f' < "$1/onSettingsChanged.js")
fi
# Similarily, we will inject the contents of onAnimationBegin.js.
if [ -f "$1/onAnimationBegin.js" ]; then
ON_ANIMATION_BEGIN=$(tr '/' '\f' < "$1/onAnimationBegin.js")
fi
cp main.js.in "$BUILD_DIR/$DIR_NAME/contents/code/main.js"
perl -pi -e "s/%ON_SETTINGS_CHANGE%/$ON_SETTINGS_CHANGE/g;" "$BUILD_DIR/$DIR_NAME/contents/code/main.js"
perl -pi -e "s/%ON_ANIMATION_BEGIN%/$ON_ANIMATION_BEGIN/g;" "$BUILD_DIR/$DIR_NAME/contents/code/main.js"
perl -pi -e "s/%EFFECT_CLASS%/$EFFECT_CLASS/g;" "$BUILD_DIR/$DIR_NAME/contents/code/main.js"
perl -pi -e "s/%SHADER_NAME%/$1/g;" "$BUILD_DIR/$DIR_NAME/contents/code/main.js"
perl -pi -e "s/\f/\//g;" "$BUILD_DIR/$DIR_NAME/contents/code/main.js"
# Now create the metadata.desktop file. Again, we replace some placeholders.
cp metadata.desktop.in "$BUILD_DIR/$DIR_NAME/metadata.desktop"
perl -pi -e "s/%ICON%/$1/g;" "$BUILD_DIR/$DIR_NAME/metadata.desktop"
perl -pi -e "s/%NAME%/$2/g;" "$BUILD_DIR/$DIR_NAME/metadata.desktop"
perl -pi -e "s/%DESCRIPTION%/$3/g;" "$BUILD_DIR/$DIR_NAME/metadata.desktop"
perl -pi -e "s/%DIR_NAME%/$DIR_NAME/g;" "$BUILD_DIR/$DIR_NAME/metadata.desktop"
# Now create the two required shader files. We prepend the common.glsl to each shader.
# We also define KWIN and KWIN_LEGACY. The code in common.glsl takes some different
# paths based on these defines.
{
echo "#version 140"
echo "#define KWIN"
echo ""
echo "// This file is automatically generated during the build process."
echo ""
cat "../resources/shaders/common.glsl"
cat "../resources/shaders/$1.frag"
} > "$BUILD_DIR/$DIR_NAME/contents/shaders/$1_core.frag"
{
echo "#define KWIN_LEGACY"
echo ""
echo "// This file is automatically generated during the build process."
echo ""
cat "../resources/shaders/common.glsl"
cat "../resources/shaders/$1.frag"
} > "$BUILD_DIR/$DIR_NAME/contents/shaders/$1.frag"
# If clang-format is installed, try to beauty the code a bit.
if command -v clang-format &> /dev/null
then
clang-format -i "$BUILD_DIR/$DIR_NAME/contents/code/main.js"
fi
}
# 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 "energize-a" "[BMW] Energize A" "Beam your windows away"
generate "energize-b" "[BMW] Energize B" "Using different transporter technology results in an alternative visual effect"
generate "fire" "[BMW] Fire" "The classic effect inspired by Compiz"
generate "hexagon" "[BMW] Hexagon" "With glowing lines and hexagon-shaped tiles, this effect looks very sci-fi"
generate "incinerate" "[BMW] Incinerate" "A less snappy but definitely more fancy take on the fire effect"
generate "tv" "[BMW] TV Effect" "Make windows close like turning off a TV"
generate "wisps" "[BMW] Wisps" "Let your windows be carried away to the realm of dreams by these little fairies"
# Finally, create an archive for the effects.
# shellcheck disable=SC2046
tar -cjf "burn_my_windows_kwin4.tar.gz" -C "$BUILD_DIR" $(ls "$BUILD_DIR")
+94
View File
@@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>BMWConfigForm</class>
<widget class="QWidget" name="BMWConfigForm">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>562</width>
<height>365</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Duration:</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>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="1" column="1">
<widget class="KColorButton" name="kcfg_Color">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<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="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="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>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>KColorButton</class>
<extends>QPushButton</extends>
<header>kcolorbutton.h</header>
</customwidget>
</customwidgets>
<resources />
<connections />
</ui>
+16
View File
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<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>2000</default>
</entry>
<entry name="Scale" type="Double">
<default>1</default>
</entry>
<entry name="Color" type="Color">
<default>#FFC832</default>
</entry>
</group>
</kcfg>
+7
View File
@@ -0,0 +1,7 @@
// 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, 'uColor', this.readRGBConfig('Color'));
effect.setUniform(this.shader, 'uScale', effect.readConfig('Scale', 1.0));
+94
View File
@@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>BMWConfigForm</class>
<widget class="QWidget" name="BMWConfigForm">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>562</width>
<height>365</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Duration:</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>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="1" column="1">
<widget class="KColorButton" name="kcfg_Color">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<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="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="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>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>KColorButton</class>
<extends>QPushButton</extends>
<header>kcolorbutton.h</header>
</customwidget>
</customwidgets>
<resources />
<connections />
</ui>
+16
View File
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<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>1000</default>
</entry>
<entry name="Scale" type="Double">
<default>1</default>
</entry>
<entry name="Color" type="Color">
<default>#A0B4FF</default>
</entry>
</group>
</kcfg>
+7
View File
@@ -0,0 +1,7 @@
// 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, 'uColor', this.readRGBConfig('Color'));
effect.setUniform(this.shader, 'uScale', effect.readConfig('Scale', 1.0));
+132
View File
@@ -0,0 +1,132 @@
<?xml version="1.0" encoding="UTF-8"?>
<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="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Line Color:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QDoubleSpinBox" name="kcfg_LineWidth">
<property name="minimum">
<double>1.000000000000000</double>
</property>
<property name="maximum">
<double>5.000000000000000</double>
</property>
</widget>
</item>
<item row="3" 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="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="2" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Glow Color:</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>Line Width:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</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="3" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Scale:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QCheckBox" name="kcfg_AdditiveBlending">
<property name="text">
<string>Additive Blending</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="KColorButton" name="kcfg_GlowColor">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="KColorButton" name="kcfg_LineColor">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>KColorButton</class>
<extends>QPushButton</extends>
<header>kcolorbutton.h</header>
</customwidget>
</customwidgets>
<resources />
<connections />
</ui>
+34
View File
@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
<kcfgfile name="" />
<group name="">
<entry name="Duration" type="UInt">
<default>1500</default>
</entry>
<entry name="Scale" type="Double">
<default>1</default>
</entry>
<entry name="MovementSpeed" type="Double">
<default>0.5</default>
</entry>
<entry name="Gradient1" type="Color">
<default>#004c3319</default>
</entry>
<entry name="Gradient2" type="Color">
<default>#a0b4371e</default>
</entry>
<entry name="Gradient3" type="Color">
<default>#b5ff4c26</default>
</entry>
<entry name="Gradient4" type="Color">
<default>#ffffa619</default>
</entry>
<entry name="Gradient5" type="Color">
<default>#ffffffff</default>
</entry>
<entry name="3DNoise" type="Bool">
<default>false</default>
</entry>
</group>
</kcfg>
+14
View File
@@ -0,0 +1,14 @@
// 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, 'u3DNoise',
effect.readConfig('3DNoise', true) ? 1.0 : 0.0);
effect.setUniform(this.shader, 'uScale', effect.readConfig('Scale', 1.0));
effect.setUniform(this.shader, 'uMovementSpeed', effect.readConfig('MovementSpeed', 1.0));
effect.setUniform(this.shader, 'uGradient1', this.readRGBAConfig('Gradient1'));
effect.setUniform(this.shader, 'uGradient2', this.readRGBAConfig('Gradient2'));
effect.setUniform(this.shader, 'uGradient3', this.readRGBAConfig('Gradient3'));
effect.setUniform(this.shader, 'uGradient4', this.readRGBAConfig('Gradient4'));
effect.setUniform(this.shader, 'uGradient5', this.readRGBAConfig('Gradient5'));
+132
View File
@@ -0,0 +1,132 @@
<?xml version="1.0" encoding="UTF-8"?>
<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="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Line Color:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QDoubleSpinBox" name="kcfg_LineWidth">
<property name="minimum">
<double>1.000000000000000</double>
</property>
<property name="maximum">
<double>5.000000000000000</double>
</property>
</widget>
</item>
<item row="3" 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="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="2" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Glow Color:</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>Line Width:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</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="3" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Scale:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QCheckBox" name="kcfg_AdditiveBlending">
<property name="text">
<string>Additive Blending</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="KColorButton" name="kcfg_GlowColor">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="KColorButton" name="kcfg_LineColor">
<property name="alphaChannelEnabled">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>KColorButton</class>
<extends>QPushButton</extends>
<header>kcolorbutton.h</header>
</customwidget>
</customwidgets>
<resources />
<connections />
</ui>
+25
View File
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
<kcfgfile name="" />
<group name="">
<entry name="Duration" type="UInt">
<default>1500</default>
</entry>
<entry name="Scale" type="Double">
<default>3</default>
</entry>
<entry name="LineWidth" type="Double">
<default>2</default>
</entry>
<entry name="LineColor" type="Color">
<default>#80C8FFFF</default>
</entry>
<entry name="GlowColor" type="Color">
<default>#801450FF</default>
</entry>
<entry name="AdditiveBlending" type="Bool">
<default>true</default>
</entry>
</group>
</kcfg>
+4
View File
@@ -0,0 +1,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()]);
+10
View File
@@ -0,0 +1,10 @@
// 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, 'uAdditiveBlending',
effect.readConfig('AdditiveBlending', true) ? 1.0 : 0.0);
effect.setUniform(this.shader, 'uScale', effect.readConfig('Scale', 1.0));
effect.setUniform(this.shader, 'uLineWidth', effect.readConfig('LineWidth', 1.0));
effect.setUniform(this.shader, 'uGlowColor', this.readRGBAConfig('GlowColor'));
effect.setUniform(this.shader, 'uLineColor', this.readRGBAConfig('LineColor'));
+117
View File
@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="UTF-8"?>
<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="1" column="1">
<widget class="KColorButton" name="kcfg_Color">
<property name="alphaChannelEnabled">
<bool>true</bool>
</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>
<property name="singleStep">
<number>0.1</number>
</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="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="1" 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="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="3" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Turbulence:</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_Turbulence">
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<number>0.1</number>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>KColorButton</class>
<extends>QPushButton</extends>
<header>kcolorbutton.h</header>
</customwidget>
</customwidgets>
<resources />
<connections />
</ui>
+19
View File
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<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>2000</default>
</entry>
<entry name="Scale" type="Double">
<default>1</default>
</entry>
<entry name="Turbulence" type="Double">
<default>0.3</default>
</entry>
<entry name="Color" type="Color">
<default>#ffb47f</default>
</entry>
</group>
</kcfg>
+4
View File
@@ -0,0 +1,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()]);
+8
View File
@@ -0,0 +1,8 @@
// 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, 'uColor', this.readRGBConfig('Color'));
effect.setUniform(this.shader, 'uScale', effect.readConfig('Scale', 1.0));
effect.setUniform(this.shader, 'uTurbulence', effect.readConfig('Turbulence', 1.0));
+202
View File
@@ -0,0 +1,202 @@
/*
This file is part of the Burn-My-Windows project.
SPDX-FileCopyrightText: 2018, 2021, 2022 Vlad Zahorodnii <vlad.zahorodnii@kde.org>, Martin Flöser <mgraesslin@kde.org>, Simon Schneegans <code@simonschneegans.de>
SPDX-License-Identifier: GPL-3.0-or-later
*/
"use strict";
const blacklist = [
// The logout screen has to be animated only by the logout effect.
"ksmserver ksmserver",
"ksmserver-logout-greeter ksmserver-logout-greeter",
// KDE Plasma splash screen has to be animated only by the login effect.
"ksplashqml ksplashqml"
];
class %EFFECT_CLASS% {
constructor() {
effect.configChanged.connect(this.loadConfig.bind(this));
effect.animationEnded.connect(this.cleanupForcedRoles.bind(this));
effects.windowAdded.connect(this.slotWindowAdded.bind(this));
effects.windowClosed.connect(this.slotWindowClosed.bind(this));
effects.windowDataChanged.connect(this.slotWindowDataChanged.bind(this));
this.shader = effect.addFragmentShader(Effect.MapTexture, "%SHADER_NAME%.frag");
this.loadConfig();
}
// A small helper which can be used to read a hex color string (e.g. #ff3244) from the
// settings. This method will return an array of four floating point values
// [r, g, b, a]. If the settings key only refers to an rgb value, the alpha component
// will be set to 1.0.
readRGBAConfig(key) {
const color = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?([a-f\d]{2})?$/i
.exec(effect.readConfig(key, '#ffffff'))
.slice(1)
.filter(x => x !== undefined)
.map(x => parseInt(x, 16) / 255);
return color.length == 3 ? [color[0], color[1], color[2], 1.0] :
[color[1], color[2], color[3], color[0]];
}
// A small helper which can be used to read a hex color string (e.g. #ff3244) from the
// settings. This method will return an array of three floating point values [r, g, b]
// regardless of whether the settings key actually refers to an argb hex string.
readRGBConfig(key) {
const color = this.readRGBAConfig(key);
color.pop();
return color;
}
loadConfig() {
this.duration = animationTime(effect.readConfig('Duration', 1000));
%ON_SETTINGS_CHANGE%
}
static isScaleWindow(window) {
// We don't want to animate most of plasmashell's windows, yet, some
// of them we want to, for example, Task Manager Settings window.
// The problem is that all those window share single window class.
// So, the only way to decide whether a window should be animated is
// to use a heuristic: if a window has decoration, then it's most
// likely a dialog or a settings window so we have to animate it.
if (window.windowClass == "plasmashell plasmashell"
|| window.windowClass == "plasmashell org.kde.plasmashell") {
return window.hasDecoration;
}
if (blacklist.indexOf(window.windowClass) != -1) {
return false;
}
if (window.hasDecoration) {
return true;
}
// Don't animate combobox popups, tooltips, popup menus, etc.
if (window.popupWindow) {
return false;
}
// Dont't animate the outline and the screenlocker as it looks bad.
if (window.lockScreen || window.outline) {
return false;
}
// Override-redirect windows are usually used for user interface
// concepts that are not expected to be animated by this effect.
if (!window.managed) {
return false;
}
return window.normalWindow || window.dialog;
}
setupForcedRoles(window) {
window.setData(Effect.WindowForceBackgroundContrastRole, true);
window.setData(Effect.WindowForceBlurRole, true);
}
cleanupForcedRoles(window) {
window.setData(Effect.WindowForceBackgroundContrastRole, null);
window.setData(Effect.WindowForceBlurRole, null);
}
slotWindowAdded(window) {
if (effects.hasActiveFullScreenEffect) {
return;
}
if (!%EFFECT_CLASS%.isScaleWindow(window)) {
return;
}
if (!window.visible) {
return;
}
if (effect.isGrabbed(window, Effect.WindowAddedGrabRole)) {
return;
}
this.setupForcedRoles(window);
effect.setUniform(this.shader, 'uForOpening', 1.0);
%ON_ANIMATION_BEGIN%
window.scaleInAnimation = animate({
window: window,
curve: QEasingCurve.Linear,
duration: this.duration,
animations: [
{
type: Effect.ShaderUniform,
fragmentShader: this.shader,
uniform: "uProgress",
from: 0.0,
to: 1.0
}
]
});
}
slotWindowClosed(window) {
if (effects.hasActiveFullScreenEffect) {
return;
}
if (!%EFFECT_CLASS%.isScaleWindow(window)) {
return;
}
if (!window.visible || window.skipsCloseAnimation) {
return;
}
if (effect.isGrabbed(window, Effect.WindowClosedGrabRole)) {
return;
}
if (window.scaleInAnimation) {
cancel(window.scaleInAnimation);
delete window.scaleInAnimation;
}
this.setupForcedRoles(window);
effect.setUniform(this.shader, 'uForOpening', 0.0);
%ON_ANIMATION_BEGIN%
window.scaleOutAnimation = animate({
window: window,
curve: QEasingCurve.Linear,
duration: this.duration,
animations: [
{
type: Effect.ShaderUniform,
fragmentShader: this.shader,
uniform: "uProgress",
from: 0.0,
to: 1.0
}
]
});
}
slotWindowDataChanged(window, role) {
if (role == Effect.WindowAddedGrabRole) {
if (window.scaleInAnimation && effect.isGrabbed(window, role)) {
cancel(window.scaleInAnimation);
delete window.scaleInAnimation;
this.cleanupForcedRoles(window);
}
} else if (role == Effect.WindowClosedGrabRole) {
if (window.scaleOutAnimation && effect.isGrabbed(window, role)) {
cancel(window.scaleOutAnimation);
delete window.scaleOutAnimation;
this.cleanupForcedRoles(window);
}
}
}
}
new %EFFECT_CLASS%();
+21
View File
@@ -0,0 +1,21 @@
[Desktop Entry]
Name=%NAME%
Icon=preferences-system-windows-effect-%ICON%
Comment=%DESCRIPTION%
Type=Service
X-KDE-ServiceTypes=KWin/Effect,KCModule
X-KDE-PluginInfo-Author=Vlad Zahorodnii, Martin Flöser, Simon Schneegans
X-KDE-PluginInfo-Email=vlad.zahorodnii@kde.org, mgraesslin@kde.org, code@simonschneegans.de
X-KDE-PluginInfo-Name=%DIR_NAME%
X-KDE-PluginInfo-Version=1
X-KDE-PluginInfo-Category=Window Open/Close Animation
X-KDE-PluginInfo-License=GPLv3
X-KDE-PluginInfo-EnabledByDefault=false
X-KDE-Ordering=60
X-Plasma-API=javascript
X-Plasma-MainScript=code/main.js
X-KDE-PluginKeyword=%DIR_NAME%
X-KDE-Library=kcm_kwin4_genericscripted
X-KWin-Config-TranslationDomain=kwin_effects
X-KWin-Exclusive-Category=toplevel-open-close-animation
+71
View File
@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>BMWConfigForm</class>
<widget class="QWidget" name="BMWConfigForm">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>562</width>
<height>365</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="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="1" column="1">
<widget class="KColorButton" name="kcfg_Color">
<property name="alphaChannelEnabled">
<bool>true</bool>
</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="1" 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>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>KColorButton</class>
<extends>QPushButton</extends>
<header>kcolorbutton.h</header>
</customwidget>
</customwidgets>
<resources />
<connections />
</ui>
+13
View File
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<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>400</default>
</entry>
<entry name="Color" type="Color">
<default>#ffffff</default>
</entry>
</group>
</kcfg>
+5
View File
@@ -0,0 +1,5 @@
// 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, 'uColor', this.readRGBConfig('Color'));
+84
View File
@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8"?>
<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="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="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="1" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Color:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</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="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Scale:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="KColorButton" name="kcfg_Color"></widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>KColorButton</class>
<extends>QPushButton</extends>
<header>kcolorbutton.h</header>
</customwidget>
</customwidgets>
<resources />
<connections />
</ui>
+16
View File
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
<kcfgfile name="" />
<group name="">
<entry name="Duration" type="UInt">
<default>1500</default>
</entry>
<entry name="Scale" type="Double">
<default>1</default>
</entry>
<entry name="Color" type="Color">
<default>#ff64c8</default>
</entry>
</group>
</kcfg>
+4
View File
@@ -0,0 +1,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()]);
+7
View File
@@ -0,0 +1,7 @@
// 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, 'uColor', this.readRGBConfig('Color'));
+6 -3
View File
@@ -1,13 +1,16 @@
{
"uuid": "burn-my-windows@schneegans.github.com",
"description": "Disintegrate your apps the old-school way.",
"description": "Disintegrate your windows with style.",
"name": "Burn My Windows",
"gettext-domain": "burn-my-windows",
"settings-schema": "org.gnome.shell.extensions.burn-my-windows",
"shell-version": [
"3.36",
"3.38",
"40",
"41"
"41",
"42"
],
"url": "https://github.com/Schneegans/Burn-My-Windows",
"version": 2
"version": 17
}
+382
View File
@@ -0,0 +1,382 @@
# 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: 2022-06-25 05:04+0200\n"
"PO-Revision-Date: 2022-05-17 19:18+0000\n"
"Last-Translator: fawaz006 <fawaz27000@hotmail.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/burn-my-windows/"
"core/ar/>\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"X-Generator: Weblate 4.13-dev\n"
#: prefs.js:114
msgid "Effect Options"
msgstr "خيارات التأثير"
#: prefs.js:142
msgid "Go Back"
msgstr "عُد"
#: prefs.js:184
msgid "General Options"
msgstr "خيارات عامة"
#: prefs.js:278
msgid "Gold Sponsors"
msgstr "الرعاة الذهبيون"
#: prefs.js:281
msgid "Silver Sponsors"
msgstr "الرعاة الفضيون"
#: prefs.js:284
msgid "Bronze Sponsors"
msgstr "الرعاة البرونزيون"
#: prefs.js:287
msgid "Past Sponsors"
msgstr "الرعاة السابقون"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:510
#, javascript-format
msgid "Preview for %s"
msgstr "معاينة لـ %s"
#: prefs.js:532
msgid "Close this Window to Preview the Effect!"
msgstr "أغلق هذه النافذة لمعاينة التأثير!"
#: src/BrokenGlass.js:138
msgid "Broken Glass"
msgstr "زجاج المكسور"
#: src/TVEffect.js:77
msgid "TV Effect"
msgstr "تأثير التلفزيون"
#: src/TRexAttack.js:115
msgid "T-Rex Attack"
msgstr "هجوم تي ريكس"
#: src/SnapOfDisintegration.js:117
msgid "Snap of Disintegration"
msgstr "الانفجار القطع"
#: src/Incinerate.js:87
msgid "Incinerate"
msgstr ""
#: src/Wisps.js:85
msgid "Wisps"
msgstr "قطع"
#: src/Fire.js:99
msgid "Fire"
msgstr "نار"
#: src/Fire.js:154
msgid "Default Fire"
msgstr "النار الافتراضية"
#: src/Fire.js:164
msgid "Hell Fire"
msgstr "نار حارقة"
#: src/Fire.js:174
msgid "Dark and Smutty"
msgstr "داكن وقذر"
#: src/Fire.js:184
msgid "Cold Breeze"
msgstr "نسيم بارد"
#: src/Fire.js:194
msgid "Santa is Coming"
msgstr "سانتا قادم"
#: src/Hexagon.js:97
msgid "Hexagon"
msgstr "سداسي الزوايا"
#: src/EnergizeA.js:79
msgid "Energize A"
msgstr "تنشيط أ"
#: src/Apparition.js:80
msgid "Apparition"
msgstr "شبح"
#: src/EnergizeB.js:80
msgid "Energize B"
msgstr "تنشيط ب"
#: src/Matrix.js:113
msgid "Matrix"
msgstr "ماتركس"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "قم بزيارة الصفحة الرئيسية"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "مشاهدة ملف Changelog"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "الإبلاغ عن خلل"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "انشاء تأثير"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "ترجم"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "تبرع"
#: resources/ui/common/main-menu.ui:41
msgid "About Burn-My-Windows"
msgstr "حول Burn-My-Windows"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
msgid "Animation Time [ms]"
msgstr "المدة [م,ث]"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
msgid "Reset to Default Value"
msgstr "إعادة التعيين إلى القيمة الافتراضية"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
#: resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr "مقاس"
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
#: resources/ui/gtk3/Apparition.ui:112
msgid "Randomness"
msgstr "العشوائية"
#: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting"
msgstr "تجاوز رأسي"
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr "لون الممر"
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr "لون الحافة"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "الجاذبية"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr "قوة النفخ"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr "تتحطم من موقع المؤشر"
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr "ستنتقل القطع بعيدًا عن مكان وجود مؤشر الماوس عند إغلاق النافذة."
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
msgid "Turbulence"
msgstr ""
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "اللون"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "الإعدادات المسبقة"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "السرعة"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr "ضوضاء ثلاثية الأبعاد"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr ""
"يُنشئ حريقًا أكثر ديناميكية ولكنه يتطلب المزيد من طاقة وحدة معالجة الرسومات."
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr "ميل"
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr "حجم خدش المخلب"
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr "عدد خدوش المخلب"
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr "تأثير الاعوجاج"
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr "ألوان مضيئة"
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr "معاينة هذا التأثير"
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
msgid "Mesh Line Width"
msgstr "عرض خط الشبكة"
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
msgid "Line Color"
msgstr "لون السطر"
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
msgid "Glow Color"
msgstr "توهج اللون"
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
msgid "Additive Blending"
msgstr "مزج مضاف"
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
msgid "You may want to enable this for dark window themes."
msgstr "قد ترغب في تمكين هذا لسمات النوافذ المظلمة."
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr "مرحبًا بك في Burn-My-Windows!"
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr "إذا كنت تحب هذا الامتداد، فوصي به لأصدقائك :)"
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr "افتح نافذة التأثيرات"
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr "إذا تم تحديد عدة خيارات، يتم اختيار واحد بشكل عشوائي."
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr "اختر التأثيرات"
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr "إغلاق التأثيرات للنافذة"
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr "أضف أيضًا تأثيرات إلى الحوارات"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
msgid "Disable on Battery Power"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
msgid "Twirl Intensity"
msgstr "شدة الدوران"
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
msgid "Shake Intensity"
msgstr "شدة ألاهتزاز"
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
msgid "Suction Intensity"
msgstr "شدة السحب"
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr "اختر إعدادًا مسبقًا"
+378
View File
@@ -0,0 +1,378 @@
# 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.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: burn-my-windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-06-25 05:04+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: prefs.js:114
msgid "Effect Options"
msgstr ""
#: prefs.js:142
msgid "Go Back"
msgstr ""
#: prefs.js:184
msgid "General Options"
msgstr ""
#: prefs.js:278
msgid "Gold Sponsors"
msgstr ""
#: prefs.js:281
msgid "Silver Sponsors"
msgstr ""
#: prefs.js:284
msgid "Bronze Sponsors"
msgstr ""
#: prefs.js:287
msgid "Past Sponsors"
msgstr ""
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:510
#, javascript-format
msgid "Preview for %s"
msgstr ""
#: prefs.js:532
msgid "Close this Window to Preview the Effect!"
msgstr ""
#: src/BrokenGlass.js:138
msgid "Broken Glass"
msgstr ""
#: src/TVEffect.js:77
msgid "TV Effect"
msgstr ""
#: src/TRexAttack.js:115
msgid "T-Rex Attack"
msgstr ""
#: src/SnapOfDisintegration.js:117
msgid "Snap of Disintegration"
msgstr ""
#: src/Incinerate.js:87
msgid "Incinerate"
msgstr ""
#: src/Wisps.js:85
msgid "Wisps"
msgstr ""
#: src/Fire.js:99
msgid "Fire"
msgstr ""
#: src/Fire.js:154
msgid "Default Fire"
msgstr ""
#: src/Fire.js:164
msgid "Hell Fire"
msgstr ""
#: src/Fire.js:174
msgid "Dark and Smutty"
msgstr ""
#: src/Fire.js:184
msgid "Cold Breeze"
msgstr ""
#: src/Fire.js:194
msgid "Santa is Coming"
msgstr ""
#: src/Hexagon.js:97
msgid "Hexagon"
msgstr ""
#: src/EnergizeA.js:79
msgid "Energize A"
msgstr ""
#: src/Apparition.js:80
msgid "Apparition"
msgstr ""
#: src/EnergizeB.js:80
msgid "Energize B"
msgstr ""
#: src/Matrix.js:113
msgid "Matrix"
msgstr ""
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr ""
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr ""
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr ""
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr ""
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr ""
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr ""
#: resources/ui/common/main-menu.ui:41
msgid "About Burn-My-Windows"
msgstr ""
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
msgid "Animation Time [ms]"
msgstr ""
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
msgid "Reset to Default Value"
msgstr ""
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
#: resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr ""
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
#: resources/ui/gtk3/Apparition.ui:112
msgid "Randomness"
msgstr ""
#: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting"
msgstr ""
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr ""
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr ""
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr ""
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr ""
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr ""
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr ""
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
msgid "Turbulence"
msgstr ""
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr ""
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr ""
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr ""
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr ""
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr ""
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr ""
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr ""
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr ""
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr ""
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr ""
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
msgid "Mesh Line Width"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
msgid "Line Color"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
msgid "Glow Color"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
msgid "Additive Blending"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
msgid "You may want to enable this for dark window themes."
msgstr ""
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr ""
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr ""
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr ""
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr ""
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr ""
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr ""
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr ""
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
msgid "Disable on Battery Power"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
msgid "Twirl Intensity"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
msgid "Shake Intensity"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
msgid "Suction Intensity"
msgstr ""
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr ""
+387
View File
@@ -0,0 +1,387 @@
# 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: 2022-06-25 05:04+0200\n"
"PO-Revision-Date: 2022-05-23 08:18+0000\n"
"Last-Translator: Jose Riha <jose1711@gmail.com>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/burn-my-windows/"
"core/cs/>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 4.13-dev\n"
#: prefs.js:114
msgid "Effect Options"
msgstr ""
#: prefs.js:142
msgid "Go Back"
msgstr ""
#: prefs.js:184
msgid "General Options"
msgstr "Obecné možnosti"
#: prefs.js:278
msgid "Gold Sponsors"
msgstr ""
#: prefs.js:281
msgid "Silver Sponsors"
msgstr ""
#: prefs.js:284
msgid "Bronze Sponsors"
msgstr ""
#: prefs.js:287
msgid "Past Sponsors"
msgstr ""
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:510
#, javascript-format
msgid "Preview for %s"
msgstr "Náhled %s"
#: prefs.js:532
msgid "Close this Window to Preview the Effect!"
msgstr "Zavřete toto okno, pokud chcete vidět efekt!"
#: src/BrokenGlass.js:138
msgid "Broken Glass"
msgstr "Střepy"
#: src/TVEffect.js:77
msgid "TV Effect"
msgstr "Televize"
#: src/TRexAttack.js:115
msgid "T-Rex Attack"
msgstr "Tyrannosaurus"
#: src/SnapOfDisintegration.js:117
msgid "Snap of Disintegration"
msgstr ""
#: src/Incinerate.js:87
msgid "Incinerate"
msgstr ""
#: src/Wisps.js:85
msgid "Wisps"
msgstr "Obláčky"
#: src/Fire.js:99
msgid "Fire"
msgstr "Oheň"
#: src/Fire.js:154
msgid "Default Fire"
msgstr "Výchozí oheň"
#: src/Fire.js:164
msgid "Hell Fire"
msgstr "Pekelný oheň"
#: src/Fire.js:174
msgid "Dark and Smutty"
msgstr "Temný"
#: src/Fire.js:184
msgid "Cold Breeze"
msgstr "Studený vánek"
#: src/Fire.js:194
msgid "Santa is Coming"
msgstr "Santa přichází"
#: src/Hexagon.js:97
msgid "Hexagon"
msgstr ""
#: src/EnergizeA.js:79
msgid "Energize A"
msgstr "Energizovat A"
#: src/Apparition.js:80
msgid "Apparition"
msgstr ""
#: src/EnergizeB.js:80
msgid "Energize B"
msgstr "Energizovat B"
#: src/Matrix.js:113
msgid "Matrix"
msgstr "Matrix"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "Navštívit web"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "Zobrazit historii změn"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "Ohlásit chybu"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "Vytvořit efekt"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "Přeložit"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "Přispět"
#: resources/ui/common/main-menu.ui:41
msgid "About Burn-My-Windows"
msgstr ""
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
msgid "Animation Time [ms]"
msgstr "Délka animace [ms]"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
msgid "Reset to Default Value"
msgstr "Obnovit výchozí hodnoty"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
#: resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr "Měřítko"
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
#: resources/ui/gtk3/Apparition.ui:112
msgid "Randomness"
msgstr "Nahodilost"
#: resources/ui/gtk4/Matrix.ui:162
#, fuzzy
msgid "Vertical Overshooting"
msgstr "Vertikální přestřelení"
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr "Barva ohonu"
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr "Barva hrotu"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "Gravitace"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr "Síla úderu"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr "Roztříštění od místa ukazatele"
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr "Střepy odletí z místa, kde byl ukazatel myši při zavírání okna."
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
msgid "Turbulence"
msgstr ""
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "Barva"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "Předvolby"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "Rychlost"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr "3D šum"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "Vytvoří dynamičtejší efekt, ale potřebuje k tomu silnější GPU"
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr "Přechod"
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr "Velikost škrábanců od drápů"
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr "Počet škrábanců"
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr "Efekt zakřivení"
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr "Barva blesku"
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr "Náhled efektu"
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
msgid "Mesh Line Width"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
msgid "Line Color"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
msgid "Glow Color"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
msgid "Additive Blending"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
msgid "You may want to enable this for dark window themes."
msgstr ""
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr "Vítá Vás Burn-My-Windows!"
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr "Pokud se vám líbí tento doplňek, doporučte jej přátelům :-)"
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr "Animace při otevírání okna"
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr "Pokud vyberete více, budou se střídat náhodně."
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr "Vyberte efekty"
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr "Animace při zavírání okna"
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr "Použít efekt i na dialogová okna"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
msgid "Disable on Battery Power"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
msgid "Twirl Intensity"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
msgid "Shake Intensity"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
msgid "Suction Intensity"
msgstr ""
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr "Vyberte předvolbu"
#~ msgid "Via PayPal"
#~ msgstr "skrze PayPal"
#~ msgid "Via GitHub"
#~ msgstr "skrze GitHub"
+391
View File
@@ -0,0 +1,391 @@
# 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: 2022-06-25 05:04+0200\n"
"PO-Revision-Date: 2022-06-25 03:56+0000\n"
"Last-Translator: Simon Schneegans <code@simonschneegans.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/burn-my-windows/"
"core/de/>\n"
"Language: de\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.13.1-dev\n"
#: prefs.js:114
msgid "Effect Options"
msgstr "Effektoptionen"
#: prefs.js:142
msgid "Go Back"
msgstr "Zurück"
#: prefs.js:184
msgid "General Options"
msgstr "Allgemeine Optionen"
#: prefs.js:278
msgid "Gold Sponsors"
msgstr "Gold-Sponsoren"
#: prefs.js:281
msgid "Silver Sponsors"
msgstr "Silber-Sponsoren"
#: prefs.js:284
msgid "Bronze Sponsors"
msgstr "Bronze-Sponsoren"
#: prefs.js:287
msgid "Past Sponsors"
msgstr "Ehemalige Sponsoren"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:510
#, javascript-format
msgid "Preview for %s"
msgstr "Vorschau für %s"
#: prefs.js:532
msgid "Close this Window to Preview the Effect!"
msgstr "Schließen Sie dieses Fenster, um eine Vorschau des Effekts anzuzeigen!"
#: src/BrokenGlass.js:138
msgid "Broken Glass"
msgstr "Glassplitter"
#: src/TVEffect.js:77
msgid "TV Effect"
msgstr "TV-Effekt"
#: src/TRexAttack.js:115
msgid "T-Rex Attack"
msgstr "T-Rex-Angriff"
#: src/SnapOfDisintegration.js:117
msgid "Snap of Disintegration"
msgstr "Fingerschnippen des Zerfalls"
#: src/Incinerate.js:87
msgid "Incinerate"
msgstr "Einäschern"
#: src/Wisps.js:85
msgid "Wisps"
msgstr "Irrlichter"
#: src/Fire.js:99
msgid "Fire"
msgstr "Feuer"
#: src/Fire.js:154
msgid "Default Fire"
msgstr "Standardfeuer"
#: src/Fire.js:164
msgid "Hell Fire"
msgstr "Höllenfeuer"
#: src/Fire.js:174
msgid "Dark and Smutty"
msgstr "Dunkel und schmutzig"
#: src/Fire.js:184
msgid "Cold Breeze"
msgstr "Kalte Brise"
#: src/Fire.js:194
msgid "Santa is Coming"
msgstr "Weihnachtsgrüße"
#: src/Hexagon.js:97
msgid "Hexagon"
msgstr "Hexagon"
#: src/EnergizeA.js:79
msgid "Energize A"
msgstr "Energie A"
#: src/Apparition.js:80
msgid "Apparition"
msgstr "Apparieren"
#: src/EnergizeB.js:80
msgid "Energize B"
msgstr "Energie B"
#: src/Matrix.js:113
msgid "Matrix"
msgstr "Matrix"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "Homepage besuchen"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "Changelog anzeigen"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "Fehler melden"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "Einen Effekt hinzufügen"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "Übersetzen"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "Spenden"
#: resources/ui/common/main-menu.ui:41
msgid "About Burn-My-Windows"
msgstr "Über Burn-My-Windows"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
msgid "Animation Time [ms]"
msgstr "Animationszeit [ms]"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
msgid "Reset to Default Value"
msgstr "Auf Standardwert zurücksetzen"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
#: resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr "Größe"
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
#: resources/ui/gtk3/Apparition.ui:112
msgid "Randomness"
msgstr "Zufälligkeit"
#: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting"
msgstr "Vertikales Überschießen"
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr "Farbe der Spur"
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr "Farbe der Spitze"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "Schwerkraft"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr "Schlagkraft"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr "Von Mauszeigerposition zerbrechen"
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr ""
"Die Scherben fliegen von der Stelle weg, an der sich Ihr Mauszeiger beim "
"Schließen des Fensters befand."
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
msgid "Turbulence"
msgstr "Turbulenz"
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "Farbe"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "Voreinstellungen"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "Geschwindigkeit"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr "3D-Rauschen"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "Erzeugt ein dynamischeres Feuer, erfordert jedoch mehr GPU-Leistung."
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr "Farbverlauf"
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr "Kratzergröße"
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr "Kratzeranzahl"
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr "Warp-Effekt"
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr "Blitzfarbe"
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr "Vorschau dieses Effekts"
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
msgid "Mesh Line Width"
msgstr "Gitterlinienstärke"
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
msgid "Line Color"
msgstr "Linienfarbe"
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
msgid "Glow Color"
msgstr "Leuchtfarbe"
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
msgid "Additive Blending"
msgstr "Additives Mischen"
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
msgid "You may want to enable this for dark window themes."
msgstr "Für dunkle Fensterthemen sollten Sie diese Option aktivieren."
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr "Willkommen bei Burn-My-Windows!"
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr "Wenn Sie diese Erweiterung mögen, empfehlen Sie sie Ihren Freunden :)"
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr "Fenster-Öffnen-Animation"
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr "Wenn mehrere ausgewählt sind, wird eine zufällig ausgewählt."
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr "Effekte auswählen"
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr "Fenster-Schließen-Animation"
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr "Effekte auch zu Dialogen hinzufügen"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
msgid "Disable on Battery Power"
msgstr "Im Akkubetrieb deaktivieren"
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
msgid "Twirl Intensity"
msgstr "Wirbelintensität"
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
msgid "Shake Intensity"
msgstr "Wackelintensität"
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
msgid "Suction Intensity"
msgstr "Saugintensität"
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr "Wählen Sie eine Voreinstellung"
#~ msgid "Via PayPal"
#~ msgstr "Mit PayPal"
#~ msgid "Via GitHub"
#~ msgstr "Mit GitHub"
#~ msgid "Create a Custom Effect"
#~ msgstr "Einen neuen Effekt erstellen"
+388
View File
@@ -0,0 +1,388 @@
# 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: 2022-06-25 05:04+0200\n"
"PO-Revision-Date: 2022-06-08 14:14+0000\n"
"Last-Translator: Ulices <dev.n47os@aleeas.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/burn-my-windows/"
"core/es/>\n"
"Language: es\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.13-dev\n"
#: prefs.js:114
msgid "Effect Options"
msgstr "Opciones de efecto"
#: prefs.js:142
msgid "Go Back"
msgstr "Volver"
#: prefs.js:184
msgid "General Options"
msgstr "Opciones generales"
#: prefs.js:278
msgid "Gold Sponsors"
msgstr "Patrocinadores de oro"
#: prefs.js:281
msgid "Silver Sponsors"
msgstr "Patrocinadores de plata"
#: prefs.js:284
msgid "Bronze Sponsors"
msgstr "Patrocinadores de bronce"
#: prefs.js:287
msgid "Past Sponsors"
msgstr "Patrocinadores anteriores"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:510
#, javascript-format
msgid "Preview for %s"
msgstr "Previsualización de %s"
#: prefs.js:532
msgid "Close this Window to Preview the Effect!"
msgstr "¡Cierre esta ventana para ver el efecto!"
#: src/BrokenGlass.js:138
msgid "Broken Glass"
msgstr "Cristales rotos"
#: src/TVEffect.js:77
msgid "TV Effect"
msgstr "Efecto televisor"
#: src/TRexAttack.js:115
msgid "T-Rex Attack"
msgstr "Ataque de T-Rex"
#: src/SnapOfDisintegration.js:117
msgid "Snap of Disintegration"
msgstr "Chasquido de desintegración"
#: src/Incinerate.js:87
msgid "Incinerate"
msgstr ""
#: src/Wisps.js:85
msgid "Wisps"
msgstr "Chispas"
#: src/Fire.js:99
msgid "Fire"
msgstr "Fuego"
#: src/Fire.js:154
msgid "Default Fire"
msgstr "Fuego predeterminado"
#: src/Fire.js:164
msgid "Hell Fire"
msgstr "Fuego infernal"
#: src/Fire.js:174
msgid "Dark and Smutty"
msgstr "Oscuro y obsceno"
#: src/Fire.js:184
msgid "Cold Breeze"
msgstr "Brisa fría"
#: src/Fire.js:194
msgid "Santa is Coming"
msgstr "Viene Papá Noel"
#: src/Hexagon.js:97
msgid "Hexagon"
msgstr "Hexágonos"
#: src/EnergizeA.js:79
msgid "Energize A"
msgstr "Energizar A"
#: src/Apparition.js:80
msgid "Apparition"
msgstr "Aparición"
#: src/EnergizeB.js:80
msgid "Energize B"
msgstr "Energizar B"
#: src/Matrix.js:113
msgid "Matrix"
msgstr "Matrix"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "Visitar la página web"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "Ver registro de cambios"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "Informar de un error"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "Crear un efecto"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "Traducir"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "Donar"
#: resources/ui/common/main-menu.ui:41
msgid "About Burn-My-Windows"
msgstr "Acerca de Burn-My-Windows"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
msgid "Animation Time [ms]"
msgstr "Tiempo de animación [ms]"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
msgid "Reset to Default Value"
msgstr "Restablecer al valor predeterminado"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
#: resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr "Escala"
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
#: resources/ui/gtk3/Apparition.ui:112
msgid "Randomness"
msgstr "Aleatoriedad"
#: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting"
msgstr "Superposición vertical"
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr "Color de la estela"
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr "Color de la punta"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "Gravedad"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr "Fuerza del golpe"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr "Fragmentar desde la ubicación del puntero"
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr ""
"Los fragmentos saldrán volando desde donde estaba el puntero del ratón al "
"cerrar la ventana."
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
msgid "Turbulence"
msgstr ""
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "Color"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "Preselecciones"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "Velocidad"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr "Ruido 3D"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "Crea un fuego más dinámico pero requiere más potencia de la GPU."
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr "Degradado"
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr "Escala de arañazos de garras"
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr "Número de arañazos de garras"
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr "Efecto distorsión"
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr "Color del flash"
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr "Previsualizar este efecto"
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
msgid "Mesh Line Width"
msgstr "Ancho de la línea de malla"
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
msgid "Line Color"
msgstr "Color de línea"
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
msgid "Glow Color"
msgstr "Color del brillo"
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
msgid "Additive Blending"
msgstr "Fundido activo"
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
msgid "You may want to enable this for dark window themes."
msgstr "Puede ser que necesites activar esto para temas oscuros de ventana."
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr "¡Le damos la bienvenida a Burn-My-Windows!"
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr "Si le gusta esta extensión, recomiéndela a sus amistades :)"
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr "Animación al abrir la ventana"
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr "Si se seleccionan varios, se elige uno al azar."
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr "Elegir efectos"
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr "Animación al cerrar la ventana"
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr "Añadir también efectos a los diálogos"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
msgid "Disable on Battery Power"
msgstr "Desactivar en alimentación con batería"
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
msgid "Twirl Intensity"
msgstr "Intensidad del giro"
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
msgid "Shake Intensity"
msgstr "Intensidad del temblor"
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
msgid "Suction Intensity"
msgstr "Intensidad de la succión"
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr "Elija una preselección"
#~ msgid "Via PayPal"
#~ msgstr "Vía PayPal"
#~ msgid "Via GitHub"
#~ msgstr "Vía GitHub"
+381
View File
@@ -0,0 +1,381 @@
# 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: 2022-06-25 05:04+0200\n"
"PO-Revision-Date: 2022-05-23 08:18+0000\n"
"Last-Translator: Eshagh Shahedany <eshagh094@gmail.com>\n"
"Language-Team: Persian <https://hosted.weblate.org/projects/burn-my-windows/"
"core/fa/>\n"
"Language: fa\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.13-dev\n"
#: prefs.js:114
msgid "Effect Options"
msgstr "انتخاب‌های جلوه"
#: prefs.js:142
msgid "Go Back"
msgstr "بازگشت"
#: prefs.js:184
msgid "General Options"
msgstr "انتخاب‌های عمومی"
#: prefs.js:278
msgid "Gold Sponsors"
msgstr "حامیان طلایی"
#: prefs.js:281
msgid "Silver Sponsors"
msgstr "حامیان نقره‌ای"
#: prefs.js:284
msgid "Bronze Sponsors"
msgstr "حامیان برنزی"
#: prefs.js:287
msgid "Past Sponsors"
msgstr "حامیان گذشته"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:510
#, javascript-format
msgid "Preview for %s"
msgstr "پیش‌نمایش برای %s"
#: prefs.js:532
msgid "Close this Window to Preview the Effect!"
msgstr "برای پیش‌نمایش جلوه، پنجره را ببندید!"
#: src/BrokenGlass.js:138
msgid "Broken Glass"
msgstr "شیشهٔ شکسته"
#: src/TVEffect.js:77
msgid "TV Effect"
msgstr "جلوهٔ تلویزیون"
#: src/TRexAttack.js:115
msgid "T-Rex Attack"
msgstr "حملهٔ تی‌رکس"
#: src/SnapOfDisintegration.js:117
msgid "Snap of Disintegration"
msgstr "ضربهٔ فروپاشی"
#: src/Incinerate.js:87
msgid "Incinerate"
msgstr ""
#: src/Wisps.js:85
msgid "Wisps"
msgstr "جرقه‌ها"
#: src/Fire.js:99
msgid "Fire"
msgstr "آتش"
#: src/Fire.js:154
msgid "Default Fire"
msgstr "آتش پیش‌گزیده"
#: src/Fire.js:164
msgid "Hell Fire"
msgstr "آتش جهنمی"
#: src/Fire.js:174
msgid "Dark and Smutty"
msgstr "تاریک و دودی"
#: src/Fire.js:184
msgid "Cold Breeze"
msgstr "نسیم سرد"
#: src/Fire.js:194
msgid "Santa is Coming"
msgstr "بابانوئل می‌آید"
#: src/Hexagon.js:97
msgid "Hexagon"
msgstr "شش ضلعی"
#: src/EnergizeA.js:79
msgid "Energize A"
msgstr "انرژی آ"
#: src/Apparition.js:80
msgid "Apparition"
msgstr "تجسم"
#: src/EnergizeB.js:80
msgid "Energize B"
msgstr "انرژی ب"
#: src/Matrix.js:113
msgid "Matrix"
msgstr "ماتریکس"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "بازدید از صفحهٔ خانه"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "دیدن تغییرات"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "گزارش یک مشکل"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "ایجاد یک جلوه"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "ترجمه"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "اعانه"
#: resources/ui/common/main-menu.ui:41
msgid "About Burn-My-Windows"
msgstr "دربارهٔ پنجره‌هایم را بسوزان"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
msgid "Animation Time [ms]"
msgstr "زمان پویانمایی (میلی‌ثانیه)"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
msgid "Reset to Default Value"
msgstr "بازنشانی به مقدار پیش‌گزیده"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
#: resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr "مقیاس"
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
#: resources/ui/gtk3/Apparition.ui:112
msgid "Randomness"
msgstr "تصادفی"
#: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting"
msgstr ""
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr "رنگ دنباله"
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr "رنگ نکته"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "گرانش"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr "نیروی انفجار"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr "شکستن از مکان نشان‌گر"
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr ""
"هنگام بستن پنجره، خرده‌ها از جایی که نشان‌گر ماوس شما قرار داشت دور می‌شوند."
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
msgid "Turbulence"
msgstr ""
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "رنگ"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "از پیش تنظیم شده‌ها"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "سرعت"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr "نویز سه بعدی"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "آتش پویاتری ایجاد می‌کند اما به قدرت جی‌پی‌یو بیشتری نیاز دارد."
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr "گرادیان"
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr "مقیاس خراش پنجه"
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr "تعداد خراش پنجه"
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr "جلوهٔ انحنا"
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr "رنگ گوشت"
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr "پیش‌نمایش این جلوه"
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
msgid "Mesh Line Width"
msgstr "عرض خط شبکه"
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
msgid "Line Color"
msgstr "رنگ خط"
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
msgid "Glow Color"
msgstr "رنگ درخشش"
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
msgid "Additive Blending"
msgstr "ترکیب افزودنی"
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
msgid "You may want to enable this for dark window themes."
msgstr "ممکن است بخواهید این را برای زمینه‌های پنجره تاریک به کار بیاندازید."
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr "به پنجره‌هایم را بسوزان، خوش آمدید!"
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr "اگر این افزونه را دوست دارید، آن را به دوستان خود معرفی کنید :)"
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr "پویانمایی گشودن پنجره"
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr "اگر چند مورد انتخاب شود، یکی به صورت تصادفی انتخاب می‌شود."
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr "انتخاب جلوه"
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr "پویانمایی بستن پنجره"
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr "همچنین جلوه‌ها را به گفت‌وگوها اضافه کن"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
msgid "Disable on Battery Power"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
msgid "Twirl Intensity"
msgstr "شدّت چرخش"
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
msgid "Shake Intensity"
msgstr "شدّت لرزش"
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
msgid "Suction Intensity"
msgstr "شدّت مکش"
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr "یک پیش تنظیم را انتخاب کنید"
+381
View File
@@ -0,0 +1,381 @@
# 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: 2022-06-25 05:04+0200\n"
"PO-Revision-Date: 2022-04-08 07:11+0000\n"
"Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n"
"Language-Team: Finnish <https://hosted.weblate.org/projects/burn-my-windows/"
"core/fi/>\n"
"Language: fi\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.12-dev\n"
#: prefs.js:114
msgid "Effect Options"
msgstr "Tehostevalinnat"
#: prefs.js:142
msgid "Go Back"
msgstr "Takaisin"
#: prefs.js:184
msgid "General Options"
msgstr "Yleiset asetukset"
#: prefs.js:278
msgid "Gold Sponsors"
msgstr "Kultasponsorit"
#: prefs.js:281
msgid "Silver Sponsors"
msgstr "Hopeasponsorit"
#: prefs.js:284
msgid "Bronze Sponsors"
msgstr "Pronssisponsorit"
#: prefs.js:287
msgid "Past Sponsors"
msgstr "Aiemmat sponsorit"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:510
#, javascript-format
msgid "Preview for %s"
msgstr "Esikatselu tehosteelle %s"
#: prefs.js:532
msgid "Close this Window to Preview the Effect!"
msgstr "Sulje tämä ikkuna esikatsellaksesi tehosteen!"
#: src/BrokenGlass.js:138
msgid "Broken Glass"
msgstr "Rikkoutunut lasi"
#: src/TVEffect.js:77
msgid "TV Effect"
msgstr "TV-tehoste"
#: src/TRexAttack.js:115
msgid "T-Rex Attack"
msgstr "T-Rexin hyökkäys"
#: src/SnapOfDisintegration.js:117
msgid "Snap of Disintegration"
msgstr "Hajoamisen napsahdus"
#: src/Incinerate.js:87
msgid "Incinerate"
msgstr ""
#: src/Wisps.js:85
msgid "Wisps"
msgstr "Häiveet"
#: src/Fire.js:99
msgid "Fire"
msgstr "Tuli"
#: src/Fire.js:154
msgid "Default Fire"
msgstr "Oletustuli"
#: src/Fire.js:164
msgid "Hell Fire"
msgstr "Helvetintuli"
#: src/Fire.js:174
msgid "Dark and Smutty"
msgstr "Tumma ja likainen"
#: src/Fire.js:184
msgid "Cold Breeze"
msgstr "Kylmän tuulahdus"
#: src/Fire.js:194
msgid "Santa is Coming"
msgstr "Pukki saapuu"
#: src/Hexagon.js:97
msgid "Hexagon"
msgstr "Kuusikulmio"
#: src/EnergizeA.js:79
msgid "Energize A"
msgstr ""
#: src/Apparition.js:80
msgid "Apparition"
msgstr "Ilmestys"
#: src/EnergizeB.js:80
msgid "Energize B"
msgstr ""
#: src/Matrix.js:113
msgid "Matrix"
msgstr "Matriisi"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "Käy verkkosivulla"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "Näytä muutosloki"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "Ilmoita ongelmasta"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "Luo tehoste"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "Käännä"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "Lahjoita"
#: resources/ui/common/main-menu.ui:41
msgid "About Burn-My-Windows"
msgstr "Tietoja - Burn-My-Windows"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
msgid "Animation Time [ms]"
msgstr "Animaatioaika [ms]"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
msgid "Reset to Default Value"
msgstr "Palauta oletusarvoon"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
#: resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr "Skaala"
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
#: resources/ui/gtk3/Apparition.ui:112
msgid "Randomness"
msgstr "Satunnaisuus"
#: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting"
msgstr "Pystysuora ylitys"
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr "Polun väri"
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr "Vihjeen väri"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "Painovoima"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr ""
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr "Särkyminen osoittimen sijainnista"
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr ""
"Sirpaleet lentävät kauas hiiren osoittimen sijainnista kun suljet ikkunan."
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
msgid "Turbulence"
msgstr ""
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "Väri"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "Esiasetukset"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "Nopeus"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr ""
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr ""
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr "Liukuväri"
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr "Kynnenraapaisun skaala"
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr "Kynnenraapaisujen määrä"
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr ""
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr ""
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr "Esikatsele tämä tehoste"
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
msgid "Mesh Line Width"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
msgid "Line Color"
msgstr "Viivan väri"
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
msgid "Glow Color"
msgstr "Hehkun väri"
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
msgid "Additive Blending"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
msgid "You may want to enable this for dark window themes."
msgstr ""
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr "Tervetuloa, tämä on Burn-My-Windows!"
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr "Jos pidä tästä laajennuksesta, suosittele sitä kavereillesi :)"
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr "Ikkunan avaamisen animaatio"
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr "Jos useita on valittu, yksi valitaan satunnaisesti."
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr "Valitse tehosteet"
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr "Ikkunan sulkemisen animaatio"
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr "Lisää tehosteet myös dialogi-ikkunoihin"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
msgid "Disable on Battery Power"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
msgid "Twirl Intensity"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
msgid "Shake Intensity"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
msgid "Suction Intensity"
msgstr ""
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr "Valitse esiasetus"
+390
View File
@@ -0,0 +1,390 @@
# 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: 2022-06-25 05:04+0200\n"
"PO-Revision-Date: 2022-05-01 23:10+0000\n"
"Last-Translator: matb <perso@mathieu-bousquet.fr>\n"
"Language-Team: French <https://hosted.weblate.org/projects/burn-my-windows/"
"core/fr/>\n"
"Language: fr\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.12.1\n"
#: prefs.js:114
msgid "Effect Options"
msgstr "Options de l'effet"
#: prefs.js:142
msgid "Go Back"
msgstr "Retour"
#: prefs.js:184
msgid "General Options"
msgstr "Options générales"
#: prefs.js:278
msgid "Gold Sponsors"
msgstr "Sponsors Or"
#: prefs.js:281
msgid "Silver Sponsors"
msgstr "Sponsors Argent"
#: prefs.js:284
msgid "Bronze Sponsors"
msgstr "Sponsors Bronze"
#: prefs.js:287
msgid "Past Sponsors"
msgstr "Anciens Sponsors"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:510
#, javascript-format
msgid "Preview for %s"
msgstr "Aperçu pour %s"
#: prefs.js:532
msgid "Close this Window to Preview the Effect!"
msgstr "Fermez cette fenêtre pour un aperçu de l'effet !"
#: src/BrokenGlass.js:138
msgid "Broken Glass"
msgstr "Verre brisé"
#: src/TVEffect.js:77
msgid "TV Effect"
msgstr "Effet TV"
#: src/TRexAttack.js:115
msgid "T-Rex Attack"
msgstr "Attaque de T-Rex"
#: src/SnapOfDisintegration.js:117
msgid "Snap of Disintegration"
msgstr "Désintégration"
#: src/Incinerate.js:87
msgid "Incinerate"
msgstr ""
#: src/Wisps.js:85
msgid "Wisps"
msgstr "Feux follets"
#: src/Fire.js:99
msgid "Fire"
msgstr "Feu"
#: src/Fire.js:154
msgid "Default Fire"
msgstr "Feu par défaut"
#: src/Fire.js:164
msgid "Hell Fire"
msgstr "Feu de l'enfer"
#: src/Fire.js:174
msgid "Dark and Smutty"
msgstr "Sombre et ténébreux"
#: src/Fire.js:184
msgid "Cold Breeze"
msgstr "Brise froide"
#: src/Fire.js:194
msgid "Santa is Coming"
msgstr "Le Père Noël arrive"
#: src/Hexagon.js:97
msgid "Hexagon"
msgstr "Hexagone"
#: src/EnergizeA.js:79
msgid "Energize A"
msgstr "Énergie A"
#: src/Apparition.js:80
msgid "Apparition"
msgstr "Apparition"
#: src/EnergizeB.js:80
msgid "Energize B"
msgstr "Énergie B"
#: src/Matrix.js:113
msgid "Matrix"
msgstr "Matrix"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "Visiter la page d'accueil"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "Voir le journal des modifications"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "Signaler un bogue"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "Créer un effet"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "Traduire"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "Faire un don"
#: resources/ui/common/main-menu.ui:41
msgid "About Burn-My-Windows"
msgstr "À propos de Burn-My-Windows"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
msgid "Animation Time [ms]"
msgstr "Durée de l'animation (ms)"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
msgid "Reset to Default Value"
msgstr "Réinitialiser à la valeur par défaut"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
#: resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr "Échelle"
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
#: resources/ui/gtk3/Apparition.ui:112
msgid "Randomness"
msgstr "Aléatoire"
#: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting"
msgstr "Dépassement vertical"
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr "Couleur de la traîne"
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr "Couleur de la pointe"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "Gravité"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr "Force d'explosion"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr "Briser à partir de la position du curseur"
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr ""
"Les éclats s'envoleront de l'endroit où se trouvait le pointeur de votre "
"souris lorsque vous fermez la fenêtre."
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
msgid "Turbulence"
msgstr ""
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "Couleur"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "Préréglages"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "Vitesse"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr "Bruit 3D"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr ""
"Crée un feu plus dynamique mais demande plus de puissance de la carte "
"graphique."
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr "Gradient"
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr "Taille de la griffe"
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr "Nombre de griffures"
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr "Effet de distorsion"
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr "Couleur du flash"
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr "Voir l'aperçu de cet effet"
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
msgid "Mesh Line Width"
msgstr "Largeur des lignes du maillage"
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
msgid "Line Color"
msgstr "Couleur de ligne"
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
msgid "Glow Color"
msgstr "Couleur de la lueur"
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
msgid "Additive Blending"
msgstr "Mélange additif"
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
msgid "You may want to enable this for dark window themes."
msgstr "Vous voudrez peut-être l'activer pour les thèmes de fenêtre sombre."
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr "Bienvenue dans Burn-My-Windows !"
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr "Si vous aimez cette extension, recommandez-la à vos amis :)"
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr "Animation d'ouverture de fenêtre"
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr "Si plusieurs effets sont sélectionnés, un est choisi au hasard."
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr "Choisir les effets"
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr "Animation de fermeture de fenêtre"
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr "Appliquer également les effets aux boîtes de dialogue"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
msgid "Disable on Battery Power"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
msgid "Twirl Intensity"
msgstr "Intensité du tournoiement"
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
msgid "Shake Intensity"
msgstr "Intensité de la secousse"
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
msgid "Suction Intensity"
msgstr "Intensité de la succion"
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr "Sélectionner un préréglage"
#~ msgid "Via PayPal"
#~ msgstr "Via PayPal"
#~ msgid "Via GitHub"
#~ msgstr "Via GitHub"
+388
View File
@@ -0,0 +1,388 @@
# 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: 2022-06-25 05:04+0200\n"
"PO-Revision-Date: 2022-06-29 17:16+0000\n"
"Last-Translator: albanobattistella <albano_battistella@hotmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/burn-my-windows/"
"core/it/>\n"
"Language: it\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.13.1-dev\n"
#: prefs.js:114
msgid "Effect Options"
msgstr "Opzioni effetto"
#: prefs.js:142
msgid "Go Back"
msgstr "Indietro"
#: prefs.js:184
msgid "General Options"
msgstr "Opzioni generali"
#: prefs.js:278
msgid "Gold Sponsors"
msgstr "Sponsor d'oro"
#: prefs.js:281
msgid "Silver Sponsors"
msgstr "Sponsor d'argento"
#: prefs.js:284
msgid "Bronze Sponsors"
msgstr "Sponsor di bronzo"
#: prefs.js:287
msgid "Past Sponsors"
msgstr "Sponsor passati"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:510
#, javascript-format
msgid "Preview for %s"
msgstr "Anteprima per %s"
#: prefs.js:532
msgid "Close this Window to Preview the Effect!"
msgstr "Chiudi questa finestra per visualizzare in anteprima l'effetto!"
#: src/BrokenGlass.js:138
msgid "Broken Glass"
msgstr "Vetro rotto"
#: src/TVEffect.js:77
msgid "TV Effect"
msgstr "Effetto TV"
#: src/TRexAttack.js:115
msgid "T-Rex Attack"
msgstr "Attacco T-Rex"
#: src/SnapOfDisintegration.js:117
msgid "Snap of Disintegration"
msgstr "Scatto di disintegrazione"
#: src/Incinerate.js:87
msgid "Incinerate"
msgstr "Incenerire"
#: src/Wisps.js:85
msgid "Wisps"
msgstr "Scintille"
#: src/Fire.js:99
msgid "Fire"
msgstr "Fuoco"
#: src/Fire.js:154
msgid "Default Fire"
msgstr "Fuoco predefinito"
#: src/Fire.js:164
msgid "Hell Fire"
msgstr "Fuoco Infernale"
#: src/Fire.js:174
msgid "Dark and Smutty"
msgstr "Scuro e Tenebroso"
#: src/Fire.js:184
msgid "Cold Breeze"
msgstr "Brezza Fredda"
#: src/Fire.js:194
msgid "Santa is Coming"
msgstr "Babbo Natale sta arrivando"
#: src/Hexagon.js:97
msgid "Hexagon"
msgstr "Esagono"
#: src/EnergizeA.js:79
msgid "Energize A"
msgstr "Energia A"
#: src/Apparition.js:80
msgid "Apparition"
msgstr "Apparizione"
#: src/EnergizeB.js:80
msgid "Energize B"
msgstr "Energia B"
#: src/Matrix.js:113
msgid "Matrix"
msgstr "Matrix"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "Visita la home page"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "Visualizza Changelog"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "Segnala un bug"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "Crea un effetto"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "Traduci"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "Donare"
#: resources/ui/common/main-menu.ui:41
msgid "About Burn-My-Windows"
msgstr "Informazioni su Burn-My-Windows"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
msgid "Animation Time [ms]"
msgstr "Tempo animazione [ms]"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
msgid "Reset to Default Value"
msgstr "Ripristina valore predefinito"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
#: resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr "Scala"
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
#: resources/ui/gtk3/Apparition.ui:112
msgid "Randomness"
msgstr "Casuale"
#: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting"
msgstr "Sovrapposizione Verticale"
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr "Colore della pista"
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr "Colore della Punta"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "Gravità"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr "Forza Esplosiva"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr "Frammento dalla posizione del puntatore"
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr ""
"I frammenti voleranno fuori dal punto in cui si trovava il puntatore del "
"mouse quando chiudi la finestra."
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
msgid "Turbulence"
msgstr "Turbolenza"
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "Colore"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "Preimpostazioni"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "Velocità"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr "Rumore 3D"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "Crea un fuoco più dinamico ma richiede più potenza della GPU."
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr "Gradiente"
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr "Scala ad Artiglio"
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr "Numero di colpi"
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr "Effetto Distorsione"
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr "Colore Flash"
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr "Anteprima di questo effetto"
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
msgid "Mesh Line Width"
msgstr "Larghezza linea mesh"
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
msgid "Line Color"
msgstr "Colore della linea"
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
msgid "Glow Color"
msgstr "Colore bagliore"
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
msgid "Additive Blending"
msgstr "Miscelazione aggiuntiva"
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
msgid "You may want to enable this for dark window themes."
msgstr "Potresti abilitarlo per i temi delle finestre scure."
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr "Benvenuto in Burn-My-Windows!"
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr "Se ti piace questa estensione, consigliala ai tuoi amici :)"
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr "Animazione all'apertura della finestra"
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr "Se ne vengono selezionati multipli, uno viene scelto a caso."
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr "Scegli Effetti"
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr "Animazione alla chiusura della finestra"
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr "Aggiungi anche effetti ai dialoghi"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
msgid "Disable on Battery Power"
msgstr "Disattiva con alimentazione a batteria"
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
msgid "Twirl Intensity"
msgstr "Intensità di rotazione"
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
msgid "Shake Intensity"
msgstr "Intensità di scuotimento"
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
msgid "Suction Intensity"
msgstr "Intensità di aspirazione"
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr "Scegli un predefinito"
#~ msgid "Via PayPal"
#~ msgstr "Tramite PayPal"
#~ msgid "Via GitHub"
#~ msgstr "Tramite GitHub"
+380
View File
@@ -0,0 +1,380 @@
# 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: 2022-06-25 05:04+0200\n"
"PO-Revision-Date: 2022-05-23 08:18+0000\n"
"Last-Translator: Seong-ho Cho <darkcircle.0426@gmail.com>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/burn-my-windows/"
"core/ko/>\n"
"Language: ko\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.13-dev\n"
#: prefs.js:114
msgid "Effect Options"
msgstr "효과 옵션"
#: prefs.js:142
msgid "Go Back"
msgstr "뒤로 가기"
#: prefs.js:184
msgid "General Options"
msgstr "일반 옵션"
#: prefs.js:278
msgid "Gold Sponsors"
msgstr "골드 스폰서"
#: prefs.js:281
msgid "Silver Sponsors"
msgstr "실버 스폰서"
#: prefs.js:284
msgid "Bronze Sponsors"
msgstr "브론즈 스폰서"
#: prefs.js:287
msgid "Past Sponsors"
msgstr "이전 스폰서"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:510
#, javascript-format
msgid "Preview for %s"
msgstr "%s 미리 보기"
#: prefs.js:532
msgid "Close this Window to Preview the Effect!"
msgstr "이 창을 닫아 효과를 확인해보세요!"
#: src/BrokenGlass.js:138
msgid "Broken Glass"
msgstr "유리 깨짐"
#: src/TVEffect.js:77
msgid "TV Effect"
msgstr "TV 효과"
#: src/TRexAttack.js:115
msgid "T-Rex Attack"
msgstr "티라노 공격"
#: src/SnapOfDisintegration.js:117
msgid "Snap of Disintegration"
msgstr "해체 영상"
#: src/Incinerate.js:87
msgid "Incinerate"
msgstr ""
#: src/Wisps.js:85
msgid "Wisps"
msgstr "도깨비불"
#: src/Fire.js:99
msgid "Fire"
msgstr "화염"
#: src/Fire.js:154
msgid "Default Fire"
msgstr "기본 화염"
#: src/Fire.js:164
msgid "Hell Fire"
msgstr "지옥 화염"
#: src/Fire.js:174
msgid "Dark and Smutty"
msgstr "어둡고 찝찝함"
#: src/Fire.js:184
msgid "Cold Breeze"
msgstr "냉랭한 바람"
#: src/Fire.js:194
msgid "Santa is Coming"
msgstr "산타의 방문"
#: src/Hexagon.js:97
msgid "Hexagon"
msgstr "육각형"
#: src/EnergizeA.js:79
msgid "Energize A"
msgstr "에너자이즈 A"
#: src/Apparition.js:80
msgid "Apparition"
msgstr "혼령"
#: src/EnergizeB.js:80
msgid "Energize B"
msgstr "에너자이즈 B"
#: src/Matrix.js:113
msgid "Matrix"
msgstr "매트릭스"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "홈페이지 방문"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "변경 이력 보기"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "버그 보고"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "효과 만들기"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "번역"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "기부"
#: resources/ui/common/main-menu.ui:41
msgid "About Burn-My-Windows"
msgstr "Burn-My-Windows 정보"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
msgid "Animation Time [ms]"
msgstr "애니메이션 시간 [ms]"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
msgid "Reset to Default Value"
msgstr "기본값으로 초기화"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
#: resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr "비율 조정"
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
#: resources/ui/gtk3/Apparition.ui:112
msgid "Randomness"
msgstr "임의성 지수"
#: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting"
msgstr "수직 오버슈팅"
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr "끌림 자국 색상"
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr "끄트머리 색상"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "중력계수"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr "타격 강도"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr "포인터 위치에서 깨짐"
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr "창을 닫을 때 마우스 포인터 위치에서 조각이 날아갑니다."
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
msgid "Turbulence"
msgstr ""
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "색상"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "사전설정"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "속도"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr "3차원 잡티"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "좀 더 역동적인 화염을 만들지만 더 많은 GPU 성능이 필요합니다."
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr "그레디언트"
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr "발톱 자국 크기 비율"
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr "발톱 자국 갯수"
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr "왜곡 효과"
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr "번쩍임 색상"
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr "이 효과 미리 보기"
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
msgid "Mesh Line Width"
msgstr "도형 선 굵기"
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
msgid "Line Color"
msgstr "선 색상"
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
msgid "Glow Color"
msgstr "불빛 색상"
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
msgid "Additive Blending"
msgstr "혼합 효과"
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
msgid "You may want to enable this for dark window themes."
msgstr "어두운 창 테마에서 사용하시면 좋습니다."
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr "Burn-My-Windows 사용을 환영해요!"
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr "이 확장 기능이 맘에 든다면 친구에게 추천해주세요 :)"
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr "창 열기 애니메이션"
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr "여러 항목을 선택하면 그 중 하나를 임의로 선택합니다."
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr "효과 선택"
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr "창 닫기 애니메이션"
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr "대화상자에도 효과 추가"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
msgid "Disable on Battery Power"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
msgid "Twirl Intensity"
msgstr "회전 강도"
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
msgid "Shake Intensity"
msgstr "떨림 강도"
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
msgid "Suction Intensity"
msgstr "흡입 강도"
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr "사전설정 선택"
+388
View File
@@ -0,0 +1,388 @@
# 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: 2022-06-25 05:04+0200\n"
"PO-Revision-Date: 2022-04-11 12:07+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/burn-my-"
"windows/core/nb_NO/>\n"
"Language: nb_NO\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.12-dev\n"
#: prefs.js:114
msgid "Effect Options"
msgstr "Effektalternativer"
#: prefs.js:142
msgid "Go Back"
msgstr "Gå tilbake"
#: prefs.js:184
msgid "General Options"
msgstr "Generelle innstillinger"
#: prefs.js:278
msgid "Gold Sponsors"
msgstr "Gullsponsorer"
#: prefs.js:281
msgid "Silver Sponsors"
msgstr "Sølvsponsorer"
#: prefs.js:284
msgid "Bronze Sponsors"
msgstr "Bronsesponsorer"
#: prefs.js:287
msgid "Past Sponsors"
msgstr "Tidligere sponsorer"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:510
#, javascript-format
msgid "Preview for %s"
msgstr "Forhåndsvisning for %s"
#: prefs.js:532
#, fuzzy
msgid "Close this Window to Preview the Effect!"
msgstr "Lukk dette vinduet for å forhåndsvise effekten"
#: src/BrokenGlass.js:138
#, fuzzy
msgid "Broken Glass"
msgstr "Knust glass"
#: src/TVEffect.js:77
msgid "TV Effect"
msgstr "TV-effekt"
#: src/TRexAttack.js:115
msgid "T-Rex Attack"
msgstr "T-rex-angrep"
#: src/SnapOfDisintegration.js:117
msgid "Snap of Disintegration"
msgstr ""
#: src/Incinerate.js:87
msgid "Incinerate"
msgstr ""
#: src/Wisps.js:85
msgid "Wisps"
msgstr ""
#: src/Fire.js:99
msgid "Fire"
msgstr "Brann"
#: src/Fire.js:154
msgid "Default Fire"
msgstr "Forvalgt brann"
#: src/Fire.js:164
msgid "Hell Fire"
msgstr ""
#: src/Fire.js:174
msgid "Dark and Smutty"
msgstr ""
#: src/Fire.js:184
msgid "Cold Breeze"
msgstr "Kald bris"
#: src/Fire.js:194
msgid "Santa is Coming"
msgstr "Julenissen kommer"
#: src/Hexagon.js:97
msgid "Hexagon"
msgstr "Heksagon"
#: src/EnergizeA.js:79
msgid "Energize A"
msgstr ""
#: src/Apparition.js:80
msgid "Apparition"
msgstr ""
#: src/EnergizeB.js:80
msgid "Energize B"
msgstr ""
#: src/Matrix.js:113
msgid "Matrix"
msgstr ""
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "Besøk hjemmesiden"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "Vis endringslogg"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "Rapporter en feil"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "Opprett en effekt"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "Oversett"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "Doner"
#: resources/ui/common/main-menu.ui:41
msgid "About Burn-My-Windows"
msgstr "Om"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
msgid "Animation Time [ms]"
msgstr "Animasjonstid [ms]"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
msgid "Reset to Default Value"
msgstr "Tilbakestill til forvalgt verdi"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
#: resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr "Størrelse"
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
#: resources/ui/gtk3/Apparition.ui:112
msgid "Randomness"
msgstr "Tilfeldighet"
#: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting"
msgstr ""
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr ""
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr ""
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "Tyngdekraft"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr "Slagkraft"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr "Knus fra pekerposisjon"
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr "Skårene flyr fra der musepekeren var da du lukket vinduet."
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
msgid "Turbulence"
msgstr ""
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "Farge"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "Forhåndsinnstillinger"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "Hastighet"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr "3D-støy"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "Mer dynamisk ild, men krever mer GPU-kraft."
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr ""
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr ""
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr ""
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr ""
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr ""
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr "Forhåndsvis denne effekten"
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
msgid "Mesh Line Width"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
msgid "Line Color"
msgstr "Linjefarge"
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
msgid "Glow Color"
msgstr "Glødefarge"
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
msgid "Additive Blending"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
msgid "You may want to enable this for dark window themes."
msgstr ""
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr ""
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr "Hvis du liker denne utvidelsen kan du anbefale den til vennene dine :)"
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr ""
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr "Hvis flere blir valgt, velges én tilfeldig."
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr "Velg effekter"
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr ""
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr ""
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
msgid "Disable on Battery Power"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
msgid "Twirl Intensity"
msgstr "Hvirvelintensitet"
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
msgid "Shake Intensity"
msgstr "Ristingsintensitet"
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
msgid "Suction Intensity"
msgstr "Sugeintensitet"
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr "Velg en forhåndsinnstilling"
#~ msgid "Via PayPal"
#~ msgstr "med PayPal"
#~ msgid "Via GitHub"
#~ msgstr "på GitHub"
+389
View File
@@ -0,0 +1,389 @@
# 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: 2022-06-25 05:04+0200\n"
"PO-Revision-Date: 2022-06-27 13:20+0000\n"
"Last-Translator: Heimen Stoffels <vistausss@fastmail.com>\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/burn-my-windows/"
"core/nl/>\n"
"Language: nl\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.13.1-dev\n"
#: prefs.js:114
msgid "Effect Options"
msgstr "Effectvoorkeuren"
#: prefs.js:142
msgid "Go Back"
msgstr "Scherm sluiten"
#: prefs.js:184
msgid "General Options"
msgstr "Algemene voorkeuren"
#: prefs.js:278
msgid "Gold Sponsors"
msgstr "Gouden sponsoren"
#: prefs.js:281
msgid "Silver Sponsors"
msgstr "Zilveren sponsoren"
#: prefs.js:284
msgid "Bronze Sponsors"
msgstr "Bronzen sponsoren"
#: prefs.js:287
msgid "Past Sponsors"
msgstr "Voormalige sponsoren"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:510
#, javascript-format
msgid "Preview for %s"
msgstr "%s-voorvertoning"
#: prefs.js:532
msgid "Close this Window to Preview the Effect!"
msgstr "Sluit dit venster om het effect voor te vertonen."
#: src/BrokenGlass.js:138
msgid "Broken Glass"
msgstr "Gebroken glas"
#: src/TVEffect.js:77
msgid "TV Effect"
msgstr "Tv-effect"
#: src/TRexAttack.js:115
msgid "T-Rex Attack"
msgstr "T-Rex-aanval"
#: src/SnapOfDisintegration.js:117
msgid "Snap of Disintegration"
msgstr "Uiteenvallen"
#: src/Incinerate.js:87
msgid "Incinerate"
msgstr "Verbranden"
#: src/Wisps.js:85
msgid "Wisps"
msgstr "Dwaallicht"
#: src/Fire.js:99
msgid "Fire"
msgstr "Vuur"
#: src/Fire.js:154
msgid "Default Fire"
msgstr "Normaal vuur"
#: src/Fire.js:164
msgid "Hell Fire"
msgstr "Hellevuur"
#: src/Fire.js:174
msgid "Dark and Smutty"
msgstr "Donker en zwart"
#: src/Fire.js:184
msgid "Cold Breeze"
msgstr "Koude wind"
#: src/Fire.js:194
msgid "Santa is Coming"
msgstr "Kerstmanvuur"
#: src/Hexagon.js:97
msgid "Hexagon"
msgstr "Hexagon"
#: src/EnergizeA.js:79
msgid "Energize A"
msgstr "Stimulatie A"
#: src/Apparition.js:80
msgid "Apparition"
msgstr "Verschijning"
#: src/EnergizeB.js:80
msgid "Energize B"
msgstr "Stimulatie B"
#: src/Matrix.js:113
msgid "Matrix"
msgstr "Matrix"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "Website openen"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "Wijzigingslog bekijken"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "Bug melden"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "Effect creëren"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "Vertalen"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "Doneren"
#: resources/ui/common/main-menu.ui:41
msgid "About Burn-My-Windows"
msgstr "Over Burn-My-Windows"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
msgid "Animation Time [ms]"
msgstr "Animatieduur [in ms]"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
msgid "Reset to Default Value"
msgstr "Standaardwaarde herstellen"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
#: resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr "Schaal"
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
#: resources/ui/gtk3/Apparition.ui:112
msgid "Randomness"
msgstr "Willekeurigheid"
#: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting"
msgstr "Verticale verspringing"
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr "Sleepspoorkleur"
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr "Piekkleur"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "Zwaartekracht"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr "Windkracht"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr "Uiteenvallen bij cursorpositie"
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr ""
"De stukken vliegen weg vanaf de cursorpositie na het sluiten van een venster."
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
msgid "Turbulence"
msgstr "Turbulentie"
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "Kleur"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "Voorinstellingen"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "Snelheid"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr "3D-ruis"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "Zorgt voor een speels vuur, maar vereist meer computerkracht."
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr "Verloop"
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr "Schaal van pootkrabben"
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr "Aantal pootkrabben"
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr "Vervormingseffect"
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr "Flitskleur"
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr "Voorvertonen"
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
msgid "Mesh Line Width"
msgstr "Gaaslijnbreedte"
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
msgid "Line Color"
msgstr "Lijnkleur"
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
msgid "Glow Color"
msgstr "Gloeikleur"
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
msgid "Additive Blending"
msgstr "Overvloeien"
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
msgid "You may want to enable this for dark window themes."
msgstr "Dit is mogelijk nuttig bij het gebruik van donkere thema's."
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr "Welkom bij ‘Burn-My-Windows’!"
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr ""
"Als u deze uitbreiding leuk vindt, deel hem dan met vrienden en kennissen. :)"
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr "Animatie bij openen van vensters"
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr ""
"Als er meerdere effecten zijn geselecteerd, dan wordt er willekeurig gekozen."
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr "Kies de effecten"
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr "Animatie bij sluiten van vensters"
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr "Dialoogvensters ook voorzien van effecten"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
msgid "Disable on Battery Power"
msgstr "Uitschakelen bij gebruik van accu"
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
msgid "Twirl Intensity"
msgstr "Wervelintensiteit"
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
msgid "Shake Intensity"
msgstr "Schudintensiteit"
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
msgid "Suction Intensity"
msgstr "Zuigintensiteit"
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr "Kies een voorinstelling"
#~ msgid "Via PayPal"
#~ msgstr "Via PayPal"
#~ msgid "Via GitHub"
#~ msgstr "Via GitHub"
+383
View File
@@ -0,0 +1,383 @@
# 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: 2022-06-25 05:04+0200\n"
"PO-Revision-Date: 2022-05-24 21:14+0000\n"
"Last-Translator: Paweł Rzońca <pwrzonca@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/burn-my-windows/"
"core/pl/>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.13-dev\n"
#: prefs.js:114
msgid "Effect Options"
msgstr "Opcje Efektów"
#: prefs.js:142
msgid "Go Back"
msgstr "Wstecz"
#: prefs.js:184
msgid "General Options"
msgstr "Opcje Ogólne"
#: prefs.js:278
msgid "Gold Sponsors"
msgstr "Złoci Sponsorzy"
#: prefs.js:281
msgid "Silver Sponsors"
msgstr "Srebrni Sponsorzy"
#: prefs.js:284
msgid "Bronze Sponsors"
msgstr "Brązowi Sponsorzy"
#: prefs.js:287
msgid "Past Sponsors"
msgstr "Byli Sponsorzy"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:510
#, javascript-format
msgid "Preview for %s"
msgstr "Podgląd dla %s"
#: prefs.js:532
msgid "Close this Window to Preview the Effect!"
msgstr "Zamknij to Okno, aby zobaczyć Efekt!"
#: src/BrokenGlass.js:138
msgid "Broken Glass"
msgstr "Rozbicie Szkła"
#: src/TVEffect.js:77
msgid "TV Effect"
msgstr "Efekt TV"
#: src/TRexAttack.js:115
msgid "T-Rex Attack"
msgstr "Atak T-Rex-a"
#: src/SnapOfDisintegration.js:117
msgid "Snap of Disintegration"
msgstr "Pstryknięcie Dezintegracji"
#: src/Incinerate.js:87
msgid "Incinerate"
msgstr ""
#: src/Wisps.js:85
msgid "Wisps"
msgstr "Ogniki"
#: src/Fire.js:99
msgid "Fire"
msgstr "Ogień"
#: src/Fire.js:154
msgid "Default Fire"
msgstr "Domyślny Ogień"
#: src/Fire.js:164
msgid "Hell Fire"
msgstr "Ogień Piekielny"
#: src/Fire.js:174
msgid "Dark and Smutty"
msgstr "Ciemny i Brudny"
#: src/Fire.js:184
msgid "Cold Breeze"
msgstr "Zimna Bryza"
#: src/Fire.js:194
msgid "Santa is Coming"
msgstr "Nadchodzi Święty Mikołaj"
#: src/Hexagon.js:97
msgid "Hexagon"
msgstr "Sześciokąt"
#: src/EnergizeA.js:79
msgid "Energize A"
msgstr "Energetyzacja A"
#: src/Apparition.js:80
msgid "Apparition"
msgstr "Teleportacja"
#: src/EnergizeB.js:80
msgid "Energize B"
msgstr "Energetyzacja B"
#: src/Matrix.js:113
msgid "Matrix"
msgstr "Matrix"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "Odwiedź Stronę Główną"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "Pokaż Dziennik Zmian"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "Zgłoś Błąd"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "Stwórz Efekt"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "Przetłumacz"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "Wspomóż"
#: resources/ui/common/main-menu.ui:41
msgid "About Burn-My-Windows"
msgstr "Informacje o Burn-My-Windows"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
msgid "Animation Time [ms]"
msgstr "Czas Animacji [ms]"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
msgid "Reset to Default Value"
msgstr "Zresetuj do Domyślnej Wartości"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
#: resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr "Skala"
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
#: resources/ui/gtk3/Apparition.ui:112
msgid "Randomness"
msgstr "Losowość"
#: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting"
msgstr "Przestrzelenie Pionowe"
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr "Kolor Śladu"
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr "Kolor Końcówki"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "Grawitacja"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr "Siła Uderzenia"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr "Roztrzaskaj z Pozycji Kursora"
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr ""
"Odłamki odlecą z miejsca, w którym znajdował się wskaźnik myszy podczas "
"zamykania okna."
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
msgid "Turbulence"
msgstr ""
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "Kolor"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "Predefiniowane"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "Szybkość"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr "Szum 3D"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "Tworzy bardziej dynamiczny ogień, ale wymaga większej mocy GPU."
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr "Gradient"
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr "Skala Drapnięć Pazurów"
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr "Liczba Drapnięć Pazurów"
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr "Efekt Wypaczenia"
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr "Kolor Błysku"
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr "Podgląd Efektu"
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
msgid "Mesh Line Width"
msgstr "Szerokość Linii Siatki"
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
msgid "Line Color"
msgstr "Kolor Linii"
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
msgid "Glow Color"
msgstr "Kolor Poświaty"
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
msgid "Additive Blending"
msgstr "Mieszanie Addytywne"
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
msgid "You may want to enable this for dark window themes."
msgstr "Możesz chcieć to włączyć w przypadku ciemnych motywów okien."
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr "Witaj w Burn-My-Windows!"
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr "Jeśli podoba Ci się to rozszerzenie, poleć je znajomym :)"
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr "Animacja Otwierania Okna"
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr "Jeśli wybrano kilka, efekt jest wybierany losowo."
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr "Wybierz Efekty"
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr "Animacja Zamykania Okna"
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr "Dodaj Efekty również do Okien Dialogowych"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
msgid "Disable on Battery Power"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
msgid "Twirl Intensity"
msgstr "Intensywność Wirowania"
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
msgid "Shake Intensity"
msgstr "Intensywność Wstrząsania"
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
msgid "Suction Intensity"
msgstr "Intensywność Ssania"
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr "Wybierz Obecny"
+383
View File
@@ -0,0 +1,383 @@
# 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: 2022-06-25 05:04+0200\n"
"PO-Revision-Date: 2022-04-13 13:09+0000\n"
"Last-Translator: Егор Ермаков <eg.ermakov2016@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/burn-my-windows/"
"core/ru/>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.12-dev\n"
#: prefs.js:114
msgid "Effect Options"
msgstr "Параметры эффекта"
#: prefs.js:142
msgid "Go Back"
msgstr "Назад"
#: prefs.js:184
msgid "General Options"
msgstr "Общие настройки"
#: prefs.js:278
msgid "Gold Sponsors"
msgstr "Золотые спонсоры"
#: prefs.js:281
msgid "Silver Sponsors"
msgstr "Серебряные спонсоры"
#: prefs.js:284
msgid "Bronze Sponsors"
msgstr "Бронзовые спонсоры"
#: prefs.js:287
msgid "Past Sponsors"
msgstr "Прошлые спонсоры"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:510
#, javascript-format
msgid "Preview for %s"
msgstr "Предпросмотр %s"
#: prefs.js:532
msgid "Close this Window to Preview the Effect!"
msgstr "Закройте это окно для предпросмотра эффекта!"
#: src/BrokenGlass.js:138
msgid "Broken Glass"
msgstr "Разбитое стекло"
#: src/TVEffect.js:77
msgid "TV Effect"
msgstr "Эффект ЭЛТ"
#: src/TRexAttack.js:115
msgid "T-Rex Attack"
msgstr "Атака тираннозавра"
#: src/SnapOfDisintegration.js:117
msgid "Snap of Disintegration"
msgstr ""
#: src/Incinerate.js:87
msgid "Incinerate"
msgstr ""
#: src/Wisps.js:85
msgid "Wisps"
msgstr "Огоньки"
#: src/Fire.js:99
msgid "Fire"
msgstr "Огонь"
#: src/Fire.js:154
msgid "Default Fire"
msgstr "Обычный огонь"
#: src/Fire.js:164
msgid "Hell Fire"
msgstr "Адское пламя"
#: src/Fire.js:174
msgid "Dark and Smutty"
msgstr "Тёмный и грязный"
#: src/Fire.js:184
msgid "Cold Breeze"
msgstr "Холодный бриз"
#: src/Fire.js:194
msgid "Santa is Coming"
msgstr "Дед Мороз идёт"
#: src/Hexagon.js:97
msgid "Hexagon"
msgstr "Гексагон"
#: src/EnergizeA.js:79
msgid "Energize A"
msgstr "Энергия A"
#: src/Apparition.js:80
msgid "Apparition"
msgstr ""
#: src/EnergizeB.js:80
msgid "Energize B"
msgstr "Энергия B"
#: src/Matrix.js:113
msgid "Matrix"
msgstr "Матрица"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "Посетить страницу проекта"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "Просмотреть список изменений"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "Сообщить об ошибке"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "Создать эффект"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "Перевести"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "Пожертвовать"
#: resources/ui/common/main-menu.ui:41
msgid "About Burn-My-Windows"
msgstr "О Burn-My-Windows"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
msgid "Animation Time [ms]"
msgstr "Время анимации (мс)"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
msgid "Reset to Default Value"
msgstr "Сброс на значение по умолчанию"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
#: resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr "Масштаб"
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
#: resources/ui/gtk3/Apparition.ui:112
msgid "Randomness"
msgstr "Случайность"
#: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting"
msgstr "Вертикальное превышение"
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr "Цвет следа"
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr "Цвет наконечника"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "Гравитация"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr "Сила удара"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr "Разбить от положения курсора"
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr ""
"Осколки разлетятся в стороны от того места, где находился курсор мыши при "
"закрытии окна."
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
msgid "Turbulence"
msgstr ""
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "Цвет"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "Пресеты"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "Скорость"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr "3D Шум"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "Создает более динамичный огонь, но требует большей мощности GPU."
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr "Градиент"
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr "Масштаб царапин"
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr "Количество царапин"
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr "Эффект искривления"
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr "Цвет вспышки"
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr "Предпросмотр этого эффекта"
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
msgid "Mesh Line Width"
msgstr "Ширина линии сетки"
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
msgid "Line Color"
msgstr "Цвет линии"
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
msgid "Glow Color"
msgstr "Цвет свечения"
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
msgid "Additive Blending"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
msgid "You may want to enable this for dark window themes."
msgstr "Возможно, вы захотите включить это для тёмной темы."
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr "Добро пожаловать в Burn-My-Windows!"
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr "Если вам нравится это расширение, порекомендуйте его своим друзьям :)"
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr "Анимация открытия окна"
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr "Если выбрано несколько, то один выбирается случайным образом."
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr "Выберите эффекты"
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr "Анимация закрытия окна"
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr "Также добавить эффекты к диалогам"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
msgid "Disable on Battery Power"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
msgid "Twirl Intensity"
msgstr "Интенсивность вращения"
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
msgid "Shake Intensity"
msgstr "Интенсивность встряски"
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
msgid "Suction Intensity"
msgstr "Интенсивность всасывания"
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr "Выберите пресет"
+380
View File
@@ -0,0 +1,380 @@
# 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: 2022-06-25 05:04+0200\n"
"PO-Revision-Date: 2022-05-23 08:18+0000\n"
"Last-Translator: Jose Riha <jose1711@gmail.com>\n"
"Language-Team: Slovak <https://hosted.weblate.org/projects/burn-my-windows/"
"core/sk/>\n"
"Language: sk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 4.13-dev\n"
#: prefs.js:114
msgid "Effect Options"
msgstr "Možnosti efektov"
#: prefs.js:142
msgid "Go Back"
msgstr "Prejsť naspäť"
#: prefs.js:184
msgid "General Options"
msgstr "Všeobecné možnosti"
#: prefs.js:278
msgid "Gold Sponsors"
msgstr "Zlatí sponzori"
#: prefs.js:281
msgid "Silver Sponsors"
msgstr "Strieborní sponzori"
#: prefs.js:284
msgid "Bronze Sponsors"
msgstr "Bronzoví sponzori"
#: prefs.js:287
msgid "Past Sponsors"
msgstr "Bývalí sponzori"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:510
#, javascript-format
msgid "Preview for %s"
msgstr "Náhľad %s"
#: prefs.js:532
msgid "Close this Window to Preview the Effect!"
msgstr "Zatvorte toto okno, ak chcete vidieť efekt!"
#: src/BrokenGlass.js:138
msgid "Broken Glass"
msgstr "Črepiny"
#: src/TVEffect.js:77
msgid "TV Effect"
msgstr "Televízor"
#: src/TRexAttack.js:115
msgid "T-Rex Attack"
msgstr "Tyrannosaurus"
#: src/SnapOfDisintegration.js:117
msgid "Snap of Disintegration"
msgstr "Thanosove lusknutie"
#: src/Incinerate.js:87
msgid "Incinerate"
msgstr ""
#: src/Wisps.js:85
msgid "Wisps"
msgstr "Obláčiky"
#: src/Fire.js:99
msgid "Fire"
msgstr "Oheň"
#: src/Fire.js:154
msgid "Default Fire"
msgstr "Predvolený oheň"
#: src/Fire.js:164
msgid "Hell Fire"
msgstr "Pekelný oheň"
#: src/Fire.js:174
msgid "Dark and Smutty"
msgstr "Tmavý a zafúľaný"
#: src/Fire.js:184
msgid "Cold Breeze"
msgstr "Studený vánok"
#: src/Fire.js:194
msgid "Santa is Coming"
msgstr "Santa prichádza"
#: src/Hexagon.js:97
msgid "Hexagon"
msgstr "Šesťhran"
#: src/EnergizeA.js:79
msgid "Energize A"
msgstr "Nabudenie A"
#: src/Apparition.js:80
msgid "Apparition"
msgstr "Prízrak"
#: src/EnergizeB.js:80
msgid "Energize B"
msgstr "Nabudenie B"
#: src/Matrix.js:113
msgid "Matrix"
msgstr "Matrix"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "Navštíviť webovú stránku"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "Zobraziť históriu zmien"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "Nahlásiť chybu"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "Vytvoriť efekt"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "Preložiť"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "Prispieť"
#: resources/ui/common/main-menu.ui:41
msgid "About Burn-My-Windows"
msgstr "O Burn-My-Windows"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
msgid "Animation Time [ms]"
msgstr "Trvanie animácie [ms]"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
msgid "Reset to Default Value"
msgstr "Obnoviť predvolené hodnoty"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
#: resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr "Priblíženie"
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
#: resources/ui/gtk3/Apparition.ui:112
msgid "Randomness"
msgstr "Náhodnosť"
#: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting"
msgstr "Zvislé prestrelenie"
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr "Farba chvosta"
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr "Farba špicu"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "Gravitácia"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr "Sila úderu"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr "Roztrieštenie od polohy kurzora"
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr "Črepiny odletia z miesta, kde bol kurzor myši pri zatváraní okna."
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
msgid "Turbulence"
msgstr ""
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "Farba"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "Predvoľby"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "Rýchlosť"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr "3D šum"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "Vytvorí dynamickejší efekt ohňa, ale vyžaduje na to viac GPU."
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr "Prechod"
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr "Veľkosť škrabancov od pazúrov"
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr "Počet škrabancov"
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr "Efekt zakrivenia"
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr "Farba blesku"
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr "Náhľad efektu"
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
msgid "Mesh Line Width"
msgstr "Šírka čiar v sieti"
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
msgid "Line Color"
msgstr "Farba čiar"
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
msgid "Glow Color"
msgstr "Farba žiary"
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
msgid "Additive Blending"
msgstr "Prídavné miešanie"
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
msgid "You may want to enable this for dark window themes."
msgstr "Možno túto voľbu budete chcieť zapnúť pri tmavých motívoch."
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr "Víta Vás Burn-My-Windows!"
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr "Ak sa vám toto rozšírenie páči, odporučte ho priateľom :-)"
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr "Animácia pri otváraní okna"
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr "Ak ich vyberiete viac, budú sa náhodne striedať."
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr "Vyberte efekty"
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr "Animácia pri zatváraní okna"
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr "Použiť efekt aj na dialógové okná"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
msgid "Disable on Battery Power"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
msgid "Twirl Intensity"
msgstr "Intenzita vírenia"
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
msgid "Shake Intensity"
msgstr "Intenzita otrasov"
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
msgid "Suction Intensity"
msgstr "Intenzita odsatia"
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr "Vyberte predvoľbu"
+382
View File
@@ -0,0 +1,382 @@
# 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: 2022-06-25 05:04+0200\n"
"PO-Revision-Date: 2022-05-11 12:17+0000\n"
"Last-Translator: obslsessed <obslsessed@duck.com>\n"
"Language-Team: Swedish <https://hosted.weblate.org/projects/burn-my-windows/"
"core/sv/>\n"
"Language: sv\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.12.1\n"
#: prefs.js:114
msgid "Effect Options"
msgstr "Effektalternativ"
#: prefs.js:142
msgid "Go Back"
msgstr "Gå tillbaka"
#: prefs.js:184
msgid "General Options"
msgstr "Generella alternativ"
#: prefs.js:278
msgid "Gold Sponsors"
msgstr "Guldsponsorer"
#: prefs.js:281
msgid "Silver Sponsors"
msgstr "Silversponsorer"
#: prefs.js:284
msgid "Bronze Sponsors"
msgstr "Bronssponsorer"
#: prefs.js:287
msgid "Past Sponsors"
msgstr "Sponsorer från förr"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:510
#, javascript-format
msgid "Preview for %s"
msgstr "Förhandsgranskning för %s"
#: prefs.js:532
msgid "Close this Window to Preview the Effect!"
msgstr "Stäng det här fönstret för att förhandsgranska effekten!"
#: src/BrokenGlass.js:138
msgid "Broken Glass"
msgstr "Trasigt glas"
#: src/TVEffect.js:77
msgid "TV Effect"
msgstr "TV-effekt"
#: src/TRexAttack.js:115
msgid "T-Rex Attack"
msgstr "T-Rexattack"
#: src/SnapOfDisintegration.js:117
msgid "Snap of Disintegration"
msgstr ""
#: src/Incinerate.js:87
msgid "Incinerate"
msgstr ""
#: src/Wisps.js:85
msgid "Wisps"
msgstr ""
#: src/Fire.js:99
msgid "Fire"
msgstr "Eld"
#: src/Fire.js:154
msgid "Default Fire"
msgstr "Standardeld"
#: src/Fire.js:164
msgid "Hell Fire"
msgstr "Helveteseld"
#: src/Fire.js:174
msgid "Dark and Smutty"
msgstr "Mörk och smutsig"
#: src/Fire.js:184
msgid "Cold Breeze"
msgstr "Kall bris"
#: src/Fire.js:194
msgid "Santa is Coming"
msgstr "Jultomten kommer"
#: src/Hexagon.js:97
msgid "Hexagon"
msgstr "Sexhörning"
#: src/EnergizeA.js:79
msgid "Energize A"
msgstr ""
#: src/Apparition.js:80
msgid "Apparition"
msgstr "Uppenbarelse"
#: src/EnergizeB.js:80
msgid "Energize B"
msgstr ""
#: src/Matrix.js:113
msgid "Matrix"
msgstr "Matris"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "Besök hemsida"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "Visa ändringslogg"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "Rapportera en bugg"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "Skapa en effekt"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "Översätt"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "Donera"
#: resources/ui/common/main-menu.ui:41
msgid "About Burn-My-Windows"
msgstr "Om Bränn-mitt-Windows"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
msgid "Animation Time [ms]"
msgstr "Animationens tid [ms]"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
msgid "Reset to Default Value"
msgstr "Återställ till standardvärde"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
#: resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr "Skala"
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
#: resources/ui/gtk3/Apparition.ui:112
msgid "Randomness"
msgstr "Slumpmässighet"
#: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting"
msgstr "Vertikal överskjutning"
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr "Spårets färg"
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr "Färg på dricksen"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "Tyngdkraft"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr "Blåskraft"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr ""
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr ""
"Skärvorna kommer att flyga iväg från där din muspekare befann sig när rutan "
"stängdes."
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
msgid "Turbulence"
msgstr ""
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "Färg"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "Förinställningar"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "Hastighet"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr "3D-ljud"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "Skapar en mer dynamisk eld, men kräver mer GPU-kraft."
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr ""
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr ""
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr ""
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr "Warp-effekt"
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr ""
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr "Förhandsgranska den här effekten"
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
msgid "Mesh Line Width"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
msgid "Line Color"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
msgid "Glow Color"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
msgid "Additive Blending"
msgstr "Tillsatsblandning"
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
msgid "You may want to enable this for dark window themes."
msgstr "Du kan behöva aktivera det här för mörka fönsterteman."
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr "Välkommen till Bränn-mitt-Windows!"
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr "Rekommendera det här tillägget till dina vänner om du gillar det :)"
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr "Öppna fönsteranimation"
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr "Om flera val är gjorda så väljs ett slumpvist."
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr "Välj effekter"
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr "Stäng fönsteranimation"
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr "Lägg också till effekter till dialogrutor"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
msgid "Disable on Battery Power"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
msgid "Twirl Intensity"
msgstr "Virvelns intensitet"
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
msgid "Shake Intensity"
msgstr "Skakningens intensitet"
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
msgid "Suction Intensity"
msgstr "Sugningens intensitet"
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr "Välj en förinställning"
+382
View File
@@ -0,0 +1,382 @@
# 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: 2022-06-25 05:04+0200\n"
"PO-Revision-Date: 2022-05-11 12:17+0000\n"
"Last-Translator: Muha Aliss <muhaaliss@pm.me>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/burn-my-windows/"
"core/tr/>\n"
"Language: tr\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.12.1\n"
#: prefs.js:114
msgid "Effect Options"
msgstr "Efekt Seçenekleri"
#: prefs.js:142
msgid "Go Back"
msgstr "Geri Dön"
#: prefs.js:184
msgid "General Options"
msgstr "Genel Ayarlar"
#: prefs.js:278
msgid "Gold Sponsors"
msgstr "Altın Sponsorlar"
#: prefs.js:281
msgid "Silver Sponsors"
msgstr "Gümüş Sponsorlar"
#: prefs.js:284
msgid "Bronze Sponsors"
msgstr "Bronz Sponsorlar"
#: prefs.js:287
msgid "Past Sponsors"
msgstr "Eski Sponsorlar"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:510
#, javascript-format
msgid "Preview for %s"
msgstr "%s ön izleme"
#: prefs.js:532
msgid "Close this Window to Preview the Effect!"
msgstr "Efekti Ön izlemek İçin Bu Pencereyi Kapatın!"
#: src/BrokenGlass.js:138
msgid "Broken Glass"
msgstr "Kırılan Cam"
#: src/TVEffect.js:77
msgid "TV Effect"
msgstr "TV Efekti"
#: src/TRexAttack.js:115
msgid "T-Rex Attack"
msgstr "T-Rex Saldırısı"
#: src/SnapOfDisintegration.js:117
msgid "Snap of Disintegration"
msgstr ""
#: src/Incinerate.js:87
msgid "Incinerate"
msgstr ""
#: src/Wisps.js:85
msgid "Wisps"
msgstr ""
#: src/Fire.js:99
msgid "Fire"
msgstr "Ateş"
#: src/Fire.js:154
msgid "Default Fire"
msgstr "Varsayılan Ateş"
#: src/Fire.js:164
msgid "Hell Fire"
msgstr "Cehennem Ateşi"
#: src/Fire.js:174
msgid "Dark and Smutty"
msgstr "Karanlık ve Sürmeli"
#: src/Fire.js:184
msgid "Cold Breeze"
msgstr "Soğuk Esinti"
#: src/Fire.js:194
msgid "Santa is Coming"
msgstr "Noel Baba Geliyor"
#: src/Hexagon.js:97
msgid "Hexagon"
msgstr "Altıgen"
#: src/EnergizeA.js:79
msgid "Energize A"
msgstr "Enerji A"
#: src/Apparition.js:80
msgid "Apparition"
msgstr ""
#: src/EnergizeB.js:80
msgid "Energize B"
msgstr "Enerji B"
#: src/Matrix.js:113
msgid "Matrix"
msgstr "Matrix"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "Ana Sayfaya Git"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "Değişim Günlüğü"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "Hata Bildir"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "Efekt Oluştur"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "Çevir"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "Bağış"
#: resources/ui/common/main-menu.ui:41
msgid "About Burn-My-Windows"
msgstr "Burn-My-Windows Hakkında"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
msgid "Animation Time [ms]"
msgstr "Animasyon Süresi [ms]"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
msgid "Reset to Default Value"
msgstr "Varsayılan Değere Sıfırla"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
#: resources/ui/gtk3/EnergizeB.ui:91
msgid "Scale"
msgstr "Ölçek"
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
#: resources/ui/gtk3/Apparition.ui:112
msgid "Randomness"
msgstr "Rastgelelik"
#: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting"
msgstr "Dikey Taşma"
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr "İz Rengi"
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr "Yazı Rengi"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "Yer Çekimi"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr "Darbe Kuvveti"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr "İşaretçi Konumundan Parçalanma"
#: resources/ui/gtk4/BrokenGlass.ui:221
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr ""
"Parçalar, pencereyi kapatırken fare işaretçinizin bulunduğu yerden uzağa "
"uçacaktır."
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
msgid "Turbulence"
msgstr ""
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "Renk"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "Şablon"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "Hız"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr ""
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "Daha dinamik bir ateş oluşturur ancak daha fazla GPU gücü gerektirir."
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
msgid "Gradient"
msgstr "Gradyan"
#: resources/ui/gtk4/TRexAttack.ui:70
msgid "Claw Scratch Scale"
msgstr "Pençe Çizik Ölçeği"
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr "Pençe Çizik Sayısı"
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr "Çözgü Etkisi"
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr "Flaş Rengi"
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr "Bu Efekti Önizle"
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
msgid "Mesh Line Width"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
msgid "Line Color"
msgstr "Çizgi rengi"
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
msgid "Glow Color"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
msgid "Additive Blending"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
msgid "You may want to enable this for dark window themes."
msgstr "Bunu koyu temalı pencereler için etkinleştirmek isteyebilirsiniz."
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr "Burn-My-Windows'a Hoş Geldiniz!"
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr "Bu uzantıyı beğendiyseniz, arkadaşlarınıza tavsiye edin :)"
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr "Pencere Animasyonunu Aç"
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr "Birden fazla seçilirse, rastgele biri uygulanır."
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr "Efektleri Seçin"
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr "Pencere Animasyonunu Kapat"
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr "Ayrıca Diyaloglara Efektler Ekle"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
msgid "Disable on Battery Power"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
msgid "Twirl Intensity"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
msgid "Shake Intensity"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
msgid "Suction Intensity"
msgstr ""
#: resources/ui/gtk3/Fire.ui:63
msgid "Choose a Preset"
msgstr "Bir Şablon Seçin"
+387
View File
@@ -0,0 +1,387 @@
# 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: 2022-06-25 05:04+0200\n"
"PO-Revision-Date: 2022-04-08 07:11+0000\n"
"Last-Translator: merelymyself <poonsters6@gmail.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"burn-my-windows/core/zh_Hans/>\n"
"Language: zh_Hans\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.12-dev\n"
#: prefs.js:114
msgid "Effect Options"
msgstr "特殊效果选项"
#: prefs.js:142
msgid "Go Back"
msgstr "返回"
#: prefs.js:184
msgid "General Options"
msgstr "常规选项"
#: prefs.js:278
msgid "Gold Sponsors"
msgstr "金牌赞助商"
#: prefs.js:281
msgid "Silver Sponsors"
msgstr "银牌赞助商"
#: prefs.js:284
msgid "Bronze Sponsors"
msgstr "铜牌赞助商"
#: prefs.js:287
msgid "Past Sponsors"
msgstr "往届赞助商"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:510
#, javascript-format
msgid "Preview for %s"
msgstr "%s 的预览"
#: prefs.js:532
msgid "Close this Window to Preview the Effect!"
msgstr "关闭此窗口,预览效果!"
#: src/BrokenGlass.js:138
msgid "Broken Glass"
msgstr "破碎的玻璃"
#: src/TVEffect.js:77
msgid "TV Effect"
msgstr "电视效果"
#: src/TRexAttack.js:115
msgid "T-Rex Attack"
msgstr "霸王龙攻击"
#: src/SnapOfDisintegration.js:117
msgid "Snap of Disintegration"
msgstr "瓦解效果"
#: src/Incinerate.js:87
msgid "Incinerate"
msgstr ""
#: src/Wisps.js:85
msgid "Wisps"
msgstr ""
#: src/Fire.js:99
msgid "Fire"
msgstr "火烧效果"
#: src/Fire.js:154
msgid "Default Fire"
msgstr "普通火烧效果"
#: src/Fire.js:164
msgid "Hell Fire"
msgstr "地狱之火"
#: src/Fire.js:174
#, fuzzy
msgid "Dark and Smutty"
msgstr "黑暗和污秽"
#: src/Fire.js:184
msgid "Cold Breeze"
msgstr "寒风"
#: src/Fire.js:194
msgid "Santa is Coming"
msgstr "圣诞老人来了"
#: src/Hexagon.js:97
msgid "Hexagon"
msgstr "六边形"
#: src/EnergizeA.js:79
msgid "Energize A"
msgstr "瞬移效果A"
#: src/Apparition.js:80
msgid "Apparition"
msgstr ""
#: src/EnergizeB.js:80
msgid "Energize B"
msgstr "瞬移效果B"
#: src/Matrix.js:113
msgid "Matrix"
msgstr "矩阵"
#: resources/ui/common/main-menu.ui:6
msgid "Visit Homepage"
msgstr "访问主页"
#: resources/ui/common/main-menu.ui:10
msgid "View Changelog"
msgstr "查看更新日志"
#: resources/ui/common/main-menu.ui:16
msgid "Report a Bug"
msgstr "报告错误"
#: resources/ui/common/main-menu.ui:20
msgid "Create an Effect"
msgstr "创建效果"
#: resources/ui/common/main-menu.ui:24
msgid "Translate"
msgstr "翻译"
#: resources/ui/common/main-menu.ui:28
msgid "Donate"
msgstr "捐赠"
#: resources/ui/common/main-menu.ui:41
msgid "About Burn-My-Windows"
msgstr "关于 Burn-My-Windows"
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
msgid "Animation Time [ms]"
msgstr "动画时间 [毫秒]"
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
msgid "Reset to Default Value"
msgstr "重置为默认值"
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
#: resources/ui/gtk3/EnergizeB.ui:91
#, fuzzy
msgid "Scale"
msgstr "规模"
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
#: resources/ui/gtk3/Apparition.ui:112
msgid "Randomness"
msgstr "随机性"
#: resources/ui/gtk4/Matrix.ui:162
msgid "Vertical Overshooting"
msgstr "垂直过冲"
#: resources/ui/gtk4/Matrix.ui:208
msgid "Trail Color"
msgstr "尾迹颜色"
#: resources/ui/gtk4/Matrix.ui:242
msgid "Tip Color"
msgstr "提示颜色"
#: resources/ui/gtk4/BrokenGlass.ui:116
msgid "Gravity"
msgstr "重力"
#: resources/ui/gtk4/BrokenGlass.ui:162
msgid "Blow Force"
msgstr "砸破力"
#: resources/ui/gtk4/BrokenGlass.ui:212
msgid "Shatter From Pointer Location"
msgstr "从光标位置破碎"
#: resources/ui/gtk4/BrokenGlass.ui:221
#, fuzzy
msgid ""
"The shards will fly away from where your mouse pointer was when closing the "
"window."
msgstr "窗口的破碎会从光标位置而开始。"
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
msgid "Turbulence"
msgstr ""
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
msgid "Color"
msgstr "颜色"
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
msgid "Presets"
msgstr "预设"
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
msgid "Speed"
msgstr "速度"
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
msgid "3D Noise"
msgstr "3D 噪点"
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
#, fuzzy
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "火会更像真但显卡功耗会增加。"
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
#, fuzzy
msgid "Gradient"
msgstr "渐变"
#: resources/ui/gtk4/TRexAttack.ui:70
#, fuzzy
msgid "Claw Scratch Scale"
msgstr "爪痕大小"
#: resources/ui/gtk4/TRexAttack.ui:116
msgid "Claw Scratch Count"
msgstr "爪痕数量"
#: resources/ui/gtk4/TRexAttack.ui:162
msgid "Warp Effect"
msgstr ""
#: resources/ui/gtk4/TRexAttack.ui:208
msgid "Flash Color"
msgstr "爪痕颜色"
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
msgid "Preview this Effect"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
msgid "Mesh Line Width"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
msgid "Line Color"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
msgid "Glow Color"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
msgid "Additive Blending"
msgstr ""
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
msgid "You may want to enable this for dark window themes."
msgstr ""
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
msgid "Welcome to Burn-My-Windows!"
msgstr ""
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
msgid "If you like this extension, recommend it to your friends :)"
msgstr ""
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
msgid "Open Window Animation"
msgstr ""
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
msgid "If multiple are selected, one is chosen randomly."
msgstr ""
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
msgid "Choose Effects"
msgstr ""
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
msgid "Close Window Animation"
msgstr ""
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
msgid "Also Add Effects to Dialogs"
msgstr ""
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
msgid "Disable on Battery Power"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
msgid "Twirl Intensity"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
msgid "Shake Intensity"
msgstr ""
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
msgid "Suction Intensity"
msgstr ""
#: resources/ui/gtk3/Fire.ui:63
#, fuzzy
msgid "Choose a Preset"
msgstr "选一个预设配置"
+476 -133
View File
@@ -13,210 +13,553 @@
'use strict';
const {Gio, Gtk, Gdk} = imports.gi;
const {Gio, Gtk, Gdk, GLib, GObject} = imports.gi;
// libadwaita is available starting with GNOME Shell 42.
let Adw = null;
try {
Adw = imports.gi.Adw;
} catch (e) {
// Nothing to do.
}
const _ = imports.gettext.domain('burn-my-windows').gettext;
const ExtensionUtils = imports.misc.extensionUtils;
const Me = imports.misc.extensionUtils.getCurrentExtension();
const utils = Me.imports.utils;
const utils = Me.imports.src.utils;
// This template widget class is defined at the bottom of this file.
var BurnMyWindowsEffectPage = null;
//////////////////////////////////////////////////////////////////////////////////////////
// For now, the preferences dialog of this extension is very simple. In the future, if //
// we might consider to improve its layout... //
// The preferences dialog is organized in pages, each of which is loaded from a //
// separate ui file. There's one page with general options, all other paged are loaded //
// from the respective effects. //
//////////////////////////////////////////////////////////////////////////////////////////
var PreferencesDialog = class PreferencesDialog {
// ------------------------------------------------------------ constructor / destructor
constructor() {
// New effects must be registered here and in extension.js.
this._ALL_EFFECTS = [
new Me.imports.src.Apparition.Apparition(),
new Me.imports.src.BrokenGlass.BrokenGlass(),
new Me.imports.src.EnergizeA.EnergizeA(),
new Me.imports.src.EnergizeB.EnergizeB(),
new Me.imports.src.Fire.Fire(),
new Me.imports.src.Hexagon.Hexagon(),
new Me.imports.src.Incinerate.Incinerate(),
new Me.imports.src.Matrix.Matrix(),
new Me.imports.src.SnapOfDisintegration.SnapOfDisintegration(),
new Me.imports.src.TRexAttack.TRexAttack(),
new Me.imports.src.TVEffect.TVEffect(),
new Me.imports.src.Wisps.Wisps(),
];
// Load all of our resources.
this._resources = Gio.Resource.load(Me.path + '/resources/burn-my-windows.gresource');
Gio.resources_register(this._resources);
// Load the user interface file.
this._builder = new Gtk.Builder();
this._builder.add_from_resource(`/ui/settings.ui`);
// Load the CSS file for the settings dialog.
const styleProvider = Gtk.CssProvider.new();
styleProvider.load_from_resource('/css/gtk.css');
if (utils.isGTK4()) {
Gtk.StyleContext.add_provider_for_display(Gdk.Display.get_default(), styleProvider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
} else {
Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(), styleProvider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
}
// This is our top-level widget which we will return later.
this._widget = this._builder.get_object('settings-widget');
// Make sure custom icons are found.
if (utils.isGTK4()) {
Gtk.IconTheme.get_for_display(Gdk.Display.get_default()).add_resource_path('/img');
} else {
Gtk.IconTheme.get_default().add_resource_path('/img');
}
// Register the template widgets used in the settings dialog.
this._registerCustomClasses();
// Store a reference to the settings object.
this._settings = ExtensionUtils.getSettings();
// Bind all properties.
this._bindAdjustment('destroy-animation-time');
this._bindAdjustment('flame-movement-speed');
this._bindAdjustment('flame-scale');
this._bindColorButton('fire-color-1');
this._bindColorButton('fire-color-2');
this._bindColorButton('fire-color-3');
this._bindColorButton('fire-color-4');
this._bindColorButton('fire-color-5');
// Load the general user interface files.
this._builder = new Gtk.Builder();
this._builder.add_from_resource(`/ui/common/main-menu.ui`);
this._builder.add_from_resource(`/ui/${utils.getGTKString()}/prefs.ui`);
// The fire-gradient-reset button needs to by bound explicitly.
this._builder.get_object('reset-fire-colors').connect('clicked', () => {
this._settings.reset('fire-color-1');
this._settings.reset('fire-color-2');
this._settings.reset('fire-color-3');
this._settings.reset('fire-color-4');
this._settings.reset('fire-color-5');
// Bind general options properties.
this.bindSwitch('destroy-dialogs');
this.bindSwitch('disable-on-battery');
// Starting with GNOME Shell 42, the settings dialog uses libadwaita (at least most of
// the time - it seems that pop!_OS does not support libadwaita even on GNOME 42). We
// have to use a different layout, as the stack sidebar looks pretty ugly with the
// included Adw.Clamp...
if (Adw && utils.shellVersionIsAtLeast(42, 'beta')) {
// This is our top-level widget which we will return later.
this._widget = new Gtk.Box({orientation: Gtk.Orientation.VERTICAL});
// Add the general options page to the settings dialog.
const generalPrefs = this._builder.get_object('general-prefs');
this.gtkBoxAppend(this._widget, generalPrefs);
// Then add a preferences group with action rows to open the effect subpages.
const group = new Adw.PreferencesGroup({title: _('Effect Options')});
this.gtkBoxAppend(this._widget, group);
this._ALL_EFFECTS.forEach(effect => {
const [minMajor, minMinor] = effect.getMinShellVersion();
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
const row = new Adw.ActionRow({title: effect.getLabel(), activatable: true});
row.add_suffix(new Gtk.Image({icon_name: 'go-next-symbolic'}));
// Open a subpage with the effect's settings.
row.connect('activated', () => {
const page = new BurnMyWindowsEffectPage(effect, this);
page.valign = Gtk.Align.CENTER;
page.margin_top = 10;
page.margin_bottom = 10;
page.margin_start = 10;
page.margin_end = 10;
// Add the effect's preferences (if any).
const preferences = effect.getPreferences(this);
if (preferences) {
this.gtkBoxAppend(page, preferences);
}
// Add a button for back navigation.
const backButton = new Gtk.Button({
halign: Gtk.Align.CENTER,
label: _('Go Back'),
});
backButton.add_css_class('suggested-action');
backButton.add_css_class('pill-button');
backButton.connect('clicked', () => {
row.get_root().close_subpage();
});
this.gtkBoxAppend(page, backButton);
// Wrap the preferences group in an Adw.Clamp.
const clamp = new Adw.Clamp({
child: page,
maximum_size: 600,
tightening_threshold: 400,
});
// Open the subpage on click.
row.get_root().present_subpage(clamp);
});
group.add(row);
}
});
}
// On older GNOME versions, we use a StackSidebar.
else {
// This is our top-level widget which we will return later.
this._widget = new Gtk.Box({
orientation: Gtk.Orientation.HORIZONTAL,
});
const stack = new Gtk.Stack({
transition_type: Gtk.StackTransitionType.SLIDE_UP_DOWN,
});
// Add the general options page.
const generalPage = this._builder.get_object('general-prefs');
generalPage.margin_start = 60;
generalPage.margin_end = 60;
stack.add_titled(generalPage, 'general', _('General Options'));
this.gtkBoxAppend(this._widget, new Gtk.StackSidebar({stack: stack}));
this.gtkBoxAppend(this._widget, stack);
// Add all other effect pages.
this._ALL_EFFECTS.forEach(effect => {
const [minMajor, minMinor] = effect.getMinShellVersion();
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
const page = new BurnMyWindowsEffectPage(effect, this);
page.margin_start = 60;
page.margin_end = 60;
page.margin_top = 60;
page.margin_bottom = 60;
// Add the effect's preferences (if any).
const preferences = effect.getPreferences(this);
if (preferences) {
this.gtkBoxAppend(page, preferences);
}
stack.add_titled(page, effect.getNick(), effect.getLabel());
}
});
}
// Some things can only be done once the widget is shown as we do not have access to
// the toplevel widget before.
this._widget.connect('realize', (widget) => {
const window = utils.isGTK4() ? widget.get_root() : widget.get_toplevel();
// Show the version number in the title bar.
window.set_title(`Burn-My-Windows ${Me.metadata.version}`);
// Add the main menu to the title bar.
{
// Add the menu button to the title bar.
const menu = this._builder.get_object('menu-button');
// Starting with GNOME Shell 42, we have to hack our way through the widget tree
// of the Adw.PreferencesWindow...
if (Adw && utils.shellVersionIsAtLeast(42, 'beta')) {
const header = this._findWidgetByType(window.get_content(), Adw.HeaderBar);
header.pack_end(menu);
// Allow closing of the sub pages.
window.can_navigate_back = true;
} else {
window.get_titlebar().pack_end(menu);
}
// Populate the menu with actions.
const group = Gio.SimpleActionGroup.new();
window.insert_action_group('prefs', group);
const addURIAction = (name, uri) => {
const action = Gio.SimpleAction.new(name, null);
action.connect('activate', () => Gtk.show_uri(null, uri, Gdk.CURRENT_TIME));
group.add_action(action);
};
// clang-format off
addURIAction('homepage', 'https://github.com/Schneegans/Burn-My-Windows');
addURIAction('changelog', 'https://github.com/Schneegans/Burn-My-Windows/blob/main/docs/changelog.md');
addURIAction('bugs', 'https://github.com/Schneegans/Burn-My-Windows/issues');
addURIAction('new-effect', 'https://github.com/Schneegans/Burn-My-Windows/blob/main/docs/how-to-create-new-effects.md');
addURIAction('translate', 'https://hosted.weblate.org/engage/burn-my-windows/');
addURIAction('donate-paypal', 'https://www.paypal.com/donate/?hosted_button_id=3F7UFL8KLVPXE');
addURIAction('donate-github', 'https://github.com/sponsors/Schneegans');
// clang-format on
// Add the about dialog.
const aboutAction = Gio.SimpleAction.new('about', null);
aboutAction.connect('activate', () => {
// The JSON report format from weblate is a bit weird. Here we extract all
// unique names from the translation report.
const translators = new Set();
this._getJSONResource('/credits/translators.json').forEach(i => {
for (const j of Object.values(i)) {
j.forEach(k => translators.add(k[1]));
}
});
const sponsors = this._getJSONResource('/credits/sponsors.json');
const dialog = new Gtk.AboutDialog({transient_for: window, modal: true});
dialog.set_logo_icon_name('burn-my-windows-symbolic');
dialog.set_program_name(`Burn-My-Windows ${Me.metadata.version}`);
dialog.set_website('https://github.com/Schneegans/Burn-My-Windows');
dialog.set_authors(['Simon Schneegans']);
dialog.set_copyright('© 2022 Simon Schneegans');
dialog.set_translator_credits([...translators].join('\n'));
if (sponsors.gold.length > 0) {
dialog.add_credit_section(_('Gold Sponsors'), sponsors.gold);
}
if (sponsors.silver.length > 0) {
dialog.add_credit_section(_('Silver Sponsors'), sponsors.silver);
}
if (sponsors.bronze.length > 0) {
dialog.add_credit_section(_('Bronze Sponsors'), sponsors.bronze);
}
if (sponsors.past.length > 0) {
dialog.add_credit_section(_('Past Sponsors'), sponsors.past);
}
dialog.set_license_type(Gtk.License.GPL_3_0);
if (utils.isGTK4()) {
dialog.show();
} else {
dialog.show_all();
}
});
group.add_action(aboutAction);
}
// Populate the open-effects drop-down menu.
{
const menu = this._builder.get_object('open-effect-menu');
const group = Gio.SimpleActionGroup.new();
window.insert_action_group('open-effects', group);
this._ALL_EFFECTS.forEach(effect => {
const [minMajor, minMinor] = effect.getMinShellVersion();
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
const nick = effect.getNick();
const label = effect.getLabel();
const actionName = nick + '-open-effect';
const fullName = 'open-effects.' + actionName;
const action = this._settings.create_action(actionName);
group.add_action(action);
menu.append_item(Gio.MenuItem.new(label, fullName));
}
});
}
// Populate the close-effects drop-down menu.
{
const menu = this._builder.get_object('close-effect-menu');
const group = Gio.SimpleActionGroup.new();
window.insert_action_group('close-effects', group);
this._ALL_EFFECTS.forEach(effect => {
const [minMajor, minMinor] = effect.getMinShellVersion();
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
const nick = effect.getNick();
const label = effect.getLabel();
const actionName = nick + '-close-effect';
const fullName = 'close-effects.' + actionName;
const action = this._settings.create_action(actionName);
group.add_action(action);
menu.append_item(Gio.MenuItem.new(label, fullName));
}
});
}
});
// Initialize the fire-preset dropdown.
this._createFirePresets();
// As we do not have something like a destructor, we just listen for the destroy
// signal of our main widget.
this._widget.connect('destroy', () => {
// Unregister our resources.
Gio.resources_unregister(this._resources);
});
// Show the widgets on GTK3.
if (!utils.isGTK4()) {
this._widget.show_all();
}
}
// -------------------------------------------------------------------- public interface
// Returns the internally used Gtk.Builder. Effects can use this to modify the UI of the
// preferences dialog.
getBuilder() {
return this._builder;
}
// Returns a Gio.Settings object for this extension.
getSettings() {
return this._settings;
}
// Returns the widget used for the settings of this extension.
getWidget() {
return this._widget;
}
// ----------------------------------------------------------------------- private stuff
// Connects a Gtk.ComboBox (or anything else which has an 'active-id' property) to a
// settings key. It also binds the corresponding reset button.
bindCombobox(settingsKey) {
this._bind(settingsKey, 'active-id');
}
// Connects a Gtk.Adjustment (or anything else which has a 'value' property) to a
// settings key. It also binds the corresponding reset button.
_bindAdjustment(settingsKey) {
bindAdjustment(settingsKey) {
this._bind(settingsKey, 'value');
}
// Connects a Gtk.Switch (or anything else which has an 'active' property) to a settings
// key. It also binds the corresponding reset button.
_bindSwitch(settingsKey) {
bindSwitch(settingsKey) {
this._bind(settingsKey, 'active');
}
// Colors are stored as strings like 'rgb(1, 0.5, 0)'. As Gio.Settings.bind_with_mapping
// is not available yet, we need to do the color conversion manually.
_bindColorButton(settingsKey) {
// is not available yet, we need to do the color conversion manually. It also binds the
// corresponding reset button.
bindColorButton(settingsKey) {
const button = this._builder.get_object(settingsKey);
// Update the settings when the color is modified.
button.connect('color-set', () => {
this._settings.set_string(settingsKey, button.get_rgba().to_string());
});
if (button) {
// Update the button state when the settings change.
const settingSignalHandler = () => {
const rgba = new Gdk.RGBA();
rgba.parse(this._settings.get_string(settingsKey));
button.rgba = rgba;
};
// Update the settings when the color is modified.
button.connect('color-set', () => {
this._settings.set_string(settingsKey, button.get_rgba().to_string());
});
this._settings.connect('changed::' + settingsKey, settingSignalHandler);
// Update the button state when the settings change.
const settingSignalHandler = () => {
const rgba = new Gdk.RGBA();
rgba.parse(this._settings.get_string(settingsKey));
button.rgba = rgba;
};
// Initialize the button with the state in the settings.
settingSignalHandler();
this._settings.connect('changed::' + settingsKey, settingSignalHandler);
// Initialize the button with the state in the settings.
settingSignalHandler();
}
this._bindResetButton(settingsKey);
}
// ----------------------------------------------------------------- GTK3 / GTK4 helpers
// Appends the given child widget to the given Gtk.Box.
gtkBoxAppend(box, child) {
if (utils.isGTK4()) {
box.append(child);
} else {
box.pack_start(child, false, false, 0);
}
}
// ----------------------------------------------------------------------- private stuff
// Searches for a reset button for the given settings key and make it reset the settings
// key when clicked.
_bindResetButton(settingsKey) {
const resetButton = this._builder.get_object('reset-' + settingsKey);
if (resetButton) {
resetButton.connect('clicked', () => {
this._settings.reset(settingsKey);
});
}
}
// Connects any widget's property to a settings key. The widget must have the same ID as
// the settings key. It also binds the corresponding reset button.
_bind(settingsKey, property) {
this._settings.bind(
settingsKey, this._builder.get_object(settingsKey), property,
Gio.SettingsBindFlags.DEFAULT);
const object = this._builder.get_object(settingsKey);
this._builder.get_object('reset-' + settingsKey)?.connect('clicked', () => {
this._settings.reset(settingsKey);
});
if (object) {
this._settings.bind(settingsKey, object, property, Gio.SettingsBindFlags.DEFAULT);
}
this._bindResetButton(settingsKey);
}
// This populates the preset dropdown menu for the fire options.
_createFirePresets() {
this._widget.connect('realize', (widget) => {
const presets = [
{
name: 'Default Fire',
scale: 1.0,
speed: 0.5,
color1: 'rgba(76, 51, 25, 0.0)',
color2: 'rgba(180, 55, 30, 0.7)',
color3: 'rgba(255, 76, 38, 0.9)',
color4: 'rgba(255, 166, 25, 1)',
color5: 'rgba(255, 255, 255, 1)'
},
{
name: 'Hell Fire',
scale: 1.5,
speed: 0.2,
color1: 'rgba(0,0,0,0)',
color2: 'rgba(103,7,80,0.5)',
color3: 'rgba(150,0,24,0.9)',
color4: 'rgb(255,200,0)',
color5: 'rgba(255, 255, 255, 1)'
},
{
name: 'Dark and Smutty',
scale: 1.0,
speed: 0.5,
color1: 'rgba(0,0,0,0)',
color2: 'rgba(36,3,0,0.5)',
color3: 'rgba(150,0,24,0.9)',
color4: 'rgb(255,177,21)',
color5: 'rgb(255,238,166)'
},
{
name: 'Cold Breeze',
scale: 1.5,
speed: -0.1,
color1: 'rgba(0,110,255,0)',
color2: 'rgba(30,111,180,0.24)',
color3: 'rgba(38,181,255,0.54)',
color4: 'rgba(34,162,255,0.84)',
color5: 'rgb(97,189,255)'
},
{
name: 'Santa is Coming',
scale: 0.4,
speed: -0.5,
color1: 'rgba(0,110,255,0)',
color2: 'rgba(208,233,255,0.24)',
color3: 'rgba(207,235,255,0.84)',
color4: 'rgb(208,243,255)',
color5: 'rgb(255,255,255)'
}
];
// Reads the contents of a JSON file contained in the global resources archive. The data
// is parsed and returned as a JavaScript object / array.
_getJSONResource(path) {
return JSON.parse(utils.getStringResource(path));
}
const menu = Gio.Menu.new();
const group = Gio.SimpleActionGroup.new();
const groupName = 'presets';
// This traverses the widget tree below the given parent recursively and returns the
// first widget of the given type.
_findWidgetByType(parent, type) {
for (const child of [...parent]) {
if (child instanceof type) return child;
// Add all presets.
presets.forEach((preset, i) => {
const actionName = 'fire' + i;
menu.append(preset.name, groupName + '.' + actionName);
let action = Gio.SimpleAction.new(actionName, null);
const match = this._findWidgetByType(child, type);
if (match) return match;
}
// Load the preset on activation.
action.connect('activate', () => {
this._settings.set_double('flame-movement-speed', preset.speed);
this._settings.set_double('flame-scale', preset.scale);
this._settings.set_string('fire-color-1', preset.color1);
this._settings.set_string('fire-color-2', preset.color2);
this._settings.set_string('fire-color-3', preset.color3);
this._settings.set_string('fire-color-4', preset.color4);
this._settings.set_string('fire-color-5', preset.color5);
return null;
}
// Initializes template widgets used by the preferences dialog.
_registerCustomClasses() {
// Each effect page is based on a template widget. This template contains the title
// and the preview button.
if (GObject.type_from_name('BurnMyWindowsEffectPage') == null) {
BurnMyWindowsEffectPage = GObject.registerClass(
{
GTypeName: 'BurnMyWindowsEffectPage',
Template: `resource:///ui/${utils.getGTKString()}/effectPage.ui`,
InternalChildren: ['label', 'button'],
},
class BurnMyWindowsEffectPage extends Gtk.Box { // ------------------------------
_init(effect, dialog) {
super._init();
// Set the effect's name as label.
this._label.label = effect.getLabel();
// Open the preview window once the preview button is clicked.
this._button.connect('clicked', () => {
// Set the to-be-previewed effect.
dialog.getSettings().set_string('open-preview-effect', effect.getNick());
dialog.getSettings().set_string('close-preview-effect', effect.getNick());
// Make sure that the window.show() firther below "sees" this change.
Gio.Settings.sync();
// Create the preview-window.
const window = new Gtk.Window({
// Translators: %s will be replaced by the effect's name.
title: _('Preview for %s').replace('%s', effect.getLabel()),
default_width: 800,
default_height: 450,
modal: true,
transient_for: utils.isGTK4() ? this._button.get_root() :
this._button.get_toplevel()
});
// Add a header bar to the window.
if (utils.isGTK4()) {
const header = Gtk.HeaderBar.new();
window.set_titlebar(header);
}
const box = new Gtk.Box({
orientation: Gtk.Orientation.VERTICAL,
valign: Gtk.Align.CENTER,
spacing: 10,
margin_start: 50,
margin_end: 50
});
const label = Gtk.Label.new(_('Close this Window to Preview the Effect!'));
label.wrap = true;
label.justify = Gtk.Justification.CENTER;
label.get_style_context().add_class('large-title');
const image = new Gtk.Image({
icon_name: 'burn-my-windows-symbolic',
pixel_size: 128,
});
dialog.gtkBoxAppend(box, image);
dialog.gtkBoxAppend(box, label);
if (utils.isGTK4()) {
window.set_child(box);
window.show();
} else {
window.add(box);
window.show_all();
}
});
}
});
group.add_action(action);
});
this._builder.get_object('fire-preset-button').set_menu_model(menu);
widget.get_root().insert_action_group(groupName, group);
});
}
}
}
// Nothing to do for now...
function init() {}
// This is used for setting up the translations.
function init() {
ExtensionUtils.initTranslations();
}
// This function is called when the preferences window is created to build and return a
// Gtk widget. We create a new instance of the PreferencesDialog class each time this
+1
View File
@@ -0,0 +1 @@
The `translators.json` file is directly exported from weblate.
+22
View File
@@ -0,0 +1,22 @@
{
"gold": [
"<a href='https://github.com/dennis1248'>Dennis ten Hoove</a>"
],
"silver": [
"<a href='https://github.com/danielheadbang'>@danielheadbang</a>",
"<a href='https://twitter.com/tjiiik'>tj3k</a>",
"<a href='https://github.com/MRR-dev'>@MRR-dev</a>",
"<a href='https://github.com/castrojo'>Jorge Castro</a>"
],
"bronze": [
"<a href='https://github.com/AngelBrielez'>Angel Brielez</a>"
],
"past": [
"<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>"
]
}
+215
View File
@@ -0,0 +1,215 @@
[
{
"Swedish": [
[
"obslsessed@duck.com",
"obslsessed",
1
],
[
"swedishsailfishosuser@tutanota.com",
"Kristoffer Grundstr\u00f6m",
57
]
]
},
{
"Italian": [
[
"mario03@gmail.com",
"Mario",
1
],
[
"albano_battistella@hotmail.com",
"albanobattistella",
77
]
]
},
{
"French": [
[
"redxxiii@zaclys.net",
"Reda",
13
],
[
"mathieu.bousquet2@gmail.com",
"Mathieu B.",
13
],
[
"theo.remon+weblate@uswery.eu",
"Th\u00e9o Remon",
30
],
[
"bonnemainsnathan@gmail.com",
"Nathan",
45
]
]
},
{
"Spanish": [
[
"dev.n47os@aleeas.com",
"Ulices",
8
],
[
"andres.segarra.aparicio@gmail.com",
"Andres Segarra",
10
],
[
"fitojb@ubuntu.com",
"Adolfo Jayme Barrientos",
11
],
[
"oscfdezdz@tuta.io",
"\u00d3scar Fern\u00e1ndez D\u00edaz",
58
]
]
},
{
"Persian": [
[
"eshagh094@gmail.com",
"Eshagh Shahedany",
73
]
]
},
{
"Polish": [
[
"pwrzonca@gmail.com",
"Pawe\u0142 Rzo\u0144ca",
72
]
]
},
{
"Korean": [
[
"darkcircle.0426@gmail.com",
"Seong-ho Cho",
73
]
]
},
{
"Turkish": [
[
"muhaaliss@pm.me",
"Muha Aliss",
61
]
]
},
{
"Chinese (Simplified)": [
[
"lyuutau@outlook.com",
"\u5218\u97ec",
36
],
[
"poonsters6@gmail.com",
"merelymyself",
41
]
]
},
{
"Czech": [
[
"jose1711@gmail.com",
"Jose Riha",
4
],
[
"jiri.doubravsky@gmail.com",
"Ji\u0159\u00ed Doubravsk\u00fd",
70
]
]
},
{
"Norwegian Bokm\u00e5l": [
[
"epost@anotheragency.no",
"Allan Nordh\u00f8y",
50
]
]
},
{
"Arabic": [
[
"fawaz27000@hotmail.com",
"fawaz006",
79
]
]
},
{
"German": [
[
"juri26@outlook.de",
"jagfwajgf",
1
],
[
"code@simonschneegans.de",
"Simon Schneegans",
72
]
]
},
{
"Russian": [
[
"eg.ermakov2016@yandex.ru",
"\u0415\u0433\u043e\u0440 \u0415\u0440\u043c\u0430\u043a\u043e\u0432",
31
],
[
"franigoyt@gmail.com",
"ANIGO R. (AR)",
59
]
]
},
{
"Slovak": [
[
"jose1711@gmail.com",
"Jose Riha",
71
]
]
},
{
"Finnish": [
[
"jiri.gronroos@iki.fi",
"Jiri Gr\u00f6nroos",
57
]
]
},
{
"Dutch": [
[
"vistausss@fastmail.com",
"Heimen Stoffels",
80
]
]
}
]
+3
View File
@@ -0,0 +1,3 @@
.pill-button {
border-radius: 9999px;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 434 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 KiB

@@ -0,0 +1,6 @@
<node>
<interface name="org.freedesktop.UPower">
<property name="OnBattery" type="b" access="read" />
</interface>
</node>

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