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