Compare commits

...

62 Commits

Author SHA1 Message Date
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
196 changed files with 1034 additions and 908 deletions
+1 -1
View File
@@ -6,7 +6,7 @@
github: schneegans github: schneegans
patreon: # Replace with a single Patreon username patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective 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 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 community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Schneegans liberapay: # Schneegans
+2
View File
@@ -116,6 +116,8 @@ jobs:
- '35' - '35'
- '36' - '36'
- '37' - '37'
- '38'
- 'rawhide'
session: session:
- 'gnome-xsession' - 'gnome-xsession'
- 'gnome-wayland-nested' - '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. # This runs several tests in containerized versions of GNOME Shell.
test: 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 \ for session in "gnome-xsession" "gnome-wayland-nested" ; do \
echo ; \ echo ; \
echo "Running Tests on Fedora $$version ($$session)." ; \ echo "Running Tests on Fedora $$version ($$session)." ; \
@@ -59,7 +59,7 @@ test:
# This re-generates all reference images required by the tests. # This re-generates all reference images required by the tests.
references: 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 \ for session in "gnome-xsession" "gnome-wayland-nested" ; do \
echo ; \ echo ; \
echo "Generating References for Fedora $$version ($$session)." ; \ 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> <h3 align="center">🥇 Current Gold Sponsors</h3>
<p align="center"> <p align="center">
<a href="https://github.com/D3vil0p3r">D3vil0p3r</a><br>
Maxence Sebald<br> Maxence Sebald<br>
<a href="https://github.com/dennis1248">Dennis ten Hoove</a><br>
</p> </p>
<h3 align="center">🥈 Current Silver Sponsors</h3> <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> <h3 align="center">🥉 Current Bronze Sponsors</h3>
<p align="center"> <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/vlazic'>@vlazic</a><br>
<!-- <a href="https://github.com/sponsors/Schneegans">Become the first!</a><br> --> <!-- <a href="https://github.com/sponsors/Schneegans">Become the first!</a><br> -->
</p> </p>
<h3 align="center">🏅 Previous Sponsors and One-Time Donators</h3> <h3 align="center">🏅 Previous Sponsors and One-Time Donators</h3>
<p align="center"> <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/MRR-dev">@MRR-dev</a><br>
<a href='https://github.com/AngelBrielez'>Angel Brielez</a> <a href='https://github.com/AngelBrielez'>Angel Brielez</a>
<a href='https://github.com/taconomix'>@taconomix</a><br> <a href='https://github.com/taconomix'>@taconomix</a><br>
+180 -124
View File
@@ -5,13 +5,72 @@ SPDX-License-Identifier: CC-BY-4.0
# Changelog of the Burn-My-Windows Extension # Changelog of the Burn-My-Windows Extension
## [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) ## [Burn My Windows 27](https://github.com/schneegans/Burn-My-Windows/releases/tag/v27)
**Release Date:** 2023-03-01 **Release Date:** 2023-03-01
#### New Features #### 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 - Application name
- Animation type (open close) - Animation type (open close)
- Window type (normal, dialog) - Window type (normal, dialog)
@@ -20,6 +79,7 @@ SPDX-License-Identifier: CC-BY-4.0
- Power profile (power saver, balanced, performance) - Power profile (power saver, balanced, performance)
This allows for a very detailed configuration of the extension. For instance, you can now... This allows for a very detailed configuration of the extension. For instance, you can now...
- ... exclude specific applications from BMW effects - ... exclude specific applications from BMW effects
- ... select effects per-application - ... select effects per-application
- ... use different configurations of the same effect for opening or closing windows - ... use different configurations of the same effect for opening or closing windows
@@ -27,14 +87,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 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). 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 #### Other Enhancements
* As part of the effect profile implementation, the libadwaita-inspired preferences dialog layout got back-ported to all other supported GNOME versions. - 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. - 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! - Many translation updates. Thanks to all the translators!
## [Burn My Windows 26](https://github.com/schneegans/Burn-My-Windows/releases/tag/v26) ## [Burn My Windows 26](https://github.com/schneegans/Burn-My-Windows/releases/tag/v26)
@@ -42,14 +103,13 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features #### 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 #### 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. - 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! - 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. - 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) ## [Burn My Windows 25](https://github.com/schneegans/Burn-My-Windows/releases/tag/v25)
@@ -57,7 +117,7 @@ SPDX-License-Identifier: CC-BY-4.0
#### Bug Fixes #### 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) ## [Burn My Windows 24](https://github.com/schneegans/Burn-My-Windows/releases/tag/v24)
@@ -65,18 +125,18 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features #### New Features
* **New Effect: Glitch.** This effect applies some intentional graphics issues to your windows. - **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. - 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 #### Other Enhancements
* Many translation updates, including a completely new Indonesian translation. Thanks to all the translators! - 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 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. - The about dialog now uses the `Adw.AboutWindow` if available.
#### Bug Fixes #### 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) ## [Burn My Windows 23](https://github.com/schneegans/Burn-My-Windows/releases/tag/v23)
@@ -84,11 +144,11 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features #### 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 #### 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) ## [Burn My Windows 22](https://github.com/schneegans/Burn-My-Windows/releases/tag/v22)
@@ -96,14 +156,14 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features #### 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 #### Other Enhancements
* The settings dialog has been redesigned specifically for libadwaita. These changes are only available on GNOME 42 and GNOME 43. - 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! - 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. - 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 now follows the [REUSE Specification](https://reuse.software/spec).
## [Burn My Windows 21](https://github.com/schneegans/Burn-My-Windows/releases/tag/v21) ## [Burn My Windows 21](https://github.com/schneegans/Burn-My-Windows/releases/tag/v21)
@@ -111,11 +171,11 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features #### New Features
* Added support for GNOME 43. - Added support for GNOME 43.
#### Other Enhancements #### 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) ## [Burn My Windows 20](https://github.com/schneegans/Burn-My-Windows/releases/tag/v20)
@@ -123,21 +183,20 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features #### New Features
* **New Effect: Doom.** Melt your windows. Inspired by the legendary screen transitions of the original Doom. - **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: 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 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: Pixel Wipe.** This effect pixelates the window and hides the pixels radially, starting from the pointer position.
#### Enhancements #### Enhancements
* Under KWin, the effects now use the same names as in the KDE store. - 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. - 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. - 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 #### 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) ## [Burn My Windows 19](https://github.com/schneegans/Burn-My-Windows/releases/tag/v19)
@@ -145,17 +204,17 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features #### 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 #### Enhancements
* Many translation updates, including a completely new Portuguese, Esperanto, and Hebrew translation. A BIG THANKS to all translators! - 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. - 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. - The KWin build script now generates a separate archive for each effect as well as a combined archive for all effects.
#### Fixes #### 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) ## [Burn My Windows 18](https://github.com/schneegans/Burn-My-Windows/releases/tag/v18)
@@ -163,7 +222,7 @@ SPDX-License-Identifier: CC-BY-4.0
#### Fixes #### 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) ## [Burn My Windows 17](https://github.com/schneegans/Burn-My-Windows/releases/tag/v17)
@@ -171,14 +230,14 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features #### 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! - **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. - **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. - An option has been added which allows to automatically disable all effects if running on battery power.
#### Enhancements #### Enhancements
* Many translation updates, including a completely new Persian, Polish, and Slovak translation. A BIG THANKS to all translators! - 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. - 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) ## [Burn My Windows 16](https://github.com/schneegans/Burn-My-Windows/releases/tag/v16)
@@ -186,16 +245,16 @@ SPDX-License-Identifier: CC-BY-4.0
#### Enhancements #### Enhancements
* Many translation updates, including a completely new Arabic, Finnish, Korean, and Swedish translation. A BIG THANKS to all translators! - 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. - 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. - 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. - 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 #### 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 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). - 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. - 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) ## [Burn My Windows 15](https://github.com/schneegans/Burn-My-Windows/releases/tag/v15)
@@ -203,13 +262,13 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features #### 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: 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: 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: 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 #### 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) ## [Burn My Windows 14](https://github.com/schneegans/Burn-My-Windows/releases/tag/v14)
@@ -217,13 +276,12 @@ SPDX-License-Identifier: CC-BY-4.0
#### Enhancements #### Enhancements
* Reduced the lower animation time limits for all effects to 100 ms. This should now allow for very snappy animations! - 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.! - A completely new Russian translation. Thank you, ANIGO R.!
#### Bug Fixes #### 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) ## [Burn My Windows 13](https://github.com/schneegans/Burn-My-Windows/releases/tag/v13)
@@ -231,16 +289,16 @@ SPDX-License-Identifier: CC-BY-4.0
#### Enhancements #### 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). - 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! - Many translation updates, including a completely new Turkish and Chinese translation. A BIG THANKS to all translators!
#### Other Changes #### 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 #### 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) ## [Burn My Windows 12](https://github.com/schneegans/Burn-My-Windows/releases/tag/v12)
@@ -248,12 +306,12 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features #### New Features
* Added initial support for GNOME Shell 42. - Added initial support for GNOME Shell 42.
* The preferences dialog now uses libadwaita on GNOME Shell 42. - The preferences dialog now uses libadwaita on GNOME Shell 42.
#### Enhancements #### 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) ## [Burn My Windows 11](https://github.com/schneegans/Burn-My-Windows/releases/tag/v11)
@@ -261,24 +319,24 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features #### New Features
* Added an about-dialog which shows all translators and sponsors. - Added an about-dialog which shows all translators and sponsors.
#### Enhancements #### Enhancements
* There are several new translations! Thanks a lot to all the translators! We now have translations for: - There are several new translations! Thanks a lot to all the translators! We now have translations for:
* German - German
* English - English
* Czech - Czech
* Dutch - Dutch
* French - French
* Italian - Italian
* Norwegian Bokmål - Norwegian Bokmål
* Spanish - Spanish
* A new issue template for suggesting new effects has been added. - A new issue template for suggesting new effects has been added.
#### Fixes #### 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) ## [Burn My Windows 10](https://github.com/schneegans/Burn-My-Windows/releases/tag/v10)
@@ -288,18 +346,18 @@ SPDX-License-Identifier: CC-BY-4.0
<a href="https://youtu.be/L2aaNF_rPHo"><img align="right" src ="pics/bmw10.jpg" /></a> <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)! - **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! - **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). - **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. - **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. - **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 #### Other Enhancements
* Added a menu entry with a link to the guide for creating new effect types. - 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. - 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). - 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. - **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) ## [Burn My Windows 9](https://github.com/schneegans/Burn-My-Windows/releases/tag/v9)
@@ -307,8 +365,8 @@ SPDX-License-Identifier: CC-BY-4.0
#### Fixes #### Fixes
* Improved compatibility with [Show Application View When Workspace Empty ](https://extensions.gnome.org/extension/2036/show-application-view-when-workspace-empty/) (#54). - 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). - 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) ## [Burn My Windows 8](https://github.com/schneegans/Burn-My-Windows/releases/tag/v8)
@@ -316,25 +374,24 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features #### 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)**. - **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 A.** Beam your windows away!
* **New Effect: Energize B.** Using different transporter technology results in an alternative visual effect. - **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! - **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**. - 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 #### Other Enhancements
* A [guide for creating new effects](how-to-create-new-effects.md) has been added. - 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 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 **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 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 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. - The shaders now use a different noise implementation which produces better 3D noise.
#### Fixes #### 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) ## [Burn My Windows 7](https://github.com/schneegans/Burn-My-Windows/releases/tag/v7)
@@ -342,13 +399,12 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features #### 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. - 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. - A changelog entry has been added to the menu of the preferences dialog.
#### Fixes #### 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) ## [Burn My Windows 6](https://github.com/schneegans/Burn-My-Windows/releases/tag/v6)
@@ -356,7 +412,7 @@ SPDX-License-Identifier: CC-BY-4.0
#### Fixes #### 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) ## [Burn My Windows 5](https://github.com/schneegans/Burn-My-Windows/releases/tag/v5)
@@ -364,17 +420,17 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features #### New Features
* Added a new ridiculous close-animation: the T-Rex-Attack! - Added a new ridiculous close-animation: the T-Rex-Attack!
* Added a new simple close-animation: the TV-Effect! - 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 menu to the preferences dialog with links for bug reporting and donations.
#### Other Enhancements #### 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 #### 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) ## [Burn My Windows 4](https://github.com/schneegans/Burn-My-Windows/releases/tag/v4)
@@ -382,13 +438,13 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features #### 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 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 setting to apply the animation also for closing dialog windows.
#### Other Enhancements #### Other Enhancements
* Refactored the code a lot to make it easier to add new shader effects in the future. - 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. - 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) ## [Burn My Windows 3](https://github.com/schneegans/Burn-My-Windows/releases/tag/v3)
@@ -396,7 +452,7 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features #### 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) ## [Burn My Windows 2](https://github.com/schneegans/Burn-My-Windows/releases/tag/v2)
@@ -404,12 +460,12 @@ SPDX-License-Identifier: CC-BY-4.0
#### New Features #### New Features
* Added the possibility to adjust fire colors. - Added the possibility to adjust fire colors.
* Added the possibility to adjust flame speed and scale. - Added the possibility to adjust flame speed and scale.
* Added some fire presets. - Added some fire presets.
## [Burn My Windows 1](https://github.com/schneegans/Burn-My-Windows/releases/tag/v1) ## [Burn My Windows 1](https://github.com/schneegans/Burn-My-Windows/releases/tag/v1)
**Release Date:** 2021-12-14 **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.
+22 -27
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. 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. 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! Just remember to replace `simple-fade` with your custom name!
```xml ```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> <summary>Expand this to show the GLSL code.</summary>
```glsl ```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 // The content from common.glsl is automatically prepended to each shader effect. This
// provides the standard input: // provides the standard input:
@@ -214,7 +228,6 @@ var SimpleFade = class {
// binds all user interface elements to the respective settings keys of the profile. // binds all user interface elements to the respective settings keys of the profile.
bindPreferences(dialog) { bindPreferences(dialog) {
// Empty for now... Code is added here later in the tutorial! // Empty for now... Code is added here later in the tutorial!
return null;
} }
// ---------------------------------------------------------------- API for extension.js // ---------------------------------------------------------------- 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. 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. 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. 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. 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! 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 SPDX-License-Identifier: GPL-3.0-or-later
--> -->
<interface> <interface domain="burn-my-windows">
<object class="GtkAdjustment" id="simple-fade-animation-time"> <object class="GtkAdjustment" id="simple-fade-animation-time">
<property name="upper">5000</property> <property name="upper">5000</property>
@@ -297,17 +311,11 @@ SPDX-License-Identifier: GPL-3.0-or-later
<property name="page-increment">0.1</property> <property name="page-increment">0.1</property>
</object> </object>
<object class="GtkBox" id="simple-fade-prefs"> <object class="GtkRevealer" id="simple-fade-prefs">
<property name="orientation">vertical</property>
<child>
<object class="GtkFrame">
<child> <child>
<object class="GtkListBox"> <object class="GtkListBox">
<property name="selection-mode">none</property> <property name="selection-mode">none</property>
<style>
<class name="rich-list" />
</style>
<child> <child>
<object class="GtkListBoxRow"> <object class="GtkListBoxRow">
@@ -396,9 +404,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
</child> </child>
</object> </object>
</child> </child>
</object>
</child>
</object> </object>
</child> </child>
@@ -423,7 +428,7 @@ SPDX-FileCopyrightText: Your Name <your@email.com>
SPDX-License-Identifier: GPL-3.0-or-later SPDX-License-Identifier: GPL-3.0-or-later
--> -->
<interface> <interface domain="burn-my-windows">
<object class="GtkAdjustment" id="simple-fade-animation-time"> <object class="GtkAdjustment" id="simple-fade-animation-time">
<property name="upper">5000</property> <property name="upper">5000</property>
@@ -439,18 +444,11 @@ SPDX-License-Identifier: GPL-3.0-or-later
<property name="page-increment">0.1</property> <property name="page-increment">0.1</property>
</object> </object>
<object class="GtkBox" id="simple-fade-prefs"> <object class="GtkRevealer" id="simple-fade-prefs">
<property name="orientation">vertical</property>
<child>
<object class="GtkFrame">
<child> <child>
<object class="GtkListBox"> <object class="GtkListBox">
<property name="selection-mode">none</property> <property name="selection-mode">none</property>
<property name="show-separators">1</property>
<style>
<class name="rich-list" />
</style>
<child> <child>
<object class="GtkListBoxRow"> <object class="GtkListBoxRow">
@@ -529,9 +527,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
</child> </child>
</object> </object>
</child> </child>
</object>
</child>
</object> </object>
</child> </child>
@@ -570,7 +565,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<property name="page-increment">0.1</property> <property name="page-increment">0.1</property>
</object> </object>
<object class="AdwActionRow" id="simple-fade-prefs"> <object class="AdwExpanderRow" id="simple-fade-prefs">
<child> <child>
<object class="AdwActionRow"> <object class="AdwActionRow">
+179 -220
View File
@@ -94,7 +94,10 @@ class Extension {
this._loadProfiles(); this._loadProfiles();
this._settings.set_int('last-extension-version', Me.metadata.version); this._settings.set_int('last-extension-version', Me.metadata.version);
}); });
} else {
this._loadProfiles();
} }
} else { } else {
this._loadProfiles(); this._loadProfiles();
} }
@@ -133,91 +136,131 @@ class Extension {
} }
// We will monkey-patch these methods. Let's store the original ones. // 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._origAddWindowClone = Workspace.prototype._addWindowClone;
this._origWindowRemoved = Workspace.prototype._windowRemoved; this._origWindowRemoved = Workspace.prototype._windowRemoved;
this._origDoRemoveWindow = Workspace.prototype._doRemoveWindow; 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 // If a window is created, the transitions are set up in the async _mapWindow() of the
// window is created. Usually, there is no real window animation for opening windows
// in the overview - only the window's clone is animated - but thanks to the hacks
// below, we can show the real animations in the overview.
// If a window is created the transitions are set up in the async _mapWindow of the
// WindowManager: // WindowManager:
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1478 // 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 // AFAIK, overriding this method is not possible as it's called by a signal to which
// which it is bound via the bind() method. To tweak the async transition // it is bound via the bind() method. To tweak the async transition anyways, we
// anyways, we override the actors ease() method once - the next time it will be // override the actors ease() method once. We do this in _shouldAnimateActor() which
// called by the _mapWindow(), we will intercept it! // is called right before the ease() in _mapWindow:
this._windowCreatedConnection = // https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1465
global.display.connect('window-created', (d, metaWin) => {
let actor = metaWin.get_compositor_private();
// 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; const orig = actor.ease;
// Now intercept the next call to actor.ease().
actor.ease = function(...params) { 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; actor.ease = orig;
// There are cases where the ease() is called prior to mapping the actor. If // And then create the effect!
// the actor is not yet mapped, we defer the effect creation. extensionThis._setupEffect(actor, forOpening, chosenEffect.effect,
if (actor.mapped) { chosenEffect.profile);
extensionThis._setupEffect(actor, true);
} else { } else {
const connectionID = actor.connect('notify::mapped', () => { orig.apply(this, params);
extensionThis._setupEffect(actor, true);
actor.disconnect(connectionID);
});
} }
}; };
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 // 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 // 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 // of the actor. However, if we are in the overview, we have to enlarge the clone of
// the window as well. // the window as well.
Workspace.prototype._addWindowClone = function(...params) { 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... // The parameters of this method changed a bit through the versions...
let realWindow, clone; let realWindow, container;
if (utils.shellVersionIs(3, 36)) { if (utils.shellVersionIs(3, 36)) {
clone = result[0]; container = clone[0];
realWindow = clone.realWindow; realWindow = container.realWindow;
} else if (utils.shellVersionIs(3, 38)) { } else if (utils.shellVersionIs(3, 38)) {
clone = result._windowContainer; container = clone._windowContainer;
realWindow = params[0].get_compositor_private(); realWindow = params[0].get_compositor_private();
} else { } else {
clone = result.window_container; container = clone.window_container;
realWindow = params[0].get_compositor_private(); realWindow = params[0].get_compositor_private();
} }
// Syncing the real window's scale with the scale of its clone only works on GNOME // Store the overview clone as temporary members of the real window actor. When we
// Shell 3.38+. So effects cannot scale windows in the overview of GNOME 3.36... // set up the effect, we will check for the existence of these and enlarge the clone
if (utils.shellVersionIsAtLeast(3, 38)) { // as needed.
const xID = realWindow.connect('notify::scale-x', () => { realWindow._bmwOverviewClone = clone;
if (realWindow.scale_x > 0 && clone.allocation.get_size()[0] > 0) { realWindow._bmwOverviewCloneContainer = container;
clone.scale_x = realWindow.scale_x;
}
});
const yID = realWindow.connect('notify::scale-y', () => { // Remove the temporary members again once the clone is deleted.
if (realWindow.scale_y > 0 && clone.allocation.get_size()[1] > 0) { container.connect('destroy', () => {
clone.scale_y = realWindow.scale_y; 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. // 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 // 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 // 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/gnome-3-36/js/ui/workspace.js#L1877
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1363 // https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1363
if (utils.shellVersionIs(3, 36)) { 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 // Usually, windows are faded in after the overview is completely hidden. We enable
// window-open animations by not waiting for this. // window-open animations by not waiting for this.
WindowManager.prototype._waitForOverviewToHide = async function() { Main.wm._waitForOverviewToHide = async function() {
return Promise.resolve(); 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 // 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 // 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 // actually faded out. To do this, _windowRemoved and _doRemoveWindow now check
// whether there is a transition ongoing (via extensionThis._shouldDestroy). If that's // 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 case, these methods do nothing.
// The _destroyWindow of the WindowManager sets the transitions up and should take
// care of removing the actors at the end of the transitions.
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1258 // https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1258
Workspace.prototype._windowRemoved = function(ws, metaWin) { Workspace.prototype._windowRemoved = function(ws, metaWin) {
if (extensionThis._shouldDestroy(this, metaWin)) { if (extensionThis._shouldDestroy(this, metaWin)) {
@@ -369,16 +362,14 @@ class Extension {
// Disable the window-picking D-Bus API. // Disable the window-picking D-Bus API.
this._windowPicker.unexport(); this._windowPicker.unexport();
// Restore the original window-open and window-close animations. global.window_manager.disconnect(this._killEffectsSignal);
global.window_manager.disconnect(this._destroyConnection);
global.display.disconnect(this._windowCreatedConnection);
// Restore the original window-open and window-close animations.
Workspace.prototype._addWindowClone = this._origAddWindowClone; Workspace.prototype._addWindowClone = this._origAddWindowClone;
Workspace.prototype._windowRemoved = this._origWindowRemoved; Workspace.prototype._windowRemoved = this._origWindowRemoved;
Workspace.prototype._doRemoveWindow = this._origDoRemoveWindow; Workspace.prototype._doRemoveWindow = this._origDoRemoveWindow;
WindowManager.prototype._shouldAnimateActor = this._origShouldAnimateActor; Main.wm._shouldAnimateActor = this._origShouldAnimateActor;
WindowManager.prototype._waitForOverviewToHide = this._origWaitForOverviewToHide; Main.wm._waitForOverviewToHide = this._origWaitForOverviewToHide;
WindowManager.prototype._destroyWindowDone = this._origDestroyWindowDone;
if (WindowPreview) { if (WindowPreview) {
WindowPreview.prototype._deleteAll = this._origDeleteAll; WindowPreview.prototype._deleteAll = this._origDeleteAll;
@@ -427,11 +418,10 @@ class Extension {
this._profiles.sort((a, b) => b.priority - a.priority); this._profiles.sort((a, b) => b.priority - a.priority);
} }
// This method adds one of the configured effects to the given actor. First, a profile // This method selects an effect profile matching the current circumstances. Then a
// matching the current circumstances is chosen. Then a random effect from its enabled // random effect from its enabled effects will be selected. It returns null if no
// effects will be selected. This will also tweak the transitions of the given actor // profile is currently applicable.
// (e.g. scale it up if required). _chooseEffect(actor, forOpening) {
_setupEffect(actor, forOpening) {
// For now, we only add effects to normal windows and dialog windows. // For now, we only add effects to normal windows and dialog windows.
const isNormalWindow = actor.meta_window.window_type == Meta.WindowType.NORMAL; const isNormalWindow = actor.meta_window.window_type == Meta.WindowType.NORMAL;
@@ -440,17 +430,7 @@ class Extension {
actor.meta_window.window_type == Meta.WindowType.DIALOG; actor.meta_window.window_type == Meta.WindowType.DIALOG;
if (!isNormalWindow && !isDialogWindow) { if (!isNormalWindow && !isDialogWindow) {
return; return null;
}
// There is the weird case where an animation is already ongoing. This happens when a
// window is closed which has been created before the session was started (e.g. when
// GNOME Shell has been restarted in the meantime).
const oldShader = actor.get_effect('burn-my-windows-effect');
if (oldShader) {
actor.remove_effect(oldShader);
oldShader.endAnimation();
oldShader.returnToFactory();
} }
// ----------------------------------------------- choose a profile and then an effect // ----------------------------------------------- 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 that was the case, we also check the application name.
if (matches && profileApp != '') { 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. // Split app names at |, remove any whitespace, and transform to lower case.
const profileApps = const profileApps =
profileApp.split('|').map(item => item.trim().toLowerCase()); profileApp.split('|').map(item => item.trim().toLowerCase());
matches = profileApps.includes(app); matches = profileApps.includes(app);
} else {
matches = false;
}
} }
// If the profile is still matching, we also check the color scheme. // 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 nothing was enabled, we have to do nothing :)
if (!effect || !profile) { 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 // 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. // duration and show a fixed frame from the middle of the animation.
@@ -572,97 +570,60 @@ class Extension {
// actorScale. // actorScale.
const actorScale = effect.getActorScale(profile.settings, forOpening, actor); const actorScale = effect.getActorScale(profile.settings, forOpening, actor);
// All scaling is relative to the window's center.
actor.set_pivot_point(0.5, 0.5);
actor.opacity = 255;
actor.scale_x = actorScale.x;
actor.scale_y = actorScale.y;
// If we are in the overview, we have to enlarge the window's clone as well. We also
// disable the clone's overlay (e.g. its icon, name, and close button) during the
// animation.
if (actor._bmwOverviewClone && utils.shellVersionIsAtLeast(3, 38)) {
actor._bmwOverviewClone.overlayEnabled = false;
actor._bmwOverviewCloneContainer.set_pivot_point(0.5, 0.5);
actor._bmwOverviewCloneContainer.scale_x = actorScale.x;
actor._bmwOverviewCloneContainer.scale_y = actorScale.y;
}
// Now add a cool shader to our window actor!
const shader = effect.shaderFactory.getShader();
actor.add_effect_with_name('burn-my-windows-effect', shader);
// At the end of the animation, we restore the scale of the overview clone (if any)
// and call the methods which would have been called by the original ease() calls at
// the end of the standard fade-in animation.
const endID = shader.connect('end-animation', () => {
shader.disconnect(endID);
if (actor._bmwOverviewClone && utils.shellVersionIsAtLeast(3, 38)) {
actor._bmwOverviewClone.overlayEnabled = true;
actor._bmwOverviewCloneContainer.scale_x = 1.0;
actor._bmwOverviewCloneContainer.scale_y = 1.0;
}
// Remove the shader and mark it being re-usable for future animations.
actor.remove_effect(shader);
shader.returnToFactory();
// Finally, once the animation is done or interrupted, we call the methods which
// should have been called by the original ease() methods.
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1487
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1558.
if (forOpening) {
Main.wm._mapWindowDone(global.window_manager, actor);
} else {
Main.wm._destroyWindowDone(global.window_manager, actor);
}
});
// To make things deterministic during testing, we set the effect duration to 5 // To make things deterministic during testing, we set the effect duration to 5
// seconds. // seconds.
const duration = const duration =
testMode ? 5000 : profile.settings.get_int(effect.getNick() + '-animation-time'); testMode ? 5000 : profile.settings.get_int(effect.getNick() + '-animation-time');
// All animations are relative to the window's center. // Finally start the animation!
actor.set_pivot_point(0.5, 0.5); shader.beginAnimation(profile.settings, forOpening, testMode, duration, actor);
// 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();
}
});
}
} }
// This is required to enable window-close animations in the overview. See the comment // 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. // This was called "realWindow" in GNOME 3.36.
const propertyName = utils.shellVersionIs(3, 36) ? 'realWindow' : '_windowActor'; const propertyName = utils.shellVersionIs(3, 36) ? 'realWindow' : '_windowActor';
const actor = workspace._windows[index][propertyName]; const actor = workspace._windows[index][propertyName];
if (!actor.get_transition('scale-y')) { const shader = actor.get_effect('burn-my-windows-effect');
return true;
}
return false; return shader == null;
} }
} }
+1 -1
View File
@@ -14,5 +14,5 @@
"44" "44"
], ],
"url": "https://github.com/Schneegans/Burn-My-Windows", "url": "https://github.com/Schneegans/Burn-My-Windows",
"version": 27 "version": 32
} }
+57 -55
View File
@@ -8,90 +8,90 @@ msgstr ""
"Project-Id-Version: burn-my-windows\n" "Project-Id-Version: burn-my-windows\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-21 16:46+0100\n" "POT-Creation-Date: 2023-02-21 16:46+0100\n"
"PO-Revision-Date: 2023-01-09 16:48+0000\n" "PO-Revision-Date: 2023-05-14 23:48+0000\n"
"Last-Translator: Sir-Ivysaur <randompsyduck@duck.com>\n" "Last-Translator: Reza Almanda <rezaalmanda27@gmail.com>\n"
"Language-Team: Indonesian <https://hosted.weblate.org/projects/burn-my-" "Language-Team: Indonesian <https://hosted.weblate.org/projects/"
"windows/core/id/>\n" "burn-my-windows/core/id/>\n"
"Language: id\n" "Language: id\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\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 #: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103 #: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103
msgid "Opening Windows" msgid "Opening Windows"
msgstr "" msgstr "Membuka Jendela"
#: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221 #: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221
#: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104 #: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104
msgid "Closing Windows" msgid "Closing Windows"
msgstr "" msgstr "Menutup Jendela"
#: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249 #: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249
#: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118 #: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118
msgid "Normal Windows" msgid "Normal Windows"
msgstr "" msgstr "Jendela Biasa"
#: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250 #: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250
#: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119 #: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119
msgid "Dialog Windows" msgid "Dialog Windows"
msgstr "" msgstr "Jendela Dialog"
#: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278 #: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278
#: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133 #: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133
msgid "Default Color Scheme" msgid "Default Color Scheme"
msgstr "" msgstr "Skema Warna Default"
#: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279 #: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279
#: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134 #: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme" msgid "Dark Color Scheme"
msgstr "" msgstr "Skema Warna Gelap"
#: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307 #: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307
#: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148 #: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148
msgid "On Battery" msgid "On Battery"
msgstr "" msgstr "Baterai"
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308 #: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308
#: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149 #: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149
msgid "Plugged In" msgid "Plugged In"
msgstr "" msgstr "Dicolokkan"
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336 #: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336
#: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163 #: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163
msgid "Power-Saver Mode" msgid "Power-Saver Mode"
msgstr "" msgstr "Mode Penghemat Daya"
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337 #: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337
#: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164 #: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164
msgid "Balanced Mode" msgid "Balanced Mode"
msgstr "" msgstr "Mode Seimbang"
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338 #: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338
#: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165 #: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165
msgid "Performance Mode" msgid "Performance Mode"
msgstr "" msgstr "Mode Performa"
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339 #: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339
#: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166 #: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166
msgid "Power Saver or Balanced" msgid "Power Saver or Balanced"
msgstr "" msgstr "Hemat Daya atau Seimbang"
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340 #: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340
#: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167 #: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167
msgid "Balanced or Performance" msgid "Balanced or Performance"
msgstr "" msgstr "Seimbang atau Performa"
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387 #: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387
#: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183 #: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183
msgid "High Priority" msgid "High Priority"
msgstr "" msgstr "Prioritas Tinggi"
#: src/ProfileManager.js:191 #: src/ProfileManager.js:191
msgid "Standard Profile" msgid "Standard Profile"
msgstr "" msgstr "Profil Standar"
#: src/effects/Apparition.js:78 #: src/effects/Apparition.js:78
msgid "Apparition" msgid "Apparition"
@@ -187,7 +187,7 @@ msgstr "Efek TV"
#: src/effects/TVGlitch.js:87 #: src/effects/TVGlitch.js:87
msgid "TV Glitch" msgid "TV Glitch"
msgstr "" msgstr "Glitch TV"
#: src/effects/Wisps.js:82 #: src/effects/Wisps.js:82
msgid "Wisps" 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 #: prefs.js:364 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
msgid "Burn-My-Windows has been updated!" 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 #: prefs.js:365 resources/ui/common/menus.ui:17 resources/ui/gtk4/prefs.ui:56
#: resources/ui/gtk3/prefs.ui:96 #: resources/ui/gtk3/prefs.ui:96
@@ -224,21 +224,23 @@ msgstr "Mantan Sponsor"
#: prefs.js:585 #: prefs.js:585
msgid "Delete this Profile?" msgid "Delete this Profile?"
msgstr "" msgstr "Hapus Profil ini?"
#: prefs.js:587 #: prefs.js:587
msgid "" msgid ""
"The current effect profile with all its effect settings will be permanently " "The current effect profile with all its effect settings will be permanently "
"lost." "lost."
msgstr "" msgstr ""
"Profil efek saat ini dengan semua pengaturan efeknya akan hilang secara "
"permanen."
#: prefs.js:592 #: prefs.js:592
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr "Batal"
#: prefs.js:593 #: prefs.js:593
msgid "Delete" msgid "Delete"
msgstr "" msgstr "Hapus"
#. Translators: %s will be replaced by the effect's name. #. Translators: %s will be replaced by the effect's name.
#: prefs.js:923 #: prefs.js:923
@@ -256,7 +258,7 @@ msgstr "Buka Website"
#: resources/ui/common/menus.ui:21 #: resources/ui/common/menus.ui:21
msgid "View Matching Wallpapers" msgid "View Matching Wallpapers"
msgstr "" msgstr "Lihat wallpaper yang cocok"
#: resources/ui/common/menus.ui:27 #: resources/ui/common/menus.ui:27
msgid "Report a Bug" msgid "Report a Bug"
@@ -280,7 +282,7 @@ msgstr "Tentang Burn-My-Windows"
#: resources/ui/common/menus.ui:63 #: resources/ui/common/menus.ui:63
msgid "Add New Profile..." 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/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23
#: resources/ui/gtk4/glitch.ui:23 resources/ui/gtk4/matrix.ui:23 #: resources/ui/gtk4/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/gtk3/tv-glitch.ui:142 resources/ui/gtk3/glitch.ui:142
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80 #: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
msgid "Strength" msgid "Strength"
msgstr "" msgstr "Kekuatan"
#: resources/ui/gtk4/tv-glitch.ui:161 resources/ui/gtk4/glitch.ui:161 #: resources/ui/gtk4/tv-glitch.ui:161 resources/ui/gtk4/glitch.ui:161
#: resources/ui/gtk4/fire.ui:138 resources/ui/gtk3/tv-glitch.ui:187 #: resources/ui/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/gtk4/doom.ui:68 resources/ui/gtk3/doom.ui:97
#: resources/ui/adw/doom.ui:47 #: resources/ui/adw/doom.ui:47
msgid "Horizontal Scale" msgid "Horizontal Scale"
msgstr "" msgstr "Skala Horizontal"
#: resources/ui/gtk4/doom.ui:114 resources/ui/gtk3/doom.ui:142 #: resources/ui/gtk4/doom.ui:114 resources/ui/gtk3/doom.ui:142
#: resources/ui/adw/doom.ui:80 #: resources/ui/adw/doom.ui:80
msgid "Vertical Scale" msgid "Vertical Scale"
msgstr "" msgstr "Skala Vertikal"
#: resources/ui/gtk4/doom.ui:160 resources/ui/gtk4/pixel-wheel.ui:115 #: resources/ui/gtk4/doom.ui:160 resources/ui/gtk4/pixel-wheel.ui:115
#: resources/ui/gtk4/pixel-wipe.ui:69 resources/ui/gtk4/pixelate.ui:115 #: resources/ui/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/gtk4/pixel-wheel.ui:69 resources/ui/gtk3/pixel-wheel.ui:90
#: resources/ui/adw/pixel-wheel.ui:47 #: resources/ui/adw/pixel-wheel.ui:47
msgid "Spoke Count" msgid "Spoke Count"
msgstr "" msgstr "Jumlah Spoke"
#: resources/ui/gtk4/glide.ui:115 resources/ui/gtk3/glide.ui:149 #: resources/ui/gtk4/glide.ui:115 resources/ui/gtk3/glide.ui:149
#: resources/ui/adw/glide.ui:80 #: resources/ui/adw/glide.ui:80
msgid "Squish" msgid "Squish"
msgstr "" msgstr "Penyet"
#: resources/ui/gtk4/glide.ui:161 resources/ui/gtk3/glide.ui:194 #: resources/ui/gtk4/glide.ui:161 resources/ui/gtk3/glide.ui:194
#: resources/ui/adw/glide.ui:113 #: 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/gtk4/apparition.ui:114 resources/ui/gtk3/apparition.ui:149
#: resources/ui/adw/apparition.ui:81 #: resources/ui/adw/apparition.ui:81
msgid "Twirl Intensity" msgid "Twirl Intensity"
msgstr "" msgstr "Intensitas Putaran"
#: resources/ui/gtk4/apparition.ui:160 resources/ui/gtk3/apparition.ui:194 #: resources/ui/gtk4/apparition.ui:160 resources/ui/gtk3/apparition.ui:194
#: resources/ui/adw/apparition.ui:114 #: resources/ui/adw/apparition.ui:114
msgid "Shake Intensity" msgid "Shake Intensity"
msgstr "" msgstr "Intensitas Goyang"
#: resources/ui/gtk4/apparition.ui:206 resources/ui/gtk3/apparition.ui:239 #: resources/ui/gtk4/apparition.ui:206 resources/ui/gtk3/apparition.ui:239
#: resources/ui/adw/apparition.ui:147 #: resources/ui/adw/apparition.ui:147
msgid "Suction Intensity" msgid "Suction Intensity"
msgstr "" msgstr "Intensitas Hisap"
#: resources/ui/gtk4/portal.ui:69 resources/ui/gtk3/portal.ui:142 #: resources/ui/gtk4/portal.ui:69 resources/ui/gtk3/portal.ui:142
#: resources/ui/adw/portal.ui:80 #: resources/ui/adw/portal.ui:80
msgid "Whirling" msgid "Whirling"
msgstr "" msgstr "Berputar"
#: resources/ui/gtk4/portal.ui:115 resources/ui/gtk3/portal.ui:97 #: resources/ui/gtk4/portal.ui:115 resources/ui/gtk3/portal.ui:97
#: resources/ui/adw/portal.ui:47 #: 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/gtk4/hexagon.ui:115 resources/ui/gtk3/hexagon.ui:135
#: resources/ui/adw/hexagon.ui:80 #: resources/ui/adw/hexagon.ui:80
msgid "Mesh Line Width" msgid "Mesh Line Width"
msgstr "" msgstr "Lebar Garis Mesh"
#: resources/ui/gtk4/hexagon.ui:161 resources/ui/gtk3/hexagon.ui:179 #: resources/ui/gtk4/hexagon.ui:161 resources/ui/gtk3/hexagon.ui:179
#: resources/ui/adw/hexagon.ui:113 #: resources/ui/adw/hexagon.ui:113
msgid "Line Color" msgid "Line Color"
msgstr "" msgstr "Warna Garis"
#: resources/ui/gtk4/hexagon.ui:198 resources/ui/gtk3/hexagon.ui:221 #: resources/ui/gtk4/hexagon.ui:198 resources/ui/gtk3/hexagon.ui:221
#: resources/ui/adw/hexagon.ui:138 #: resources/ui/adw/hexagon.ui:138
msgid "Glow Color" msgid "Glow Color"
msgstr "" msgstr "Warna Cahaya"
#: resources/ui/gtk4/hexagon.ui:239 resources/ui/gtk3/hexagon.ui:267 #: resources/ui/gtk4/hexagon.ui:239 resources/ui/gtk3/hexagon.ui:267
#: resources/ui/adw/hexagon.ui:163 #: resources/ui/adw/hexagon.ui:163
msgid "Additive Blending" msgid "Additive Blending"
msgstr "" msgstr "Pencampuran Aditif"
#: resources/ui/gtk4/hexagon.ui:248 resources/ui/gtk3/hexagon.ui:276 #: resources/ui/gtk4/hexagon.ui:248 resources/ui/gtk3/hexagon.ui:276
#: resources/ui/adw/hexagon.ui:164 #: resources/ui/adw/hexagon.ui:164
msgid "You may want to enable this for dark window themes." 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/gtk4/fire.ui:22 resources/ui/gtk3/fire.ui:44
#: resources/ui/adw/fire.ui:14 #: 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/gtk4/prefs.ui:82 resources/ui/gtk3/prefs.ui:124
#: resources/ui/adw/prefs.ui:224 #: resources/ui/adw/prefs.ui:224
msgid "Effect Settings" msgid "Effect Settings"
msgstr "" msgstr "Pengaturan Efek"
#: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134 #: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134
#: resources/ui/adw/prefs.ui:225 #: 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/gtk4/prefs.ui:132 resources/ui/gtk3/prefs.ui:172
#: resources/ui/adw/prefs.ui:65 #: resources/ui/adw/prefs.ui:65
msgid "Effect Profile Constraints" msgid "Effect Profile Constraints"
msgstr "" msgstr "Batasan Profil Efek"
#: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182 #: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182
#: resources/ui/adw/prefs.ui:66 #: resources/ui/adw/prefs.ui:66
msgid "Define when the current effect settings should be used." 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/gtk4/prefs.ui:166 resources/ui/gtk3/prefs.ui:206
#: resources/ui/adw/prefs.ui:70 #: resources/ui/adw/prefs.ui:70
msgid "Application" msgid "Application"
msgstr "" msgstr "Aplikasi"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219 #: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219
#: resources/ui/gtk4/prefs.ui:248 resources/ui/gtk4/prefs.ui:277 #: resources/ui/gtk4/prefs.ui: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:117 resources/ui/adw/prefs.ui:132
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162 #: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
msgid "Any" msgid "Any"
msgstr "" msgstr "Apapun"
#: resources/ui/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253 #: resources/ui/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253
#: resources/ui/adw/prefs.ui:98 #: resources/ui/adw/prefs.ui:98
msgid "Animation Type" msgid "Animation Type"
msgstr "" msgstr "Jenis Animasi"
#: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282 #: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282
#: resources/ui/adw/prefs.ui:113 #: resources/ui/adw/prefs.ui:113
msgid "Window Type" msgid "Window Type"
msgstr "" msgstr "Jenis Jendela"
#: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311 #: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311
#: resources/ui/adw/prefs.ui:128 #: resources/ui/adw/prefs.ui:128
msgid "Color Scheme" msgid "Color Scheme"
msgstr "" msgstr "Skema Warna"
#: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340 #: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340
#: resources/ui/adw/prefs.ui:143 #: resources/ui/adw/prefs.ui:143
msgid "Power Mode" msgid "Power Mode"
msgstr "" msgstr "Mode Daya"
#: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369 #: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369
#: resources/ui/adw/prefs.ui:158 #: resources/ui/adw/prefs.ui:158
msgid "Power Profile" msgid "Power Profile"
msgstr "" msgstr "Profil Daya"
#: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401 #: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401
#: resources/ui/adw/prefs.ui:179 #: resources/ui/adw/prefs.ui:179
msgid "Advanced Profile Options" msgid "Advanced Profile Options"
msgstr "" msgstr "Opsi Profil Lanjutan"
#: resources/ui/gtk4/prefs.ui:396 resources/ui/gtk3/prefs.ui:441 #: resources/ui/gtk4/prefs.ui:396 resources/ui/gtk3/prefs.ui:441
#: resources/ui/adw/prefs.ui:184 #: resources/ui/adw/prefs.ui:184
msgid "Use this profile even if there are better matching profiles." 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/gtk4/prefs.ui:428 resources/ui/gtk3/prefs.ui:473
#: resources/ui/adw/prefs.ui:204 #: resources/ui/adw/prefs.ui:204
msgid "Delete this Profile..." msgid "Delete this Profile..."
msgstr "" msgstr "Hapus Profil ini..."
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90 #: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
#: resources/ui/adw/pixelate.ui:47 #: resources/ui/adw/pixelate.ui:47
msgid "Noise" msgid "Noise"
msgstr "" msgstr "Kebisingan"
#: resources/ui/gtk3/fire.ui:58 resources/ui/adw/fire.ui:19 #: resources/ui/gtk3/fire.ui:58 resources/ui/adw/fire.ui:19
msgid "Choose a Preset" msgid "Choose a Preset"
+38 -38
View File
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: burn-my-windows\n" "Project-Id-Version: burn-my-windows\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-21 16:46+0100\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" "Last-Translator: Seong-ho Cho <darkcircle.0426@gmail.com>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/burn-my-windows/" "Language-Team: Korean <https://hosted.weblate.org/projects/burn-my-windows/"
"core/ko/>\n" "core/ko/>\n"
@@ -17,81 +17,81 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\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 #: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103 #: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103
msgid "Opening Windows" msgid "Opening Windows"
msgstr "" msgstr "창 열기"
#: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221 #: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221
#: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104 #: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104
msgid "Closing Windows" msgid "Closing Windows"
msgstr "" msgstr "창 닫기"
#: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249 #: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249
#: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118 #: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118
msgid "Normal Windows" msgid "Normal Windows"
msgstr "" msgstr "일반 창"
#: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250 #: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250
#: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119 #: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119
msgid "Dialog Windows" msgid "Dialog Windows"
msgstr "" msgstr "대화상자 창"
#: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278 #: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278
#: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133 #: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133
msgid "Default Color Scheme" msgid "Default Color Scheme"
msgstr "" msgstr "기본 색상 스킴"
#: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279 #: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279
#: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134 #: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme" msgid "Dark Color Scheme"
msgstr "" msgstr "어두움 색상 스킴"
#: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307 #: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307
#: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148 #: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148
msgid "On Battery" msgid "On Battery"
msgstr "" msgstr "배터리 사용"
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308 #: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308
#: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149 #: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149
msgid "Plugged In" msgid "Plugged In"
msgstr "" msgstr "AC 전원 연결"
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336 #: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336
#: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163 #: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163
msgid "Power-Saver Mode" msgid "Power-Saver Mode"
msgstr "" msgstr "전원 절약 모드"
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337 #: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337
#: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164 #: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164
msgid "Balanced Mode" msgid "Balanced Mode"
msgstr "" msgstr "균형 모드"
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338 #: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338
#: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165 #: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165
msgid "Performance Mode" msgid "Performance Mode"
msgstr "" msgstr "성능 강화 모드"
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339 #: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339
#: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166 #: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166
msgid "Power Saver or Balanced" msgid "Power Saver or Balanced"
msgstr "" msgstr "전원 절약 또는 균형"
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340 #: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340
#: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167 #: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167
msgid "Balanced or Performance" msgid "Balanced or Performance"
msgstr "" msgstr "균형 또는 성능 강화"
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387 #: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387
#: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183 #: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183
msgid "High Priority" msgid "High Priority"
msgstr "" msgstr "높은 우선순위"
#: src/ProfileManager.js:191 #: src/ProfileManager.js:191
msgid "Standard Profile" msgid "Standard Profile"
msgstr "" msgstr "표준 프로파일"
#: src/effects/Apparition.js:78 #: src/effects/Apparition.js:78
msgid "Apparition" msgid "Apparition"
@@ -163,7 +163,7 @@ msgstr "픽셀 파편"
#: src/effects/PixelWheel.js:74 #: src/effects/PixelWheel.js:74
msgid "Pixel Wheel" msgid "Pixel Wheel"
msgstr "픽셀 바퀴회전" msgstr "픽셀 회전"
#: src/effects/PixelWipe.js:101 #: src/effects/PixelWipe.js:101
msgid "Pixel Wipe" msgid "Pixel Wipe"
@@ -199,7 +199,7 @@ msgstr "이 효과를 미리 봅니다"
#: prefs.js:364 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86 #: prefs.js:364 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
msgid "Burn-My-Windows has been updated!" 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 #: prefs.js:365 resources/ui/common/menus.ui:17 resources/ui/gtk4/prefs.ui:56
#: resources/ui/gtk3/prefs.ui:96 #: resources/ui/gtk3/prefs.ui:96
@@ -224,21 +224,21 @@ msgstr "이전 스폰서"
#: prefs.js:585 #: prefs.js:585
msgid "Delete this Profile?" msgid "Delete this Profile?"
msgstr "" msgstr "이 프로파일을 삭제할까요?"
#: prefs.js:587 #: prefs.js:587
msgid "" msgid ""
"The current effect profile with all its effect settings will be permanently " "The current effect profile with all its effect settings will be permanently "
"lost." "lost."
msgstr "" msgstr "모든 효과 설정이 들어간 현재 효과 프로파일을 완전히 날립니다."
#: prefs.js:592 #: prefs.js:592
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr "취소"
#: prefs.js:593 #: prefs.js:593
msgid "Delete" msgid "Delete"
msgstr "" msgstr "삭제"
#. Translators: %s will be replaced by the effect's name. #. Translators: %s will be replaced by the effect's name.
#: prefs.js:923 #: prefs.js:923
@@ -256,7 +256,7 @@ msgstr "홈페이지 방문"
#: resources/ui/common/menus.ui:21 #: resources/ui/common/menus.ui:21
msgid "View Matching Wallpapers" msgid "View Matching Wallpapers"
msgstr "" msgstr "일치하는 배경 보기"
#: resources/ui/common/menus.ui:27 #: resources/ui/common/menus.ui:27
msgid "Report a Bug" msgid "Report a Bug"
@@ -280,7 +280,7 @@ msgstr "Burn-My-Windows 정보"
#: resources/ui/common/menus.ui:63 #: resources/ui/common/menus.ui:63
msgid "Add New Profile..." msgid "Add New Profile..."
msgstr "" msgstr "새 프로파일 추가..."
#: resources/ui/gtk4/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23 #: resources/ui/gtk4/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23
#: resources/ui/gtk4/glitch.ui:23 resources/ui/gtk4/matrix.ui:23 #: resources/ui/gtk4/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/gtk4/prefs.ui:82 resources/ui/gtk3/prefs.ui:124
#: resources/ui/adw/prefs.ui:224 #: resources/ui/adw/prefs.ui:224
msgid "Effect Settings" msgid "Effect Settings"
msgstr "" msgstr "효과 설정"
#: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134 #: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134
#: resources/ui/adw/prefs.ui:225 #: 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/gtk4/prefs.ui:132 resources/ui/gtk3/prefs.ui:172
#: resources/ui/adw/prefs.ui:65 #: resources/ui/adw/prefs.ui:65
msgid "Effect Profile Constraints" msgid "Effect Profile Constraints"
msgstr "" msgstr "효과 프로파일 제약 사항"
#: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182 #: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182
#: resources/ui/adw/prefs.ui:66 #: resources/ui/adw/prefs.ui:66
msgid "Define when the current effect settings should be used." 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/gtk4/prefs.ui:166 resources/ui/gtk3/prefs.ui:206
#: resources/ui/adw/prefs.ui:70 #: resources/ui/adw/prefs.ui:70
msgid "Application" msgid "Application"
msgstr "" msgstr "앱"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219 #: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219
#: resources/ui/gtk4/prefs.ui:248 resources/ui/gtk4/prefs.ui:277 #: resources/ui/gtk4/prefs.ui: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:117 resources/ui/adw/prefs.ui:132
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162 #: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
msgid "Any" msgid "Any"
msgstr "" msgstr "모든 경우"
#: resources/ui/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253 #: resources/ui/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253
#: resources/ui/adw/prefs.ui:98 #: resources/ui/adw/prefs.ui:98
msgid "Animation Type" msgid "Animation Type"
msgstr "" msgstr "애니메이션 형식"
#: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282 #: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282
#: resources/ui/adw/prefs.ui:113 #: resources/ui/adw/prefs.ui:113
msgid "Window Type" msgid "Window Type"
msgstr "" msgstr "창 형식"
#: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311 #: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311
#: resources/ui/adw/prefs.ui:128 #: resources/ui/adw/prefs.ui:128
msgid "Color Scheme" msgid "Color Scheme"
msgstr "" msgstr "색상 스킴"
#: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340 #: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340
#: resources/ui/adw/prefs.ui:143 #: resources/ui/adw/prefs.ui:143
msgid "Power Mode" msgid "Power Mode"
msgstr "" msgstr "전원 관리 모드"
#: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369 #: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369
#: resources/ui/adw/prefs.ui:158 #: resources/ui/adw/prefs.ui:158
msgid "Power Profile" msgid "Power Profile"
msgstr "" msgstr "전원 프로파일"
#: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401 #: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401
#: resources/ui/adw/prefs.ui:179 #: resources/ui/adw/prefs.ui:179
msgid "Advanced Profile Options" msgid "Advanced Profile Options"
msgstr "" msgstr "고급 프로파일 옵션"
#: resources/ui/gtk4/prefs.ui:396 resources/ui/gtk3/prefs.ui:441 #: resources/ui/gtk4/prefs.ui:396 resources/ui/gtk3/prefs.ui:441
#: resources/ui/adw/prefs.ui:184 #: resources/ui/adw/prefs.ui:184
msgid "Use this profile even if there are better matching profiles." 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/gtk4/prefs.ui:428 resources/ui/gtk3/prefs.ui:473
#: resources/ui/adw/prefs.ui:204 #: resources/ui/adw/prefs.ui:204
msgid "Delete this Profile..." msgid "Delete this Profile..."
msgstr "" msgstr "이 프로파일 삭제..."
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90 #: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
#: resources/ui/adw/pixelate.ui:47 #: resources/ui/adw/pixelate.ui:47
+4 -4
View File
@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Burn-My-Windows\n" "Project-Id-Version: Burn-My-Windows\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-21 16:46+0100\n" "POT-Creation-Date: 2023-02-21 16:46+0100\n"
"PO-Revision-Date: 2023-02-21 16:19+0000\n" "PO-Revision-Date: 2023-03-17 10:41+0000\n"
"Last-Translator: Heimen Stoffels <vistausss@fastmail.com>\n" "Last-Translator: Philip Goto <philip.goto@gmail.com>\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/burn-my-windows/" "Language-Team: Dutch <https://hosted.weblate.org/projects/burn-my-windows/"
"core/nl/>\n" "core/nl/>\n"
"Language: nl\n" "Language: nl\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\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 #: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103 #: 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/gtk4/prefs.ui:166 resources/ui/gtk3/prefs.ui:206
#: resources/ui/adw/prefs.ui:70 #: resources/ui/adw/prefs.ui:70
msgid "Application" msgid "Application"
msgstr "Toepassing" msgstr "App"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219 #: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219
#: resources/ui/gtk4/prefs.ui:248 resources/ui/gtk4/prefs.ui:277 #: resources/ui/gtk4/prefs.ui:248 resources/ui/gtk4/prefs.ui:277
+39 -37
View File
@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: burn-my-windows\n" "Project-Id-Version: burn-my-windows\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-21 16:46+0100\n" "POT-Creation-Date: 2023-02-21 16:46+0100\n"
"PO-Revision-Date: 2023-01-25 20:52+0000\n" "PO-Revision-Date: 2023-03-05 17:41+0000\n"
"Last-Translator: gnu-ewm <gnu.ewm@protonmail.com>\n" "Last-Translator: WaldiS <sto@tutanota.de>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/burn-my-windows/" "Language-Team: Polish <https://hosted.weblate.org/projects/burn-my-windows/"
"core/pl/>\n" "core/pl/>\n"
"Language: pl\n" "Language: pl\n"
@@ -18,81 +18,81 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n" "|| 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 #: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103 #: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103
msgid "Opening Windows" msgid "Opening Windows"
msgstr "" msgstr "Otwieranie okien"
#: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221 #: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221
#: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104 #: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104
msgid "Closing Windows" msgid "Closing Windows"
msgstr "" msgstr "Zamykanie okien"
#: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249 #: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249
#: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118 #: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118
msgid "Normal Windows" msgid "Normal Windows"
msgstr "" msgstr "Normalne okna"
#: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250 #: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250
#: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119 #: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119
msgid "Dialog Windows" msgid "Dialog Windows"
msgstr "" msgstr "Okna dialogowe"
#: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278 #: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278
#: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133 #: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133
msgid "Default Color Scheme" msgid "Default Color Scheme"
msgstr "" msgstr "Domyślny schemat kolorów"
#: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279 #: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279
#: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134 #: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme" msgid "Dark Color Scheme"
msgstr "" msgstr "Ciemny schemat kolorów"
#: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307 #: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307
#: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148 #: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148
msgid "On Battery" msgid "On Battery"
msgstr "" msgstr "Zasilanie bateryjne"
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308 #: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308
#: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149 #: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149
msgid "Plugged In" msgid "Plugged In"
msgstr "" msgstr "Podłączony"
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336 #: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336
#: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163 #: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163
msgid "Power-Saver Mode" msgid "Power-Saver Mode"
msgstr "" msgstr "Tryb oszczędzania energii"
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337 #: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337
#: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164 #: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164
msgid "Balanced Mode" msgid "Balanced Mode"
msgstr "" msgstr "Tryb zrównoważony"
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338 #: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338
#: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165 #: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165
msgid "Performance Mode" msgid "Performance Mode"
msgstr "" msgstr "Tryb wydajności"
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339 #: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339
#: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166 #: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166
msgid "Power Saver or Balanced" msgid "Power Saver or Balanced"
msgstr "" msgstr "Oszczędzanie energii lub zrównoważony"
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340 #: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340
#: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167 #: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167
msgid "Balanced or Performance" msgid "Balanced or Performance"
msgstr "" msgstr "Zrównoważony lub wydajny"
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387 #: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387
#: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183 #: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183
msgid "High Priority" msgid "High Priority"
msgstr "" msgstr "Wysoki priorytet"
#: src/ProfileManager.js:191 #: src/ProfileManager.js:191
msgid "Standard Profile" msgid "Standard Profile"
msgstr "" msgstr "Profil standardowy"
#: src/effects/Apparition.js:78 #: src/effects/Apparition.js:78
msgid "Apparition" 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 #: prefs.js:364 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
msgid "Burn-My-Windows has been updated!" 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 #: prefs.js:365 resources/ui/common/menus.ui:17 resources/ui/gtk4/prefs.ui:56
#: resources/ui/gtk3/prefs.ui:96 #: resources/ui/gtk3/prefs.ui:96
@@ -225,21 +225,23 @@ msgstr "Byli Sponsorzy"
#: prefs.js:585 #: prefs.js:585
msgid "Delete this Profile?" msgid "Delete this Profile?"
msgstr "" msgstr "Usunąć ten profil?"
#: prefs.js:587 #: prefs.js:587
msgid "" msgid ""
"The current effect profile with all its effect settings will be permanently " "The current effect profile with all its effect settings will be permanently "
"lost." "lost."
msgstr "" msgstr ""
"Bieżący profil efektów wraz ze wszystkimi jego ustawieniami efektów zostanie "
"trwale utracony."
#: prefs.js:592 #: prefs.js:592
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr "Anuluj"
#: prefs.js:593 #: prefs.js:593
msgid "Delete" msgid "Delete"
msgstr "" msgstr "Usuń"
#. Translators: %s will be replaced by the effect's name. #. Translators: %s will be replaced by the effect's name.
#: prefs.js:923 #: prefs.js:923
@@ -257,7 +259,7 @@ msgstr "Odwiedź Stronę Główną"
#: resources/ui/common/menus.ui:21 #: resources/ui/common/menus.ui:21
msgid "View Matching Wallpapers" msgid "View Matching Wallpapers"
msgstr "" msgstr "Zobacz pasujące tapety"
#: resources/ui/common/menus.ui:27 #: resources/ui/common/menus.ui:27
msgid "Report a Bug" msgid "Report a Bug"
@@ -281,7 +283,7 @@ msgstr "Informacje o Burn-My-Windows"
#: resources/ui/common/menus.ui:63 #: resources/ui/common/menus.ui:63
msgid "Add New Profile..." 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/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23
#: resources/ui/gtk4/glitch.ui:23 resources/ui/gtk4/matrix.ui:23 #: resources/ui/gtk4/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/gtk4/prefs.ui:82 resources/ui/gtk3/prefs.ui:124
#: resources/ui/adw/prefs.ui:224 #: resources/ui/adw/prefs.ui:224
msgid "Effect Settings" msgid "Effect Settings"
msgstr "" msgstr "Ustawienia efektu"
#: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134 #: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134
#: resources/ui/adw/prefs.ui:225 #: 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/gtk4/prefs.ui:132 resources/ui/gtk3/prefs.ui:172
#: resources/ui/adw/prefs.ui:65 #: resources/ui/adw/prefs.ui:65
msgid "Effect Profile Constraints" msgid "Effect Profile Constraints"
msgstr "" msgstr "Ograniczenia profilu efektu"
#: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182 #: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182
#: resources/ui/adw/prefs.ui:66 #: resources/ui/adw/prefs.ui:66
msgid "Define when the current effect settings should be used." 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/gtk4/prefs.ui:166 resources/ui/gtk3/prefs.ui:206
#: resources/ui/adw/prefs.ui:70 #: resources/ui/adw/prefs.ui:70
msgid "Application" msgid "Application"
msgstr "" msgstr "Aplikacja"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219 #: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219
#: resources/ui/gtk4/prefs.ui:248 resources/ui/gtk4/prefs.ui:277 #: resources/ui/gtk4/prefs.ui: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:117 resources/ui/adw/prefs.ui:132
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162 #: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
msgid "Any" msgid "Any"
msgstr "" msgstr "Każdy"
#: resources/ui/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253 #: resources/ui/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253
#: resources/ui/adw/prefs.ui:98 #: resources/ui/adw/prefs.ui:98
msgid "Animation Type" msgid "Animation Type"
msgstr "" msgstr "Typ animacji"
#: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282 #: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282
#: resources/ui/adw/prefs.ui:113 #: resources/ui/adw/prefs.ui:113
msgid "Window Type" msgid "Window Type"
msgstr "" msgstr "Typ okna"
#: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311 #: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311
#: resources/ui/adw/prefs.ui:128 #: resources/ui/adw/prefs.ui:128
msgid "Color Scheme" msgid "Color Scheme"
msgstr "" msgstr "Schemat kolorów"
#: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340 #: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340
#: resources/ui/adw/prefs.ui:143 #: resources/ui/adw/prefs.ui:143
msgid "Power Mode" msgid "Power Mode"
msgstr "" msgstr "Tryb zasilania"
#: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369 #: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369
#: resources/ui/adw/prefs.ui:158 #: resources/ui/adw/prefs.ui:158
msgid "Power Profile" msgid "Power Profile"
msgstr "" msgstr "Profil mocy"
#: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401 #: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401
#: resources/ui/adw/prefs.ui:179 #: resources/ui/adw/prefs.ui:179
msgid "Advanced Profile Options" msgid "Advanced Profile Options"
msgstr "" msgstr "Zaawansowane opcje profilu"
#: resources/ui/gtk4/prefs.ui:396 resources/ui/gtk3/prefs.ui:441 #: resources/ui/gtk4/prefs.ui:396 resources/ui/gtk3/prefs.ui:441
#: resources/ui/adw/prefs.ui:184 #: resources/ui/adw/prefs.ui:184
msgid "Use this profile even if there are better matching profiles." 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/gtk4/prefs.ui:428 resources/ui/gtk3/prefs.ui:473
#: resources/ui/adw/prefs.ui:204 #: resources/ui/adw/prefs.ui:204
msgid "Delete this Profile..." msgid "Delete this Profile..."
msgstr "" msgstr "Usuń ten profil..."
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90 #: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
#: resources/ui/adw/pixelate.ui:47 #: resources/ui/adw/pixelate.ui:47
+20 -18
View File
@@ -8,16 +8,16 @@ msgstr ""
"Project-Id-Version: burn-my-windows\n" "Project-Id-Version: burn-my-windows\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-21 16:46+0100\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" "Last-Translator: Isaac Dias <mr-isaac@ig.com.br>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/burn-" "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"my-windows/core/pt_BR/>\n" "burn-my-windows/core/pt_BR/>\n"
"Language: pt_BR\n" "Language: pt_BR\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\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 #: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103 #: 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 #: prefs.js:496 prefs.js:528
msgid "Gold Sponsors" msgid "Gold Sponsors"
msgstr "" msgstr "Patrocinadores Ouro"
#: prefs.js:500 prefs.js:532 #: prefs.js:500 prefs.js:532
msgid "Silver Sponsors" msgid "Silver Sponsors"
msgstr "" msgstr "Patrocinadores Prata"
#: prefs.js:504 prefs.js:536 #: prefs.js:504 prefs.js:536
msgid "Bronze Sponsors" msgid "Bronze Sponsors"
msgstr "" msgstr "Patrocinadores Bronze"
#: prefs.js:508 prefs.js:540 #: prefs.js:508 prefs.js:540
msgid "Past Sponsors" msgid "Past Sponsors"
msgstr "" msgstr "Patrocinadores Anteriores"
#: prefs.js:585 #: prefs.js:585
msgid "Delete this Profile?" msgid "Delete this Profile?"
msgstr "" msgstr "Excluir esse Perfil?"
#: prefs.js:587 #: prefs.js:587
msgid "" msgid ""
"The current effect profile with all its effect settings will be permanently " "The current effect profile with all its effect settings will be permanently "
"lost." "lost."
msgstr "" msgstr ""
"O perfil de efeito atual com todas as suas configurações de efeito será "
"perdido permanentemente."
#: prefs.js:592 #: prefs.js:592
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr "Cancelar"
#: prefs.js:593 #: prefs.js:593
msgid "Delete" msgid "Delete"
msgstr "" msgstr "Deletar"
#. Translators: %s will be replaced by the effect's name. #. Translators: %s will be replaced by the effect's name.
#: prefs.js:923 #: prefs.js:923
#, javascript-format #, javascript-format
msgid "Preview for %s" msgid "Preview for %s"
msgstr "" msgstr "Visualização para %s"
#: prefs.js:945 #: prefs.js:945
msgid "Close this Window to Preview the Effect!" msgid "Close this Window to Preview the Effect!"
msgstr "" msgstr "Feche essa Janela para Visualizar o Efeito!"
#: resources/ui/common/menus.ui:13 #: resources/ui/common/menus.ui:13
msgid "Visit Homepage" msgid "Visit Homepage"
msgstr "" msgstr "Visite a Homepage"
#: resources/ui/common/menus.ui:21 #: resources/ui/common/menus.ui:21
msgid "View Matching Wallpapers" msgid "View Matching Wallpapers"
msgstr "" msgstr "Ver papéis de parede correspondentes"
#: resources/ui/common/menus.ui:27 #: resources/ui/common/menus.ui:27
msgid "Report a Bug" 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 #: resources/ui/gtk4/trex.ui:115 resources/ui/adw/trex.ui:80
msgid "Claw Scratch Count" msgid "Claw Scratch Count"
msgstr "" msgstr "Total de Arranhões de Garra"
#: resources/ui/gtk4/trex.ui:161 resources/ui/adw/trex.ui:113 #: resources/ui/gtk4/trex.ui:161 resources/ui/adw/trex.ui:113
msgid "Warp Effect" msgid "Warp Effect"
msgstr "" msgstr "Efeito de Deformação"
#: resources/ui/gtk4/trex.ui:207 resources/ui/adw/trex.ui:146 #: resources/ui/gtk4/trex.ui:207 resources/ui/adw/trex.ui:146
msgid "Flash Color" msgid "Flash Color"
msgstr "" msgstr "Cor do Flash"
#: resources/ui/gtk4/pixel-wheel.ui:69 resources/ui/gtk3/pixel-wheel.ui:90 #: resources/ui/gtk4/pixel-wheel.ui:69 resources/ui/gtk3/pixel-wheel.ui:90
#: resources/ui/adw/pixel-wheel.ui:47 #: resources/ui/adw/pixel-wheel.ui:47
+3 -3
View File
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: burn-my-windows\n" "Project-Id-Version: burn-my-windows\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-21 16:46+0100\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" "Last-Translator: SoftExpert <softexpert@gmail.com>\n"
"Language-Team: Romanian <https://hosted.weblate.org/projects/burn-my-windows/" "Language-Team: Romanian <https://hosted.weblate.org/projects/burn-my-windows/"
"core/ro/>\n" "core/ro/>\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " "Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n" "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 #: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103 #: 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 #: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279
#: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134 #: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme" msgid "Dark Color Scheme"
msgstr "Schema de culori întunecate" msgstr "Schemă de culori întunecate"
#: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307 #: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307
#: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148 #: 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" "Project-Id-Version: burn-my-windows\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-21 16:46+0100\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" "Last-Translator: Jose Riha <jose1711@gmail.com>\n"
"Language-Team: Slovak <https://hosted.weblate.org/projects/burn-my-windows/" "Language-Team: Slovak <https://hosted.weblate.org/projects/burn-my-windows/"
"core/sk/>\n" "core/sk/>\n"
@@ -17,81 +17,81 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\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 #: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103 #: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103
msgid "Opening Windows" msgid "Opening Windows"
msgstr "" msgstr "Otváranie okien"
#: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221 #: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221
#: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104 #: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104
msgid "Closing Windows" msgid "Closing Windows"
msgstr "" msgstr "Zatváranie okien"
#: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249 #: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249
#: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118 #: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118
msgid "Normal Windows" msgid "Normal Windows"
msgstr "" msgstr "Normálne okná"
#: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250 #: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250
#: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119 #: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119
msgid "Dialog Windows" msgid "Dialog Windows"
msgstr "" msgstr "Dialógové okná"
#: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278 #: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278
#: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133 #: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133
msgid "Default Color Scheme" msgid "Default Color Scheme"
msgstr "" msgstr "Predvolený motív farieb"
#: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279 #: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279
#: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134 #: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme" msgid "Dark Color Scheme"
msgstr "" msgstr "Tmavý motív farieb"
#: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307 #: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307
#: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148 #: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148
msgid "On Battery" msgid "On Battery"
msgstr "" msgstr "Pri behu na batériu"
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308 #: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308
#: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149 #: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149
msgid "Plugged In" msgid "Plugged In"
msgstr "" msgstr "Pri nabíjaní"
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336 #: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336
#: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163 #: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163
msgid "Power-Saver Mode" msgid "Power-Saver Mode"
msgstr "" msgstr "Režim šetrenia energie"
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337 #: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337
#: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164 #: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164
msgid "Balanced Mode" msgid "Balanced Mode"
msgstr "" msgstr "Vyvážený režim"
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338 #: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338
#: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165 #: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165
msgid "Performance Mode" msgid "Performance Mode"
msgstr "" msgstr "Vysoký výkon"
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339 #: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339
#: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166 #: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166
msgid "Power Saver or Balanced" msgid "Power Saver or Balanced"
msgstr "" msgstr "Šetrenie energie alebo vyvážený"
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340 #: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340
#: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167 #: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167
msgid "Balanced or Performance" msgid "Balanced or Performance"
msgstr "" msgstr "Vyvážený alebo vysoký výkon"
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387 #: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387
#: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183 #: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183
msgid "High Priority" msgid "High Priority"
msgstr "" msgstr "Vysoká priorita"
#: src/ProfileManager.js:191 #: src/ProfileManager.js:191
msgid "Standard Profile" msgid "Standard Profile"
msgstr "" msgstr "Štandardný profil"
#: src/effects/Apparition.js:78 #: src/effects/Apparition.js:78
msgid "Apparition" msgid "Apparition"
@@ -127,7 +127,7 @@ msgstr "Pekelný oheň"
#: src/effects/Fire.js:174 #: src/effects/Fire.js:174
msgid "Dark and Smutty" msgid "Dark and Smutty"
msgstr "Tmavý a zafúľaný" msgstr "Tmavý a špinavý"
#: src/effects/Fire.js:184 #: src/effects/Fire.js:184
msgid "Cold Breeze" msgid "Cold Breeze"
@@ -135,15 +135,15 @@ msgstr "Studený vánok"
#: src/effects/Fire.js:194 #: src/effects/Fire.js:194
msgid "Santa is Coming" msgid "Santa is Coming"
msgstr "Santa prichádza" msgstr "Santa je tu!"
#: src/effects/Glide.js:78 #: src/effects/Glide.js:78
msgid "Glide" msgid "Glide"
msgstr "" msgstr "Kĺzanie"
#: src/effects/Glitch.js:86 #: src/effects/Glitch.js:86
msgid "Glitch" msgid "Glitch"
msgstr "" msgstr "Rušenie"
#: src/effects/Hexagon.js:94 #: src/effects/Hexagon.js:94
msgid "Hexagon" msgid "Hexagon"
@@ -171,7 +171,7 @@ msgstr "Zotrenie štvorčekmi"
#: src/effects/Portal.js:88 #: src/effects/Portal.js:88
msgid "Portal" msgid "Portal"
msgstr "" msgstr "Portál"
#: src/effects/SnapOfDisintegration.js:114 #: src/effects/SnapOfDisintegration.js:114
msgid "Snap of Disintegration" msgid "Snap of Disintegration"
@@ -187,7 +187,7 @@ msgstr "Televízor"
#: src/effects/TVGlitch.js:87 #: src/effects/TVGlitch.js:87
msgid "TV Glitch" msgid "TV Glitch"
msgstr "" msgstr "Rušenie televízora"
#: src/effects/Wisps.js:82 #: src/effects/Wisps.js:82
msgid "Wisps" msgid "Wisps"
@@ -195,11 +195,11 @@ msgstr "Obláčiky"
#: prefs.js:247 #: prefs.js:247
msgid "Preview this effect" 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 #: prefs.js:364 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
msgid "Burn-My-Windows has been updated!" 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 #: prefs.js:365 resources/ui/common/menus.ui:17 resources/ui/gtk4/prefs.ui:56
#: resources/ui/gtk3/prefs.ui:96 #: resources/ui/gtk3/prefs.ui:96
@@ -224,21 +224,23 @@ msgstr "Bývalí sponzori"
#: prefs.js:585 #: prefs.js:585
msgid "Delete this Profile?" msgid "Delete this Profile?"
msgstr "" msgstr "Odstrániť tento profil?"
#: prefs.js:587 #: prefs.js:587
msgid "" msgid ""
"The current effect profile with all its effect settings will be permanently " "The current effect profile with all its effect settings will be permanently "
"lost." "lost."
msgstr "" msgstr ""
"Aktuálny profil efektu spolu so všetkými nastaveniami efektov bude trvalo "
"odstránený."
#: prefs.js:592 #: prefs.js:592
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr "Zrušiť"
#: prefs.js:593 #: prefs.js:593
msgid "Delete" msgid "Delete"
msgstr "" msgstr "Odstrániť"
#. Translators: %s will be replaced by the effect's name. #. Translators: %s will be replaced by the effect's name.
#: prefs.js:923 #: prefs.js:923
@@ -256,7 +258,7 @@ msgstr "Navštíviť webovú stránku"
#: resources/ui/common/menus.ui:21 #: resources/ui/common/menus.ui:21
msgid "View Matching Wallpapers" msgid "View Matching Wallpapers"
msgstr "" msgstr "Zobraziť zodpovedajúce pozadia plochy"
#: resources/ui/common/menus.ui:27 #: resources/ui/common/menus.ui:27
msgid "Report a Bug" msgid "Report a Bug"
@@ -280,7 +282,7 @@ msgstr "O Burn-My-Windows"
#: resources/ui/common/menus.ui:63 #: resources/ui/common/menus.ui:63
msgid "Add New Profile..." 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/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23
#: resources/ui/gtk4/glitch.ui:23 resources/ui/gtk4/matrix.ui:23 #: resources/ui/gtk4/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/gtk3/tv-glitch.ui:142 resources/ui/gtk3/glitch.ui:142
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80 #: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
msgid "Strength" msgid "Strength"
msgstr "" msgstr "Intenzita"
#: resources/ui/gtk4/tv-glitch.ui:161 resources/ui/gtk4/glitch.ui:161 #: resources/ui/gtk4/tv-glitch.ui:161 resources/ui/gtk4/glitch.ui:161
#: resources/ui/gtk4/fire.ui:138 resources/ui/gtk3/tv-glitch.ui:187 #: resources/ui/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/gtk4/glide.ui:115 resources/ui/gtk3/glide.ui:149
#: resources/ui/adw/glide.ui:80 #: resources/ui/adw/glide.ui:80
msgid "Squish" msgid "Squish"
msgstr "" msgstr "Stlačenie"
#: resources/ui/gtk4/glide.ui:161 resources/ui/gtk3/glide.ui:194 #: resources/ui/gtk4/glide.ui:161 resources/ui/gtk3/glide.ui:194
#: resources/ui/adw/glide.ui:113 #: resources/ui/adw/glide.ui:113
msgid "Tilt" msgid "Tilt"
msgstr "" msgstr "Naklonenie"
#: resources/ui/gtk4/glide.ui:207 resources/ui/gtk3/glide.ui:239 #: resources/ui/gtk4/glide.ui:207 resources/ui/gtk3/glide.ui:239
#: resources/ui/adw/glide.ui:146 #: resources/ui/adw/glide.ui:146
msgid "Shift" msgid "Shift"
msgstr "" msgstr "Posunutie"
#: resources/ui/gtk4/apparition.ui:114 resources/ui/gtk3/apparition.ui:149 #: resources/ui/gtk4/apparition.ui:114 resources/ui/gtk3/apparition.ui:149
#: resources/ui/adw/apparition.ui:81 #: 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/gtk4/portal.ui:69 resources/ui/gtk3/portal.ui:142
#: resources/ui/adw/portal.ui:80 #: resources/ui/adw/portal.ui:80
msgid "Whirling" msgid "Whirling"
msgstr "" msgstr "Vír"
#: resources/ui/gtk4/portal.ui:115 resources/ui/gtk3/portal.ui:97 #: resources/ui/gtk4/portal.ui:115 resources/ui/gtk3/portal.ui:97
#: resources/ui/adw/portal.ui:47 #: resources/ui/adw/portal.ui:47
msgid "Rotation Speed" msgid "Rotation Speed"
msgstr "" msgstr "Rýchlosť otáčania"
#: resources/ui/gtk4/portal.ui:161 resources/ui/gtk3/portal.ui:187 #: resources/ui/gtk4/portal.ui:161 resources/ui/gtk3/portal.ui:187
#: resources/ui/adw/portal.ui:113 #: resources/ui/adw/portal.ui:113
msgid "Details" msgid "Details"
msgstr "" msgstr "Podrobnosti"
#: resources/ui/gtk4/incinerate.ui:115 resources/ui/gtk3/incinerate.ui:135 #: resources/ui/gtk4/incinerate.ui:115 resources/ui/gtk3/incinerate.ui:135
#: resources/ui/adw/incinerate.ui:80 #: 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/gtk4/fire.ui:197 resources/ui/gtk3/fire.ui:229
#: resources/ui/adw/fire.ui:130 #: resources/ui/adw/fire.ui:130
msgid "Creates a more dynamic fire but requires more GPU power." 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/gtk4/fire.ui:239 resources/ui/gtk3/fire.ui:276
#: resources/ui/adw/fire.ui:152 #: 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/gtk4/prefs.ui:82 resources/ui/gtk3/prefs.ui:124
#: resources/ui/adw/prefs.ui:224 #: resources/ui/adw/prefs.ui:224
msgid "Effect Settings" msgid "Effect Settings"
msgstr "" msgstr "Nastavenia efektov"
#: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134 #: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134
#: resources/ui/adw/prefs.ui:225 #: 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/gtk4/prefs.ui:132 resources/ui/gtk3/prefs.ui:172
#: resources/ui/adw/prefs.ui:65 #: resources/ui/adw/prefs.ui:65
msgid "Effect Profile Constraints" msgid "Effect Profile Constraints"
msgstr "" msgstr "Obmedzenia profilu efektov"
#: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182 #: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182
#: resources/ui/adw/prefs.ui:66 #: resources/ui/adw/prefs.ui:66
msgid "Define when the current effect settings should be used." 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/gtk4/prefs.ui:166 resources/ui/gtk3/prefs.ui:206
#: resources/ui/adw/prefs.ui:70 #: resources/ui/adw/prefs.ui:70
msgid "Application" msgid "Application"
msgstr "" msgstr "Aplikácia"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219 #: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219
#: resources/ui/gtk4/prefs.ui:248 resources/ui/gtk4/prefs.ui:277 #: resources/ui/gtk4/prefs.ui: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:117 resources/ui/adw/prefs.ui:132
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162 #: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
msgid "Any" msgid "Any"
msgstr "" msgstr "Ľubovoľné"
#: resources/ui/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253 #: resources/ui/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253
#: resources/ui/adw/prefs.ui:98 #: resources/ui/adw/prefs.ui:98
msgid "Animation Type" msgid "Animation Type"
msgstr "" msgstr "Typ animácie"
#: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282 #: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282
#: resources/ui/adw/prefs.ui:113 #: resources/ui/adw/prefs.ui:113
msgid "Window Type" msgid "Window Type"
msgstr "" msgstr "Typ okna"
#: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311 #: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311
#: resources/ui/adw/prefs.ui:128 #: resources/ui/adw/prefs.ui:128
msgid "Color Scheme" msgid "Color Scheme"
msgstr "" msgstr "Motív farieb"
#: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340 #: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340
#: resources/ui/adw/prefs.ui:143 #: resources/ui/adw/prefs.ui:143
msgid "Power Mode" msgid "Power Mode"
msgstr "" msgstr "Režim šetrenia energie"
#: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369 #: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369
#: resources/ui/adw/prefs.ui:158 #: resources/ui/adw/prefs.ui:158
msgid "Power Profile" msgid "Power Profile"
msgstr "" msgstr "Profil šetrenia energie"
#: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401 #: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401
#: resources/ui/adw/prefs.ui:179 #: resources/ui/adw/prefs.ui:179
msgid "Advanced Profile Options" 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/gtk4/prefs.ui:396 resources/ui/gtk3/prefs.ui:441
#: resources/ui/adw/prefs.ui:184 #: resources/ui/adw/prefs.ui:184
msgid "Use this profile even if there are better matching profiles." msgid "Use this profile even if there are better matching profiles."
msgstr "" 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/gtk4/prefs.ui:428 resources/ui/gtk3/prefs.ui:473
#: resources/ui/adw/prefs.ui:204 #: resources/ui/adw/prefs.ui:204
msgid "Delete this Profile..." msgid "Delete this Profile..."
msgstr "" msgstr "Odstrániť tento profil…"
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90 #: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
#: resources/ui/adw/pixelate.ui:47 #: resources/ui/adw/pixelate.ui:47
+43 -41
View File
@@ -8,91 +8,91 @@ msgstr ""
"Project-Id-Version: burn-my-windows\n" "Project-Id-Version: burn-my-windows\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-21 16:46+0100\n" "POT-Creation-Date: 2023-02-21 16:46+0100\n"
"PO-Revision-Date: 2023-01-25 20:52+0000\n" "PO-Revision-Date: 2023-03-28 09:40+0000\n"
"Last-Translator: Petro S. <911us@duck.com>\n" "Last-Translator: CakesTwix <cakestwix1@gmail.com>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/burn-my-" "Language-Team: Ukrainian <https://hosted.weblate.org/projects/"
"windows/core/uk/>\n" "burn-my-windows/core/uk/>\n"
"Language: uk\n" "Language: uk\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "n%10<=4 && (n%100<10 || 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 #: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103 #: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103
msgid "Opening Windows" msgid "Opening Windows"
msgstr "" msgstr "Відкриття вікон"
#: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221 #: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221
#: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104 #: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104
msgid "Closing Windows" msgid "Closing Windows"
msgstr "" msgstr "Закриття вікон"
#: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249 #: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249
#: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118 #: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118
msgid "Normal Windows" msgid "Normal Windows"
msgstr "" msgstr "Звичайні вікна"
#: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250 #: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250
#: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119 #: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119
msgid "Dialog Windows" msgid "Dialog Windows"
msgstr "" msgstr "Діалогові вікна"
#: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278 #: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278
#: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133 #: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133
msgid "Default Color Scheme" msgid "Default Color Scheme"
msgstr "" msgstr "Кольорова схема за замовчуванням"
#: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279 #: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279
#: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134 #: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme" msgid "Dark Color Scheme"
msgstr "" msgstr "Темна кольорова схема"
#: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307 #: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307
#: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148 #: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148
msgid "On Battery" msgid "On Battery"
msgstr "" msgstr "На батареї"
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308 #: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308
#: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149 #: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149
msgid "Plugged In" msgid "Plugged In"
msgstr "" msgstr "Підключено до електромережі"
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336 #: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336
#: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163 #: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163
msgid "Power-Saver Mode" msgid "Power-Saver Mode"
msgstr "" msgstr "Режим енергозбереження"
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337 #: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337
#: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164 #: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164
msgid "Balanced Mode" msgid "Balanced Mode"
msgstr "" msgstr "Збалансований режим"
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338 #: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338
#: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165 #: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165
msgid "Performance Mode" msgid "Performance Mode"
msgstr "" msgstr "Продуктивний режим"
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339 #: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339
#: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166 #: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166
msgid "Power Saver or Balanced" msgid "Power Saver or Balanced"
msgstr "" msgstr "Енергозберігаючий або збалансований"
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340 #: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340
#: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167 #: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167
msgid "Balanced or Performance" msgid "Balanced or Performance"
msgstr "" msgstr "Збалансований або продуктивний"
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387 #: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387
#: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183 #: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183
msgid "High Priority" msgid "High Priority"
msgstr "" msgstr "Високий пріоритет"
#: src/ProfileManager.js:191 #: src/ProfileManager.js:191
msgid "Standard Profile" msgid "Standard Profile"
msgstr "" msgstr "Стандартний профіль"
#: src/effects/Apparition.js:78 #: src/effects/Apparition.js:78
msgid "Apparition" msgid "Apparition"
@@ -200,7 +200,7 @@ msgstr "Попередній перегляд цього ефекту"
#: prefs.js:364 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86 #: prefs.js:364 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
msgid "Burn-My-Windows has been updated!" 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 #: prefs.js:365 resources/ui/common/menus.ui:17 resources/ui/gtk4/prefs.ui:56
#: resources/ui/gtk3/prefs.ui:96 #: resources/ui/gtk3/prefs.ui:96
@@ -225,21 +225,23 @@ msgstr "Колишні спонсори"
#: prefs.js:585 #: prefs.js:585
msgid "Delete this Profile?" msgid "Delete this Profile?"
msgstr "" msgstr "Видалити цей профіль?"
#: prefs.js:587 #: prefs.js:587
msgid "" msgid ""
"The current effect profile with all its effect settings will be permanently " "The current effect profile with all its effect settings will be permanently "
"lost." "lost."
msgstr "" msgstr ""
"Поточний профіль ефекту з усіма його налаштуваннями буде безповоротно "
"втрачено."
#: prefs.js:592 #: prefs.js:592
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr "Скасувати"
#: prefs.js:593 #: prefs.js:593
msgid "Delete" msgid "Delete"
msgstr "" msgstr "Видалити"
#. Translators: %s will be replaced by the effect's name. #. Translators: %s will be replaced by the effect's name.
#: prefs.js:923 #: prefs.js:923
@@ -257,7 +259,7 @@ msgstr "Завітайте на сайт"
#: resources/ui/common/menus.ui:21 #: resources/ui/common/menus.ui:21
msgid "View Matching Wallpapers" msgid "View Matching Wallpapers"
msgstr "" msgstr "Переглянути відповідні обої"
#: resources/ui/common/menus.ui:27 #: resources/ui/common/menus.ui:27
msgid "Report a Bug" msgid "Report a Bug"
@@ -281,7 +283,7 @@ msgstr "Про Burn-My-Windows"
#: resources/ui/common/menus.ui:63 #: resources/ui/common/menus.ui:63
msgid "Add New Profile..." msgid "Add New Profile..."
msgstr "" msgstr "Додати новий профіль..."
#: resources/ui/gtk4/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23 #: resources/ui/gtk4/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23
#: resources/ui/gtk4/glitch.ui:23 resources/ui/gtk4/matrix.ui:23 #: resources/ui/gtk4/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/gtk4/prefs.ui:82 resources/ui/gtk3/prefs.ui:124
#: resources/ui/adw/prefs.ui:224 #: resources/ui/adw/prefs.ui:224
msgid "Effect Settings" msgid "Effect Settings"
msgstr "" msgstr "Налаштування ефектів"
#: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134 #: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134
#: resources/ui/adw/prefs.ui:225 #: 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/gtk4/prefs.ui:132 resources/ui/gtk3/prefs.ui:172
#: resources/ui/adw/prefs.ui:65 #: resources/ui/adw/prefs.ui:65
msgid "Effect Profile Constraints" msgid "Effect Profile Constraints"
msgstr "" msgstr "Обмеження профілю ефектів"
#: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182 #: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182
#: resources/ui/adw/prefs.ui:66 #: resources/ui/adw/prefs.ui:66
msgid "Define when the current effect settings should be used." 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/gtk4/prefs.ui:166 resources/ui/gtk3/prefs.ui:206
#: resources/ui/adw/prefs.ui:70 #: resources/ui/adw/prefs.ui:70
msgid "Application" msgid "Application"
msgstr "" msgstr "Додаток"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219 #: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219
#: resources/ui/gtk4/prefs.ui:248 resources/ui/gtk4/prefs.ui:277 #: resources/ui/gtk4/prefs.ui: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:117 resources/ui/adw/prefs.ui:132
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162 #: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
msgid "Any" msgid "Any"
msgstr "" msgstr "Будь-який"
#: resources/ui/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253 #: resources/ui/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253
#: resources/ui/adw/prefs.ui:98 #: resources/ui/adw/prefs.ui:98
msgid "Animation Type" msgid "Animation Type"
msgstr "" msgstr "Тип анімації"
#: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282 #: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282
#: resources/ui/adw/prefs.ui:113 #: resources/ui/adw/prefs.ui:113
msgid "Window Type" msgid "Window Type"
msgstr "" msgstr "Тип вікна"
#: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311 #: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311
#: resources/ui/adw/prefs.ui:128 #: resources/ui/adw/prefs.ui:128
msgid "Color Scheme" msgid "Color Scheme"
msgstr "" msgstr "Кольорова схема"
#: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340 #: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340
#: resources/ui/adw/prefs.ui:143 #: resources/ui/adw/prefs.ui:143
msgid "Power Mode" msgid "Power Mode"
msgstr "" msgstr "Режим живлення"
#: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369 #: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369
#: resources/ui/adw/prefs.ui:158 #: resources/ui/adw/prefs.ui:158
msgid "Power Profile" msgid "Power Profile"
msgstr "" msgstr "Профіль живлення"
#: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401 #: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401
#: resources/ui/adw/prefs.ui:179 #: resources/ui/adw/prefs.ui:179
msgid "Advanced Profile Options" msgid "Advanced Profile Options"
msgstr "" msgstr "Розширені параметри профілю"
#: resources/ui/gtk4/prefs.ui:396 resources/ui/gtk3/prefs.ui:441 #: resources/ui/gtk4/prefs.ui:396 resources/ui/gtk3/prefs.ui:441
#: resources/ui/adw/prefs.ui:184 #: resources/ui/adw/prefs.ui:184
msgid "Use this profile even if there are better matching profiles." 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/gtk4/prefs.ui:428 resources/ui/gtk3/prefs.ui:473
#: resources/ui/adw/prefs.ui:204 #: resources/ui/adw/prefs.ui:204
msgid "Delete this Profile..." msgid "Delete this Profile..."
msgstr "" msgstr "Видалити цей профіль..."
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90 #: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
#: resources/ui/adw/pixelate.ui:47 #: resources/ui/adw/pixelate.ui:47
+59 -59
View File
@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: Burn-My-Windows\n" "Project-Id-Version: Burn-My-Windows\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-21 16:46+0100\n" "POT-Creation-Date: 2023-02-21 16:46+0100\n"
"PO-Revision-Date: 2022-09-15 08:21+0000\n" "PO-Revision-Date: 2023-05-16 12:48+0000\n"
"Last-Translator: Celeste Liu <coelacanthushex@gmail.com>\n" "Last-Translator: aerowolf <aerowolf@tom.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/" "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"burn-my-windows/core/zh_Hans/>\n" "burn-my-windows/core/zh_Hans/>\n"
"Language: zh_Hans\n" "Language: zh_Hans\n"
@@ -17,81 +17,81 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\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 #: src/ProfileManager.js:168 resources/ui/gtk4/prefs.ui:220
#: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103 #: resources/ui/gtk3/prefs.ui:265 resources/ui/adw/prefs.ui:103
msgid "Opening Windows" msgid "Opening Windows"
msgstr "" msgstr "打开窗口"
#: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221 #: src/ProfileManager.js:169 resources/ui/gtk4/prefs.ui:221
#: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104 #: resources/ui/gtk3/prefs.ui:266 resources/ui/adw/prefs.ui:104
msgid "Closing Windows" msgid "Closing Windows"
msgstr "" msgstr "关闭窗口"
#: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249 #: src/ProfileManager.js:170 resources/ui/gtk4/prefs.ui:249
#: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118 #: resources/ui/gtk3/prefs.ui:294 resources/ui/adw/prefs.ui:118
msgid "Normal Windows" msgid "Normal Windows"
msgstr "" msgstr "常规窗口"
#: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250 #: src/ProfileManager.js:171 resources/ui/gtk4/prefs.ui:250
#: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119 #: resources/ui/gtk3/prefs.ui:295 resources/ui/adw/prefs.ui:119
msgid "Dialog Windows" msgid "Dialog Windows"
msgstr "" msgstr "对话窗口"
#: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278 #: src/ProfileManager.js:172 resources/ui/gtk4/prefs.ui:278
#: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133 #: resources/ui/gtk3/prefs.ui:323 resources/ui/adw/prefs.ui:133
msgid "Default Color Scheme" msgid "Default Color Scheme"
msgstr "" msgstr "默认色彩方案"
#: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279 #: src/ProfileManager.js:173 resources/ui/gtk4/prefs.ui:279
#: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134 #: resources/ui/gtk3/prefs.ui:324 resources/ui/adw/prefs.ui:134
msgid "Dark Color Scheme" msgid "Dark Color Scheme"
msgstr "" msgstr "暗色色彩方案"
#: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307 #: src/ProfileManager.js:174 resources/ui/gtk4/prefs.ui:307
#: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148 #: resources/ui/gtk3/prefs.ui:352 resources/ui/adw/prefs.ui:148
msgid "On Battery" msgid "On Battery"
msgstr "" msgstr "使用电池时"
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308 #: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:308
#: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149 #: resources/ui/gtk3/prefs.ui:353 resources/ui/adw/prefs.ui:149
msgid "Plugged In" msgid "Plugged In"
msgstr "" msgstr "插入电源时"
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336 #: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:336
#: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163 #: resources/ui/gtk3/prefs.ui:381 resources/ui/adw/prefs.ui:163
msgid "Power-Saver Mode" msgid "Power-Saver Mode"
msgstr "" msgstr "节电模式"
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337 #: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:337
#: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164 #: resources/ui/gtk3/prefs.ui:382 resources/ui/adw/prefs.ui:164
msgid "Balanced Mode" msgid "Balanced Mode"
msgstr "" msgstr "平衡模式"
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338 #: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:338
#: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165 #: resources/ui/gtk3/prefs.ui:383 resources/ui/adw/prefs.ui:165
msgid "Performance Mode" msgid "Performance Mode"
msgstr "" msgstr "性能模式"
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339 #: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:339
#: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166 #: resources/ui/gtk3/prefs.ui:384 resources/ui/adw/prefs.ui:166
msgid "Power Saver or Balanced" msgid "Power Saver or Balanced"
msgstr "" msgstr "节电或平衡"
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340 #: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:340
#: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167 #: resources/ui/gtk3/prefs.ui:385 resources/ui/adw/prefs.ui:167
msgid "Balanced or Performance" msgid "Balanced or Performance"
msgstr "" msgstr "平衡或性能"
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387 #: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:387
#: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183 #: resources/ui/gtk3/prefs.ui:432 resources/ui/adw/prefs.ui:183
msgid "High Priority" msgid "High Priority"
msgstr "" msgstr "高优先级"
#: src/ProfileManager.js:191 #: src/ProfileManager.js:191
msgid "Standard Profile" msgid "Standard Profile"
msgstr "" msgstr "标准参数"
#: src/effects/Apparition.js:78 #: src/effects/Apparition.js:78
msgid "Apparition" msgid "Apparition"
@@ -139,11 +139,11 @@ msgstr "圣诞来临"
#: src/effects/Glide.js:78 #: src/effects/Glide.js:78
msgid "Glide" msgid "Glide"
msgstr "" msgstr "滑翔"
#: src/effects/Glitch.js:86 #: src/effects/Glitch.js:86
msgid "Glitch" msgid "Glitch"
msgstr "" msgstr "电子脉冲"
#: src/effects/Hexagon.js:94 #: src/effects/Hexagon.js:94
msgid "Hexagon" msgid "Hexagon"
@@ -163,15 +163,15 @@ msgstr "像素化"
#: src/effects/PixelWheel.js:74 #: src/effects/PixelWheel.js:74
msgid "Pixel Wheel" msgid "Pixel Wheel"
msgstr "" msgstr "像素轮"
#: src/effects/PixelWipe.js:101 #: src/effects/PixelWipe.js:101
msgid "Pixel Wipe" msgid "Pixel Wipe"
msgstr "" msgstr "像素擦除"
#: src/effects/Portal.js:88 #: src/effects/Portal.js:88
msgid "Portal" msgid "Portal"
msgstr "" msgstr "传送门"
#: src/effects/SnapOfDisintegration.js:114 #: src/effects/SnapOfDisintegration.js:114
msgid "Snap of Disintegration" msgid "Snap of Disintegration"
@@ -187,7 +187,7 @@ msgstr "电视效果"
#: src/effects/TVGlitch.js:87 #: src/effects/TVGlitch.js:87
msgid "TV Glitch" msgid "TV Glitch"
msgstr "" msgstr "电视故障"
#: src/effects/Wisps.js:82 #: src/effects/Wisps.js:82
msgid "Wisps" msgid "Wisps"
@@ -195,11 +195,11 @@ msgstr "精灵飞散"
#: prefs.js:247 #: prefs.js:247
msgid "Preview this effect" msgid "Preview this effect"
msgstr "" msgstr "预览此效果"
#: prefs.js:364 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86 #: prefs.js:364 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
msgid "Burn-My-Windows has been updated!" 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 #: prefs.js:365 resources/ui/common/menus.ui:17 resources/ui/gtk4/prefs.ui:56
#: resources/ui/gtk3/prefs.ui:96 #: resources/ui/gtk3/prefs.ui:96
@@ -224,21 +224,21 @@ msgstr "往届赞助商"
#: prefs.js:585 #: prefs.js:585
msgid "Delete this Profile?" msgid "Delete this Profile?"
msgstr "" msgstr "删除此配置吗?"
#: prefs.js:587 #: prefs.js:587
msgid "" msgid ""
"The current effect profile with all its effect settings will be permanently " "The current effect profile with all its effect settings will be permanently "
"lost." "lost."
msgstr "" msgstr "当前效果配置文件设置的所有效果都将永久丢失。"
#: prefs.js:592 #: prefs.js:592
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr "取消"
#: prefs.js:593 #: prefs.js:593
msgid "Delete" msgid "Delete"
msgstr "" msgstr "删除"
#. Translators: %s will be replaced by the effect's name. #. Translators: %s will be replaced by the effect's name.
#: prefs.js:923 #: prefs.js:923
@@ -256,7 +256,7 @@ msgstr "访问主页"
#: resources/ui/common/menus.ui:21 #: resources/ui/common/menus.ui:21
msgid "View Matching Wallpapers" msgid "View Matching Wallpapers"
msgstr "" msgstr "查看匹配的壁纸"
#: resources/ui/common/menus.ui:27 #: resources/ui/common/menus.ui:27
msgid "Report a Bug" msgid "Report a Bug"
@@ -280,7 +280,7 @@ msgstr "关于 Burn-My-Windows"
#: resources/ui/common/menus.ui:63 #: resources/ui/common/menus.ui:63
msgid "Add New Profile..." msgid "Add New Profile..."
msgstr "" msgstr "新建配置…"
#: resources/ui/gtk4/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23 #: resources/ui/gtk4/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23
#: resources/ui/gtk4/glitch.ui:23 resources/ui/gtk4/matrix.ui:23 #: resources/ui/gtk4/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/gtk3/tv-glitch.ui:142 resources/ui/gtk3/glitch.ui:142
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80 #: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
msgid "Strength" msgid "Strength"
msgstr "" msgstr "强度"
#: resources/ui/gtk4/tv-glitch.ui:161 resources/ui/gtk4/glitch.ui:161 #: resources/ui/gtk4/tv-glitch.ui:161 resources/ui/gtk4/glitch.ui:161
#: resources/ui/gtk4/fire.ui:138 resources/ui/gtk3/tv-glitch.ui:187 #: resources/ui/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/gtk4/doom.ui:68 resources/ui/gtk3/doom.ui:97
#: resources/ui/adw/doom.ui:47 #: resources/ui/adw/doom.ui:47
msgid "Horizontal Scale" msgid "Horizontal Scale"
msgstr "" msgstr "水平比例"
#: resources/ui/gtk4/doom.ui:114 resources/ui/gtk3/doom.ui:142 #: resources/ui/gtk4/doom.ui:114 resources/ui/gtk3/doom.ui:142
#: resources/ui/adw/doom.ui:80 #: resources/ui/adw/doom.ui:80
msgid "Vertical Scale" msgid "Vertical Scale"
msgstr "" msgstr "垂直比例"
#: resources/ui/gtk4/doom.ui:160 resources/ui/gtk4/pixel-wheel.ui:115 #: resources/ui/gtk4/doom.ui:160 resources/ui/gtk4/pixel-wheel.ui:115
#: resources/ui/gtk4/pixel-wipe.ui:69 resources/ui/gtk4/pixelate.ui:115 #: resources/ui/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/doom.ui:113 resources/ui/adw/pixel-wheel.ui:80
#: resources/ui/adw/pixel-wipe.ui:47 resources/ui/adw/pixelate.ui:80 #: resources/ui/adw/pixel-wipe.ui:47 resources/ui/adw/pixelate.ui:80
msgid "Pixel Size" msgid "Pixel Size"
msgstr "" msgstr "像素大小"
#: resources/ui/gtk4/trex.ui:69 resources/ui/adw/trex.ui:47 #: resources/ui/gtk4/trex.ui:69 resources/ui/adw/trex.ui:47
msgid "Claw Scratch Scale" 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/gtk4/pixel-wheel.ui:69 resources/ui/gtk3/pixel-wheel.ui:90
#: resources/ui/adw/pixel-wheel.ui:47 #: resources/ui/adw/pixel-wheel.ui:47
msgid "Spoke Count" msgid "Spoke Count"
msgstr "" msgstr "辐条数量"
#: resources/ui/gtk4/glide.ui:115 resources/ui/gtk3/glide.ui:149 #: resources/ui/gtk4/glide.ui:115 resources/ui/gtk3/glide.ui:149
#: resources/ui/adw/glide.ui:80 #: resources/ui/adw/glide.ui:80
msgid "Squish" msgid "Squish"
msgstr "" msgstr "压碎程度"
#: resources/ui/gtk4/glide.ui:161 resources/ui/gtk3/glide.ui:194 #: resources/ui/gtk4/glide.ui:161 resources/ui/gtk3/glide.ui:194
#: resources/ui/adw/glide.ui:113 #: resources/ui/adw/glide.ui:113
msgid "Tilt" msgid "Tilt"
msgstr "" msgstr "倾斜"
#: resources/ui/gtk4/glide.ui:207 resources/ui/gtk3/glide.ui:239 #: resources/ui/gtk4/glide.ui:207 resources/ui/gtk3/glide.ui:239
#: resources/ui/adw/glide.ui:146 #: resources/ui/adw/glide.ui:146
msgid "Shift" msgid "Shift"
msgstr "" msgstr "变幻"
#: resources/ui/gtk4/apparition.ui:114 resources/ui/gtk3/apparition.ui:149 #: resources/ui/gtk4/apparition.ui:114 resources/ui/gtk3/apparition.ui:149
#: resources/ui/adw/apparition.ui:81 #: 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/gtk4/portal.ui:69 resources/ui/gtk3/portal.ui:142
#: resources/ui/adw/portal.ui:80 #: resources/ui/adw/portal.ui:80
msgid "Whirling" msgid "Whirling"
msgstr "" msgstr "回旋"
#: resources/ui/gtk4/portal.ui:115 resources/ui/gtk3/portal.ui:97 #: resources/ui/gtk4/portal.ui:115 resources/ui/gtk3/portal.ui:97
#: resources/ui/adw/portal.ui:47 #: resources/ui/adw/portal.ui:47
msgid "Rotation Speed" msgid "Rotation Speed"
msgstr "" msgstr "旋转速度"
#: resources/ui/gtk4/portal.ui:161 resources/ui/gtk3/portal.ui:187 #: resources/ui/gtk4/portal.ui:161 resources/ui/gtk3/portal.ui:187
#: resources/ui/adw/portal.ui:113 #: resources/ui/adw/portal.ui:113
msgid "Details" msgid "Details"
msgstr "" msgstr "细节"
#: resources/ui/gtk4/incinerate.ui:115 resources/ui/gtk3/incinerate.ui:135 #: resources/ui/gtk4/incinerate.ui:115 resources/ui/gtk3/incinerate.ui:135
#: resources/ui/adw/incinerate.ui:80 #: 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/gtk4/incinerate.ui:165 resources/ui/gtk3/incinerate.ui:183
#: resources/ui/adw/incinerate.ui:113 #: resources/ui/adw/incinerate.ui:113
msgid "Start at Pointer" msgid "Start at Pointer"
msgstr "" msgstr "从光标位置开始"
#: resources/ui/gtk4/incinerate.ui:174 resources/ui/gtk3/incinerate.ui:192 #: resources/ui/gtk4/incinerate.ui:174 resources/ui/gtk3/incinerate.ui:192
#: resources/ui/adw/incinerate.ui:114 #: resources/ui/adw/incinerate.ui:114
msgid "If disabled, a random location will be chosen." 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/gtk4/hexagon.ui:115 resources/ui/gtk3/hexagon.ui:135
#: resources/ui/adw/hexagon.ui:80 #: 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/gtk4/prefs.ui:82 resources/ui/gtk3/prefs.ui:124
#: resources/ui/adw/prefs.ui:224 #: resources/ui/adw/prefs.ui:224
msgid "Effect Settings" msgid "Effect Settings"
msgstr "" msgstr "效果设置"
#: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134 #: resources/ui/gtk4/prefs.ui:92 resources/ui/gtk3/prefs.ui:134
#: resources/ui/adw/prefs.ui:225 #: 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/gtk4/prefs.ui:132 resources/ui/gtk3/prefs.ui:172
#: resources/ui/adw/prefs.ui:65 #: resources/ui/adw/prefs.ui:65
msgid "Effect Profile Constraints" msgid "Effect Profile Constraints"
msgstr "" msgstr "效果配置限制"
#: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182 #: resources/ui/gtk4/prefs.ui:142 resources/ui/gtk3/prefs.ui:182
#: resources/ui/adw/prefs.ui:66 #: resources/ui/adw/prefs.ui:66
msgid "Define when the current effect settings should be used." 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/gtk4/prefs.ui:166 resources/ui/gtk3/prefs.ui:206
#: resources/ui/adw/prefs.ui:70 #: resources/ui/adw/prefs.ui:70
msgid "Application" msgid "Application"
msgstr "" msgstr "程序"
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219 #: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk4/prefs.ui:219
#: resources/ui/gtk4/prefs.ui:248 resources/ui/gtk4/prefs.ui:277 #: resources/ui/gtk4/prefs.ui: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:117 resources/ui/adw/prefs.ui:132
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162 #: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
msgid "Any" msgid "Any"
msgstr "" msgstr "任意"
#: resources/ui/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253 #: resources/ui/gtk4/prefs.ui:208 resources/ui/gtk3/prefs.ui:253
#: resources/ui/adw/prefs.ui:98 #: resources/ui/adw/prefs.ui:98
msgid "Animation Type" msgid "Animation Type"
msgstr "" msgstr "动画类型"
#: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282 #: resources/ui/gtk4/prefs.ui:237 resources/ui/gtk3/prefs.ui:282
#: resources/ui/adw/prefs.ui:113 #: resources/ui/adw/prefs.ui:113
msgid "Window Type" msgid "Window Type"
msgstr "" msgstr "窗口类型"
#: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311 #: resources/ui/gtk4/prefs.ui:266 resources/ui/gtk3/prefs.ui:311
#: resources/ui/adw/prefs.ui:128 #: resources/ui/adw/prefs.ui:128
msgid "Color Scheme" msgid "Color Scheme"
msgstr "" msgstr "色彩方案"
#: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340 #: resources/ui/gtk4/prefs.ui:295 resources/ui/gtk3/prefs.ui:340
#: resources/ui/adw/prefs.ui:143 #: resources/ui/adw/prefs.ui:143
msgid "Power Mode" msgid "Power Mode"
msgstr "" msgstr "电池模式"
#: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369 #: resources/ui/gtk4/prefs.ui:324 resources/ui/gtk3/prefs.ui:369
#: resources/ui/adw/prefs.ui:158 #: resources/ui/adw/prefs.ui:158
msgid "Power Profile" msgid "Power Profile"
msgstr "" msgstr "电源配置"
#: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401 #: resources/ui/gtk4/prefs.ui:356 resources/ui/gtk3/prefs.ui:401
#: resources/ui/adw/prefs.ui:179 #: resources/ui/adw/prefs.ui:179
msgid "Advanced Profile Options" msgid "Advanced Profile Options"
msgstr "" msgstr "高级配置选项"
#: resources/ui/gtk4/prefs.ui:396 resources/ui/gtk3/prefs.ui:441 #: resources/ui/gtk4/prefs.ui:396 resources/ui/gtk3/prefs.ui:441
#: resources/ui/adw/prefs.ui:184 #: resources/ui/adw/prefs.ui:184
msgid "Use this profile even if there are better matching profiles." 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/gtk4/prefs.ui:428 resources/ui/gtk3/prefs.ui:473
#: resources/ui/adw/prefs.ui:204 #: resources/ui/adw/prefs.ui:204
msgid "Delete this Profile..." msgid "Delete this Profile..."
msgstr "" msgstr "删除此配置…"
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90 #: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
#: resources/ui/adw/pixelate.ui:47 #: resources/ui/adw/pixelate.ui:47
msgid "Noise" msgid "Noise"
msgstr "" msgstr "噪点"
#: resources/ui/gtk3/fire.ui:58 resources/ui/adw/fire.ui:19 #: resources/ui/gtk3/fire.ui:58 resources/ui/adw/fire.ui:19
msgid "Choose a Preset" msgid "Choose a Preset"
+14 -3
View File
@@ -228,7 +228,15 @@ var PreferencesDialog = class PreferencesDialog {
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) { if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
const uiFile = `/ui/${utils.getUIDir()}/${effect.getNick()}.ui`; 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. // Add the settings page to the builder.
if (hasPrefs) { if (hasPrefs) {
@@ -288,9 +296,11 @@ var PreferencesDialog = class PreferencesDialog {
} }
}); });
this._effectRows.push(row); this._effectRows.push(row);
row.add_action(previewButton);
} else {
row.add_suffix(previewButton);
} }
row.add_action(previewButton);
row.add_prefix(button); row.add_prefix(button);
group.add(row); group.add(row);
@@ -440,8 +450,9 @@ var PreferencesDialog = class PreferencesDialog {
addURIAction('bugs', 'https://github.com/Schneegans/Burn-My-Windows/issues'); 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('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('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-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'); addURIAction('wallpapers', 'https://github.com/Schneegans/ai-wallpapers');
// clang-format on // clang-format on
+10 -6
View File
@@ -1,12 +1,12 @@
{ {
"gold": [ "gold": [
{ {
"name": "Maxence Sebald", "name": "D3vil0p3r",
"url": "" "url": "https://github.com/D3vil0p3r"
}, },
{ {
"name": "Dennis ten Hoove", "name": "Maxence Sebald",
"url": "https://github.com/dennis1248" "url": ""
} }
], ],
"silver": [ "silver": [
@@ -20,6 +20,10 @@
} }
], ],
"bronze": [ "bronze": [
{
"name": "@SubOptimal",
"url": "https://github.com/SubOptimal"
},
{ {
"name": "@vlazic", "name": "@vlazic",
"url": "https://github.com/vlazic" "url": "https://github.com/vlazic"
@@ -27,8 +31,8 @@
], ],
"past": [ "past": [
{ {
"name": "D3vil0p3r", "name": "Dennis ten Hoove",
"url": "https://github.com/D3vil0p3r" "url": "https://github.com/dennis1248"
}, },
{ {
"name": "@MRR-dev", "name": "@MRR-dev",
+26 -11
View File
@@ -27,7 +27,7 @@
[ [
"mr-isaac@ig.com.br", "mr-isaac@ig.com.br",
"Isaac Dias", "Isaac Dias",
77 93
] ]
] ]
}, },
@@ -88,12 +88,17 @@
[ [
"softexpert@gmail.com", "softexpert@gmail.com",
"SoftExpert", "SoftExpert",
126 127
] ]
] ]
}, },
{ {
"Ukrainian": [ "Ukrainian": [
[
"cakestwix1@gmail.com",
"CakesTwix",
36
],
[ [
"911us@duck.com", "911us@duck.com",
"Petro S.", "Petro S.",
@@ -174,14 +179,14 @@
{ {
"Polish": [ "Polish": [
[ [
"sto@tutanota.de", "gnu.ewm@protonmail.com",
"WaldiS", "Eryk Michalak",
4 10
], ],
[ [
"gnu.ewm@protonmail.com", "sto@tutanota.de",
"gnu-ewm", "WaldiS",
10 39
], ],
[ [
"pwrzonca@gmail.com", "pwrzonca@gmail.com",
@@ -239,6 +244,11 @@
}, },
{ {
"Indonesian": [ "Indonesian": [
[
"rezaalmanda27@gmail.com",
"Reza Almanda",
52
],
[ [
"randompsyduck@duck.com", "randompsyduck@duck.com",
"Sir-Ivysaur", "Sir-Ivysaur",
@@ -248,6 +258,11 @@
}, },
{ {
"Dutch": [ "Dutch": [
[
"philip.goto@gmail.com",
"Philip Goto",
1
],
[ [
"code@simonschneegans.de", "code@simonschneegans.de",
"Simon Schneegans", "Simon Schneegans",
@@ -370,7 +385,7 @@
[ [
"darkcircle.0426@gmail.com", "darkcircle.0426@gmail.com",
"Seong-ho Cho", "Seong-ho Cho",
92 129
] ]
] ]
}, },
@@ -379,7 +394,7 @@
[ [
"jose1711@gmail.com", "jose1711@gmail.com",
"Jose Riha", "Jose Riha",
73 129
] ]
] ]
}, },
@@ -403,7 +418,7 @@
[ [
"aerowolf@tom.com", "aerowolf@tom.com",
"aerowolf", "aerowolf",
42 98
] ]
] ]
}, },
+4 -4
View File
@@ -31,7 +31,7 @@ void main() {
float progress = uForOpening ? 1.0 - uProgress : uProgress; float progress = uForOpening ? 1.0 - uProgress : uProgress;
// Draw the individual shard layers. // 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 // 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 // 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. // Move down each layer a bit.
float gravity = float gravity =
(uForOpening ? -1.0 : 1.0) * uGravity * 0.1 * (i + 1) * progress * progress; (uForOpening ? -1.0 : 1.0) * uGravity * 0.1 * (i + 1.0) * progress * progress;
coords += vec2(0, gravity); coords += vec2(0.0, gravity);
// Restore correct position. // Restore correct position.
coords += uEpicenter; coords += uEpicenter;
@@ -66,7 +66,7 @@ void main() {
// the bin of the current shard. // the bin of the current shard.
float shardGroup = floor(shardMap.g * SHARD_LAYERS * 0.999); 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); oColor = getInputColor(coords);
} }
} }
+1 -1
View File
@@ -99,7 +99,7 @@ uniform vec2 uSize;
uniform float uPadding; uniform float uPadding;
// On GNOME, we set iTexCoord to be an alias for the cogl variables. // 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. // Shell.GLSLEffect uses straight alpha. So we have to convert from premultiplied.
vec4 getInputColor(vec2 coords) { vec4 getInputColor(vec2 coords) {
+3 -1
View File
@@ -107,12 +107,14 @@ void main() {
if ((!uForOpening && gradient > hideThreshold) || if ((!uForOpening && gradient > hideThreshold) ||
(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); vec2 distort = vec2(0.0);
#ifndef GL_ES
if (scorchRange.x < gradient && gradient < scorchRange.y) { if (scorchRange.x < gradient && gradient < scorchRange.y) {
distort = vec2(dFdx(gradient), dFdy(gradient)) * scorchMask * 5.0; distort = vec2(dFdx(gradient), dFdy(gradient)) * scorchMask * 5.0;
} }
#endif
oColor = getInputColor(iTexCoord + distort); 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 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 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 rainAlpha = distToDrop >= 0.0 ? exp(-distToDrop / TRAIL_LENGTH) : 0.0;
float windowAlpha = 1.0 - clamp(uSize.y * distToDrop, 0.0, FADE_WIDTH) / FADE_WIDTH; 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. // This is used to fade out the remaining trails in the end.
float finalFade = float finalFade =
1 - 1.0 -
clamp((uProgress - FINAL_FADE_START_TIME) / (1.0 - FINAL_FADE_START_TIME), 0.0, 1.0); clamp((uProgress - FINAL_FADE_START_TIME) / (1.0 - FINAL_FADE_START_TIME), 0.0, 1.0);
float rainAlpha = finalFade * rainMask.x; 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 // Make sure that the portal and window open / close animations are quick even if the
// duration is longer. // duration is longer.
float PORTAL_OPEN_TIME = 0.4 / uDuration; float PORTAL_OPEN_TIME = 0.4;
float PORTAL_CLOSE_TIME = 0.4 / uDuration; float PORTAL_CLOSE_TIME = 0.4;
float WINDOW_OPEN_TIME = 0.35 / uDuration; float WINDOW_OPEN_TIME = 0.35;
// This will distort the given coordinate to achieve the wobble effect of the portal when // 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 // 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 // or disappears (which is controlled by WINDOW_OPEN_TIME) and takes
// PORTAL_WOBBLE_TIME. // PORTAL_WOBBLE_TIME.
vec2 getPortalWobble(vec2 coords) { 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 = clamp(1.0 - abs((progress - 1.0) / PORTAL_WOBBLE_TIME), 0.0, 1.0);
progress = easeInBack(progress, 1.7); progress = easeInBack(progress, 1.7);
float dist = length(coords); float dist = length(coords);
@@ -51,11 +52,12 @@ vec2 getPortalWobble(vec2 coords) {
// PORTAL_CLOSE_TIME) and then decrease again. // PORTAL_CLOSE_TIME) and then decrease again.
float getPortalScale() { float getPortalScale() {
float scale = 1.0; float scale = 1.0;
if (uProgress < PORTAL_OPEN_TIME) { float closeTime = PORTAL_CLOSE_TIME / uDuration;
scale = easeOutBack(uProgress / PORTAL_OPEN_TIME, 1.5); float openTime = PORTAL_OPEN_TIME / uDuration;
} else if (uProgress > 1.0 - PORTAL_CLOSE_TIME) { if (uProgress < openTime) {
scale = scale = easeOutBack(uProgress / openTime, 1.5);
easeOutBack(1.0 - (uProgress - 1.0 + PORTAL_CLOSE_TIME) / PORTAL_CLOSE_TIME, 1.5); } else if (uProgress > 1.0 - closeTime) {
scale = easeOutBack(1.0 - (uProgress - 1.0 + closeTime) / closeTime, 1.5);
} }
return scale; return scale;
@@ -165,7 +167,8 @@ vec4 getPortalColor() {
// window). The fraction of the animation time take for the window animation is defined by // window). The fraction of the animation time take for the window animation is defined by
// WINDOW_OPEN_TIME. // WINDOW_OPEN_TIME.
vec4 getWindowColor() { 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. // Add some elastic easing to make the effect more dynamic.
progress = easeInBack(clamp(progress, 0.0, 1.0), 1.2); 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); 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. // Create a random direction.
float factor = DUST_LAYERS == 1.0 ? 0.0 : i / (DUST_LAYERS - 1.0); 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); windowColor.rgb = mix(windowColor.rgb, dustColor, progress);
// Dissolve and blend the layers. // Dissolve and blend the layers.
if (dustMap.x - progress > 0) { if (dustMap.x - progress > 0.0) {
oColor = windowColor; oColor = windowColor;
} }
} }
+16 -7
View File
@@ -23,9 +23,12 @@ uniform float uNumClaws;
uniform float uWarpIntensity; uniform float uWarpIntensity;
const float FLASH_INTENSITY = 0.1; const float FLASH_INTENSITY = 0.1;
const float MAX_SPAWN_TIME =
0.6; // Scratches will only start in the first half of the animation. // 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. 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 // 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 // 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 // relative time when the respective part will become invisible. Therefore we can
// add a value to make the scratch appear later. // add a value to make the scratch appear later.
float scratchMap = 1.0; float scratchMap = 1.0;
for (int i = 0; i < uNumClaws; ++i) { for (float i = 0.0; i < uNumClaws; ++i) {
vec2 uv = getClawUV(coords, 1.0 / uClawSize, uSeed * (i + 1)); vec2 uv = getClawUV(coords, 1.0 / uClawSize, uSeed * (i + 1.0));
float delay = i / uNumClaws * MAX_SPAWN_TIME; float delay = i / uNumClaws * MAX_SPAWN_TIME;
scratchMap = min(scratchMap, clamp(texture2D(uClawTexture, uv).r + delay, 0.0, 1.0)); 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 // Get the window texture. We shift the texture lookup by the local derivative of
// the claw texture in order to mimic some folding distortion. // the claw texture in order to mimic some folding distortion. This is only possible if
vec2 offset = vec2(dFdx(scratchMap), dFdy(scratchMap)) * progress * 0.5; // 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); vec4 oColor = getInputColor(coords + offset);
// Add colorful flashes. // Add colorful flashes.
+6 -2
View File
@@ -38,13 +38,17 @@ SPDX-License-Identifier: GPL-3.0-or-later
<submenu> <submenu>
<attribute name="label" translatable="yes">Donate</attribute> <attribute name="label" translatable="yes">Donate</attribute>
<item> <item>
<attribute name="label">PayPal</attribute> <attribute name="label">Ko-fi</attribute>
<attribute name="action">prefs.donate-paypal</attribute> <attribute name="action">prefs.donate-kofi</attribute>
</item> </item>
<item> <item>
<attribute name="label">GitHub</attribute> <attribute name="label">GitHub</attribute>
<attribute name="action">prefs.donate-github</attribute> <attribute name="action">prefs.donate-github</attribute>
</item> </item>
<item>
<attribute name="label">PayPal</attribute>
<attribute name="action">prefs.donate-paypal</attribute>
</item>
</submenu> </submenu>
</section> </section>
<section> <section>
+52 -5
View File
@@ -14,9 +14,10 @@
'use strict'; 'use strict';
const {Gio, Shell, GObject, Clutter} = imports.gi; const {Gio, Shell, GObject, Clutter, Meta} = imports.gi;
const ByteArray = imports.byteArray; const ByteArray = imports.byteArray;
const Main = imports.ui.main;
const ExtensionUtils = imports.misc.extensionUtils; const ExtensionUtils = imports.misc.extensionUtils;
const Me = imports.misc.extensionUtils.getCurrentExtension(); const Me = imports.misc.extensionUtils.getCurrentExtension();
const utils = Me.imports.src.utils; 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 // // hard-coded use of straight alpha (as opposed to premultiplied). This makes the //
// shaders a bit more complicated than required. // // 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 // // * 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 // // be used to set uniform values which do not change during the //
// animation. // // animation. //
// * update-animation: This is called at each frame during the animation. It can be // // * update-animation: This is called at each frame during the animation. It can be //
// used to set uniforms which change during the animation. // // 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( var Shader = GObject.registerClass(
@@ -77,13 +80,46 @@ var Shader = GObject.registerClass(
this._uDuration = this.get_uniform_location('uDuration'); this._uDuration = this.get_uniform_location('uDuration');
this._uSize = this.get_uniform_location('uSize'); this._uSize = this.get_uniform_location('uSize');
this._uPadding = this.get_uniform_location('uPadding'); 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. // This is called once each time the shader is used.
beginAnimation(settings, forOpening, testMode, duration, actor) { 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. // Reset progress value.
this._progress = 0; this._progress = 0;
this._testMode = testMode;
// This is not necessarily symmetric, but I haven't figured out a way to // This is not necessarily symmetric, but I haven't figured out a way to
// get the actual values... // 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._uPadding, 1, [padding]);
this.set_uniform_float(this._uForOpening, 1, [forOpening]); 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.set_uniform_float(this._uSize, 2, [actor.width, actor.height]);
this.emit('begin-animation', settings, forOpening, testMode, actor); 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 // 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. // by handlers must not have been created yet.
this._progress = progress; this._progress = progress;
this.queue_repaint();
} }
// This will just emit the end-animation signal. It can be used to clean up any // This will stop any running animation and emit the end-animation signal.
// resources required during the animation.
endAnimation() { 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'); this.emit('end-animation');
} }
+8 -5
View File
@@ -57,15 +57,18 @@ var WindowPicker = class WindowPicker {
.filter(e => e.toString().includes('lookingGlass_RedBorderEffect')) .filter(e => e.toString().includes('lookingGlass_RedBorderEffect'))
.forEach(e => target.remove_effect(e)); .forEach(e => target.remove_effect(e));
let actor = target;
if (target.toString().includes('MetaSurfaceActor')) { 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'; let wmClass = 'window-not-found';
if (actor.toString().includes('WindowActor') && if (target.toString().includes('WindowActor') &&
actor.meta_window.get_wm_class() != '') { target.meta_window.get_wm_class() != '') {
wmClass = actor.meta_window.get_wm_class(); wmClass = target.meta_window.get_wm_class();
} }
this._dbus.emit_signal('WindowPicked', new GLib.Variant('(s)', [wmClass])); this._dbus.emit_signal('WindowPicked', new GLib.Variant('(s)', [wmClass]));
+6 -4
View File
@@ -29,6 +29,8 @@
# -v 35: GNOME Shell 41 # -v 35: GNOME Shell 41
# -v 36: GNOME Shell 42 # -v 36: GNOME Shell 42
# -v 37: GNOME Shell 43 # -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". # -s session: This can either be "gnome-xsession" or "gnome-wayland-nested".
# Exit on error. # 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. # Starting with GNOME 40, there is a "Welcome Tour" dialog popping up at first launch.
# We disable this beforehand. # We disable this beforehand.
if [[ "${FEDORA_VERSION}" -gt 33 ]]; then if [[ "${FEDORA_VERSION}" -gt 33 ]] || [[ "${FEDORA_VERSION}" == "rawhide" ]]; then
echo "Disabling welcome tour." echo "Disabling welcome tour."
do_in_pod gsettings set org.gnome.shell welcome-dialog-last-shown-version "999" || true do_in_pod gsettings set org.gnome.shell welcome-dialog-last-shown-version "999" || true
fi 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 # Starting with GNOME 40, the overview is the default mode. We close this here by hitting
# the super key. # the super key.
if [[ "${FEDORA_VERSION}" -gt 33 ]]; then if [[ "${FEDORA_VERSION}" -gt 33 ]] || [[ "${FEDORA_VERSION}" == "rawhide" ]]; then
echo "Closing Overview." echo "Closing Overview."
send_keystroke "super" send_keystroke "super"
fi fi
@@ -194,12 +196,12 @@ capture_effect "tv"
capture_effect "tv-glitch" capture_effect "tv-glitch"
capture_effect "wisps" capture_effect "wisps"
if [[ "${FEDORA_VERSION}" -gt 32 ]]; then if [[ "${FEDORA_VERSION}" -gt 32 ]] || [[ "${FEDORA_VERSION}" == "rawhide" ]]; then
capture_effect "apparition" capture_effect "apparition"
capture_effect "doom" capture_effect "doom"
fi fi
if [[ "${FEDORA_VERSION}" -gt 33 ]]; then if [[ "${FEDORA_VERSION}" -gt 33 ]] || [[ "${FEDORA_VERSION}" == "rawhide" ]]; then
capture_effect "trex" capture_effect "trex"
capture_effect "broken-glass" capture_effect "broken-glass"
capture_effect "matrix" 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

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