Compare commits

...

87 Commits

Author SHA1 Message Date
Simon Schneegans 8829aa039e 📝 Set release date
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-06-06 20:44:01 +02:00
Simon Schneegans e04b2769b1 💞 Update credits 2023-06-06 20:26:37 +02:00
Simon Schneegans 9293a5ab4d 🔀 Merge pull request #346 from Schneegans/feature/support-dialog 2023-06-06 09:00:21 +02:00
Simon Schneegans 0c58b507d8 📝 Add some comments 2023-06-06 08:47:23 +02:00
Simon Schneegans a585da93a8 🔧 Revert to heart emoji as the burning emoji does not work on GTK3 2023-06-06 08:36:43 +02:00
Simon Schneegans e450e619e6 🔧 Use burning heart emoji 2023-06-06 08:35:12 +02:00
Simon Schneegans 4a747602d9 🔧 Only show the support dialog every tenth time 2023-06-06 08:33:48 +02:00
Simon Schneegans d936717ac0 🔧 Improve wording of the support-dialog 2023-06-06 08:33:17 +02:00
Simon Schneegans 154b5bec32 🔧 Use notify::visible event to show the support dialog 2023-06-06 07:44:30 +02:00
Simon Schneegans 2e20bc8753 🔧 Use map event to show the support dialog 2023-06-06 07:32:58 +02:00
Simon Schneegans 6cc26d0dbc 🔧 Show support dialog programmatically 2023-06-06 06:03:59 +02:00
Simon Schneegans 78d4e79925 🪲 Fix support dialog on GTK4 2023-06-05 21:58:52 +02:00
Simon Schneegans b8759174f8 🪲 Show dialog on GTK3 2023-06-05 21:53:00 +02:00
Simon Schneegans d89be65fe3 🔧 Add support dialog for GTK3 and GTK4 2023-06-05 21:51:33 +02:00
Simon Schneegans 106ed964d5 📝 Add changelog entry 2023-06-05 20:44:16 +02:00
Simon Schneegans f4babe7575 🎉 Add a dialog to ask for support 2023-06-05 20:41:15 +02:00
Simon Schneegans fff39f66a8 🔀 Merge pull request #345 from Schneegans/fix/#344 2023-06-05 06:01:30 +02:00
Simon Schneegans 708b4ca1ad 📝 Add changelog entry 2023-06-05 05:47:29 +02:00
Simon Schneegans b2158eb2e2 🪲 Re-add accidentally deleted line 2023-06-05 05:43:44 +02:00
Simon Schneegans bb46352c37 🪲 Attempt to fix #344 2023-06-05 05:27:18 +02:00
Sabri Ünal 6b63222cbe 🌐 Translated using Weblate (Turkish) 2023-05-28 21:04:03 +02:00
TCr3 a2daa2e1b8 🌐 Translated using Weblate (Turkish) 2023-05-28 21:04:03 +02:00
Sabri Ünal d37c505bef 🌐 Translated using Weblate (Turkish) 2023-05-28 21:04:03 +02:00
Simon Schneegans cb368a6207 🪲 Fix issue #343 2023-05-28 20:37:55 +02:00
Simon Schneegans b0e6b66380 🎉 Bump version number 2023-05-22 20:42:28 +02:00
Simon Schneegans 8ef5a8882f ✨ Format changelog
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-05-22 20:39:31 +02:00
Simon Schneegans 729de9b0ff 🎉 Set release date 2023-05-22 20:38:27 +02:00
Simon Schneegans 59011dfe69 📝 Add changelog entry 2023-05-22 20:37:51 +02:00
Simon Schneegans 64701bef1b 🔀 Merge pull request #341 from Schneegans/fix/#335 2023-05-22 20:36:35 +02:00
Simon Schneegans 70dfbf71f5 💞 Update credits 2023-05-22 20:35:55 +02:00
Simon Schneegans 4d63512e47 📝 Add changelog entry 2023-05-22 20:27:49 +02:00
Simon Schneegans d0dc1b427c 🪲 Fix issue #335 2023-05-22 20:22:58 +02:00
Simon Schneegans c358c59eb4 📝 Fix links 2023-05-22 20:22:43 +02:00
aerowolf 078f2fb853 🌐 Translated using Weblate (Chinese (Simplified)) 2023-05-16 14:55:35 +02:00
Reza Almanda edbd3a7ac8 🌐 Translated using Weblate (Indonesian) 2023-05-16 14:55:35 +02:00
Simon Schneegans 679f9902c1 🎉 Bump version number 2023-05-04 17:26:35 +02:00
Simon Schneegans 7a30881c0d 🎉 Set release date
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-05-04 17:19:03 +02:00
Simon Schneegans 993c72ac2c 📝 Add changelog entry 2023-05-04 17:18:52 +02:00
Simon Schneegans 40193aca03 💞 Update credits 2023-05-04 17:18:02 +02:00
Simon Schneegans 4f91e0668a 🪲 Fix wayland-window picking 2023-05-04 16:53:49 +02:00
Simon Schneegans bffd784221 📝 Add changelog entry 2023-04-24 22:10:38 +02:00
Simon Schneegans 2b1e5cb877 🪲 Fix invisible-window bug 2023-04-24 22:10:26 +02:00
Seong-ho Cho d316203b6f 🌐 Translated using Weblate (Korean) 2023-04-24 21:51:52 +02:00
Isaac Dias 965130e363 🌐 Translated using Weblate (Portuguese (Brazil)) 2023-04-10 20:39:55 +02:00
Simon Schneegans 8e6d65d3eb 🎉 Bump version number 2023-04-08 10:33:06 +02:00
Simon Schneegans aca3c34142 🪲 Fix yet another incompatibility with the Magic Lamp
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-04-08 10:26:54 +02:00
Simon Schneegans 84bd93bd2c 🎉 Bump version number 2023-04-08 09:44:28 +02:00
Simon Schneegans 3367b57c05 🪲 Fix incompatibility with the magic-lamp extension
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-04-08 09:27:31 +02:00
SoftExpert 9905e643a5 🌐 Translated using Weblate (Romanian) 2023-04-07 16:10:33 +02:00
Simon Schneegans 0d8aed5ad0 🔀 Merge pull request #322 from Schneegans/feature/fixes 2023-04-07 16:09:33 +02:00
Simon Schneegans 79601cc8d0 📝 Add changelog entry 2023-04-07 06:37:24 +02:00
Simon Schneegans f021ea7ede 🪲 Fix effects in front of fullscreen windows 2023-04-07 06:35:17 +02:00
Simon Schneegans f3e9917729 🎉 Bump version number 2023-04-07 06:23:59 +02:00
Simon Schneegans 14cfa0818f 🪲 Fix effect profile loading
Deploy / Bundle GNOME Shell Extension (push) Has been cancelled
Deploy / Bundle KWin Effect (push) Has been cancelled
2023-04-06 20:32:45 +02:00
Simon Schneegans 4814730400 🎉 Bump version number 2023-04-06 20:20:59 +02:00
Simon Schneegans 91f7f8f1b5 📝 Fix type 2023-04-06 20:18:30 +02:00
Simon Schneegans fa5baa4301 Merge branch 'main' of github.com:Schneegans/Burn-My-Windows 2023-04-06 20:17:58 +02:00
Simon Schneegans c80707ee1f 📝 Set release date 2023-04-06 20:17:35 +02:00
Simon Schneegans 343eddbfcb 🔀 Merge pull request #321 from Schneegans/feature/no-hardware-acceleration 2023-04-05 09:44:25 +02:00
Simon Schneegans 04e0999d5b 📝 Add changelog entry [no-ci] 2023-04-05 08:36:12 +02:00
Simon Schneegans 48c8bcec3a 🔧 Fix overview animation on GNOME 3.38 2023-04-05 08:08:03 +02:00
Simon Schneegans 38d12453b6 🪲 Prevent a warning 2023-04-05 08:02:44 +02:00
Simon Schneegans b48e92f8c1 🔧 Do not attempt to scale overview clones on GNOME 3.36 2023-04-05 08:02:13 +02:00
Simon Schneegans 14d482e16a 🪲 Properly scale windows in the overview 2023-04-05 07:51:27 +02:00
Simon Schneegans e87340d7ad 🔧 Perform tests also on Fedora 38 and rawhide 2023-04-04 19:27:37 +02:00
Simon Schneegans ee93c06304 🔧 Add new GS versions to test suite [generate-references] 2023-04-04 13:29:37 +02:00
Simon Schneegans 1e06ed6503 🪲 Fix compatibility with GNOME 3.36 2023-04-04 11:44:15 +02:00
Simon Schneegans 0fd3f0f62f 🔧 Do not depend on Clutter.Transitions 2023-04-04 11:27:01 +02:00
Simon Schneegans 42d69afa89 🔀 Merge pull request #320 from Schneegans/feature/gles 2023-04-03 16:49:56 +02:00
Simon Schneegans 1b57d1e015 Merge branch 'main' into feature/gles 2023-04-02 20:52:26 +02:00
Simon Schneegans 658ca6415a 📝 Add changelog entry 2023-04-02 20:49:11 +02:00
Simon Schneegans 5ffee2c817 ✨ Apply clang-format 2023-04-02 20:46:33 +02:00
Simon Schneegans 5aad16c8bf 🔧 Make shaders compatible with GLES 2023-04-02 20:42:38 +02:00
Simon Schneegans b623a5923f 🔧 Revert tests on GNOME 44 for now 2023-04-01 22:00:24 +02:00
Simon Schneegans e06245bdca 🔧 Update test scripts for Fedora Rawhide 2023-04-01 22:00:02 +02:00
Simon Schneegans e5907292ed 🔧 Execute tests on more GNOME versions 2023-04-01 21:47:19 +02:00
Simon Schneegans 70bfbac890 💞 Update sponsors 2023-03-30 20:44:43 +02:00
Simon Schneegans d010c60143 🔀 Merge pull request #319 from Schneegans/feature/fix-tutorial 2023-03-29 20:47:04 +02:00
CakesTwix 649a1cce73 🌐 Translated using Weblate (Ukrainian) 2023-03-29 20:40:23 +02:00
Simon Schneegans bccdc0253d 📝 Add changelog entries 2023-03-29 20:25:53 +02:00
Simon Schneegans b7429bada3 🔧 Allow effects with no settings 2023-03-29 20:24:28 +02:00
Simon Schneegans 23a85798ca 📝 Fix tutorial 2023-03-29 20:23:40 +02:00
Philip Goto e051551747 🌐 Translated using Weblate (Dutch) 2023-03-17 13:13:42 +01:00
Simon Schneegans 6eae8d1aa3 🔧 Add Ko-fi 2023-03-10 12:59:49 +01:00
Simon Schneegans 6d34936375 📝 Add KoFi donation method 2023-03-09 13:46:59 +01:00
Jose Riha 46c8eaf417 🌐 Translated using Weblate (Slovak) 2023-03-07 13:26:33 +01:00
WaldiS 55b491bb36 🌐 Translated using Weblate (Polish) 2023-03-05 19:19:21 +01:00
200 changed files with 1289 additions and 1019 deletions
+1 -1
View File
@@ -6,7 +6,7 @@
github: schneegans
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
ko_fi: schneegans
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Schneegans
+2
View File
@@ -116,6 +116,8 @@ jobs:
- '35'
- '36'
- '37'
- '38'
- 'rawhide'
session:
- 'gnome-xsession'
- 'gnome-wayland-nested'
+2 -2
View File
@@ -48,7 +48,7 @@ pot: $(JS_FILES) $(UI_FILES)
# This runs several tests in containerized versions of GNOME Shell.
test:
@ for version in 32 33 34 35 36 37 ; do \
@ for version in 32 33 34 35 36 37 38 "rawhide" ; do \
for session in "gnome-xsession" "gnome-wayland-nested" ; do \
echo ; \
echo "Running Tests on Fedora $$version ($$session)." ; \
@@ -59,7 +59,7 @@ test:
# This re-generates all reference images required by the tests.
references:
@ for version in 32 33 34 35 36 37 ; do \
@ for version in 32 33 34 35 36 37 38 "rawhide" ; do \
for session in "gnome-xsession" "gnome-wayland-nested" ; do \
echo ; \
echo "Generating References for Fedora $$version ($$session)." ; \
+3 -2
View File
@@ -89,8 +89,8 @@ While [coding new features](docs/how-to-create-new-effects.md) or [translating t
<h3 align="center">🥇 Current Gold Sponsors</h3>
<p align="center">
<a href="https://github.com/D3vil0p3r">D3vil0p3r</a><br>
Maxence Sebald<br>
<a href="https://github.com/dennis1248">Dennis ten Hoove</a><br>
</p>
<h3 align="center">🥈 Current Silver Sponsors</h3>
@@ -101,13 +101,14 @@ While [coding new features](docs/how-to-create-new-effects.md) or [translating t
<h3 align="center">🥉 Current Bronze Sponsors</h3>
<p align="center">
<a href='https://github.com/SubOptimal'>@SubOptimal</a><br>
<a href='https://github.com/vlazic'>@vlazic</a><br>
<!-- <a href="https://github.com/sponsors/Schneegans">Become the first!</a><br> -->
</p>
<h3 align="center">🏅 Previous Sponsors and One-Time Donators</h3>
<p align="center">
<a href="https://github.com/D3vil0p3r">D3vil0p3r</a><br>
<a href="https://github.com/dennis1248">Dennis ten Hoove</a><br>
<a href="https://github.com/MRR-dev">@MRR-dev</a><br>
<a href='https://github.com/AngelBrielez'>Angel Brielez</a>
<a href='https://github.com/taconomix'>@taconomix</a><br>
+194 -124
View File
@@ -5,13 +5,86 @@ SPDX-License-Identifier: CC-BY-4.0
# Changelog of the Burn-My-Windows Extension
## [Burn My Windows 33](https://github.com/schneegans/Burn-My-Windows/releases/tag/v33)
**Release Date:** 2023-06-06
#### Enhancements
- When opening the preferences, a dialog is now shown occasionally to kindly ask for a donation. The dialog can be disabled once it has been shown for the first time.
- Several translations have been updated. Thanks to all the translators!
#### Bug Fixes
- Fixed an issue on GNOME 44.2 which caused the effects to look broken. It was caused by [this change](https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2650).
- Fixed an issue which prevented the settings of the Snap of Disintegration effect from being translatable.
## [Burn My Windows 32](https://github.com/schneegans/Burn-My-Windows/releases/tag/v32)
**Release Date:** 2023-05-22
#### Enhancements
- Several translations have been updated. Thanks to all the translators!
#### Bug Fixes
- Fixed an issue which caused corrupted windows on X11 GNOME 44 under very specific circumstances. This happened only on X11 and only when the window was resized before it was actually shown.
## [Burn My Windows 31](https://github.com/schneegans/Burn-My-Windows/releases/tag/v31)
**Release Date:** 2023-05-04
#### Enhancements
- Several translations have been updated. Thanks to all the translators!
#### Bug Fixes
- Fixed an issue which made windows invisible which did not set the `WM_CLASS` X11 property correctly.
- Fixed an issue which made window-picking of Wayland windows impossible on GNOME 44.
## [Burn My Windows 30](https://github.com/schneegans/Burn-My-Windows/releases/tag/v30)
**Release Date:** 2023-04-08
#### Bug Fixes
- Fixed yet another incompatibility with the [Compiz alike magic lamp effect](https://extensions.gnome.org/extension/3740/compiz-alike-magic-lamp-effect/).
## [Burn My Windows 29](https://github.com/schneegans/Burn-My-Windows/releases/tag/v29)
**Release Date:** 2023-04-08
#### Bug Fixes
- Fixed a regression which caused window-close animations not to shown in front of full-screen windows.
- Fixed an incompatibility with the [Compiz alike magic lamp effect](https://extensions.gnome.org/extension/3740/compiz-alike-magic-lamp-effect/).
## [Burn My Windows 28](https://github.com/schneegans/Burn-My-Windows/releases/tag/v28)
**Release Date:** 2023-04-06
#### Enhancements
- **New donation method: Ko-fi**. Follow me on Ko-fi to get the latest updates regarding my extensions: https://ko-fi.com/schneegans!
- All shaders are now compatible with OpenGL ES. Due to [this change in Mutter](https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2672) the number of devices using OpenGL ES has significantly increased since GNOME 44. This change makes Burn-My-Windows working on those devices.
- It is now possible to create effects which do not have any settings at all.
#### Bug Fixes
- [This change in GNOME Shell](https://gitlab.gnome.org/GNOME/gnome-shell/-/commit/7bd98f3f5fb7e0d1220646b8a4ee7073534a8e8f) prevented Burn-My-Windows from working if no hardware-acceleration was available on GNOME 44, including the Docker containers used for CI testing. Some severe refactoring was necessary to fix this issue.
- The tutorial on how to create new effects has been updated and should work again.
- Fixed an issue which caused effect-profile loading to fail whenever Burn-My-Windows was updated.
## [Burn My Windows 27](https://github.com/schneegans/Burn-My-Windows/releases/tag/v27)
**Release Date:** 2023-03-01
#### New Features
* **Effect Profiles:** It is now possible to create _effect profiles_. Each profile contains a different set of effect settings. You can choose for each profile under which circumstances it will be used. Currently, these constraints are supported:
- **Effect Profiles:** It is now possible to create _effect profiles_. Each profile contains a different set of effect settings. You can choose for each profile under which circumstances it will be used. Currently, these constraints are supported:
- Application name
- Animation type (open close)
- Window type (normal, dialog)
@@ -20,6 +93,7 @@ SPDX-License-Identifier: CC-BY-4.0
- Power profile (power saver, balanced, performance)
This allows for a very detailed configuration of the extension. For instance, you can now...
- ... exclude specific applications from BMW effects
- ... select effects per-application
- ... use different configurations of the same effect for opening or closing windows
@@ -27,14 +101,15 @@ SPDX-License-Identifier: CC-BY-4.0
The extension will attempt to migrate your previous settings to the new effect profile system. Depending on your previous configuration, you may have now one or two profiles to start with, but you can add an arbitrary amount of profiles.
The effect profiles are available for all supported GNOME versions (that is GNOME 3.36, 3.38, 40, 41, 42, 43, and 44).
* **Wallpapers:** A set of AI-generated [wallpapers has released](https://github.com/Schneegans/ai-wallpapers). For each effect of Burn-My-Windows, there is one dedicated wallpaper. As a central theme, each wallpaper shows a window. In some cases, the window is actually burning!
* Initial support for GNOME 44.
- **Wallpapers:** A set of AI-generated [wallpapers has released](https://github.com/Schneegans/ai-wallpapers). For each effect of Burn-My-Windows, there is one dedicated wallpaper. As a central theme, each wallpaper shows a window. In some cases, the window is actually burning!
- Initial support for GNOME 44.
#### Other Enhancements
* As part of the effect profile implementation, the libadwaita-inspired preferences dialog layout got back-ported to all other supported GNOME versions.
* A notification is now shown in the settings dialog whenever the extension got updated. It contains a link to this changelog.
* Many translation updates. Thanks to all the translators!
- As part of the effect profile implementation, the libadwaita-inspired preferences dialog layout got back-ported to all other supported GNOME versions.
- A notification is now shown in the settings dialog whenever the extension got updated. It contains a link to this changelog.
- Many translation updates. Thanks to all the translators!
## [Burn My Windows 26](https://github.com/schneegans/Burn-My-Windows/releases/tag/v26)
@@ -42,14 +117,13 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* **New Effect: TV-Glitch.** This effect combines the Glitch and the TV Effect into one. Credits go to [Kurt Wilson](https://github.com/Kurtoid) for this idea!
- **New Effect: TV-Glitch.** This effect combines the Glitch and the TV Effect into one. Credits go to [Kurt Wilson](https://github.com/Kurtoid) for this idea!
#### Other Enhancements
* On KDE, the effect configuration dialogs can now be translated. The translations for GNOME are re-used, so we already have many translations! This requires at least KWin 5.27 to be working.
* Many translation updates, including a completely new Japanese translation. Thanks to all the translators!
* The effect colors for the Glitch and TV Effect now support an alpha channel. With this you can control how much color gets mixed into the window color.
- On KDE, the effect configuration dialogs can now be translated. The translations for GNOME are re-used, so we already have many translations! This requires at least KWin 5.27 to be working.
- Many translation updates, including a completely new Japanese translation. Thanks to all the translators!
- The effect colors for the Glitch and TV Effect now support an alpha channel. With this you can control how much color gets mixed into the window color.
## [Burn My Windows 25](https://github.com/schneegans/Burn-My-Windows/releases/tag/v25)
@@ -57,7 +131,7 @@ SPDX-License-Identifier: CC-BY-4.0
#### Bug Fixes
* Fixed an issue which prevented the extension from loading if `power-profiles-daemon` was masked.
- Fixed an issue which prevented the extension from loading if `power-profiles-daemon` was masked.
## [Burn My Windows 24](https://github.com/schneegans/Burn-My-Windows/releases/tag/v24)
@@ -65,18 +139,18 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* **New Effect: Glitch.** This effect applies some intentional graphics issues to your windows.
* There is a new option to disable the effects when power-save mode is active. This may not only help to reduce power consumption, but also help in situation where the window animation do not run fluently in power-save mode. This option requires the power-profiles daemon, so it should be available for GNOME Shell 41 and beyond.
- **New Effect: Glitch.** This effect applies some intentional graphics issues to your windows.
- There is a new option to disable the effects when power-save mode is active. This may not only help to reduce power consumption, but also help in situation where the window animation do not run fluently in power-save mode. This option requires the power-profiles daemon, so it should be available for GNOME Shell 41 and beyond.
#### Other Enhancements
* Many translation updates, including a completely new Indonesian translation. Thanks to all the translators!
* The menu button of the settings dialog has been moved to the left and now shows a heart instead of three dots.
* The about dialog now uses the `Adw.AboutWindow` if available.
- Many translation updates, including a completely new Indonesian translation. Thanks to all the translators!
- The menu button of the settings dialog has been moved to the left and now shows a heart instead of three dots.
- The about dialog now uses the `Adw.AboutWindow` if available.
#### Bug Fixes
* Fixed an issue which could lead to black artifacts for some effects (Fire, Incinerate, Matrix, Portal, T-Rex Attack, and Wisps).
- Fixed an issue which could lead to black artifacts for some effects (Fire, Incinerate, Matrix, Portal, T-Rex Attack, and Wisps).
## [Burn My Windows 23](https://github.com/schneegans/Burn-My-Windows/releases/tag/v23)
@@ -84,11 +158,11 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* **New Effect: Portal.** This ridiculous effect teleports your windows from and to alternative dimensions. It may resemble the portal from a well-known cartoon series...
- **New Effect: Portal.** This ridiculous effect teleports your windows from and to alternative dimensions. It may resemble the portal from a well-known cartoon series...
#### Other Enhancements
* Many translation updates. Thanks to all the translators!
- Many translation updates. Thanks to all the translators!
## [Burn My Windows 22](https://github.com/schneegans/Burn-My-Windows/releases/tag/v22)
@@ -96,14 +170,14 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* **New Effect: Glide.** A very subtle effect which simply fades the window and applies some 3D-like tilting and scaling. This effect is available on all support GNOME versions and on KDE.
- **New Effect: Glide.** A very subtle effect which simply fades the window and applies some 3D-like tilting and scaling. This effect is available on all support GNOME versions and on KDE.
#### Other Enhancements
* The settings dialog has been redesigned specifically for libadwaita. These changes are only available on GNOME 42 and GNOME 43.
* Many translation updates, including a completely new Romanian translation. Thanks to all the translators!
* The KWin port of Burn-My-Windows now uses `metadata.json` files instead of the deprecated `metadata.desktop` format.
* Burn-My-Windows now follows the [REUSE Specification](https://reuse.software/spec).
- The settings dialog has been redesigned specifically for libadwaita. These changes are only available on GNOME 42 and GNOME 43.
- Many translation updates, including a completely new Romanian translation. Thanks to all the translators!
- The KWin port of Burn-My-Windows now uses `metadata.json` files instead of the deprecated `metadata.desktop` format.
- Burn-My-Windows now follows the [REUSE Specification](https://reuse.software/spec).
## [Burn My Windows 21](https://github.com/schneegans/Burn-My-Windows/releases/tag/v21)
@@ -111,11 +185,11 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* Added support for GNOME 43.
- Added support for GNOME 43.
#### Other Enhancements
* Several new translations have been added, including a Lithuanian, Ukrainian, Esperanto, Portuguese, Azerbaijani, and Hebrew translation. Also, many other translations received updates. Thanks to all the translators!
- Several new translations have been added, including a Lithuanian, Ukrainian, Esperanto, Portuguese, Azerbaijani, and Hebrew translation. Also, many other translations received updates. Thanks to all the translators!
## [Burn My Windows 20](https://github.com/schneegans/Burn-My-Windows/releases/tag/v20)
@@ -123,21 +197,20 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* **New Effect: Doom.** Melt your windows. Inspired by the legendary screen transitions of the original Doom.
* **New Effect: Pixelate.** Pixelate your windows and randomly hide pixels until the entire window is gone.
* **New Effect: Pixel Wheel.** This simple effect pixelates the window and hides the pixels in a wheel-like fashion.
* **New Effect: Pixel Wipe.** This effect pixelates the window and hides the pixels radially, starting from the pointer position.
- **New Effect: Doom.** Melt your windows. Inspired by the legendary screen transitions of the original Doom.
- **New Effect: Pixelate.** Pixelate your windows and randomly hide pixels until the entire window is gone.
- **New Effect: Pixel Wheel.** This simple effect pixelates the window and hides the pixels in a wheel-like fashion.
- **New Effect: Pixel Wipe.** This effect pixelates the window and hides the pixels radially, starting from the pointer position.
#### Enhancements
* Under KWin, the effects now use the same names as in the KDE store.
* The continuous integration tests now use a fuzzy search for the images targets. This way, the test work again on X11 and Wayland.
* A new GitHub Actions workflow has been added which is executed whenever a commit message includes the `[generate-references]` tag. This workflow re-creates all reference images for the continuous integration test.
- Under KWin, the effects now use the same names as in the KDE store.
- The continuous integration tests now use a fuzzy search for the images targets. This way, the test work again on X11 and Wayland.
- A new GitHub Actions workflow has been added which is executed whenever a commit message includes the `[generate-references]` tag. This workflow re-creates all reference images for the continuous integration test.
#### Bug Fixes
* Fixed a bug which caused the Incinerate Effect to sometimes not show up properly on KWin if the "Start at pointer position" option was enabled.
- Fixed a bug which caused the Incinerate Effect to sometimes not show up properly on KWin if the "Start at pointer position" option was enabled.
## [Burn My Windows 19](https://github.com/schneegans/Burn-My-Windows/releases/tag/v19)
@@ -145,17 +218,17 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* The incinerate effect now uses the current mouse pointer position as starting position of the burn effect. The old random behaviour can be enabled in the settings. This works both on GNOME and KDE.
- The incinerate effect now uses the current mouse pointer position as starting position of the burn effect. The old random behaviour can be enabled in the settings. This works both on GNOME and KDE.
#### Enhancements
* Many translation updates, including a completely new Portuguese, Esperanto, and Hebrew translation. A BIG THANKS to all translators!
* On GNOME, effects can now execute code whenever an animation ended. This is useful for cleaning up resources.
* The KWin build script now generates a separate archive for each effect as well as a combined archive for all effects.
- Many translation updates, including a completely new Portuguese, Esperanto, and Hebrew translation. A BIG THANKS to all translators!
- On GNOME, effects can now execute code whenever an animation ended. This is useful for cleaning up resources.
- The KWin build script now generates a separate archive for each effect as well as a combined archive for all effects.
#### Fixes
* Fixed the effect configuration dialog of the Fire effect on KDE.
- Fixed the effect configuration dialog of the Fire effect on KDE.
## [Burn My Windows 18](https://github.com/schneegans/Burn-My-Windows/releases/tag/v18)
@@ -163,7 +236,7 @@ SPDX-License-Identifier: CC-BY-4.0
#### Fixes
* The GNOME extension package now does not include the KWin JavaScript files anymore.
- The GNOME extension package now does not include the KWin JavaScript files anymore.
## [Burn My Windows 17](https://github.com/schneegans/Burn-My-Windows/releases/tag/v17)
@@ -171,14 +244,14 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* **New Effect: Incinerate.** This is a completely new take on the fire effect. It is a bit more demanding in terms of GPU power, but at the same time it looks much more awesome!
* **Initial KDE Support.** Thanks to the [awesome work](https://invent.kde.org/plasma/kwin/-/merge_requests/2227) of Martin Flöser, it has become possible to port some of its effects to KDE Plasma! For now, only the most simple effects can be ported, but hopefully this list can be improved in the future.
* An option has been added which allows to automatically disable all effects if running on battery power.
- **New Effect: Incinerate.** This is a completely new take on the fire effect. It is a bit more demanding in terms of GPU power, but at the same time it looks much more awesome!
- **Initial KDE Support.** Thanks to the [awesome work](https://invent.kde.org/plasma/kwin/-/merge_requests/2227) of Martin Flöser, it has become possible to port some of its effects to KDE Plasma! For now, only the most simple effects can be ported, but hopefully this list can be improved in the future.
- An option has been added which allows to automatically disable all effects if running on battery power.
#### Enhancements
* Many translation updates, including a completely new Persian, Polish, and Slovak translation. A BIG THANKS to all translators!
* The shader include system has been simplified. There's now just one "common.glsl" which is automatically loaded into each shader.
- Many translation updates, including a completely new Persian, Polish, and Slovak translation. A BIG THANKS to all translators!
- The shader include system has been simplified. There's now just one "common.glsl" which is automatically loaded into each shader.
## [Burn My Windows 16](https://github.com/schneegans/Burn-My-Windows/releases/tag/v16)
@@ -186,16 +259,16 @@ SPDX-License-Identifier: CC-BY-4.0
#### Enhancements
* Many translation updates, including a completely new Arabic, Finnish, Korean, and Swedish translation. A BIG THANKS to all translators!
* The shaders are now aware of the actual window size (e.g. excluding the area where the shadow is drawn). For instance, this **fixes the drawing of the effects outside the window bounds** for `libadwaita` apps.
* Refactored how the size and opacity transitions of the window actors are set up. Effects can now only specify a desired actor scale which will not change during the animation. All dynamic scaling and fading must be implemented in the shaders now.
* The standard uniforms of all shaders have been updated: The window size is now passed as a `vec2` and there is a new `bool uForOpening` which is set to `true` if a window-open animation is ongoing, to `false` otherwise.
- Many translation updates, including a completely new Arabic, Finnish, Korean, and Swedish translation. A BIG THANKS to all translators!
- The shaders are now aware of the actual window size (e.g. excluding the area where the shadow is drawn). For instance, this **fixes the drawing of the effects outside the window bounds** for `libadwaita` apps.
- Refactored how the size and opacity transitions of the window actors are set up. Effects can now only specify a desired actor scale which will not change during the animation. All dynamic scaling and fading must be implemented in the shaders now.
- The standard uniforms of all shaders have been updated: The window size is now passed as a `vec2` and there is a new `bool uForOpening` which is set to `true` if a window-open animation is ongoing, to `false` otherwise.
#### Bug Fixes
* **Fixed a major memory leak**. Now, shaders are not re-created anymore whenever a window is opened or closed. Instead, previously created shaders are re-used as often as possible. This requires that all settings are set as uniform values (previously they were injected into the shader source) which in turn requires that `Shell.GLSLEffect` is used instead of `Clutter.ShaderEffect`. This change also requires that all shaders now work with straight instead of premultiplied alpha. Anyways, a lot needed to be refactored for this fix and I hope that it did not bring too many visual changes.
* Fixed the window-close animation of windows which were opened before the session was started (e.g. before GNOME Shell has been restarted).
* There seem to be cases were `libadwaita` is not available on GNOME 42 (e.g. Pop!_OS 22.04 beta). The preferences dialog now tries to fallback to the GTK4-only variant if `libadwaita` is not available.
- **Fixed a major memory leak**. Now, shaders are not re-created anymore whenever a window is opened or closed. Instead, previously created shaders are re-used as often as possible. This requires that all settings are set as uniform values (previously they were injected into the shader source) which in turn requires that `Shell.GLSLEffect` is used instead of `Clutter.ShaderEffect`. This change also requires that all shaders now work with straight instead of premultiplied alpha. Anyways, a lot needed to be refactored for this fix and I hope that it did not bring too many visual changes.
- Fixed the window-close animation of windows which were opened before the session was started (e.g. before GNOME Shell has been restarted).
- There seem to be cases were `libadwaita` is not available on GNOME 42 (e.g. Pop!\_OS 22.04 beta). The preferences dialog now tries to fallback to the GTK4-only variant if `libadwaita` is not available.
## [Burn My Windows 15](https://github.com/schneegans/Burn-My-Windows/releases/tag/v15)
@@ -203,13 +276,13 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* **New Effect: Apparition.** This effect hides the window by violently sucking it into the void of magic. This is available only for GNOME Shell 3.38 and newer.
* **New Effect: Hexagon.** With glowing lines and hexagon-shaped tiles, this effect looks very sci-fi. This is available for GNOME Shell 3.36 and newer.
* **New Effect: Snap of Disintegration.** This was requested quite frequently! Dissolve your windows into a cloud of dust. This is available only for GNOME Shell 40 and newer.
- **New Effect: Apparition.** This effect hides the window by violently sucking it into the void of magic. This is available only for GNOME Shell 3.38 and newer.
- **New Effect: Hexagon.** With glowing lines and hexagon-shaped tiles, this effect looks very sci-fi. This is available for GNOME Shell 3.36 and newer.
- **New Effect: Snap of Disintegration.** This was requested quite frequently! Dissolve your windows into a cloud of dust. This is available only for GNOME Shell 40 and newer.
#### Bug Fixes
* Disabled the buggy "Shatter from pointer" option of the Broken Glass effect when opening windows (it only makes sense for closing windows).
- Disabled the buggy "Shatter from pointer" option of the Broken Glass effect when opening windows (it only makes sense for closing windows).
## [Burn My Windows 14](https://github.com/schneegans/Burn-My-Windows/releases/tag/v14)
@@ -217,13 +290,12 @@ SPDX-License-Identifier: CC-BY-4.0
#### Enhancements
* Reduced the lower animation time limits for all effects to 100 ms. This should now allow for very snappy animations!
* A completely new Russian translation. Thank you, ANIGO R.!
- Reduced the lower animation time limits for all effects to 100 ms. This should now allow for very snappy animations!
- A completely new Russian translation. Thank you, ANIGO R.!
#### Bug Fixes
* Fixed the version check for GNOME Shell `42.rc` (before it only worked on `42.alpha` and `42.beta`)
- Fixed the version check for GNOME Shell `42.rc` (before it only worked on `42.alpha` and `42.beta`)
## [Burn My Windows 13](https://github.com/schneegans/Burn-My-Windows/releases/tag/v13)
@@ -231,16 +303,16 @@ SPDX-License-Identifier: CC-BY-4.0
#### Enhancements
* The continuous integration tests have been significantly enhanced. Now, all window-open and window-close animations are visually tested on all supported GNOME versions and on X11 / Wayland (summing up to a total of 136 test cases).
* Many translation updates, including a completely new Turkish and Chinese translation. A BIG THANKS to all translators!
- The continuous integration tests have been significantly enhanced. Now, all window-open and window-close animations are visually tested on all supported GNOME versions and on X11 / Wayland (summing up to a total of 136 test cases).
- Many translation updates, including a completely new Turkish and Chinese translation. A BIG THANKS to all translators!
#### Other Changes
* Removed the Liberapay donation option as it does not work properly.
- Removed the Liberapay donation option as it does not work properly.
#### Bug Fixes
* Fixed the version check for GNOME Shell 42.
- Fixed the version check for GNOME Shell 42.
## [Burn My Windows 12](https://github.com/schneegans/Burn-My-Windows/releases/tag/v12)
@@ -248,12 +320,12 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* Added initial support for GNOME Shell 42.
* The preferences dialog now uses libadwaita on GNOME Shell 42.
- Added initial support for GNOME Shell 42.
- The preferences dialog now uses libadwaita on GNOME Shell 42.
#### Enhancements
* Added [Liberapay](https://liberapay.com/Schneegans) to the sponsorship options.
- Added [Liberapay](https://liberapay.com/Schneegans) to the sponsorship options.
## [Burn My Windows 11](https://github.com/schneegans/Burn-My-Windows/releases/tag/v11)
@@ -261,24 +333,24 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* Added an about-dialog which shows all translators and sponsors.
- Added an about-dialog which shows all translators and sponsors.
#### Enhancements
* There are several new translations! Thanks a lot to all the translators! We now have translations for:
* German
* English
* Czech
* Dutch
* French
* Italian
* Norwegian Bokmål
* Spanish
* A new issue template for suggesting new effects has been added.
- There are several new translations! Thanks a lot to all the translators! We now have translations for:
- German
- English
- Czech
- Dutch
- French
- Italian
- Norwegian Bokmål
- Spanish
- A new issue template for suggesting new effects has been added.
#### Fixes
* Fixed an issue which caused corrupted windows when trying to maximize windows while the window-open animation was still running (#82, #86, #91).
- Fixed an issue which caused corrupted windows when trying to maximize windows while the window-open animation was still running (#82, #86, #91).
## [Burn My Windows 10](https://github.com/schneegans/Burn-My-Windows/releases/tag/v10)
@@ -288,18 +360,18 @@ SPDX-License-Identifier: CC-BY-4.0
<a href="https://youtu.be/L2aaNF_rPHo"><img align="right" src ="pics/bmw10.jpg" /></a>
* **Effects for Window Opening.** You can now select effects which are applied on newly opened windows! I expect that there are some bugs left, so please [report any issue you find](https://github.com/Schneegans/Burn-My-Windows/issues)!
* **New Effect: Broken Glass.** Shatter your windows into a shower sharp shards! This effect can be configured so that the shards fly away from your mouse pointer position!
* **Preview Buttons** have been added to the effect-configuration pages of the preferences dialog. These can be used to, well, preview the current settings (without having to enable the effect first).
* **Translations!** It is now possible to [translate the preferences dialog](https://hosted.weblate.org/engage/burn-my-windows/). There is already a finished German translation, and in-progress translations to Italian and Norwegian Bokmål.
* **A "Vertical Overshooting" option** was added to the Matrix Effect: This can add some vertical variation to the start and end position of the letter drops.
- **Effects for Window Opening.** You can now select effects which are applied on newly opened windows! I expect that there are some bugs left, so please [report any issue you find](https://github.com/Schneegans/Burn-My-Windows/issues)!
- **New Effect: Broken Glass.** Shatter your windows into a shower sharp shards! This effect can be configured so that the shards fly away from your mouse pointer position!
- **Preview Buttons** have been added to the effect-configuration pages of the preferences dialog. These can be used to, well, preview the current settings (without having to enable the effect first).
- **Translations!** It is now possible to [translate the preferences dialog](https://hosted.weblate.org/engage/burn-my-windows/). There is already a finished German translation, and in-progress translations to Italian and Norwegian Bokmål.
- **A "Vertical Overshooting" option** was added to the Matrix Effect: This can add some vertical variation to the start and end position of the letter drops.
#### Other Enhancements
* Added a menu entry with a link to the guide for creating new effect types.
* Thanks to improved timing, the default animation time of several effects could be reduced.
* The README now shows the current lines of code and the current comment percentage using my [dynamic-badges-action](https://github.com/Schneegans/dynamic-badges-action).
* **Add advanced CI tests:** For each commit to `main`, it is now tested whether the extension can be installed and if the preferences dialog can be shown on GNOME Shell 3.36, 3.38, 40, and 41. Both, X11 and Wayland are checked.
- Added a menu entry with a link to the guide for creating new effect types.
- Thanks to improved timing, the default animation time of several effects could be reduced.
- The README now shows the current lines of code and the current comment percentage using my [dynamic-badges-action](https://github.com/Schneegans/dynamic-badges-action).
- **Add advanced CI tests:** For each commit to `main`, it is now tested whether the extension can be installed and if the preferences dialog can be shown on GNOME Shell 3.36, 3.38, 40, and 41. Both, X11 and Wayland are checked.
## [Burn My Windows 9](https://github.com/schneegans/Burn-My-Windows/releases/tag/v9)
@@ -307,8 +379,8 @@ SPDX-License-Identifier: CC-BY-4.0
#### Fixes
* Improved compatibility with [Show Application View When Workspace Empty ](https://extensions.gnome.org/extension/2036/show-application-view-when-workspace-empty/) (#54).
* Fixed a crash which happened when the window-close icon in the overview was clicked twice (#49).
- Improved compatibility with [Show Application View When Workspace Empty ](https://extensions.gnome.org/extension/2036/show-application-view-when-workspace-empty/) (#54).
- Fixed a crash which happened when the window-close icon in the overview was clicked twice (#49).
## [Burn My Windows 8](https://github.com/schneegans/Burn-My-Windows/releases/tag/v8)
@@ -316,25 +388,24 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* **Random effects!** You can now select a set of effects of which one will be chosen randomly whenever you close a window. **This changes how effects are selected, so you will have to re-select your desired effect(s)**.
* **New Effect: Energize A.** Beam your windows away!
* **New Effect: Energize B.** Using different transporter technology results in an alternative visual effect.
* **New Effect: Wisps.** These little fairies carry your windows to the realm of dreams!
* Each effect has its own "Animation Time" setting now. The global animation time has been replaced by those, so **you may have to adjust the sliders to match your previous settings**.
- **Random effects!** You can now select a set of effects of which one will be chosen randomly whenever you close a window. **This changes how effects are selected, so you will have to re-select your desired effect(s)**.
- **New Effect: Energize A.** Beam your windows away!
- **New Effect: Energize B.** Using different transporter technology results in an alternative visual effect.
- **New Effect: Wisps.** These little fairies carry your windows to the realm of dreams!
- Each effect has its own "Animation Time" setting now. The global animation time has been replaced by those, so **you may have to adjust the sliders to match your previous settings**.
#### Other Enhancements
* A [guide for creating new effects](how-to-create-new-effects.md) has been added.
* The source code has received a **major refactoring**. This will make the addition of new effects much easier in the future.
* The **layout of the settings dialog** has been reworked to make it easier to expand it in the future.
* The lower limit of the **animation time of the TV Effect** has been reduced.
* The T-Rex-Attack effect is not shown in fully transparent regions of a window any more.
* The shaders now use a different noise implementation which produces better 3D noise.
- A [guide for creating new effects](how-to-create-new-effects.md) has been added.
- The source code has received a **major refactoring**. This will make the addition of new effects much easier in the future.
- The **layout of the settings dialog** has been reworked to make it easier to expand it in the future.
- The lower limit of the **animation time of the TV Effect** has been reduced.
- The T-Rex-Attack effect is not shown in fully transparent regions of a window any more.
- The shaders now use a different noise implementation which produces better 3D noise.
#### Fixes
* The extension now works even if GNOME Shell's animations are disabled globally.
- The extension now works even if GNOME Shell's animations are disabled globally.
## [Burn My Windows 7](https://github.com/schneegans/Burn-My-Windows/releases/tag/v7)
@@ -342,13 +413,12 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* An option to use a 3D noise for the fire shader has been added. This will add some more temporal variation to the flames at the cost of slightly decreased rendering performance.
* A changelog entry has been added to the menu of the preferences dialog.
- An option to use a 3D noise for the fire shader has been added. This will add some more temporal variation to the flames at the cost of slightly decreased rendering performance.
- A changelog entry has been added to the menu of the preferences dialog.
#### Fixes
* Resolve copyright issues by using a MIT-licensed noise implementation.
- Resolve copyright issues by using a MIT-licensed noise implementation.
## [Burn My Windows 6](https://github.com/schneegans/Burn-My-Windows/releases/tag/v6)
@@ -356,7 +426,7 @@ SPDX-License-Identifier: CC-BY-4.0
#### Fixes
* Removed a debug log message.
- Removed a debug log message.
## [Burn My Windows 5](https://github.com/schneegans/Burn-My-Windows/releases/tag/v5)
@@ -364,17 +434,17 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* Added a new ridiculous close-animation: the T-Rex-Attack!
* Added a new simple close-animation: the TV-Effect!
* Added a menu to the preferences dialog with links for bug reporting and donations.
- Added a new ridiculous close-animation: the T-Rex-Attack!
- Added a new simple close-animation: the TV-Effect!
- Added a menu to the preferences dialog with links for bug reporting and donations.
#### Other Enhancements
* The fire shader now uses a `smoothstep` to make it less blocky.
- The fire shader now uses a `smoothstep` to make it less blocky.
#### Bug Fixes
* Fixed a bug which messed up the overview of GNOME Shell 3.36.
- Fixed a bug which messed up the overview of GNOME Shell 3.36.
## [Burn My Windows 4](https://github.com/schneegans/Burn-My-Windows/releases/tag/v4)
@@ -382,13 +452,13 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* Added a new Matrix shader which dissolves your windows in a shower of green letters. You can switch between the fire and the matrix shader in the settings. Sadly, this effect cannot be available under GNOME 3.3x as it was apparently impossible to set textures for a `Clutter.ShaderEffect` in GJS back then.
* Added a setting to apply the animation also for closing dialog windows.
- Added a new Matrix shader which dissolves your windows in a shower of green letters. You can switch between the fire and the matrix shader in the settings. Sadly, this effect cannot be available under GNOME 3.3x as it was apparently impossible to set textures for a `Clutter.ShaderEffect` in GJS back then.
- Added a setting to apply the animation also for closing dialog windows.
#### Other Enhancements
* Refactored the code a lot to make it easier to add new shader effects in the future.
* Tweaked timing of the fire shader. Previously, the fire became invisible quite quickly. Due to this new animation timing, the default animation time has been reduced to 1500 ms.
- Refactored the code a lot to make it easier to add new shader effects in the future.
- Tweaked timing of the fire shader. Previously, the fire became invisible quite quickly. Due to this new animation timing, the default animation time has been reduced to 1500 ms.
## [Burn My Windows 3](https://github.com/schneegans/Burn-My-Windows/releases/tag/v3)
@@ -396,7 +466,7 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* Add support for GNOME 3.36 and GNOME 3.38.
- Add support for GNOME 3.36 and GNOME 3.38.
## [Burn My Windows 2](https://github.com/schneegans/Burn-My-Windows/releases/tag/v2)
@@ -404,12 +474,12 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features
* Added the possibility to adjust fire colors.
* Added the possibility to adjust flame speed and scale.
* Added some fire presets.
- Added the possibility to adjust fire colors.
- Added the possibility to adjust flame speed and scale.
- Added some fire presets.
## [Burn My Windows 1](https://github.com/schneegans/Burn-My-Windows/releases/tag/v1)
**Release Date:** 2021-12-14
* Initial publication on GitHub supporting GNOME 40 and GNOME 41.
- Initial publication on GitHub supporting GNOME 40 and GNOME 41.
+23 -28
View File
@@ -49,7 +49,7 @@ You will have to ...
For enabling the new effect, the boolean settings keys `simple-fade-enable-effect` and `simple-fade-animation-time` are required.
In this example, we also add a floating point value for storing another property of the effect - we will use them later in the tutorial.
Just copy the XML code below to the file [`schemas/org.gnome.shell.extensions.burn-my-windows.gschema.xml`](../schemas/org.gnome.shell.extensions.burn-my-windows.gschema.xml).
Just copy the XML code below to the file [`schemas/org.gnome.shell.extensions.burn-my-windows-profile.gschema.xml`](../schemas/org.gnome.shell.extensions.burn-my-windows-profile.gschema.xml).
Just remember to replace `simple-fade` with your custom name!
```xml
@@ -86,6 +86,20 @@ Please study this code carefully, all of it is explained with inline comments.
<summary>Expand this to show the GLSL code.</summary>
```glsl
//////////////////////////////////////////////////////////////////////////////////////////
// ) ( //
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
// |__/ //
//////////////////////////////////////////////////////////////////////////////////////////
// SPDX-FileCopyrightText: Your Name <your@email.com>
// SPDX-License-Identifier: GPL-3.0-or-later
// The content from common.glsl is automatically prepended to each shader effect. This
// provides the standard input:
@@ -214,7 +228,6 @@ var SimpleFade = class {
// binds all user interface elements to the respective settings keys of the profile.
bindPreferences(dialog) {
// Empty for now... Code is added here later in the tutorial!
return null;
}
// ---------------------------------------------------------------- API for extension.js
@@ -265,7 +278,8 @@ There should be two sliders in this example: The animation duration and the widt
If your effect supports GNOME Shell 3.3x _and_ GNOME Shell 40+, you will have to provide three `*.ui` files for this.
This is because starting with GNOME Shell 40, the preference dialog uses GTK4, before it used to use GTK3.
Starting with GNOME Shell 42, it uses `libadwaita` which requires different UI files again.
We will load the respective file in the `bindPreferences()` method of your new effect class.
_:information_source: If you do not have the means to test your effect on different versions of GNOME, feel free to submit a pull request for one GNOME version only, I may then port your effect to other GNOME versions!_
Just save the code below to `resources/ui/gtk3/simple-fade.ui`, `resources/ui/gtk4/simple-fade.ui`, and `resources/ui/adw/simple-fade.ui` respectively.
Remember to replace any occurrence of `simple-fade` with your effect's nick-name!
@@ -281,7 +295,7 @@ SPDX-FileCopyrightText: Your Name <your@email.com>
SPDX-License-Identifier: GPL-3.0-or-later
-->
<interface>
<interface domain="burn-my-windows">
<object class="GtkAdjustment" id="simple-fade-animation-time">
<property name="upper">5000</property>
@@ -297,17 +311,11 @@ SPDX-License-Identifier: GPL-3.0-or-later
<property name="page-increment">0.1</property>
</object>
<object class="GtkBox" id="simple-fade-prefs">
<property name="orientation">vertical</property>
<object class="GtkRevealer" id="simple-fade-prefs">
<child>
<object class="GtkFrame">
<child>
<object class="GtkListBox">
<property name="selection-mode">none</property>
<style>
<class name="rich-list" />
</style>
<child>
<object class="GtkListBoxRow">
@@ -396,9 +404,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
</child>
</object>
</child>
</object>
</child>
</object>
</child>
@@ -423,7 +428,7 @@ SPDX-FileCopyrightText: Your Name <your@email.com>
SPDX-License-Identifier: GPL-3.0-or-later
-->
<interface>
<interface domain="burn-my-windows">
<object class="GtkAdjustment" id="simple-fade-animation-time">
<property name="upper">5000</property>
@@ -439,18 +444,11 @@ SPDX-License-Identifier: GPL-3.0-or-later
<property name="page-increment">0.1</property>
</object>
<object class="GtkBox" id="simple-fade-prefs">
<property name="orientation">vertical</property>
<object class="GtkRevealer" id="simple-fade-prefs">
<child>
<object class="GtkFrame">
<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">
@@ -529,9 +527,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
</child>
</object>
</child>
</object>
</child>
</object>
</child>
@@ -554,7 +549,7 @@ SPDX-FileCopyrightText: Your Name <your@email.com>
SPDX-License-Identifier: GPL-3.0-or-later
-->
<interface>
<interface domain="burn-my-windows">
<object class="GtkAdjustment" id="simple-fade-animation-time">
<property name="upper">5000</property>
@@ -570,7 +565,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<property name="page-increment">0.1</property>
</object>
<object class="AdwActionRow" id="simple-fade-prefs">
<object class="AdwExpanderRow" id="simple-fade-prefs">
<child>
<object class="AdwActionRow">
+179 -220
View File
@@ -94,7 +94,10 @@ class Extension {
this._loadProfiles();
this._settings.set_int('last-extension-version', Me.metadata.version);
});
} else {
this._loadProfiles();
}
} else {
this._loadProfiles();
}
@@ -133,91 +136,131 @@ class Extension {
}
// We will monkey-patch these methods. Let's store the original ones.
this._origShouldAnimateActor = Main.wm._shouldAnimateActor;
this._origWaitForOverviewToHide = Main.wm._waitForOverviewToHide;
this._origAddWindowClone = Workspace.prototype._addWindowClone;
this._origWindowRemoved = Workspace.prototype._windowRemoved;
this._origDoRemoveWindow = Workspace.prototype._doRemoveWindow;
this._origShouldAnimateActor = WindowManager.prototype._shouldAnimateActor;
this._origWaitForOverviewToHide = WindowManager.prototype._waitForOverviewToHide;
this._origDestroyWindowDone = WindowManager.prototype._destroyWindowDone;
// ------------------------------------------------ patching the window-open animation
// ------------------------------- patching the window animations outside the overview
// Here we add an effect to the window-open animation. This is done whenever a new
// window is created. Usually, there is no real window animation for opening windows
// in the overview - only the window's clone is animated - but thanks to the hacks
// below, we can show the real animations in the overview.
// If a window is created the transitions are set up in the async _mapWindow of the
// If a window is created, the transitions are set up in the async _mapWindow() of the
// WindowManager:
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1478
// AFAIK, overriding this method is not possible as it's called by a signal to
// which it is bound via the bind() method. To tweak the async transition
// anyways, we override the actors ease() method once - the next time it will be
// called by the _mapWindow(), we will intercept it!
this._windowCreatedConnection =
global.display.connect('window-created', (d, metaWin) => {
let actor = metaWin.get_compositor_private();
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1436
// AFAIK, overriding this method is not possible as it's called by a signal to which
// it is bound via the bind() method. To tweak the async transition anyways, we
// override the actors ease() method once. We do this in _shouldAnimateActor() which
// is called right before the ease() in _mapWindow:
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1465
// The same trick is done for the window-close animation. This is set up in a similar
// fashion in the WindowManager's _destroyWindow():
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1525
// Here is _shouldAnimateActor() also called right before. So we use it again to
// monkey-patch the window actor's ease() once.
// We override WindowManager._shouldAnimateActor() also for another purpose: Usually,
// it returns false when we are in the overview. This prevents the window animations
// there. To enable animations in the overview, we check inside the method whether it
// was called by either _mapWindow or _destroyWindow. If so, we return true. Let's see
// if this breaks stuff left and right...
Main.wm._shouldAnimateActor = function(actor, types) {
const stack = (new Error()).stack;
const forClosing = stack.includes('_destroyWindow@');
const forOpening = stack.includes('_mapWindow@');
// This is also called in other cases, for instance when minimizing windows. We are
// only interested in window opening and window closing for now.
if (forClosing || forOpening) {
// If there is an applicable effect profile, we intercept the ease() method to
// setup our own effect.
const chosenEffect = extensionThis._chooseEffect(actor, forOpening);
if (chosenEffect) {
// Store the original ease() method of the actor.
const orig = actor.ease;
// Now intercept the next call to actor.ease().
actor.ease = function(...params) {
orig.apply(actor, params);
// There is a really weird issue in GNOME Shell 44: A few non-GTK windows are
// resized directly after they are mapped on X11. This happens for instance
// for keepassxc after it was closed in the maximized state. As the
// _mapWindow() method is called asynchronously, the window is not yet visible
// when the resize happens. Hence, our ease-override is called for the resize
// animation instead of the window-open or window-close animation. This is not
// what we want. So we check again whether the ease() call is for the
// window-open or window-close animation. If not, we just call the original
// ease() method. See also:
// https://github.com/Schneegans/Burn-My-Windows/issues/335
const stack = (new Error()).stack;
const forClosing = stack.includes('_destroyWindow@');
const forOpening = stack.includes('_mapWindow@');
if (forClosing || forOpening) {
// Quickly restore the original behavior. Nobody noticed, I guess :D
actor.ease = orig;
// 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);
// And then create the effect!
extensionThis._setupEffect(actor, forOpening, chosenEffect.effect,
chosenEffect.profile);
} else {
const connectionID = actor.connect('notify::mapped', () => {
extensionThis._setupEffect(actor, true);
actor.disconnect(connectionID);
});
orig.apply(this, params);
}
};
return true;
}
}
return extensionThis._origShouldAnimateActor.apply(this, [actor, types]);
};
// Make sure to remove any effects if requested by the window manager.
this._killEffectsSignal =
global.window_manager.connect('kill-window-effects', (wm, actor) => {
const shader = actor.get_effect('burn-my-windows-effect');
if (shader) {
shader.endAnimation();
}
});
// --------------------------------------------- fix window animations in the overview
// Some of the effects require that the window's actor is enlarged to provide a bigger
// canvas to draw the effects. Outside the overview we can simply increase the scale
// of the actor. However, if we are in the overview, we have to enlarge the clone of
// the window as well.
Workspace.prototype._addWindowClone = function(...params) {
const result = extensionThis._origAddWindowClone.apply(this, params);
const clone = extensionThis._origAddWindowClone.apply(this, params);
// The parameters of this method changed a bit through the versions...
let realWindow, clone;
let realWindow, container;
if (utils.shellVersionIs(3, 36)) {
clone = result[0];
realWindow = clone.realWindow;
container = clone[0];
realWindow = container.realWindow;
} else if (utils.shellVersionIs(3, 38)) {
clone = result._windowContainer;
container = clone._windowContainer;
realWindow = params[0].get_compositor_private();
} else {
clone = result.window_container;
container = clone.window_container;
realWindow = params[0].get_compositor_private();
}
// Syncing the real window's scale with the scale of its clone only works on GNOME
// Shell 3.38+. So effects cannot scale windows in the overview of GNOME 3.36...
if (utils.shellVersionIsAtLeast(3, 38)) {
const xID = realWindow.connect('notify::scale-x', () => {
if (realWindow.scale_x > 0 && clone.allocation.get_size()[0] > 0) {
clone.scale_x = realWindow.scale_x;
}
});
// Store the overview clone as temporary members of the real window actor. When we
// set up the effect, we will check for the existence of these and enlarge the clone
// as needed.
realWindow._bmwOverviewClone = clone;
realWindow._bmwOverviewCloneContainer = container;
const yID = realWindow.connect('notify::scale-y', () => {
if (realWindow.scale_y > 0 && clone.allocation.get_size()[1] > 0) {
clone.scale_y = realWindow.scale_y;
}
// Remove the temporary members again once the clone is deleted.
container.connect('destroy', () => {
delete realWindow._bmwOverviewClone;
delete realWindow._bmwOverviewCloneContainer;
});
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
@@ -225,73 +268,23 @@ class Extension {
// 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#L1363
if (utils.shellVersionIs(3, 36)) {
clone.connect('destroy', () => this._doRemoveWindow(clone.metaWindow));
container.connect('destroy', () => this._doRemoveWindow(container.metaWindow));
}
return result;
return clone;
};
// Usually, windows are faded in after the overview is completely hidden. We enable
// window-open animations by not waiting for this.
WindowManager.prototype._waitForOverviewToHide = async function() {
Main.wm._waitForOverviewToHide = async function() {
return Promise.resolve();
};
// Here comes the ULTRA-HACK: The method below is called (amongst others) by the
// _destroyWindow and _mapWindow methods of the WindowManager. Usually, it returns
// false when we are in the overview. This prevents the window animations. As we
// cannot monkey-patch the _destroyWindow or _mapWindow methods themselves, we check
// inside the method below whether it was called by either of those. If so, we return
// true. Let's see if this breaks stuff left and right...
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1124
WindowManager.prototype._shouldAnimateActor = function(...params) {
const caller = (new Error()).stack.split('\n')[1];
if (caller.includes('_destroyWindow@') || caller.includes('_mapWindow@')) {
return true;
}
return extensionThis._origShouldAnimateActor.apply(this, params);
};
// ----------------------------------------------- patching the window-close animation
// The signal handler below and the following patch are all which is required outside
// of the overview. All other hacks further below are just required to defer the
// window-hiding in the overview until the effect is finished.
// The close animation is set up in WindowManager's _destroyWindow:
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1554
// 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#L1564
WindowManager.prototype._destroyWindowDone = function(shellwm, actor) {
if (this._destroying.has(actor)) {
const shader = actor.get_effect('burn-my-windows-effect');
if (shader) {
actor.remove_effect(shader);
shader.endAnimation();
shader.returnToFactory();
}
}
// Call the original method.
extensionThis._origDestroyWindowDone.apply(this, [shellwm, actor]);
};
// These three method overrides are mega-hacky! Usually, windows are not faded when
// closed from the overview (why?). With these overrides we make sure that they are
// actually faded out. To do this, _windowRemoved and _doRemoveWindow now check
// whether there is a transition ongoing (via extensionThis._shouldDestroy). If that's
// the case, these methods do nothing. Are the actors removed in the end? I hope so.
// The _destroyWindow of the WindowManager sets the transitions up and should take
// care of removing the actors at the end of the transitions.
// the case, these methods do nothing.
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1258
Workspace.prototype._windowRemoved = function(ws, metaWin) {
if (extensionThis._shouldDestroy(this, metaWin)) {
@@ -369,16 +362,14 @@ class Extension {
// Disable the window-picking D-Bus API.
this._windowPicker.unexport();
// Restore the original window-open and window-close animations.
global.window_manager.disconnect(this._destroyConnection);
global.display.disconnect(this._windowCreatedConnection);
global.window_manager.disconnect(this._killEffectsSignal);
// Restore the original window-open and window-close animations.
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;
Main.wm._shouldAnimateActor = this._origShouldAnimateActor;
Main.wm._waitForOverviewToHide = this._origWaitForOverviewToHide;
if (WindowPreview) {
WindowPreview.prototype._deleteAll = this._origDeleteAll;
@@ -427,11 +418,10 @@ class Extension {
this._profiles.sort((a, b) => b.priority - a.priority);
}
// This method adds one of the configured effects to the given actor. First, a profile
// matching the current circumstances is chosen. Then a random effect from its enabled
// effects will be selected. This will also tweak the transitions of the given actor
// (e.g. scale it up if required).
_setupEffect(actor, forOpening) {
// This method selects an effect profile matching the current circumstances. Then a
// random effect from its enabled effects will be selected. It returns null if no
// profile is currently applicable.
_chooseEffect(actor, forOpening) {
// For now, we only add effects to normal windows and dialog windows.
const isNormalWindow = actor.meta_window.window_type == Meta.WindowType.NORMAL;
@@ -440,17 +430,7 @@ class Extension {
actor.meta_window.window_type == Meta.WindowType.DIALOG;
if (!isNormalWindow && !isDialogWindow) {
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.endAnimation();
oldShader.returnToFactory();
return null;
}
// ----------------------------------------------- choose a profile and then an effect
@@ -505,12 +485,18 @@ class Extension {
// If that was the case, we also check the application name.
if (matches && profileApp != '') {
const app = actor.meta_window.get_wm_class().toLowerCase();
const wmClass = actor.meta_window.get_wm_class();
if (wmClass) {
const app = wmClass.toLowerCase();
// Split app names at |, remove any whitespace, and transform to lower case.
const profileApps =
profileApp.split('|').map(item => item.trim().toLowerCase());
matches = profileApps.includes(app);
} else {
matches = false;
}
}
// If the profile is still matching, we also check the color scheme.
@@ -556,11 +542,23 @@ class Extension {
// If nothing was enabled, we have to do nothing :)
if (!effect || !profile) {
return;
return null;
}
return {effect: effect, profile: profile};
}
// ----------------------------------------------------------- tweak actor transitions
// This method adds the given effect using the settings from the given profile to the
// given actor.
_setupEffect(actor, forOpening, effect, profile) {
// There is the weird case where an animation is already ongoing. This happens when a
// window is closed which has been created before the session was started (e.g. when
// GNOME Shell has been restarted in the meantime).
const oldShader = actor.get_effect('burn-my-windows-effect');
if (oldShader) {
oldShader.endAnimation();
}
// 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.
@@ -572,97 +570,60 @@ class Extension {
// actorScale.
const actorScale = effect.getActorScale(profile.settings, forOpening, actor);
// All scaling is relative to the window's center.
actor.set_pivot_point(0.5, 0.5);
actor.opacity = 255;
actor.scale_x = actorScale.x;
actor.scale_y = actorScale.y;
// If we are in the overview, we have to enlarge the window's clone as well. We also
// disable the clone's overlay (e.g. its icon, name, and close button) during the
// animation.
if (actor._bmwOverviewClone && utils.shellVersionIsAtLeast(3, 38)) {
actor._bmwOverviewClone.overlayEnabled = false;
actor._bmwOverviewCloneContainer.set_pivot_point(0.5, 0.5);
actor._bmwOverviewCloneContainer.scale_x = actorScale.x;
actor._bmwOverviewCloneContainer.scale_y = actorScale.y;
}
// Now add a cool shader to our window actor!
const shader = effect.shaderFactory.getShader();
actor.add_effect_with_name('burn-my-windows-effect', shader);
// At the end of the animation, we restore the scale of the overview clone (if any)
// and call the methods which would have been called by the original ease() calls at
// the end of the standard fade-in animation.
const endID = shader.connect('end-animation', () => {
shader.disconnect(endID);
if (actor._bmwOverviewClone && utils.shellVersionIsAtLeast(3, 38)) {
actor._bmwOverviewClone.overlayEnabled = true;
actor._bmwOverviewCloneContainer.scale_x = 1.0;
actor._bmwOverviewCloneContainer.scale_y = 1.0;
}
// Remove the shader and mark it being re-usable for future animations.
actor.remove_effect(shader);
shader.returnToFactory();
// Finally, once the animation is done or interrupted, we call the methods which
// should have been called by the original ease() methods.
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1487
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1558.
if (forOpening) {
Main.wm._mapWindowDone(global.window_manager, actor);
} else {
Main.wm._destroyWindowDone(global.window_manager, actor);
}
});
// To make things deterministic during testing, we set the effect duration to 5
// seconds.
const duration =
testMode ? 5000 : profile.settings.get_int(effect.getNick() + '-animation-time');
// All animations are relative to the window's center.
actor.set_pivot_point(0.5, 0.5);
// We tweak the opacity and scale of the actor. If there is no ongoing transition for
// a property, a new one is set up.
const config = {'opacity': 255, 'scale-x': actorScale.x, 'scale-y': actorScale.y};
for (const property in config) {
let transition = actor.get_transition(property);
// If there is currently no ongoing transition, we create a new one. Clutter does
// not like to create transitions with the same start and end value - however, we
// need at least one transition for our progress value in the shader. So we trick
// Clutter by creating an arbitrary transition first and then modifying the start
// and end values according to our config object.
if (!transition) {
actor.set_property(property, 0);
actor.save_easing_state();
actor.set_easing_duration(1000);
actor.set_property(property, 1);
actor.restore_easing_state();
// Now there should be a transition!
transition = actor.get_transition(property);
}
// Tweak the transition according to the config object. For some reason, there are
// rare cases, where no transition is set up. This happens from time to time...
if (transition) {
transition.set_duration(duration);
transition.set_to(config[property]);
transition.set_from(config[property]);
transition.set_progress_mode(Clutter.AnimationMode.LINEAR);
}
}
// Once the transitions are finished, we restore the original actor size.
if (forOpening) {
const connectionID = actor.connect('transitions-completed', () => {
actor.scale_x = 1.0;
actor.scale_y = 1.0;
actor.disconnect(connectionID);
});
}
// -------------------------------------------------------------------- add the shader
// Now add a cool shader to our window actor!
const shader = effect.shaderFactory.getShader();
// There should always be an opacity transition going on...
const transition = actor.get_transition('opacity');
if (!transition) {
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(profile.settings, forOpening, testMode, duration * 0.001,
actor);
// Set other uniforms each frame.
transition.connect('new-frame', (t) => {
if (testMode) {
shader.updateAnimation(0.5);
} else {
shader.updateAnimation(t.get_progress());
}
});
// Remove the effect if the animation finished or was interrupted.
if (forOpening) {
transition.connect('stopped', () => {
const oldShader = actor.get_effect('burn-my-windows-effect');
if (oldShader) {
actor.remove_effect(oldShader);
oldShader.endAnimation();
oldShader.returnToFactory();
}
});
}
// Finally start the animation!
shader.beginAnimation(profile.settings, forOpening, testMode, duration, actor);
}
// This is required to enable window-close animations in the overview. See the comment
@@ -676,11 +637,9 @@ class Extension {
// This was called "realWindow" in GNOME 3.36.
const propertyName = utils.shellVersionIs(3, 36) ? 'realWindow' : '_windowActor';
const actor = workspace._windows[index][propertyName];
if (!actor.get_transition('scale-y')) {
return true;
}
const shader = actor.get_effect('burn-my-windows-effect');
return false;
return shader == null;
}
}
+1 -1
View File
@@ -14,5 +14,5 @@
"44"
],
"url": "https://github.com/Schneegans/Burn-My-Windows",
"version": 27
"version": 33
}
+57 -55
View File
@@ -8,90 +8,90 @@ msgstr ""
"Project-Id-Version: burn-my-windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-21 16:46+0100\n"
"PO-Revision-Date: 2023-01-09 16:48+0000\n"
"Last-Translator: Sir-Ivysaur <randompsyduck@duck.com>\n"
"Language-Team: Indonesian <https://hosted.weblate.org/projects/burn-my-"
"windows/core/id/>\n"
"PO-Revision-Date: 2023-05-14 23:48+0000\n"
"Last-Translator: Reza Almanda <rezaalmanda27@gmail.com>\n"
"Language-Team: Indonesian <https://hosted.weblate.org/projects/"
"burn-my-windows/core/id/>\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.15.1-dev\n"
"X-Generator: Weblate 4.18-dev\n"
#: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103
msgid "Opening Windows"
msgstr ""
msgstr "Membuka Jendela"
#: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221
#: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104
msgid "Closing Windows"
msgstr ""
msgstr "Menutup Jendela"
#: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249
#: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118
msgid "Normal Windows"
msgstr ""
msgstr "Jendela Biasa"
#: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250
#: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119
msgid "Dialog Windows"
msgstr ""
msgstr "Jendela Dialog"
#: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278
#: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133
msgid "Default Color Scheme"
msgstr ""
msgstr "Skema Warna Default"
#: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279
#: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme"
msgstr ""
msgstr "Skema Warna Gelap"
#: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307
#: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148
msgid "On Battery"
msgstr ""
msgstr "Baterai"
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308
#: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149
msgid "Plugged In"
msgstr ""
msgstr "Dicolokkan"
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336
#: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163
msgid "Power-Saver Mode"
msgstr ""
msgstr "Mode Penghemat Daya"
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337
#: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164
msgid "Balanced Mode"
msgstr ""
msgstr "Mode Seimbang"
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338
#: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165
msgid "Performance Mode"
msgstr ""
msgstr "Mode Performa"
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339
#: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166
msgid "Power Saver or Balanced"
msgstr ""
msgstr "Hemat Daya atau Seimbang"
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340
#: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167
msgid "Balanced or Performance"
msgstr ""
msgstr "Seimbang atau Performa"
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387
#: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183
msgid "High Priority"
msgstr ""
msgstr "Prioritas Tinggi"
#: src/ProfileManager.js:191
msgid "Standard Profile"
msgstr ""
msgstr "Profil Standar"
#: src/effects/Apparition.js:78
msgid "Apparition"
@@ -187,7 +187,7 @@ msgstr "Efek TV"
#: src/effects/TVGlitch.js:87
msgid "TV Glitch"
msgstr ""
msgstr "Glitch TV"
#: src/effects/Wisps.js:82
msgid "Wisps"
@@ -199,7 +199,7 @@ msgstr "Pratinjau efek ini"
#: prefs.js:364 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
msgid "Burn-My-Windows has been updated!"
msgstr ""
msgstr "Burn-My-Windows telah diperbarui!"
#: prefs.js:365 resources/ui/common/menus.ui:17 resources/ui/gtk4/prefs.ui:56
#: resources/ui/gtk3/prefs.ui:96
@@ -224,21 +224,23 @@ msgstr "Mantan Sponsor"
#: prefs.js:585
msgid "Delete this Profile?"
msgstr ""
msgstr "Hapus Profil ini?"
#: prefs.js:587
msgid ""
"The current effect profile with all its effect settings will be permanently "
"lost."
msgstr ""
"Profil efek saat ini dengan semua pengaturan efeknya akan hilang secara "
"permanen."
#: prefs.js:592
msgid "Cancel"
msgstr ""
msgstr "Batal"
#: prefs.js:593
msgid "Delete"
msgstr ""
msgstr "Hapus"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:923
@@ -256,7 +258,7 @@ msgstr "Buka Website"
#: resources/ui/common/menus.ui:21
msgid "View Matching Wallpapers"
msgstr ""
msgstr "Lihat wallpaper yang cocok"
#: resources/ui/common/menus.ui:27
msgid "Report a Bug"
@@ -280,7 +282,7 @@ msgstr "Tentang Burn-My-Windows"
#: resources/ui/common/menus.ui:63
msgid "Add New Profile..."
msgstr ""
msgstr "Tambah Profil Baru..."
#: resources/ui/gtk4/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23
#: resources/ui/gtk4/glitch.ui:23 resources/ui/gtk4/matrix.ui:23
@@ -472,7 +474,7 @@ msgstr ""
#: resources/ui/gtk3/tv-glitch.ui:142 resources/ui/gtk3/glitch.ui:142
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
msgid "Strength"
msgstr ""
msgstr "Kekuatan"
#: resources/ui/gtk4/tv-glitch.ui:161 resources/ui/gtk4/glitch.ui:161
#: resources/ui/gtk4/fire.ui:138 resources/ui/gtk3/tv-glitch.ui:187
@@ -519,12 +521,12 @@ msgstr "Warna Ujung"
#: resources/ui/gtk4/doom.ui:68 resources/ui/gtk3/doom.ui:97
#: resources/ui/adw/doom.ui:47
msgid "Horizontal Scale"
msgstr ""
msgstr "Skala Horizontal"
#: resources/ui/gtk4/doom.ui:114 resources/ui/gtk3/doom.ui:142
#: resources/ui/adw/doom.ui:80
msgid "Vertical Scale"
msgstr ""
msgstr "Skala Vertikal"
#: resources/ui/gtk4/doom.ui:160 resources/ui/gtk4/pixel-wheel.ui:115
#: resources/ui/gtk4/pixel-wipe.ui:69 resources/ui/gtk4/pixelate.ui:115
@@ -554,12 +556,12 @@ msgstr "Warna"
#: resources/ui/gtk4/pixel-wheel.ui:69 resources/ui/gtk3/pixel-wheel.ui:90
#: resources/ui/adw/pixel-wheel.ui:47
msgid "Spoke Count"
msgstr ""
msgstr "Jumlah Spoke"
#: resources/ui/gtk4/glide.ui:115 resources/ui/gtk3/glide.ui:149
#: resources/ui/adw/glide.ui:80
msgid "Squish"
msgstr ""
msgstr "Penyet"
#: resources/ui/gtk4/glide.ui:161 resources/ui/gtk3/glide.ui:194
#: resources/ui/adw/glide.ui:113
@@ -574,22 +576,22 @@ msgstr "Pindah"
#: resources/ui/gtk4/apparition.ui:114 resources/ui/gtk3/apparition.ui:149
#: resources/ui/adw/apparition.ui:81
msgid "Twirl Intensity"
msgstr ""
msgstr "Intensitas Putaran"
#: resources/ui/gtk4/apparition.ui:160 resources/ui/gtk3/apparition.ui:194
#: resources/ui/adw/apparition.ui:114
msgid "Shake Intensity"
msgstr ""
msgstr "Intensitas Goyang"
#: resources/ui/gtk4/apparition.ui:206 resources/ui/gtk3/apparition.ui:239
#: resources/ui/adw/apparition.ui:147
msgid "Suction Intensity"
msgstr ""
msgstr "Intensitas Hisap"
#: resources/ui/gtk4/portal.ui:69 resources/ui/gtk3/portal.ui:142
#: resources/ui/adw/portal.ui:80
msgid "Whirling"
msgstr ""
msgstr "Berputar"
#: resources/ui/gtk4/portal.ui:115 resources/ui/gtk3/portal.ui:97
#: resources/ui/adw/portal.ui:47
@@ -619,27 +621,27 @@ msgstr "Jiki dimatikan, akan terpilih lokasi secara acak."
#: resources/ui/gtk4/hexagon.ui:115 resources/ui/gtk3/hexagon.ui:135
#: resources/ui/adw/hexagon.ui:80
msgid "Mesh Line Width"
msgstr ""
msgstr "Lebar Garis Mesh"
#: resources/ui/gtk4/hexagon.ui:161 resources/ui/gtk3/hexagon.ui:179
#: resources/ui/adw/hexagon.ui:113
msgid "Line Color"
msgstr ""
msgstr "Warna Garis"
#: resources/ui/gtk4/hexagon.ui:198 resources/ui/gtk3/hexagon.ui:221
#: resources/ui/adw/hexagon.ui:138
msgid "Glow Color"
msgstr ""
msgstr "Warna Cahaya"
#: resources/ui/gtk4/hexagon.ui:239 resources/ui/gtk3/hexagon.ui:267
#: resources/ui/adw/hexagon.ui:163
msgid "Additive Blending"
msgstr ""
msgstr "Pencampuran Aditif"
#: resources/ui/gtk4/hexagon.ui:248 resources/ui/gtk3/hexagon.ui:276
#: resources/ui/adw/hexagon.ui:164
msgid "You may want to enable this for dark window themes."
msgstr ""
msgstr "Anda mungkin ingin mengaktifkan ini untuk tema jendela gelap."
#: resources/ui/gtk4/fire.ui:22 resources/ui/gtk3/fire.ui:44
#: resources/ui/adw/fire.ui:14
@@ -664,7 +666,7 @@ msgstr "Gradien"
#: resources/ui/gtk4/prefs.ui:82 resources/ui/gtk3/prefs.ui:124
#: resources/ui/adw/prefs.ui:224
msgid "Effect Settings"
msgstr ""
msgstr "Pengaturan Efek"
#: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134
#: resources/ui/adw/prefs.ui:225
@@ -674,17 +676,17 @@ msgstr "Jika lebih dari satu terpilih, satu akan dipilih secara acak."
#: resources/ui/gtk4/prefs.ui:132 resources/ui/gtk3/prefs.ui:172
#: resources/ui/adw/prefs.ui:65
msgid "Effect Profile Constraints"
msgstr ""
msgstr "Batasan Profil Efek"
#: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182
#: resources/ui/adw/prefs.ui:66
msgid "Define when the current effect settings should be used."
msgstr ""
msgstr "Tentukan kapan pengaturan efek saat ini harus digunakan."
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/prefs.ui:206
#: resources/ui/adw/prefs.ui:70
msgid "Application"
msgstr ""
msgstr "Aplikasi"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219
#: resources/ui/gtk4/prefs.ui:248 resources/ui/gtk4/prefs.ui:277
@@ -696,52 +698,52 @@ msgstr ""
#: resources/ui/adw/prefs.ui:117 resources/ui/adw/prefs.ui:132
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
msgid "Any"
msgstr ""
msgstr "Apapun"
#: resources/ui/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253
#: resources/ui/adw/prefs.ui:98
msgid "Animation Type"
msgstr ""
msgstr "Jenis Animasi"
#: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282
#: resources/ui/adw/prefs.ui:113
msgid "Window Type"
msgstr ""
msgstr "Jenis Jendela"
#: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311
#: resources/ui/adw/prefs.ui:128
msgid "Color Scheme"
msgstr ""
msgstr "Skema Warna"
#: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340
#: resources/ui/adw/prefs.ui:143
msgid "Power Mode"
msgstr ""
msgstr "Mode Daya"
#: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369
#: resources/ui/adw/prefs.ui:158
msgid "Power Profile"
msgstr ""
msgstr "Profil Daya"
#: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401
#: resources/ui/adw/prefs.ui:179
msgid "Advanced Profile Options"
msgstr ""
msgstr "Opsi Profil Lanjutan"
#: resources/ui/gtk4/prefs.ui:396 resources/ui/gtk3/prefs.ui:441
#: resources/ui/adw/prefs.ui:184
msgid "Use this profile even if there are better matching profiles."
msgstr ""
msgstr "Gunakan profil ini meskipun ada profil yang lebih cocok."
#: resources/ui/gtk4/prefs.ui:428 resources/ui/gtk3/prefs.ui:473
#: resources/ui/adw/prefs.ui:204
msgid "Delete this Profile..."
msgstr ""
msgstr "Hapus Profil ini..."
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
#: resources/ui/adw/pixelate.ui:47
msgid "Noise"
msgstr ""
msgstr "Kebisingan"
#: resources/ui/gtk3/fire.ui:58 resources/ui/adw/fire.ui:19
msgid "Choose a Preset"
+38 -38
View File
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: burn-my-windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-21 16:46+0100\n"
"PO-Revision-Date: 2023-02-11 06:35+0000\n"
"PO-Revision-Date: 2023-04-23 10:50+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"
@@ -17,81 +17,81 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.16-dev\n"
"X-Generator: Weblate 4.18-dev\n"
#: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103
msgid "Opening Windows"
msgstr ""
msgstr "창 열기"
#: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221
#: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104
msgid "Closing Windows"
msgstr ""
msgstr "창 닫기"
#: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249
#: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118
msgid "Normal Windows"
msgstr ""
msgstr "일반 창"
#: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250
#: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119
msgid "Dialog Windows"
msgstr ""
msgstr "대화상자 창"
#: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278
#: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133
msgid "Default Color Scheme"
msgstr ""
msgstr "기본 색상 스킴"
#: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279
#: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme"
msgstr ""
msgstr "어두움 색상 스킴"
#: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307
#: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148
msgid "On Battery"
msgstr ""
msgstr "배터리 사용"
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308
#: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149
msgid "Plugged In"
msgstr ""
msgstr "AC 전원 연결"
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336
#: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163
msgid "Power-Saver Mode"
msgstr ""
msgstr "전원 절약 모드"
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337
#: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164
msgid "Balanced Mode"
msgstr ""
msgstr "균형 모드"
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338
#: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165
msgid "Performance Mode"
msgstr ""
msgstr "성능 강화 모드"
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339
#: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166
msgid "Power Saver or Balanced"
msgstr ""
msgstr "전원 절약 또는 균형"
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340
#: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167
msgid "Balanced or Performance"
msgstr ""
msgstr "균형 또는 성능 강화"
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387
#: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183
msgid "High Priority"
msgstr ""
msgstr "높은 우선순위"
#: src/ProfileManager.js:191
msgid "Standard Profile"
msgstr ""
msgstr "표준 프로파일"
#: src/effects/Apparition.js:78
msgid "Apparition"
@@ -163,7 +163,7 @@ msgstr "픽셀 파편"
#: src/effects/PixelWheel.js:74
msgid "Pixel Wheel"
msgstr "픽셀 바퀴회전"
msgstr "픽셀 회전"
#: src/effects/PixelWipe.js:101
msgid "Pixel Wipe"
@@ -199,7 +199,7 @@ msgstr "이 효과를 미리 봅니다"
#: prefs.js:364 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
msgid "Burn-My-Windows has been updated!"
msgstr ""
msgstr "Burn-My-Windows를 업데이트했습니다!"
#: prefs.js:365 resources/ui/common/menus.ui:17 resources/ui/gtk4/prefs.ui:56
#: resources/ui/gtk3/prefs.ui:96
@@ -224,21 +224,21 @@ msgstr "이전 스폰서"
#: prefs.js:585
msgid "Delete this Profile?"
msgstr ""
msgstr "이 프로파일을 삭제할까요?"
#: prefs.js:587
msgid ""
"The current effect profile with all its effect settings will be permanently "
"lost."
msgstr ""
msgstr "모든 효과 설정이 들어간 현재 효과 프로파일을 완전히 날립니다."
#: prefs.js:592
msgid "Cancel"
msgstr ""
msgstr "취소"
#: prefs.js:593
msgid "Delete"
msgstr ""
msgstr "삭제"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:923
@@ -256,7 +256,7 @@ msgstr "홈페이지 방문"
#: resources/ui/common/menus.ui:21
msgid "View Matching Wallpapers"
msgstr ""
msgstr "일치하는 배경 보기"
#: resources/ui/common/menus.ui:27
msgid "Report a Bug"
@@ -280,7 +280,7 @@ msgstr "Burn-My-Windows 정보"
#: resources/ui/common/menus.ui:63
msgid "Add New Profile..."
msgstr ""
msgstr "새 프로파일 추가..."
#: resources/ui/gtk4/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23
#: resources/ui/gtk4/glitch.ui:23 resources/ui/gtk4/matrix.ui:23
@@ -662,7 +662,7 @@ msgstr "그레디언트"
#: resources/ui/gtk4/prefs.ui:82 resources/ui/gtk3/prefs.ui:124
#: resources/ui/adw/prefs.ui:224
msgid "Effect Settings"
msgstr ""
msgstr "효과 설정"
#: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134
#: resources/ui/adw/prefs.ui:225
@@ -672,17 +672,17 @@ msgstr "여러 항목을 선택하면 그 중 하나를 임의로 선택합니
#: resources/ui/gtk4/prefs.ui:132 resources/ui/gtk3/prefs.ui:172
#: resources/ui/adw/prefs.ui:65
msgid "Effect Profile Constraints"
msgstr ""
msgstr "효과 프로파일 제약 사항"
#: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182
#: resources/ui/adw/prefs.ui:66
msgid "Define when the current effect settings should be used."
msgstr ""
msgstr "현재 효과 설정을 사용할 경우를 지정합니다."
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/prefs.ui:206
#: resources/ui/adw/prefs.ui:70
msgid "Application"
msgstr ""
msgstr "앱"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219
#: resources/ui/gtk4/prefs.ui:248 resources/ui/gtk4/prefs.ui:277
@@ -694,47 +694,47 @@ msgstr ""
#: resources/ui/adw/prefs.ui:117 resources/ui/adw/prefs.ui:132
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
msgid "Any"
msgstr ""
msgstr "모든 경우"
#: resources/ui/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253
#: resources/ui/adw/prefs.ui:98
msgid "Animation Type"
msgstr ""
msgstr "애니메이션 형식"
#: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282
#: resources/ui/adw/prefs.ui:113
msgid "Window Type"
msgstr ""
msgstr "창 형식"
#: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311
#: resources/ui/adw/prefs.ui:128
msgid "Color Scheme"
msgstr ""
msgstr "색상 스킴"
#: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340
#: resources/ui/adw/prefs.ui:143
msgid "Power Mode"
msgstr ""
msgstr "전원 관리 모드"
#: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369
#: resources/ui/adw/prefs.ui:158
msgid "Power Profile"
msgstr ""
msgstr "전원 프로파일"
#: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401
#: resources/ui/adw/prefs.ui:179
msgid "Advanced Profile Options"
msgstr ""
msgstr "고급 프로파일 옵션"
#: resources/ui/gtk4/prefs.ui:396 resources/ui/gtk3/prefs.ui:441
#: resources/ui/adw/prefs.ui:184
msgid "Use this profile even if there are better matching profiles."
msgstr ""
msgstr "좀 더 적절한 프로파일이 있더라도 이 프로파일을 사용합니다."
#: resources/ui/gtk4/prefs.ui:428 resources/ui/gtk3/prefs.ui:473
#: resources/ui/adw/prefs.ui:204
msgid "Delete this Profile..."
msgstr ""
msgstr "이 프로파일 삭제..."
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
#: resources/ui/adw/pixelate.ui:47
+4 -4
View File
@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Burn-My-Windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-21 16:46+0100\n"
"PO-Revision-Date: 2023-02-21 16:19+0000\n"
"Last-Translator: Heimen Stoffels <vistausss@fastmail.com>\n"
"PO-Revision-Date: 2023-03-17 10:41+0000\n"
"Last-Translator: Philip Goto <philip.goto@gmail.com>\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/burn-my-windows/"
"core/nl/>\n"
"Language: nl\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.16-dev\n"
"X-Generator: Weblate 4.16.2-dev\n"
#: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103
@@ -687,7 +687,7 @@ msgstr ""
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/prefs.ui:206
#: resources/ui/adw/prefs.ui:70
msgid "Application"
msgstr "Toepassing"
msgstr "App"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219
#: resources/ui/gtk4/prefs.ui:248 resources/ui/gtk4/prefs.ui:277
+39 -37
View File
@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: burn-my-windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-21 16:46+0100\n"
"PO-Revision-Date: 2023-01-25 20:52+0000\n"
"Last-Translator: gnu-ewm <gnu.ewm@protonmail.com>\n"
"PO-Revision-Date: 2023-03-05 17:41+0000\n"
"Last-Translator: WaldiS <sto@tutanota.de>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/burn-my-windows/"
"core/pl/>\n"
"Language: pl\n"
@@ -18,81 +18,81 @@ msgstr ""
"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.16-dev\n"
"X-Generator: Weblate 4.16.2-dev\n"
#: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103
msgid "Opening Windows"
msgstr ""
msgstr "Otwieranie okien"
#: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221
#: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104
msgid "Closing Windows"
msgstr ""
msgstr "Zamykanie okien"
#: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249
#: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118
msgid "Normal Windows"
msgstr ""
msgstr "Normalne okna"
#: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250
#: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119
msgid "Dialog Windows"
msgstr ""
msgstr "Okna dialogowe"
#: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278
#: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133
msgid "Default Color Scheme"
msgstr ""
msgstr "Domyślny schemat kolorów"
#: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279
#: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme"
msgstr ""
msgstr "Ciemny schemat kolorów"
#: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307
#: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148
msgid "On Battery"
msgstr ""
msgstr "Zasilanie bateryjne"
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308
#: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149
msgid "Plugged In"
msgstr ""
msgstr "Podłączony"
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336
#: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163
msgid "Power-Saver Mode"
msgstr ""
msgstr "Tryb oszczędzania energii"
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337
#: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164
msgid "Balanced Mode"
msgstr ""
msgstr "Tryb zrównoważony"
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338
#: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165
msgid "Performance Mode"
msgstr ""
msgstr "Tryb wydajności"
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339
#: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166
msgid "Power Saver or Balanced"
msgstr ""
msgstr "Oszczędzanie energii lub zrównoważony"
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340
#: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167
msgid "Balanced or Performance"
msgstr ""
msgstr "Zrównoważony lub wydajny"
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387
#: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183
msgid "High Priority"
msgstr ""
msgstr "Wysoki priorytet"
#: src/ProfileManager.js:191
msgid "Standard Profile"
msgstr ""
msgstr "Profil standardowy"
#: src/effects/Apparition.js:78
msgid "Apparition"
@@ -200,7 +200,7 @@ msgstr "Podgląd efektu"
#: prefs.js:364 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
msgid "Burn-My-Windows has been updated!"
msgstr ""
msgstr "Burn-My-Windows został zaktualizowany!"
#: prefs.js:365 resources/ui/common/menus.ui:17 resources/ui/gtk4/prefs.ui:56
#: resources/ui/gtk3/prefs.ui:96
@@ -225,21 +225,23 @@ msgstr "Byli Sponsorzy"
#: prefs.js:585
msgid "Delete this Profile?"
msgstr ""
msgstr "Usunąć ten profil?"
#: prefs.js:587
msgid ""
"The current effect profile with all its effect settings will be permanently "
"lost."
msgstr ""
"Bieżący profil efektów wraz ze wszystkimi jego ustawieniami efektów zostanie "
"trwale utracony."
#: prefs.js:592
msgid "Cancel"
msgstr ""
msgstr "Anuluj"
#: prefs.js:593
msgid "Delete"
msgstr ""
msgstr "Usuń"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:923
@@ -257,7 +259,7 @@ msgstr "Odwiedź Stronę Główną"
#: resources/ui/common/menus.ui:21
msgid "View Matching Wallpapers"
msgstr ""
msgstr "Zobacz pasujące tapety"
#: resources/ui/common/menus.ui:27
msgid "Report a Bug"
@@ -281,7 +283,7 @@ msgstr "Informacje o Burn-My-Windows"
#: resources/ui/common/menus.ui:63
msgid "Add New Profile..."
msgstr ""
msgstr "Dodaj nowy profil..."
#: resources/ui/gtk4/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23
#: resources/ui/gtk4/glitch.ui:23 resources/ui/gtk4/matrix.ui:23
@@ -665,7 +667,7 @@ msgstr "Gradient"
#: resources/ui/gtk4/prefs.ui:82 resources/ui/gtk3/prefs.ui:124
#: resources/ui/adw/prefs.ui:224
msgid "Effect Settings"
msgstr ""
msgstr "Ustawienia efektu"
#: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134
#: resources/ui/adw/prefs.ui:225
@@ -675,17 +677,17 @@ msgstr "Jeśli wybrano kilka, efekt jest wybierany losowo."
#: resources/ui/gtk4/prefs.ui:132 resources/ui/gtk3/prefs.ui:172
#: resources/ui/adw/prefs.ui:65
msgid "Effect Profile Constraints"
msgstr ""
msgstr "Ograniczenia profilu efektu"
#: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182
#: resources/ui/adw/prefs.ui:66
msgid "Define when the current effect settings should be used."
msgstr ""
msgstr "Określ, kiedy mają być używane bieżące ustawienia efektów."
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/prefs.ui:206
#: resources/ui/adw/prefs.ui:70
msgid "Application"
msgstr ""
msgstr "Aplikacja"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219
#: resources/ui/gtk4/prefs.ui:248 resources/ui/gtk4/prefs.ui:277
@@ -697,47 +699,47 @@ msgstr ""
#: resources/ui/adw/prefs.ui:117 resources/ui/adw/prefs.ui:132
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
msgid "Any"
msgstr ""
msgstr "Każdy"
#: resources/ui/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253
#: resources/ui/adw/prefs.ui:98
msgid "Animation Type"
msgstr ""
msgstr "Typ animacji"
#: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282
#: resources/ui/adw/prefs.ui:113
msgid "Window Type"
msgstr ""
msgstr "Typ okna"
#: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311
#: resources/ui/adw/prefs.ui:128
msgid "Color Scheme"
msgstr ""
msgstr "Schemat kolorów"
#: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340
#: resources/ui/adw/prefs.ui:143
msgid "Power Mode"
msgstr ""
msgstr "Tryb zasilania"
#: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369
#: resources/ui/adw/prefs.ui:158
msgid "Power Profile"
msgstr ""
msgstr "Profil mocy"
#: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401
#: resources/ui/adw/prefs.ui:179
msgid "Advanced Profile Options"
msgstr ""
msgstr "Zaawansowane opcje profilu"
#: resources/ui/gtk4/prefs.ui:396 resources/ui/gtk3/prefs.ui:441
#: resources/ui/adw/prefs.ui:184
msgid "Use this profile even if there are better matching profiles."
msgstr ""
msgstr "Użyj tego profilu, nawet jeśli istnieją lepiej dopasowane profile."
#: resources/ui/gtk4/prefs.ui:428 resources/ui/gtk3/prefs.ui:473
#: resources/ui/adw/prefs.ui:204
msgid "Delete this Profile..."
msgstr ""
msgstr "Usuń ten profil..."
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
#: resources/ui/adw/pixelate.ui:47
+20 -18
View File
@@ -8,16 +8,16 @@ msgstr ""
"Project-Id-Version: burn-my-windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-21 16:46+0100\n"
"PO-Revision-Date: 2023-02-21 15:39+0000\n"
"PO-Revision-Date: 2023-04-10 11:51+0000\n"
"Last-Translator: Isaac Dias <mr-isaac@ig.com.br>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/burn-"
"my-windows/core/pt_BR/>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"burn-my-windows/core/pt_BR/>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.16-dev\n"
"X-Generator: Weblate 4.17-dev\n"
#: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103
@@ -208,55 +208,57 @@ msgstr "Veja as alterações"
#: prefs.js:496 prefs.js:528
msgid "Gold Sponsors"
msgstr ""
msgstr "Patrocinadores Ouro"
#: prefs.js:500 prefs.js:532
msgid "Silver Sponsors"
msgstr ""
msgstr "Patrocinadores Prata"
#: prefs.js:504 prefs.js:536
msgid "Bronze Sponsors"
msgstr ""
msgstr "Patrocinadores Bronze"
#: prefs.js:508 prefs.js:540
msgid "Past Sponsors"
msgstr ""
msgstr "Patrocinadores Anteriores"
#: prefs.js:585
msgid "Delete this Profile?"
msgstr ""
msgstr "Excluir esse Perfil?"
#: prefs.js:587
msgid ""
"The current effect profile with all its effect settings will be permanently "
"lost."
msgstr ""
"O perfil de efeito atual com todas as suas configurações de efeito será "
"perdido permanentemente."
#: prefs.js:592
msgid "Cancel"
msgstr ""
msgstr "Cancelar"
#: prefs.js:593
msgid "Delete"
msgstr ""
msgstr "Deletar"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:923
#, javascript-format
msgid "Preview for %s"
msgstr ""
msgstr "Visualização para %s"
#: prefs.js:945
msgid "Close this Window to Preview the Effect!"
msgstr ""
msgstr "Feche essa Janela para Visualizar o Efeito!"
#: resources/ui/common/menus.ui:13
msgid "Visit Homepage"
msgstr ""
msgstr "Visite a Homepage"
#: resources/ui/common/menus.ui:21
msgid "View Matching Wallpapers"
msgstr ""
msgstr "Ver papéis de parede correspondentes"
#: resources/ui/common/menus.ui:27
msgid "Report a Bug"
@@ -541,15 +543,15 @@ msgstr "Escala do Arranhão da Garra"
#: resources/ui/gtk4/trex.ui:115 resources/ui/adw/trex.ui:80
msgid "Claw Scratch Count"
msgstr ""
msgstr "Total de Arranhões de Garra"
#: resources/ui/gtk4/trex.ui:161 resources/ui/adw/trex.ui:113
msgid "Warp Effect"
msgstr ""
msgstr "Efeito de Deformação"
#: resources/ui/gtk4/trex.ui:207 resources/ui/adw/trex.ui:146
msgid "Flash Color"
msgstr ""
msgstr "Cor do Flash"
#: resources/ui/gtk4/pixel-wheel.ui:69 resources/ui/gtk3/pixel-wheel.ui:90
#: resources/ui/adw/pixel-wheel.ui:47
+3 -3
View File
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: burn-my-windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-21 16:46+0100\n"
"PO-Revision-Date: 2023-02-25 03:39+0000\n"
"PO-Revision-Date: 2023-04-07 05:50+0000\n"
"Last-Translator: SoftExpert <softexpert@gmail.com>\n"
"Language-Team: Romanian <https://hosted.weblate.org/projects/burn-my-windows/"
"core/ro/>\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n"
"X-Generator: Weblate 4.16-dev\n"
"X-Generator: Weblate 4.17-dev\n"
#: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103
@@ -48,7 +48,7 @@ msgstr "Schemă de culori implicită"
#: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279
#: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme"
msgstr "Schema de culori întunecate"
msgstr "Schemă de culori întunecate"
#: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307
#: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148
+53 -50
View File
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: burn-my-windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-21 16:46+0100\n"
"PO-Revision-Date: 2022-09-11 10:17+0000\n"
"PO-Revision-Date: 2023-03-07 08:41+0000\n"
"Last-Translator: Jose Riha <jose1711@gmail.com>\n"
"Language-Team: Slovak <https://hosted.weblate.org/projects/burn-my-windows/"
"core/sk/>\n"
@@ -17,81 +17,81 @@ msgstr ""
"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.14.1-dev\n"
"X-Generator: Weblate 4.16.2-dev\n"
#: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103
msgid "Opening Windows"
msgstr ""
msgstr "Otváranie okien"
#: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221
#: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104
msgid "Closing Windows"
msgstr ""
msgstr "Zatváranie okien"
#: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249
#: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118
msgid "Normal Windows"
msgstr ""
msgstr "Normálne okná"
#: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250
#: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119
msgid "Dialog Windows"
msgstr ""
msgstr "Dialógové okná"
#: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278
#: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133
msgid "Default Color Scheme"
msgstr ""
msgstr "Predvolený motív farieb"
#: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279
#: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme"
msgstr ""
msgstr "Tmavý motív farieb"
#: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307
#: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148
msgid "On Battery"
msgstr ""
msgstr "Pri behu na batériu"
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308
#: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149
msgid "Plugged In"
msgstr ""
msgstr "Pri nabíjaní"
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336
#: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163
msgid "Power-Saver Mode"
msgstr ""
msgstr "Režim šetrenia energie"
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337
#: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164
msgid "Balanced Mode"
msgstr ""
msgstr "Vyvážený režim"
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338
#: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165
msgid "Performance Mode"
msgstr ""
msgstr "Vysoký výkon"
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339
#: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166
msgid "Power Saver or Balanced"
msgstr ""
msgstr "Šetrenie energie alebo vyvážený"
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340
#: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167
msgid "Balanced or Performance"
msgstr ""
msgstr "Vyvážený alebo vysoký výkon"
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387
#: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183
msgid "High Priority"
msgstr ""
msgstr "Vysoká priorita"
#: src/ProfileManager.js:191
msgid "Standard Profile"
msgstr ""
msgstr "Štandardný profil"
#: src/effects/Apparition.js:78
msgid "Apparition"
@@ -127,7 +127,7 @@ msgstr "Pekelný oheň"
#: src/effects/Fire.js:174
msgid "Dark and Smutty"
msgstr "Tmavý a zafúľaný"
msgstr "Tmavý a špinavý"
#: src/effects/Fire.js:184
msgid "Cold Breeze"
@@ -135,15 +135,15 @@ msgstr "Studený vánok"
#: src/effects/Fire.js:194
msgid "Santa is Coming"
msgstr "Santa prichádza"
msgstr "Santa je tu!"
#: src/effects/Glide.js:78
msgid "Glide"
msgstr ""
msgstr "Kĺzanie"
#: src/effects/Glitch.js:86
msgid "Glitch"
msgstr ""
msgstr "Rušenie"
#: src/effects/Hexagon.js:94
msgid "Hexagon"
@@ -171,7 +171,7 @@ msgstr "Zotrenie štvorčekmi"
#: src/effects/Portal.js:88
msgid "Portal"
msgstr ""
msgstr "Portál"
#: src/effects/SnapOfDisintegration.js:114
msgid "Snap of Disintegration"
@@ -187,7 +187,7 @@ msgstr "Televízor"
#: src/effects/TVGlitch.js:87
msgid "TV Glitch"
msgstr ""
msgstr "Rušenie televízora"
#: src/effects/Wisps.js:82
msgid "Wisps"
@@ -195,11 +195,11 @@ msgstr "Obláčiky"
#: prefs.js:247
msgid "Preview this effect"
msgstr ""
msgstr "Vyskúšajte tento efekt"
#: prefs.js:364 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
msgid "Burn-My-Windows has been updated!"
msgstr ""
msgstr "Burn-My-Windows sa aktualizoval!"
#: prefs.js:365 resources/ui/common/menus.ui:17 resources/ui/gtk4/prefs.ui:56
#: resources/ui/gtk3/prefs.ui:96
@@ -224,21 +224,23 @@ msgstr "Bývalí sponzori"
#: prefs.js:585
msgid "Delete this Profile?"
msgstr ""
msgstr "Odstrániť tento profil?"
#: prefs.js:587
msgid ""
"The current effect profile with all its effect settings will be permanently "
"lost."
msgstr ""
"Aktuálny profil efektu spolu so všetkými nastaveniami efektov bude trvalo "
"odstránený."
#: prefs.js:592
msgid "Cancel"
msgstr ""
msgstr "Zrušiť"
#: prefs.js:593
msgid "Delete"
msgstr ""
msgstr "Odstrániť"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:923
@@ -256,7 +258,7 @@ msgstr "Navštíviť webovú stránku"
#: resources/ui/common/menus.ui:21
msgid "View Matching Wallpapers"
msgstr ""
msgstr "Zobraziť zodpovedajúce pozadia plochy"
#: resources/ui/common/menus.ui:27
msgid "Report a Bug"
@@ -280,7 +282,7 @@ msgstr "O Burn-My-Windows"
#: resources/ui/common/menus.ui:63
msgid "Add New Profile..."
msgstr ""
msgstr "Pridať nový profil…"
#: resources/ui/gtk4/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23
#: resources/ui/gtk4/glitch.ui:23 resources/ui/gtk4/matrix.ui:23
@@ -470,7 +472,7 @@ msgstr "Črepiny odletia z miesta, kde bol kurzor myši pri zatváraní okna."
#: resources/ui/gtk3/tv-glitch.ui:142 resources/ui/gtk3/glitch.ui:142
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
msgid "Strength"
msgstr ""
msgstr "Intenzita"
#: resources/ui/gtk4/tv-glitch.ui:161 resources/ui/gtk4/glitch.ui:161
#: resources/ui/gtk4/fire.ui:138 resources/ui/gtk3/tv-glitch.ui:187
@@ -557,17 +559,17 @@ msgstr "Počet lúčov"
#: resources/ui/gtk4/glide.ui:115 resources/ui/gtk3/glide.ui:149
#: resources/ui/adw/glide.ui:80
msgid "Squish"
msgstr ""
msgstr "Stlačenie"
#: resources/ui/gtk4/glide.ui:161 resources/ui/gtk3/glide.ui:194
#: resources/ui/adw/glide.ui:113
msgid "Tilt"
msgstr ""
msgstr "Naklonenie"
#: resources/ui/gtk4/glide.ui:207 resources/ui/gtk3/glide.ui:239
#: resources/ui/adw/glide.ui:146
msgid "Shift"
msgstr ""
msgstr "Posunutie"
#: resources/ui/gtk4/apparition.ui:114 resources/ui/gtk3/apparition.ui:149
#: resources/ui/adw/apparition.ui:81
@@ -587,17 +589,17 @@ msgstr "Intenzita odsatia"
#: resources/ui/gtk4/portal.ui:69 resources/ui/gtk3/portal.ui:142
#: resources/ui/adw/portal.ui:80
msgid "Whirling"
msgstr ""
msgstr "Vír"
#: resources/ui/gtk4/portal.ui:115 resources/ui/gtk3/portal.ui:97
#: resources/ui/adw/portal.ui:47
msgid "Rotation Speed"
msgstr ""
msgstr "Rýchlosť otáčania"
#: resources/ui/gtk4/portal.ui:161 resources/ui/gtk3/portal.ui:187
#: resources/ui/adw/portal.ui:113
msgid "Details"
msgstr ""
msgstr "Podrobnosti"
#: resources/ui/gtk4/incinerate.ui:115 resources/ui/gtk3/incinerate.ui:135
#: resources/ui/adw/incinerate.ui:80
@@ -652,7 +654,7 @@ msgstr "3D šum"
#: resources/ui/gtk4/fire.ui:197 resources/ui/gtk3/fire.ui:229
#: resources/ui/adw/fire.ui:130
msgid "Creates a more dynamic fire but requires more GPU power."
msgstr "Vytvorí dynamickejší efekt ohňa, ale vyžaduje na to viac GPU."
msgstr "Vytvorí dynamickejší efekt ohňa, ale potrebuje viac GPU."
#: resources/ui/gtk4/fire.ui:239 resources/ui/gtk3/fire.ui:276
#: resources/ui/adw/fire.ui:152
@@ -662,7 +664,7 @@ msgstr "Prechod"
#: resources/ui/gtk4/prefs.ui:82 resources/ui/gtk3/prefs.ui:124
#: resources/ui/adw/prefs.ui:224
msgid "Effect Settings"
msgstr ""
msgstr "Nastavenia efektov"
#: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134
#: resources/ui/adw/prefs.ui:225
@@ -672,17 +674,17 @@ msgstr "Ak ich vyberiete viac, budú sa náhodne striedať."
#: resources/ui/gtk4/prefs.ui:132 resources/ui/gtk3/prefs.ui:172
#: resources/ui/adw/prefs.ui:65
msgid "Effect Profile Constraints"
msgstr ""
msgstr "Obmedzenia profilu efektov"
#: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182
#: resources/ui/adw/prefs.ui:66
msgid "Define when the current effect settings should be used."
msgstr ""
msgstr "Určite, kedy sa majú použiť aktuálne nastavenia efektov."
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/prefs.ui:206
#: resources/ui/adw/prefs.ui:70
msgid "Application"
msgstr ""
msgstr "Aplikácia"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219
#: resources/ui/gtk4/prefs.ui:248 resources/ui/gtk4/prefs.ui:277
@@ -694,47 +696,48 @@ msgstr ""
#: resources/ui/adw/prefs.ui:117 resources/ui/adw/prefs.ui:132
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
msgid "Any"
msgstr ""
msgstr "Ľubovoľné"
#: resources/ui/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253
#: resources/ui/adw/prefs.ui:98
msgid "Animation Type"
msgstr ""
msgstr "Typ animácie"
#: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282
#: resources/ui/adw/prefs.ui:113
msgid "Window Type"
msgstr ""
msgstr "Typ okna"
#: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311
#: resources/ui/adw/prefs.ui:128
msgid "Color Scheme"
msgstr ""
msgstr "Motív farieb"
#: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340
#: resources/ui/adw/prefs.ui:143
msgid "Power Mode"
msgstr ""
msgstr "Režim šetrenia energie"
#: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369
#: resources/ui/adw/prefs.ui:158
msgid "Power Profile"
msgstr ""
msgstr "Profil šetrenia energie"
#: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401
#: resources/ui/adw/prefs.ui:179
msgid "Advanced Profile Options"
msgstr ""
msgstr "Pokročilé voľby profilu"
#: resources/ui/gtk4/prefs.ui:396 resources/ui/gtk3/prefs.ui:441
#: resources/ui/adw/prefs.ui:184
msgid "Use this profile even if there are better matching profiles."
msgstr ""
"Použiť tento profil aj v prípade, že existujú profily, ktoré vyhovujú viac."
#: resources/ui/gtk4/prefs.ui:428 resources/ui/gtk3/prefs.ui:473
#: resources/ui/adw/prefs.ui:204
msgid "Delete this Profile..."
msgstr ""
msgstr "Odstrániť tento profil…"
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
#: resources/ui/adw/pixelate.ui:47
+62 -61
View File
@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Burn-My-Windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-21 16:46+0100\n"
"PO-Revision-Date: 2022-09-16 14:17+0000\n"
"Last-Translator: Muha Aliss <muhaaliss@pm.me>\n"
"PO-Revision-Date: 2023-05-27 03:16+0000\n"
"Last-Translator: Sabri Ünal <libreajans@gmail.com>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/burn-my-windows/"
"core/tr/>\n"
"Language: tr\n"
@@ -17,81 +17,81 @@ msgstr ""
"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.14.1-dev\n"
"X-Generator: Weblate 4.18-dev\n"
#: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103
msgid "Opening Windows"
msgstr ""
msgstr "Pencerelerin Açılması"
#: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221
#: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104
msgid "Closing Windows"
msgstr ""
msgstr "Pencerelerin Kapanması"
#: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249
#: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118
msgid "Normal Windows"
msgstr ""
msgstr "Normal Pencereler"
#: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250
#: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119
msgid "Dialog Windows"
msgstr ""
msgstr "İletişim Kutusu Pencereleri"
#: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278
#: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133
msgid "Default Color Scheme"
msgstr ""
msgstr "Öntanımlı Renk Şeması"
#: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279
#: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme"
msgstr ""
msgstr "Koyu Renk Şeması"
#: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307
#: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148
msgid "On Battery"
msgstr ""
msgstr "Pilde"
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308
#: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149
msgid "Plugged In"
msgstr ""
msgstr "Fişe Takılı"
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336
#: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163
msgid "Power-Saver Mode"
msgstr ""
msgstr "Güç Tutumu Kipi"
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337
#: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164
msgid "Balanced Mode"
msgstr ""
msgstr "Dengeli Kip"
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338
#: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165
msgid "Performance Mode"
msgstr ""
msgstr "Performans Kipi"
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339
#: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166
msgid "Power Saver or Balanced"
msgstr ""
msgstr "Güç Tutumu veya Dengeli"
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340
#: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167
msgid "Balanced or Performance"
msgstr ""
msgstr "Dengeli veya Performans"
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387
#: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183
msgid "High Priority"
msgstr ""
msgstr "Yüksek Öncelik"
#: src/ProfileManager.js:191
msgid "Standard Profile"
msgstr ""
msgstr "Standart Profil"
#: src/effects/Apparition.js:78
msgid "Apparition"
@@ -119,7 +119,7 @@ msgstr "Ateş"
#: src/effects/Fire.js:154
msgid "Default Fire"
msgstr "Varsayılan Ateş"
msgstr "Öntanımlı Ateş"
#: src/effects/Fire.js:164
msgid "Hell Fire"
@@ -127,7 +127,7 @@ msgstr "Cehennem Ateşi"
#: src/effects/Fire.js:174
msgid "Dark and Smutty"
msgstr "Karanlık ve Sürmeli"
msgstr "Karanlık ve Kirli"
#: src/effects/Fire.js:184
msgid "Cold Breeze"
@@ -139,11 +139,11 @@ msgstr "Noel Baba Geliyor"
#: src/effects/Glide.js:78
msgid "Glide"
msgstr ""
msgstr "Süzülme"
#: src/effects/Glitch.js:86
msgid "Glitch"
msgstr ""
msgstr "Kusur"
#: src/effects/Hexagon.js:94
msgid "Hexagon"
@@ -171,11 +171,11 @@ msgstr "Piksel Süpürme"
#: src/effects/Portal.js:88
msgid "Portal"
msgstr ""
msgstr "Portal"
#: src/effects/SnapOfDisintegration.js:114
msgid "Snap of Disintegration"
msgstr "El Şıklatma Parçalanması"
msgstr "Parçalanma Anı"
#: src/effects/TRexAttack.js:112
msgid "T-Rex Attack"
@@ -183,11 +183,11 @@ msgstr "T-Rex Saldırısı"
#: src/effects/TVEffect.js:78
msgid "TV Effect"
msgstr "TV Efekti"
msgstr "TV Etkisi"
#: src/effects/TVGlitch.js:87
msgid "TV Glitch"
msgstr ""
msgstr "TV Bozukluğu"
#: src/effects/Wisps.js:82
msgid "Wisps"
@@ -195,11 +195,11 @@ msgstr "Sihir"
#: prefs.js:247
msgid "Preview this effect"
msgstr ""
msgstr "Bu etkiyi önizle"
#: prefs.js:364 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
msgid "Burn-My-Windows has been updated!"
msgstr ""
msgstr "Burn-My-Windows güncellendi!"
#: prefs.js:365 resources/ui/common/menus.ui:17 resources/ui/gtk4/prefs.ui:56
#: resources/ui/gtk3/prefs.ui:96
@@ -224,31 +224,32 @@ msgstr "Eski Sponsorlar"
#: prefs.js:585
msgid "Delete this Profile?"
msgstr ""
msgstr "Bu Profil Silinsin Mi?"
#: prefs.js:587
msgid ""
"The current effect profile with all its effect settings will be permanently "
"lost."
msgstr ""
"Tüm etki ayarlarıyla birlikte var olan etki profili kalıcı olarak kaybolacak."
#: prefs.js:592
msgid "Cancel"
msgstr ""
msgstr "İptal"
#: prefs.js:593
msgid "Delete"
msgstr ""
msgstr "Sil"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:923
#, javascript-format
msgid "Preview for %s"
msgstr "%s ön izleme"
msgstr "%s Ön İzleme"
#: prefs.js:945
msgid "Close this Window to Preview the Effect!"
msgstr "Efekti Ön izlemek İçin Bu Pencereyi Kapatın!"
msgstr "Etkiyi Ön İzlemek İçin Bu Pencereyi Kapatın!"
#: resources/ui/common/menus.ui:13
msgid "Visit Homepage"
@@ -256,7 +257,7 @@ msgstr "Ana Sayfaya Git"
#: resources/ui/common/menus.ui:21
msgid "View Matching Wallpapers"
msgstr ""
msgstr "Eşleşen Duvar Kağıtlarını Görüntüle"
#: resources/ui/common/menus.ui:27
msgid "Report a Bug"
@@ -264,7 +265,7 @@ msgstr "Hata Bildir"
#: resources/ui/common/menus.ui:31
msgid "Create an Effect"
msgstr "Efekt Oluştur"
msgstr "Etki Oluştur"
#: resources/ui/common/menus.ui:35
msgid "Translate"
@@ -280,7 +281,7 @@ msgstr "Burn-My-Windows Hakkında"
#: resources/ui/common/menus.ui:63
msgid "Add New Profile..."
msgstr ""
msgstr "Yeni Profil Ekle..."
#: resources/ui/gtk4/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23
#: resources/ui/gtk4/glitch.ui:23 resources/ui/gtk4/matrix.ui:23
@@ -426,7 +427,7 @@ msgstr "Animasyon Süresi [ms]"
#: resources/ui/adw/pixelate.ui:69 resources/ui/adw/pixelate.ui:102
#: resources/ui/adw/tv.ui:36 resources/ui/adw/tv.ui:61
msgid "Reset to Default Value"
msgstr "Varsayılan Değere Sıfırla"
msgstr "Öntanımlı Değere Sıfırla"
#: resources/ui/gtk4/broken-glass.ui:68 resources/ui/gtk4/tv-glitch.ui:69
#: resources/ui/gtk4/glitch.ui:69 resources/ui/gtk4/matrix.ui:69
@@ -472,7 +473,7 @@ msgstr ""
#: resources/ui/gtk3/tv-glitch.ui:142 resources/ui/gtk3/glitch.ui:142
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
msgid "Strength"
msgstr ""
msgstr "Güç"
#: resources/ui/gtk4/tv-glitch.ui:161 resources/ui/gtk4/glitch.ui:161
#: resources/ui/gtk4/fire.ui:138 resources/ui/gtk3/tv-glitch.ui:187
@@ -519,12 +520,12 @@ msgstr "Yazı Rengi"
#: resources/ui/gtk4/doom.ui:68 resources/ui/gtk3/doom.ui:97
#: resources/ui/adw/doom.ui:47
msgid "Horizontal Scale"
msgstr "Yatay Boyut"
msgstr "Yatay Ölçek"
#: resources/ui/gtk4/doom.ui:114 resources/ui/gtk3/doom.ui:142
#: resources/ui/adw/doom.ui:80
msgid "Vertical Scale"
msgstr "Dikey Boyut"
msgstr "Dikey Ölçek"
#: resources/ui/gtk4/doom.ui:160 resources/ui/gtk4/pixel-wheel.ui:115
#: resources/ui/gtk4/pixel-wipe.ui:69 resources/ui/gtk4/pixelate.ui:115
@@ -545,7 +546,7 @@ msgstr "Pençe Çizik Sayısı"
#: resources/ui/gtk4/trex.ui:161 resources/ui/adw/trex.ui:113
msgid "Warp Effect"
msgstr "Çözgü Etkisi"
msgstr "Bükme Etkisi"
#: resources/ui/gtk4/trex.ui:207 resources/ui/adw/trex.ui:146
msgid "Flash Color"
@@ -559,17 +560,17 @@ msgstr "Parmak Sayısı"
#: resources/ui/gtk4/glide.ui:115 resources/ui/gtk3/glide.ui:149
#: resources/ui/adw/glide.ui:80
msgid "Squish"
msgstr ""
msgstr "Ezmek"
#: resources/ui/gtk4/glide.ui:161 resources/ui/gtk3/glide.ui:194
#: resources/ui/adw/glide.ui:113
msgid "Tilt"
msgstr ""
msgstr "Eğim"
#: resources/ui/gtk4/glide.ui:207 resources/ui/gtk3/glide.ui:239
#: resources/ui/adw/glide.ui:146
msgid "Shift"
msgstr ""
msgstr "Kayma"
#: resources/ui/gtk4/apparition.ui:114 resources/ui/gtk3/apparition.ui:149
#: resources/ui/adw/apparition.ui:81
@@ -589,17 +590,17 @@ msgstr "Emme Gücü"
#: resources/ui/gtk4/portal.ui:69 resources/ui/gtk3/portal.ui:142
#: resources/ui/adw/portal.ui:80
msgid "Whirling"
msgstr ""
msgstr "Dönme"
#: resources/ui/gtk4/portal.ui:115 resources/ui/gtk3/portal.ui:97
#: resources/ui/adw/portal.ui:47
msgid "Rotation Speed"
msgstr ""
msgstr "Dönüş Hızı"
#: resources/ui/gtk4/portal.ui:161 resources/ui/gtk3/portal.ui:187
#: resources/ui/adw/portal.ui:113
msgid "Details"
msgstr ""
msgstr "Ayrıntılar"
#: resources/ui/gtk4/incinerate.ui:115 resources/ui/gtk3/incinerate.ui:135
#: resources/ui/adw/incinerate.ui:80
@@ -634,7 +635,7 @@ msgstr "Işıltı Rengi"
#: resources/ui/gtk4/hexagon.ui:239 resources/ui/gtk3/hexagon.ui:267
#: resources/ui/adw/hexagon.ui:163
msgid "Additive Blending"
msgstr ""
msgstr "Eklemeli Karıştırma"
#: resources/ui/gtk4/hexagon.ui:248 resources/ui/gtk3/hexagon.ui:276
#: resources/ui/adw/hexagon.ui:164
@@ -664,7 +665,7 @@ msgstr "Gradyan"
#: resources/ui/gtk4/prefs.ui:82 resources/ui/gtk3/prefs.ui:124
#: resources/ui/adw/prefs.ui:224
msgid "Effect Settings"
msgstr ""
msgstr "Etki Ayarları"
#: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134
#: resources/ui/adw/prefs.ui:225
@@ -674,17 +675,17 @@ msgstr "Birden fazla seçilirse, rastgele biri uygulanır."
#: resources/ui/gtk4/prefs.ui:132 resources/ui/gtk3/prefs.ui:172
#: resources/ui/adw/prefs.ui:65
msgid "Effect Profile Constraints"
msgstr ""
msgstr "Etki Profili Kısıtlamaları"
#: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182
#: resources/ui/adw/prefs.ui:66
msgid "Define when the current effect settings should be used."
msgstr ""
msgstr "Geçerli etki ayarlarının ne zaman kullanılması gerektiğini tanımlayın."
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/prefs.ui:206
#: resources/ui/adw/prefs.ui:70
msgid "Application"
msgstr ""
msgstr "Uygulama"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219
#: resources/ui/gtk4/prefs.ui:248 resources/ui/gtk4/prefs.ui:277
@@ -696,47 +697,47 @@ msgstr ""
#: resources/ui/adw/prefs.ui:117 resources/ui/adw/prefs.ui:132
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
msgid "Any"
msgstr ""
msgstr "Herhangi"
#: resources/ui/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253
#: resources/ui/adw/prefs.ui:98
msgid "Animation Type"
msgstr ""
msgstr "Animasyon Türü"
#: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282
#: resources/ui/adw/prefs.ui:113
msgid "Window Type"
msgstr ""
msgstr "Pencere Türü"
#: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311
#: resources/ui/adw/prefs.ui:128
msgid "Color Scheme"
msgstr ""
msgstr "Renk Şeması"
#: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340
#: resources/ui/adw/prefs.ui:143
msgid "Power Mode"
msgstr ""
msgstr "Güç Kipi"
#: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369
#: resources/ui/adw/prefs.ui:158
msgid "Power Profile"
msgstr ""
msgstr "Güç Profili"
#: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401
#: resources/ui/adw/prefs.ui:179
msgid "Advanced Profile Options"
msgstr ""
msgstr "Gelişmiş Profil Seçenekleri"
#: resources/ui/gtk4/prefs.ui:396 resources/ui/gtk3/prefs.ui:441
#: resources/ui/adw/prefs.ui:184
msgid "Use this profile even if there are better matching profiles."
msgstr ""
msgstr "Daha iyi eşleşen profiller olsa bile bu profili kullan."
#: resources/ui/gtk4/prefs.ui:428 resources/ui/gtk3/prefs.ui:473
#: resources/ui/adw/prefs.ui:204
msgid "Delete this Profile..."
msgstr ""
msgstr "Bu Profili Sil..."
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
#: resources/ui/adw/pixelate.ui:47
+43 -41
View File
@@ -8,91 +8,91 @@ msgstr ""
"Project-Id-Version: burn-my-windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-21 16:46+0100\n"
"PO-Revision-Date: 2023-01-25 20:52+0000\n"
"Last-Translator: Petro S. <911us@duck.com>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/burn-my-"
"windows/core/uk/>\n"
"PO-Revision-Date: 2023-03-28 09:40+0000\n"
"Last-Translator: CakesTwix <cakestwix1@gmail.com>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/"
"burn-my-windows/core/uk/>\n"
"Language: uk\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.16-dev\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.17-dev\n"
#: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103
msgid "Opening Windows"
msgstr ""
msgstr "Відкриття вікон"
#: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221
#: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104
msgid "Closing Windows"
msgstr ""
msgstr "Закриття вікон"
#: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249
#: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118
msgid "Normal Windows"
msgstr ""
msgstr "Звичайні вікна"
#: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250
#: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119
msgid "Dialog Windows"
msgstr ""
msgstr "Діалогові вікна"
#: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278
#: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133
msgid "Default Color Scheme"
msgstr ""
msgstr "Кольорова схема за замовчуванням"
#: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279
#: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme"
msgstr ""
msgstr "Темна кольорова схема"
#: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307
#: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148
msgid "On Battery"
msgstr ""
msgstr "На батареї"
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308
#: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149
msgid "Plugged In"
msgstr ""
msgstr "Підключено до електромережі"
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336
#: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163
msgid "Power-Saver Mode"
msgstr ""
msgstr "Режим енергозбереження"
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337
#: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164
msgid "Balanced Mode"
msgstr ""
msgstr "Збалансований режим"
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338
#: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165
msgid "Performance Mode"
msgstr ""
msgstr "Продуктивний режим"
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339
#: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166
msgid "Power Saver or Balanced"
msgstr ""
msgstr "Енергозберігаючий або збалансований"
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340
#: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167
msgid "Balanced or Performance"
msgstr ""
msgstr "Збалансований або продуктивний"
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387
#: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183
msgid "High Priority"
msgstr ""
msgstr "Високий пріоритет"
#: src/ProfileManager.js:191
msgid "Standard Profile"
msgstr ""
msgstr "Стандартний профіль"
#: src/effects/Apparition.js:78
msgid "Apparition"
@@ -200,7 +200,7 @@ msgstr "Попередній перегляд цього ефекту"
#: prefs.js:364 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
msgid "Burn-My-Windows has been updated!"
msgstr ""
msgstr "Burn-My-Windows оновлено!"
#: prefs.js:365 resources/ui/common/menus.ui:17 resources/ui/gtk4/prefs.ui:56
#: resources/ui/gtk3/prefs.ui:96
@@ -225,21 +225,23 @@ msgstr "Колишні спонсори"
#: prefs.js:585
msgid "Delete this Profile?"
msgstr ""
msgstr "Видалити цей профіль?"
#: prefs.js:587
msgid ""
"The current effect profile with all its effect settings will be permanently "
"lost."
msgstr ""
"Поточний профіль ефекту з усіма його налаштуваннями буде безповоротно "
"втрачено."
#: prefs.js:592
msgid "Cancel"
msgstr ""
msgstr "Скасувати"
#: prefs.js:593
msgid "Delete"
msgstr ""
msgstr "Видалити"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:923
@@ -257,7 +259,7 @@ msgstr "Завітайте на сайт"
#: resources/ui/common/menus.ui:21
msgid "View Matching Wallpapers"
msgstr ""
msgstr "Переглянути відповідні обої"
#: resources/ui/common/menus.ui:27
msgid "Report a Bug"
@@ -281,7 +283,7 @@ msgstr "Про Burn-My-Windows"
#: resources/ui/common/menus.ui:63
msgid "Add New Profile..."
msgstr ""
msgstr "Додати новий профіль..."
#: resources/ui/gtk4/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23
#: resources/ui/gtk4/glitch.ui:23 resources/ui/gtk4/matrix.ui:23
@@ -665,7 +667,7 @@ msgstr "Градієнт"
#: resources/ui/gtk4/prefs.ui:82 resources/ui/gtk3/prefs.ui:124
#: resources/ui/adw/prefs.ui:224
msgid "Effect Settings"
msgstr ""
msgstr "Налаштування ефектів"
#: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134
#: resources/ui/adw/prefs.ui:225
@@ -675,17 +677,17 @@ msgstr "Якщо вибрано декілька, то один оберетьс
#: resources/ui/gtk4/prefs.ui:132 resources/ui/gtk3/prefs.ui:172
#: resources/ui/adw/prefs.ui:65
msgid "Effect Profile Constraints"
msgstr ""
msgstr "Обмеження профілю ефектів"
#: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182
#: resources/ui/adw/prefs.ui:66
msgid "Define when the current effect settings should be used."
msgstr ""
msgstr "Визначте, коли слід використовувати поточні налаштування ефекту."
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/prefs.ui:206
#: resources/ui/adw/prefs.ui:70
msgid "Application"
msgstr ""
msgstr "Додаток"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219
#: resources/ui/gtk4/prefs.ui:248 resources/ui/gtk4/prefs.ui:277
@@ -697,47 +699,47 @@ msgstr ""
#: resources/ui/adw/prefs.ui:117 resources/ui/adw/prefs.ui:132
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
msgid "Any"
msgstr ""
msgstr "Будь-який"
#: resources/ui/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253
#: resources/ui/adw/prefs.ui:98
msgid "Animation Type"
msgstr ""
msgstr "Тип анімації"
#: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282
#: resources/ui/adw/prefs.ui:113
msgid "Window Type"
msgstr ""
msgstr "Тип вікна"
#: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311
#: resources/ui/adw/prefs.ui:128
msgid "Color Scheme"
msgstr ""
msgstr "Кольорова схема"
#: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340
#: resources/ui/adw/prefs.ui:143
msgid "Power Mode"
msgstr ""
msgstr "Режим живлення"
#: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369
#: resources/ui/adw/prefs.ui:158
msgid "Power Profile"
msgstr ""
msgstr "Профіль живлення"
#: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401
#: resources/ui/adw/prefs.ui:179
msgid "Advanced Profile Options"
msgstr ""
msgstr "Розширені параметри профілю"
#: resources/ui/gtk4/prefs.ui:396 resources/ui/gtk3/prefs.ui:441
#: resources/ui/adw/prefs.ui:184
msgid "Use this profile even if there are better matching profiles."
msgstr ""
msgstr "Використати цей профіль, навіть якщо є кращі підходящі профілі."
#: resources/ui/gtk4/prefs.ui:428 resources/ui/gtk3/prefs.ui:473
#: resources/ui/adw/prefs.ui:204
msgid "Delete this Profile..."
msgstr ""
msgstr "Видалити цей профіль..."
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
#: resources/ui/adw/pixelate.ui:47
+59 -59
View File
@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Burn-My-Windows\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-21 16:46+0100\n"
"PO-Revision-Date: 2022-09-15 08:21+0000\n"
"Last-Translator: Celeste Liu <coelacanthushex@gmail.com>\n"
"PO-Revision-Date: 2023-05-16 12:48+0000\n"
"Last-Translator: aerowolf <aerowolf@tom.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"burn-my-windows/core/zh_Hans/>\n"
"Language: zh_Hans\n"
@@ -17,81 +17,81 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.14.1-dev\n"
"X-Generator: Weblate 4.18-dev\n"
#: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103
msgid "Opening Windows"
msgstr ""
msgstr "打开窗口"
#: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221
#: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104
msgid "Closing Windows"
msgstr ""
msgstr "关闭窗口"
#: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249
#: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118
msgid "Normal Windows"
msgstr ""
msgstr "常规窗口"
#: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250
#: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119
msgid "Dialog Windows"
msgstr ""
msgstr "对话窗口"
#: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278
#: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133
msgid "Default Color Scheme"
msgstr ""
msgstr "默认色彩方案"
#: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279
#: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme"
msgstr ""
msgstr "暗色色彩方案"
#: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307
#: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148
msgid "On Battery"
msgstr ""
msgstr "使用电池时"
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308
#: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149
msgid "Plugged In"
msgstr ""
msgstr "插入电源时"
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336
#: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163
msgid "Power-Saver Mode"
msgstr ""
msgstr "节电模式"
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337
#: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164
msgid "Balanced Mode"
msgstr ""
msgstr "平衡模式"
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338
#: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165
msgid "Performance Mode"
msgstr ""
msgstr "性能模式"
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339
#: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166
msgid "Power Saver or Balanced"
msgstr ""
msgstr "节电或平衡"
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340
#: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167
msgid "Balanced or Performance"
msgstr ""
msgstr "平衡或性能"
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387
#: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183
msgid "High Priority"
msgstr ""
msgstr "高优先级"
#: src/ProfileManager.js:191
msgid "Standard Profile"
msgstr ""
msgstr "标准参数"
#: src/effects/Apparition.js:78
msgid "Apparition"
@@ -139,11 +139,11 @@ msgstr "圣诞来临"
#: src/effects/Glide.js:78
msgid "Glide"
msgstr ""
msgstr "滑翔"
#: src/effects/Glitch.js:86
msgid "Glitch"
msgstr ""
msgstr "电子脉冲"
#: src/effects/Hexagon.js:94
msgid "Hexagon"
@@ -163,15 +163,15 @@ msgstr "像素化"
#: src/effects/PixelWheel.js:74
msgid "Pixel Wheel"
msgstr ""
msgstr "像素轮"
#: src/effects/PixelWipe.js:101
msgid "Pixel Wipe"
msgstr ""
msgstr "像素擦除"
#: src/effects/Portal.js:88
msgid "Portal"
msgstr ""
msgstr "传送门"
#: src/effects/SnapOfDisintegration.js:114
msgid "Snap of Disintegration"
@@ -187,7 +187,7 @@ msgstr "电视效果"
#: src/effects/TVGlitch.js:87
msgid "TV Glitch"
msgstr ""
msgstr "电视故障"
#: src/effects/Wisps.js:82
msgid "Wisps"
@@ -195,11 +195,11 @@ msgstr "精灵飞散"
#: prefs.js:247
msgid "Preview this effect"
msgstr ""
msgstr "预览此效果"
#: prefs.js:364 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
msgid "Burn-My-Windows has been updated!"
msgstr ""
msgstr "Burn-My-Windows已更新!"
#: prefs.js:365 resources/ui/common/menus.ui:17 resources/ui/gtk4/prefs.ui:56
#: resources/ui/gtk3/prefs.ui:96
@@ -224,21 +224,21 @@ msgstr "往届赞助商"
#: prefs.js:585
msgid "Delete this Profile?"
msgstr ""
msgstr "删除此配置吗?"
#: prefs.js:587
msgid ""
"The current effect profile with all its effect settings will be permanently "
"lost."
msgstr ""
msgstr "当前效果配置文件设置的所有效果都将永久丢失。"
#: prefs.js:592
msgid "Cancel"
msgstr ""
msgstr "取消"
#: prefs.js:593
msgid "Delete"
msgstr ""
msgstr "删除"
#. Translators: %s will be replaced by the effect's name.
#: prefs.js:923
@@ -256,7 +256,7 @@ msgstr "访问主页"
#: resources/ui/common/menus.ui:21
msgid "View Matching Wallpapers"
msgstr ""
msgstr "查看匹配的壁纸"
#: resources/ui/common/menus.ui:27
msgid "Report a Bug"
@@ -280,7 +280,7 @@ msgstr "关于 Burn-My-Windows"
#: resources/ui/common/menus.ui:63
msgid "Add New Profile..."
msgstr ""
msgstr "新建配置…"
#: resources/ui/gtk4/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23
#: resources/ui/gtk4/glitch.ui:23 resources/ui/gtk4/matrix.ui:23
@@ -470,7 +470,7 @@ msgstr "窗口破碎效果将会从光标位置开始。"
#: resources/ui/gtk3/tv-glitch.ui:142 resources/ui/gtk3/glitch.ui:142
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
msgid "Strength"
msgstr ""
msgstr "强度"
#: resources/ui/gtk4/tv-glitch.ui:161 resources/ui/gtk4/glitch.ui:161
#: resources/ui/gtk4/fire.ui:138 resources/ui/gtk3/tv-glitch.ui:187
@@ -517,12 +517,12 @@ msgstr "提示颜色"
#: resources/ui/gtk4/doom.ui:68 resources/ui/gtk3/doom.ui:97
#: resources/ui/adw/doom.ui:47
msgid "Horizontal Scale"
msgstr ""
msgstr "水平比例"
#: resources/ui/gtk4/doom.ui:114 resources/ui/gtk3/doom.ui:142
#: resources/ui/adw/doom.ui:80
msgid "Vertical Scale"
msgstr ""
msgstr "垂直比例"
#: resources/ui/gtk4/doom.ui:160 resources/ui/gtk4/pixel-wheel.ui:115
#: resources/ui/gtk4/pixel-wipe.ui:69 resources/ui/gtk4/pixelate.ui:115
@@ -531,7 +531,7 @@ msgstr ""
#: resources/ui/adw/doom.ui:113 resources/ui/adw/pixel-wheel.ui:80
#: resources/ui/adw/pixel-wipe.ui:47 resources/ui/adw/pixelate.ui:80
msgid "Pixel Size"
msgstr ""
msgstr "像素大小"
#: resources/ui/gtk4/trex.ui:69 resources/ui/adw/trex.ui:47
msgid "Claw Scratch Scale"
@@ -552,22 +552,22 @@ msgstr "边缘颜色"
#: resources/ui/gtk4/pixel-wheel.ui:69 resources/ui/gtk3/pixel-wheel.ui:90
#: resources/ui/adw/pixel-wheel.ui:47
msgid "Spoke Count"
msgstr ""
msgstr "辐条数量"
#: resources/ui/gtk4/glide.ui:115 resources/ui/gtk3/glide.ui:149
#: resources/ui/adw/glide.ui:80
msgid "Squish"
msgstr ""
msgstr "压碎程度"
#: resources/ui/gtk4/glide.ui:161 resources/ui/gtk3/glide.ui:194
#: resources/ui/adw/glide.ui:113
msgid "Tilt"
msgstr ""
msgstr "倾斜"
#: resources/ui/gtk4/glide.ui:207 resources/ui/gtk3/glide.ui:239
#: resources/ui/adw/glide.ui:146
msgid "Shift"
msgstr ""
msgstr "变幻"
#: resources/ui/gtk4/apparition.ui:114 resources/ui/gtk3/apparition.ui:149
#: resources/ui/adw/apparition.ui:81
@@ -587,17 +587,17 @@ msgstr "吃力力度"
#: resources/ui/gtk4/portal.ui:69 resources/ui/gtk3/portal.ui:142
#: resources/ui/adw/portal.ui:80
msgid "Whirling"
msgstr ""
msgstr "回旋"
#: resources/ui/gtk4/portal.ui:115 resources/ui/gtk3/portal.ui:97
#: resources/ui/adw/portal.ui:47
msgid "Rotation Speed"
msgstr ""
msgstr "旋转速度"
#: resources/ui/gtk4/portal.ui:161 resources/ui/gtk3/portal.ui:187
#: resources/ui/adw/portal.ui:113
msgid "Details"
msgstr ""
msgstr "细节"
#: resources/ui/gtk4/incinerate.ui:115 resources/ui/gtk3/incinerate.ui:135
#: resources/ui/adw/incinerate.ui:80
@@ -607,12 +607,12 @@ msgstr "扰动"
#: resources/ui/gtk4/incinerate.ui:165 resources/ui/gtk3/incinerate.ui:183
#: resources/ui/adw/incinerate.ui:113
msgid "Start at Pointer"
msgstr ""
msgstr "从光标位置开始"
#: resources/ui/gtk4/incinerate.ui:174 resources/ui/gtk3/incinerate.ui:192
#: resources/ui/adw/incinerate.ui:114
msgid "If disabled, a random location will be chosen."
msgstr ""
msgstr "如果禁用,将从随机位置开始。"
#: resources/ui/gtk4/hexagon.ui:115 resources/ui/gtk3/hexagon.ui:135
#: resources/ui/adw/hexagon.ui:80
@@ -662,7 +662,7 @@ msgstr "渐变色"
#: resources/ui/gtk4/prefs.ui:82 resources/ui/gtk3/prefs.ui:124
#: resources/ui/adw/prefs.ui:224
msgid "Effect Settings"
msgstr ""
msgstr "效果设置"
#: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134
#: resources/ui/adw/prefs.ui:225
@@ -672,17 +672,17 @@ msgstr "如果多选,则每次随机。"
#: resources/ui/gtk4/prefs.ui:132 resources/ui/gtk3/prefs.ui:172
#: resources/ui/adw/prefs.ui:65
msgid "Effect Profile Constraints"
msgstr ""
msgstr "效果配置限制"
#: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182
#: resources/ui/adw/prefs.ui:66
msgid "Define when the current effect settings should be used."
msgstr ""
msgstr "定义何时使用当前效果设置。"
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/prefs.ui:206
#: resources/ui/adw/prefs.ui:70
msgid "Application"
msgstr ""
msgstr "程序"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219
#: resources/ui/gtk4/prefs.ui:248 resources/ui/gtk4/prefs.ui:277
@@ -694,52 +694,52 @@ msgstr ""
#: resources/ui/adw/prefs.ui:117 resources/ui/adw/prefs.ui:132
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
msgid "Any"
msgstr ""
msgstr "任意"
#: resources/ui/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253
#: resources/ui/adw/prefs.ui:98
msgid "Animation Type"
msgstr ""
msgstr "动画类型"
#: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282
#: resources/ui/adw/prefs.ui:113
msgid "Window Type"
msgstr ""
msgstr "窗口类型"
#: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311
#: resources/ui/adw/prefs.ui:128
msgid "Color Scheme"
msgstr ""
msgstr "色彩方案"
#: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340
#: resources/ui/adw/prefs.ui:143
msgid "Power Mode"
msgstr ""
msgstr "电池模式"
#: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369
#: resources/ui/adw/prefs.ui:158
msgid "Power Profile"
msgstr ""
msgstr "电源配置"
#: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401
#: resources/ui/adw/prefs.ui:179
msgid "Advanced Profile Options"
msgstr ""
msgstr "高级配置选项"
#: resources/ui/gtk4/prefs.ui:396 resources/ui/gtk3/prefs.ui:441
#: resources/ui/adw/prefs.ui:184
msgid "Use this profile even if there are better matching profiles."
msgstr ""
msgstr "即使有更好匹配的配置文件,也使用此配置。"
#: resources/ui/gtk4/prefs.ui:428 resources/ui/gtk3/prefs.ui:473
#: resources/ui/adw/prefs.ui:204
msgid "Delete this Profile..."
msgstr ""
msgstr "删除此配置…"
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
#: resources/ui/adw/pixelate.ui:47
msgid "Noise"
msgstr ""
msgstr "噪点"
#: resources/ui/gtk3/fire.ui:58 resources/ui/adw/fire.ui:19
msgid "Choose a Preset"
+151 -38
View File
@@ -228,7 +228,15 @@ var PreferencesDialog = class PreferencesDialog {
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
const uiFile = `/ui/${utils.getUIDir()}/${effect.getNick()}.ui`;
const [hasPrefs] = Gio.resources_get_info(uiFile, 0);
// Is there a better way to test for the existence of a resource file?
let hasPrefs = false;
try {
Gio.resources_get_info(uiFile, 0);
hasPrefs = true;
} catch (e) {
// Nothing todo, there
}
// Add the settings page to the builder.
if (hasPrefs) {
@@ -288,9 +296,11 @@ var PreferencesDialog = class PreferencesDialog {
}
});
this._effectRows.push(row);
row.add_action(previewButton);
} else {
row.add_suffix(previewButton);
}
row.add_action(previewButton);
row.add_prefix(button);
group.add(row);
@@ -384,6 +394,55 @@ var PreferencesDialog = class PreferencesDialog {
});
}
// Count the number of times the user has opened the preferences window. Every now
// and then, we show a dialog asking the user to support the extension. We connect
// to the notify::visible signal to ensure that the dialog can be a modal dialog.
window.connect('notify::visible', (window) => {
// Do not show the dialog when the window is hidden.
if (!window.get_visible()) {
return;
}
// Do not show the dialog when the user has disabled it.
if (!this._settings.get_boolean('show-support-dialog')) {
return;
}
const count = this._settings.get_int('prefs-open-count') + 1;
this._settings.set_int('prefs-open-count', count);
// Show the dialog every 10th time.
if (count % 10 == 0) {
const dialog = this._createMessageDialog(
'❤️ Do you love Burn-My-Windows?',
`Even the smallest donation can have a big impact! If just one of ten Burn-My-Windows users donated $1 per month, I could dedicate myself to creating awesome open-source projects full-time!
Ko-fi: <a href='https://ko-fi.com/schneegans'>https://ko-fi.com/schneegans</a>
GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/sponsors/schneegans</a>`,
window, [
{
label: 'Do not show this again!',
destructive: true,
default: false,
action: () => {
this._settings.set_boolean('show-support-dialog', false);
}
},
{
label: 'Remind me later.',
destructive: false,
default: true,
}
]);
if (utils.isGTK4()) {
dialog.show();
} else {
dialog.show_all();
}
}
});
// Populate the menu with actions.
const group = Gio.SimpleActionGroup.new();
window.insert_action_group('prefs', group);
@@ -440,8 +499,9 @@ var PreferencesDialog = class PreferencesDialog {
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-kofi', 'https://ko-fi.com/schneegans');
addURIAction('donate-github', 'https://github.com/sponsors/Schneegans');
addURIAction('donate-paypal', 'https://www.paypal.com/donate/?hosted_button_id=3F7UFL8KLVPXE');
addURIAction('wallpapers', 'https://github.com/Schneegans/ai-wallpapers');
// clang-format on
@@ -581,38 +641,20 @@ var PreferencesDialog = class PreferencesDialog {
// This action shows a confirmation dialog. Upon user approval, the currently
// active profile is deleted. We use the more beautiful Adw.MessageDialog if it is
// available (usually on GNOME 43 and beyond).
let deleteProfileDialog;
const dialogTitle = _('Delete this Profile?');
const dialogSubtitle = _(
'The current effect profile with all its effect settings will be permanently lost.');
if (utils.isADW() && Adw.MessageDialog) {
deleteProfileDialog =
new Adw.MessageDialog({heading: dialogTitle, body: dialogSubtitle});
deleteProfileDialog.add_response('cancel', _('Cancel'));
deleteProfileDialog.add_response('delete', _('Delete'));
deleteProfileDialog.set_response_appearance('delete',
Adw.ResponseAppearance.DESTRUCTIVE);
deleteProfileDialog.set_default_response('cancel');
deleteProfileDialog.set_close_response('cancel');
} else {
deleteProfileDialog = new Gtk.MessageDialog({
text: dialogTitle,
secondary_text: dialogSubtitle,
modal: true,
title: '',
buttons: Gtk.ButtonsType.OK_CANCEL
});
}
if (utils.isGTK4()) {
deleteProfileDialog.set_hide_on_close(true);
}
deleteProfileDialog.set_transient_for(window);
deleteProfileDialog.connect('response', (dialog, response) => {
if (response == 'delete' || response == Gtk.ResponseType.OK) {
const deleteProfileDialog = this._createMessageDialog(
_('Delete this Profile?'),
_('The current effect profile with all its effect settings will be permanently lost.'),
window, [
{
label: _('Cancel'),
destructive: false,
default: true,
},
{
label: _('Delete'),
destructive: true,
default: false,
action: () => {
// Stop editing the current profile.
this._builder.get_object('edit-profile-button').active = false;
@@ -627,10 +669,10 @@ var PreferencesDialog = class PreferencesDialog {
// selection menu.
this._updateProfileMenu();
}
}
]);
dialog.hide();
});
// This action deletes the currently active profile.
const deleteProfileAction = Gio.SimpleAction.new('profile-delete', null);
deleteProfileAction.connect('activate', () => {
deleteProfileDialog.show();
@@ -963,6 +1005,77 @@ var PreferencesDialog = class PreferencesDialog {
window.show_all();
}
}
// Helper function to show a message dialog. The dialog is modal and has a title, a
// message and a list of buttons. Each button is an object with a label, a default flag
// and a destructive flag. Each button object can also have an "action" callback that is
// called when the button is clicked.
// This method works on GTK3, GTK4, and libadwaita.
_createMessageDialog(title, message, window, buttons) {
let dialog;
if (utils.isADW() && Adw.MessageDialog) {
dialog = new Adw.MessageDialog({
heading: title,
body: message,
body_use_markup: true,
modal: true,
});
buttons.forEach((button, i) => {
const response = i.toString();
dialog.add_response(response, button.label);
if (button.default) {
dialog.set_default_response(response);
dialog.set_close_response(response);
}
if (button.destructive) {
dialog.set_response_appearance(response, Adw.ResponseAppearance.DESTRUCTIVE);
}
});
} else {
dialog = new Gtk.MessageDialog({
text: title,
secondary_text: message,
secondary_use_markup: true,
modal: true,
title: '',
});
buttons.forEach((button, i) => {
dialog.add_button(button.label, i);
if (button.default) {
dialog.set_default_response(i);
}
});
}
if (utils.isGTK4()) {
dialog.set_hide_on_close(true);
}
dialog.set_transient_for(window);
// If the dialog is closed or a button is clicked, we hide the dialog and call the
// button's action callback if it exists.
dialog.connect('response', (dialog, response) => {
const i = parseInt(response);
const button = buttons[i];
if (button && button.action) {
button.action();
}
dialog.hide();
});
return dialog;
}
}
// This is used for setting up the translations.
+10 -6
View File
@@ -1,12 +1,12 @@
{
"gold": [
{
"name": "Maxence Sebald",
"url": ""
"name": "D3vil0p3r",
"url": "https://github.com/D3vil0p3r"
},
{
"name": "Dennis ten Hoove",
"url": "https://github.com/dennis1248"
"name": "Maxence Sebald",
"url": ""
}
],
"silver": [
@@ -20,6 +20,10 @@
}
],
"bronze": [
{
"name": "@SubOptimal",
"url": "https://github.com/SubOptimal"
},
{
"name": "@vlazic",
"url": "https://github.com/vlazic"
@@ -27,8 +31,8 @@
],
"past": [
{
"name": "D3vil0p3r",
"url": "https://github.com/D3vil0p3r"
"name": "Dennis ten Hoove",
"url": "https://github.com/dennis1248"
},
{
"name": "@MRR-dev",
+32 -12
View File
@@ -4,12 +4,17 @@
[
"tcreeper.earth@gmail.com",
"TCr3",
23
24
],
[
"muhaaliss@pm.me",
"Muha Aliss",
52
],
[
"libreajans@gmail.com",
"Sabri \u00dcnal",
70
]
]
},
@@ -27,7 +32,7 @@
[
"mr-isaac@ig.com.br",
"Isaac Dias",
77
93
]
]
},
@@ -88,12 +93,17 @@
[
"softexpert@gmail.com",
"SoftExpert",
126
127
]
]
},
{
"Ukrainian": [
[
"cakestwix1@gmail.com",
"CakesTwix",
36
],
[
"911us@duck.com",
"Petro S.",
@@ -174,14 +184,14 @@
{
"Polish": [
[
"sto@tutanota.de",
"WaldiS",
4
"gnu.ewm@protonmail.com",
"Eryk Michalak",
10
],
[
"gnu.ewm@protonmail.com",
"gnu-ewm",
10
"sto@tutanota.de",
"WaldiS",
39
],
[
"pwrzonca@gmail.com",
@@ -239,6 +249,11 @@
},
{
"Indonesian": [
[
"rezaalmanda27@gmail.com",
"Reza Almanda",
52
],
[
"randompsyduck@duck.com",
"Sir-Ivysaur",
@@ -248,6 +263,11 @@
},
{
"Dutch": [
[
"philip.goto@gmail.com",
"Philip Goto",
1
],
[
"code@simonschneegans.de",
"Simon Schneegans",
@@ -370,7 +390,7 @@
[
"darkcircle.0426@gmail.com",
"Seong-ho Cho",
92
129
]
]
},
@@ -379,7 +399,7 @@
[
"jose1711@gmail.com",
"Jose Riha",
73
129
]
]
},
@@ -403,7 +423,7 @@
[
"aerowolf@tom.com",
"aerowolf",
42
98
]
]
},
+4 -4
View File
@@ -31,7 +31,7 @@ void main() {
float progress = uForOpening ? 1.0 - uProgress : uProgress;
// Draw the individual shard layers.
for (float i = 0; i < SHARD_LAYERS; ++i) {
for (float i = 0.0; i < SHARD_LAYERS; ++i) {
// To enable drawing shards outside of the window bounds, the actor was scaled
// by ACTOR_SCALE. Here we scale and move the texture coordinates so that the
@@ -51,8 +51,8 @@ void main() {
// Move down each layer a bit.
float gravity =
(uForOpening ? -1.0 : 1.0) * uGravity * 0.1 * (i + 1) * progress * progress;
coords += vec2(0, gravity);
(uForOpening ? -1.0 : 1.0) * uGravity * 0.1 * (i + 1.0) * progress * progress;
coords += vec2(0.0, gravity);
// Restore correct position.
coords += uEpicenter;
@@ -66,7 +66,7 @@ void main() {
// the bin of the current shard.
float shardGroup = floor(shardMap.g * SHARD_LAYERS * 0.999);
if (shardGroup == i && (shardMap.x - pow(progress + 0.1, 2)) > 0.0) {
if (shardGroup == i && (shardMap.x - pow(progress + 0.1, 2.0)) > 0.0) {
oColor = getInputColor(coords);
}
}
+1 -1
View File
@@ -99,7 +99,7 @@ uniform vec2 uSize;
uniform float uPadding;
// On GNOME, we set iTexCoord to be an alias for the cogl variables.
vec2 iTexCoord = cogl_tex_coord_in[0].st;
#define iTexCoord vec2(cogl_tex_coord_in[0])
// Shell.GLSLEffect uses straight alpha. So we have to convert from premultiplied.
vec4 getInputColor(vec2 coords) {
+3 -1
View File
@@ -107,12 +107,14 @@ void main() {
if ((!uForOpening && gradient > hideThreshold) ||
(uForOpening && gradient < hideThreshold)) {
// We add some distortion in the scorch zone
// We add some distortion in the scorch zone. This is only possible if using GLES.
vec2 distort = vec2(0.0);
#ifndef GL_ES
if (scorchRange.x < gradient && gradient < scorchRange.y) {
distort = vec2(dFdx(gradient), dFdy(gradient)) * scorchMask * 5.0;
}
#endif
oColor = getInputColor(iTexCoord + distort);
}
+2 -2
View File
@@ -54,7 +54,7 @@ vec2 getRain(vec2 fragCoord) {
float delay = fract(sin(column) * 78.233) * mix(0.0, 1.0, uRandomness);
float speed = fract(cos(column) * 12.989) * mix(0.0, 0.3, uRandomness) + 1.5;
float distToDrop = (uProgress * 2 - delay) * speed - iTexCoord.y;
float distToDrop = (uProgress * 2.0 - delay) * speed - iTexCoord.y;
float rainAlpha = distToDrop >= 0.0 ? exp(-distToDrop / TRAIL_LENGTH) : 0.0;
float windowAlpha = 1.0 - clamp(uSize.y * distToDrop, 0.0, FADE_WIDTH) / FADE_WIDTH;
@@ -91,7 +91,7 @@ void main() {
// This is used to fade out the remaining trails in the end.
float finalFade =
1 -
1.0 -
clamp((uProgress - FINAL_FADE_START_TIME) / (1.0 - FINAL_FADE_START_TIME), 0.0, 1.0);
float rainAlpha = finalFade * rainMask.x;
+13 -10
View File
@@ -29,16 +29,17 @@ const float WINDOW_TILT = -1.0;
// Make sure that the portal and window open / close animations are quick even if the
// duration is longer.
float PORTAL_OPEN_TIME = 0.4 / uDuration;
float PORTAL_CLOSE_TIME = 0.4 / uDuration;
float WINDOW_OPEN_TIME = 0.35 / uDuration;
float PORTAL_OPEN_TIME = 0.4;
float PORTAL_CLOSE_TIME = 0.4;
float WINDOW_OPEN_TIME = 0.35;
// This will distort the given coordinate to achieve the wobble effect of the portal when
// the window passes through. The wobble happens around the point where the window appears
// or disappears (which is controlled by WINDOW_OPEN_TIME) and takes
// PORTAL_WOBBLE_TIME.
vec2 getPortalWobble(vec2 coords) {
float progress = (uForOpening ? (1.0 - uProgress) : uProgress) / WINDOW_OPEN_TIME;
float progress =
(uForOpening ? (1.0 - uProgress) : uProgress) / WINDOW_OPEN_TIME * uDuration;
progress = clamp(1.0 - abs((progress - 1.0) / PORTAL_WOBBLE_TIME), 0.0, 1.0);
progress = easeInBack(progress, 1.7);
float dist = length(coords);
@@ -51,11 +52,12 @@ vec2 getPortalWobble(vec2 coords) {
// PORTAL_CLOSE_TIME) and then decrease again.
float getPortalScale() {
float scale = 1.0;
if (uProgress < PORTAL_OPEN_TIME) {
scale = easeOutBack(uProgress / PORTAL_OPEN_TIME, 1.5);
} else if (uProgress > 1.0 - PORTAL_CLOSE_TIME) {
scale =
easeOutBack(1.0 - (uProgress - 1.0 + PORTAL_CLOSE_TIME) / PORTAL_CLOSE_TIME, 1.5);
float closeTime = PORTAL_CLOSE_TIME / uDuration;
float openTime = PORTAL_OPEN_TIME / uDuration;
if (uProgress < openTime) {
scale = easeOutBack(uProgress / openTime, 1.5);
} else if (uProgress > 1.0 - closeTime) {
scale = easeOutBack(1.0 - (uProgress - 1.0 + closeTime) / closeTime, 1.5);
}
return scale;
@@ -165,7 +167,8 @@ vec4 getPortalColor() {
// window). The fraction of the animation time take for the window animation is defined by
// WINDOW_OPEN_TIME.
vec4 getWindowColor() {
float progress = (uForOpening ? (1.0 - uProgress) : uProgress) / WINDOW_OPEN_TIME;
float progress =
(uForOpening ? (1.0 - uProgress) : uProgress) / WINDOW_OPEN_TIME * uDuration;
// Add some elastic easing to make the effect more dynamic.
progress = easeInBack(clamp(progress, 0.0, 1.0), 1.2);
+2 -2
View File
@@ -37,7 +37,7 @@ void main() {
vec4 oColor = vec4(0.0);
for (float i = 0; i < DUST_LAYERS; ++i) {
for (float i = 0.0; i < DUST_LAYERS; ++i) {
// Create a random direction.
float factor = DUST_LAYERS == 1.0 ? 0.0 : i / (DUST_LAYERS - 1.0);
@@ -84,7 +84,7 @@ void main() {
windowColor.rgb = mix(windowColor.rgb, dustColor, progress);
// Dissolve and blend the layers.
if (dustMap.x - progress > 0) {
if (dustMap.x - progress > 0.0) {
oColor = windowColor;
}
}
+16 -7
View File
@@ -23,9 +23,12 @@ uniform float uNumClaws;
uniform float uWarpIntensity;
const float FLASH_INTENSITY = 0.1;
const float MAX_SPAWN_TIME =
0.6; // Scratches will only start in the first half of the animation.
const float FF_TIME = 0.6; // Relative time for the final fade to transparency.
// Scratches will only start in the first half of the animation.
const float MAX_SPAWN_TIME = 0.6;
// Relative time for the final fade to transparency.
const float FF_TIME = 0.6;
// This method generates a grid of randomly rotated, slightly shifted and scaled
// UV squares. It returns the texture coords of the UV square at the given actor
@@ -82,15 +85,21 @@ void main() {
// relative time when the respective part will become invisible. Therefore we can
// add a value to make the scratch appear later.
float scratchMap = 1.0;
for (int i = 0; i < uNumClaws; ++i) {
vec2 uv = getClawUV(coords, 1.0 / uClawSize, uSeed * (i + 1));
for (float i = 0.0; i < uNumClaws; ++i) {
vec2 uv = getClawUV(coords, 1.0 / uClawSize, uSeed * (i + 1.0));
float delay = i / uNumClaws * MAX_SPAWN_TIME;
scratchMap = min(scratchMap, clamp(texture2D(uClawTexture, uv).r + delay, 0.0, 1.0));
}
// Get the window texture. We shift the texture lookup by the local derivative of
// the claw texture in order to mimic some folding distortion.
vec2 offset = vec2(dFdx(scratchMap), dFdy(scratchMap)) * progress * 0.5;
// the claw texture in order to mimic some folding distortion. This is only possible if
// not using GLES.
vec2 offset = vec2(0.0);
#ifndef GL_ES
offset = vec2(dFdx(scratchMap), dFdy(scratchMap)) * progress * 0.5;
#endif
vec4 oColor = getInputColor(coords + offset);
// Add colorful flashes.
+1 -1
View File
@@ -5,7 +5,7 @@ SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
SPDX-License-Identifier: GPL-3.0-or-later
-->
<interface>
<interface domain="burn-my-windows">
<object class="AdwExpanderRow" id="snap-prefs">
+6 -2
View File
@@ -38,13 +38,17 @@ SPDX-License-Identifier: GPL-3.0-or-later
<submenu>
<attribute name="label" translatable="yes">Donate</attribute>
<item>
<attribute name="label">PayPal</attribute>
<attribute name="action">prefs.donate-paypal</attribute>
<attribute name="label">Ko-fi</attribute>
<attribute name="action">prefs.donate-kofi</attribute>
</item>
<item>
<attribute name="label">GitHub</attribute>
<attribute name="action">prefs.donate-github</attribute>
</item>
<item>
<attribute name="label">PayPal</attribute>
<attribute name="action">prefs.donate-paypal</attribute>
</item>
</submenu>
</section>
<section>
+1 -1
View File
@@ -5,7 +5,7 @@ SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
SPDX-License-Identifier: GPL-3.0-or-later
-->
<interface>
<interface domain="burn-my-windows">
<object class="GtkRevealer" id="snap-prefs">
@@ -43,6 +43,18 @@ SPDX-License-Identifier: CC0-1.0
<description>Used to check whether the extension got updated from the extension side.</description>
</key>
<key name="prefs-open-count" type="i">
<default>0</default>
<summary>Prefs Open Count</summary>
<description>The number of times the settings dialog was openend.</description>
</key>
<key name="show-support-dialog" type="b">
<default>true</default>
<summary>Show Support Dialog</summary>
<description>If set to false, the ask-for-support dialog will never be shown.</description>
</key>
</schema>
</schemalist>
+62 -5
View File
@@ -14,9 +14,10 @@
'use strict';
const {Gio, Shell, GObject, Clutter} = imports.gi;
const {Gio, Shell, GObject, Clutter, Meta} = imports.gi;
const ByteArray = imports.byteArray;
const Main = imports.ui.main;
const ExtensionUtils = imports.misc.extensionUtils;
const Me = imports.misc.extensionUtils.getCurrentExtension();
const utils = Me.imports.src.utils;
@@ -36,12 +37,14 @@ const utils = Me.imports.src.utils;
// hard-coded use of straight alpha (as opposed to premultiplied). This makes the //
// shaders a bit more complicated than required. //
// //
// The Shader fires two signals: //
// The Shader fires three signals: //
// * begin-animation: This is called each time a new animation is started. It can //
// be used to set uniform values which do not change during the //
// animation. //
// * update-animation: This is called at each frame during the animation. It can be //
// used to set uniforms which change during the animation. //
// * end-animation: This is called when the animation is stopped. This can be //
// used to clean up any resources.
//////////////////////////////////////////////////////////////////////////////////////////
var Shader = GObject.registerClass(
@@ -77,13 +80,46 @@ var Shader = GObject.registerClass(
this._uDuration = this.get_uniform_location('uDuration');
this._uSize = this.get_uniform_location('uSize');
this._uPadding = this.get_uniform_location('uPadding');
// Create a timeline to drive the animation.
this._timeline = new Clutter.Timeline();
// Call updateAnimation() once a frame.
this._timeline.connect('new-frame', (t) => {
if (this._testMode) {
this.updateAnimation(0.5);
} else {
this.updateAnimation(t.get_progress());
}
});
// Clean up if the animation finished or was interrupted.
this._timeline.connect('stopped', (t, finished) => {
this.endAnimation();
});
}
// This is called once each time the shader is used.
beginAnimation(settings, forOpening, testMode, duration, actor) {
if (this._timeline.is_playing()) {
this._timeline.stop();
}
// On GNOME 3.36 this method was not yet available.
if (this._timeline.set_actor) {
this._timeline.set_actor(actor);
}
this._timeline.set_duration(duration);
this._timeline.start();
// Make sure that no fullscreen window is drawn over our animations.
Meta.disable_unredirect_for_display(global.display);
global.begin_work();
// Reset progress value.
this._progress = 0;
this._testMode = testMode;
// This is not necessarily symmetric, but I haven't figured out a way to
// get the actual values...
@@ -91,7 +127,7 @@ var Shader = GObject.registerClass(
this.set_uniform_float(this._uPadding, 1, [padding]);
this.set_uniform_float(this._uForOpening, 1, [forOpening]);
this.set_uniform_float(this._uDuration, 1, [duration]);
this.set_uniform_float(this._uDuration, 1, [duration * 0.001]);
this.set_uniform_float(this._uSize, 2, [actor.width, actor.height]);
this.emit('begin-animation', settings, forOpening, testMode, actor);
@@ -103,11 +139,22 @@ var Shader = GObject.registerClass(
// in vfunc_paint_target. We do not emit it here, as the pipeline which may be used
// by handlers must not have been created yet.
this._progress = progress;
this.queue_repaint();
}
// This will just emit the end-animation signal. It can be used to clean up any
// resources required during the animation.
// This will stop any running animation and emit the end-animation signal.
endAnimation() {
// This will call endAnimation() again, so we can return for now.
if (this._timeline.is_playing()) {
this._timeline.stop();
return;
}
// Restore unredirecting behavior for fullscreen windows.
Meta.enable_unredirect_for_display(global.display);
global.end_work();
this.emit('end-animation');
}
@@ -134,6 +181,16 @@ var Shader = GObject.registerClass(
// the handler. This could still be null if called from the updateAnimation() above.
vfunc_paint_target(...params) {
this.emit('update-animation', this._progress);
// Starting with GNOME 44.2, the alpha channel is not written to by default. We need
// to undo this. It is a pity that we have to do this here, as it is not really
// required to be done each frame. But it's the only place where we can do it.
// https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2650
if (utils.shellVersionIsAtLeast(44, 2)) {
this.get_pipeline().set_blend(
'RGBA = ADD (SRC_COLOR * (SRC_COLOR[A]), DST_COLOR * (1-SRC_COLOR[A]))');
}
this.set_uniform_float(this._uProgress, 1, [this._progress]);
super.vfunc_paint_target(...params);
}
+8 -5
View File
@@ -57,15 +57,18 @@ var WindowPicker = class WindowPicker {
.filter(e => e.toString().includes('lookingGlass_RedBorderEffect'))
.forEach(e => target.remove_effect(e));
let actor = target;
if (target.toString().includes('MetaSurfaceActor')) {
actor = target.get_parent();
target = target.get_parent();
}
if (target.toString().includes('ContainerActor')) {
target = target.get_parent();
}
let wmClass = 'window-not-found';
if (actor.toString().includes('WindowActor') &&
actor.meta_window.get_wm_class() != '') {
wmClass = actor.meta_window.get_wm_class();
if (target.toString().includes('WindowActor') &&
target.meta_window.get_wm_class() != '') {
wmClass = target.meta_window.get_wm_class();
}
this._dbus.emit_signal('WindowPicked', new GLib.Variant('(s)', [wmClass]));
+6 -4
View File
@@ -29,6 +29,8 @@
# -v 35: GNOME Shell 41
# -v 36: GNOME Shell 42
# -v 37: GNOME Shell 43
# -v 38: GNOME Shell 44
# -v rawhide: The current GNOME Shell version of Fedora Rawhide
# -s session: This can either be "gnome-xsession" or "gnome-wayland-nested".
# Exit on error.
@@ -140,7 +142,7 @@ do_in_pod gnome-extensions install "${EXTENSION}.zip"
# Starting with GNOME 40, there is a "Welcome Tour" dialog popping up at first launch.
# We disable this beforehand.
if [[ "${FEDORA_VERSION}" -gt 33 ]]; then
if [[ "${FEDORA_VERSION}" -gt 33 ]] || [[ "${FEDORA_VERSION}" == "rawhide" ]]; then
echo "Disabling welcome tour."
do_in_pod gsettings set org.gnome.shell welcome-dialog-last-shown-version "999" || true
fi
@@ -157,7 +159,7 @@ do_in_pod gnome-extensions enable "${EXTENSION}"
# Starting with GNOME 40, the overview is the default mode. We close this here by hitting
# the super key.
if [[ "${FEDORA_VERSION}" -gt 33 ]]; then
if [[ "${FEDORA_VERSION}" -gt 33 ]] || [[ "${FEDORA_VERSION}" == "rawhide" ]]; then
echo "Closing Overview."
send_keystroke "super"
fi
@@ -194,12 +196,12 @@ capture_effect "tv"
capture_effect "tv-glitch"
capture_effect "wisps"
if [[ "${FEDORA_VERSION}" -gt 32 ]]; then
if [[ "${FEDORA_VERSION}" -gt 32 ]] || [[ "${FEDORA_VERSION}" == "rawhide" ]]; then
capture_effect "apparition"
capture_effect "doom"
fi
if [[ "${FEDORA_VERSION}" -gt 33 ]]; then
if [[ "${FEDORA_VERSION}" -gt 33 ]] || [[ "${FEDORA_VERSION}" == "rawhide" ]]; then
capture_effect "trex"
capture_effect "broken-glass"
capture_effect "matrix"
Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 664 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 664 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 637 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 637 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 643 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 643 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 443 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 443 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

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