Compare commits
280 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 74f759e5a3 | |||
| 75e4a9c94d | |||
| 7c194e0b65 | |||
| c87f088f7d | |||
| 3e33953fdd | |||
| 79a3e2241a | |||
| 4aef62b07c | |||
| 6b3a6a60b3 | |||
| 3728660047 | |||
| 0a4c83a80c | |||
| 772c1dc15a | |||
| 88bf8a9a9e | |||
| 6135bef34e | |||
| 9a74b9d874 | |||
| 19f03dddf6 | |||
| 4201a9ea35 | |||
| 85246135af | |||
| 573613c2d7 | |||
| 9b7822a245 | |||
| d32d02e07b | |||
| 4106167c49 | |||
| 395f2702e8 | |||
| 1b09955fef | |||
| a17fbfd114 | |||
| b40d0f068b | |||
| c84530931d | |||
| ae072bf427 | |||
| e4b16ba599 | |||
| 3ec64ec585 | |||
| 0f22ac4915 | |||
| 746cb29ef3 | |||
| 48abc8b598 | |||
| 1ba580943b | |||
| fc2424ffb4 | |||
| 1a20ee94cd | |||
| cc18efd9e0 | |||
| 3323cbf66d | |||
| 15702cf3da | |||
| 86dd1131fc | |||
| 2e3bd0bfbb | |||
| bb44d4bd81 | |||
| 1cd69b4cbb | |||
| 3afbf6d93b | |||
| 4e5ddfdcc6 | |||
| caec83a391 | |||
| fdad5f6c89 | |||
| 4ab87d1257 | |||
| 9057f8cceb | |||
| b31a166b22 | |||
| b3568d9be5 | |||
| ca4484727f | |||
| d76aea4fc8 | |||
| fda91e69bb | |||
| 8d6b844def | |||
| 87209db9bd | |||
| ad76fff308 | |||
| ee902debe1 | |||
| 7e91b9c1f7 | |||
| c769677328 | |||
| fabe1999ad | |||
| 611ba14230 | |||
| 5c58ccf2cf | |||
| ef746c20e6 | |||
| 149e91f06d | |||
| a2fdf05431 | |||
| 2571c60d6b | |||
| 55e46b501b | |||
| 97a4226898 | |||
| 79fe1feb5c | |||
| d4e0ee95c9 | |||
| 4e2edc1492 | |||
| d5bf63b99c | |||
| 2bd67c0d37 | |||
| d4165b4b62 | |||
| b4455d5f48 | |||
| cc86b16817 | |||
| d08c318b7d | |||
| 192719739c | |||
| 4d77635e78 | |||
| e84ec002a3 | |||
| 46fb61b96c | |||
| 6a764b6552 | |||
| d7859145c3 | |||
| 15a622d7b7 | |||
| 2056130e98 | |||
| bfc3467e33 | |||
| 9f8258b9f8 | |||
| 4e5084bdba | |||
| 6fb56612e2 | |||
| f44d0ae5b6 | |||
| 3cbbd63629 | |||
| a182f247cb | |||
| 46a1729e54 | |||
| 0bd0fb27b9 | |||
| 25f2261ad6 | |||
| af9cdb6459 | |||
| e9e51adbf4 | |||
| ba9f1c91f5 | |||
| bf3aa0af93 | |||
| b8335dd4e6 | |||
| bbd7d6ea64 | |||
| 03a6d9263a | |||
| 3360b45c18 | |||
| 67d6df0a70 | |||
| e96b42a3f7 | |||
| 1e665f0db3 | |||
| d6e46d951c | |||
| d114c68422 | |||
| 9a68af1676 | |||
| bf0feae117 | |||
| 74bd7cdef8 | |||
| c635336a7e | |||
| 6807be6f35 | |||
| 8aafd57b2f | |||
| b99c80a343 | |||
| 6a65d59144 | |||
| c90f3a1c97 | |||
| 18c46f58c2 | |||
| 75d5b6ddd5 | |||
| 411a87d7fc | |||
| c92f3b5574 | |||
| eb2fb8b523 | |||
| de056a56df | |||
| fb38d883c9 | |||
| ee10cdf9ad | |||
| 96a7b91706 | |||
| 10deeb584f | |||
| b215379dac | |||
| 8dc73ff9f6 | |||
| 630149d571 | |||
| 8a669cda3b | |||
| f58aa95859 | |||
| aa7aad7910 | |||
| b3229e9b6e | |||
| c4aa0cd92a | |||
| e90e64656d | |||
| 29a811884b | |||
| a89f16c767 | |||
| 9ed471a1c6 | |||
| badd1fd2c3 | |||
| 2f4d9ade01 | |||
| 2d386e3620 | |||
| b7306b9feb | |||
| 020fbc9332 | |||
| 48aa96312f | |||
| 20b9086464 | |||
| 703f990f7f | |||
| 8d8779130c | |||
| 83658510af | |||
| 76aa003d99 | |||
| 1a14b8bd56 | |||
| de190b4fd9 | |||
| 812fa6612a | |||
| 18a43390b6 | |||
| 6af87f727d | |||
| 8dbfa5fdb1 | |||
| e0d9ed5677 | |||
| 6e65f29bb3 | |||
| eb597cffbe | |||
| be88a682b9 | |||
| fa09a1f40a | |||
| 1262089e82 | |||
| 0da73cf675 | |||
| a228dc7b2e | |||
| e6a6a0d831 | |||
| 0fb05c66eb | |||
| e1017b7707 | |||
| cb4b87811e | |||
| 1ccc34f766 | |||
| 1fe20971f8 | |||
| 7ee6e2c58c | |||
| 7b8d6e18b2 | |||
| 84d5ad9caf | |||
| 46cc997e2a | |||
| 829cc49e3c | |||
| a134449706 | |||
| 5b89db0c4b | |||
| 351838b121 | |||
| f59d354729 | |||
| 9d7d912261 | |||
| 77d5de7b8e | |||
| 2238a744f3 | |||
| 539fd59e9b | |||
| a42e2736db | |||
| 2eca2c7374 | |||
| 2bd897fe0e | |||
| 1347fc4d11 | |||
| afaeebd0ab | |||
| 7e33e1ce4a | |||
| 2f1c38afc2 | |||
| 295aa1e362 | |||
| d224d14db1 | |||
| 478ba77288 | |||
| 3175c289b5 | |||
| 78679ef139 | |||
| fa8e3a17c1 | |||
| 88a56998d6 | |||
| 6555a8f02c | |||
| a28e406da4 | |||
| 317eaa2969 | |||
| 61bea04018 | |||
| 6ebc975a20 | |||
| 9f8f2afead | |||
| 472317612c | |||
| e9b82d0b78 | |||
| 07929e1775 | |||
| e20bcd46d7 | |||
| 3b0be6236c | |||
| 27d2a43c99 | |||
| 06aa705f43 | |||
| fa9941ce5b | |||
| c0b1115b23 | |||
| 2ba7b181da | |||
| e2e3425720 | |||
| b7d72d35ed | |||
| 256e6db158 | |||
| e0aebca055 | |||
| cde4e73645 | |||
| 83b583dd13 | |||
| c459d06f53 | |||
| c49615a504 | |||
| 6605fd0cae | |||
| 6bf5970b90 | |||
| 57e8e0384b | |||
| c82f5dabd8 | |||
| 7cecc9e160 | |||
| 9b2e57cba0 | |||
| 2dac407959 | |||
| 9c1139b3af | |||
| ab990b1a05 | |||
| d0f624ab5f | |||
| b2a4aec1c3 | |||
| 999b6800a9 | |||
| 77505c5aa9 | |||
| 1a1e952804 | |||
| de5ddc8622 | |||
| 08ffdef229 | |||
| d7e56483c0 | |||
| 6a2f72f406 | |||
| 9809d7b0d6 | |||
| 359f61e1f4 | |||
| 74a3cc281d | |||
| 26ac1dce6c | |||
| 82be8aa32f | |||
| bebe7d95b0 | |||
| 1b3d76d35e | |||
| 2282f44dfa | |||
| dc849112b8 | |||
| b6a419a0d7 | |||
| e802f41d44 | |||
| b29598643d | |||
| eb4b6d72e3 | |||
| d38e6b6e7a | |||
| ba52acebc9 | |||
| b6a3e5d941 | |||
| f11d36d295 | |||
| cf1721bae1 | |||
| 0603540315 | |||
| 4de12d426c | |||
| c8cf476501 | |||
| a7aef913fc | |||
| 7d0a75cd59 | |||
| a166072168 | |||
| 47f8222349 | |||
| 4942418120 | |||
| a0d087be33 | |||
| dd80db09e9 | |||
| 653d680347 | |||
| ee584ab15e | |||
| 82e2738f33 | |||
| 45d52842cf | |||
| f738f648d8 | |||
| 0cf53c5a5d | |||
| 6f5bcc6681 | |||
| 638613a190 | |||
| 9b59dd942c | |||
| 20dce532ae | |||
| 8e53dc6117 | |||
| 4e29c751ed | |||
| 58a8213233 |
@@ -3,4 +3,5 @@ AlignConsecutiveAssignments: true
|
|||||||
AlignAfterOpenBracket: Align
|
AlignAfterOpenBracket: Align
|
||||||
ContinuationIndentWidth: 2
|
ContinuationIndentWidth: 2
|
||||||
KeepEmptyLinesAtTheStartOfBlocks: true
|
KeepEmptyLinesAtTheStartOfBlocks: true
|
||||||
|
SortIncludes: false
|
||||||
ColumnLimit: 90
|
ColumnLimit: 90
|
||||||
@@ -17,9 +17,9 @@ jobs:
|
|||||||
- name: Get the Numbers
|
- name: Get the Numbers
|
||||||
run: |
|
run: |
|
||||||
echo "CODE_LINES=$(scripts/cloc.sh --loc)" >> $GITHUB_ENV
|
echo "CODE_LINES=$(scripts/cloc.sh --loc)" >> $GITHUB_ENV
|
||||||
echo "COMMENT_LINES=$(scripts/cloc.sh --percentage)%" >> $GITHUB_ENV
|
echo "COMMENT_LINES=$(scripts/cloc.sh --percentage)" >> $GITHUB_ENV
|
||||||
- name: Create Lines-of-Code-Badge
|
- name: Create Lines-of-Code-Badge
|
||||||
uses: schneegans/dynamic-badges-action@v1.2.0
|
uses: schneegans/dynamic-badges-action@v1.3.0
|
||||||
with:
|
with:
|
||||||
auth: ${{ secrets.GIST_SECRET }}
|
auth: ${{ secrets.GIST_SECRET }}
|
||||||
gistID: 8cf45f23253ff09b21196e7271378762
|
gistID: 8cf45f23253ff09b21196e7271378762
|
||||||
@@ -29,12 +29,14 @@ jobs:
|
|||||||
color: lightgrey
|
color: lightgrey
|
||||||
labelColor: 303030
|
labelColor: 303030
|
||||||
- name: Create Comments-Badge
|
- name: Create Comments-Badge
|
||||||
uses: schneegans/dynamic-badges-action@v1.2.0
|
uses: schneegans/dynamic-badges-action@v1.3.0
|
||||||
with:
|
with:
|
||||||
auth: ${{ secrets.GIST_SECRET }}
|
auth: ${{ secrets.GIST_SECRET }}
|
||||||
gistID: 8cf45f23253ff09b21196e7271378762
|
gistID: 8cf45f23253ff09b21196e7271378762
|
||||||
filename: comments.json
|
filename: comments.json
|
||||||
label: Comments
|
label: Comments
|
||||||
message: ${{ env.COMMENT_LINES }}
|
message: ${{ env.COMMENT_LINES }}%
|
||||||
color: green
|
valColorRange: ${{ env.COMMENT_LINES }}
|
||||||
|
maxColorRange: 50
|
||||||
|
minColorRange: 0
|
||||||
labelColor: 303030
|
labelColor: 303030
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ jobs:
|
|||||||
- '35'
|
- '35'
|
||||||
- '36'
|
- '36'
|
||||||
session:
|
session:
|
||||||
- 'gnome-xsession'
|
#- 'gnome-xsession' Disabled for now as it miraculously fails on GitHub. Locally, all tests pass...
|
||||||
- 'gnome-wayland-nested'
|
- 'gnome-wayland-nested'
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ on:
|
|||||||
- '**'
|
- '**'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
extension_bundle:
|
gnome_bundle:
|
||||||
name: Extension Bundle
|
name: Bundle GNOME Shell Extension
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repository
|
- name: Checkout Repository
|
||||||
@@ -26,3 +26,24 @@ jobs:
|
|||||||
file: burn-my-windows@schneegans.github.com.zip
|
file: burn-my-windows@schneegans.github.com.zip
|
||||||
tag: ${{ github.ref }}
|
tag: ${{ github.ref }}
|
||||||
overwrite: true
|
overwrite: true
|
||||||
|
|
||||||
|
kwin_bundle:
|
||||||
|
name: Bundle KWin Effect
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout Repository
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Install Dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update -q
|
||||||
|
sudo apt-get install clang-format
|
||||||
|
- name: Create Release
|
||||||
|
run: |
|
||||||
|
./kwin/build.sh
|
||||||
|
- name: Upload Release
|
||||||
|
uses: svenstaro/upload-release-action@2.2.1
|
||||||
|
with:
|
||||||
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
file: kwin/burn_my_windows_kwin4.tar.gz
|
||||||
|
tag: ${{ github.ref }}
|
||||||
|
overwrite: true
|
||||||
|
|||||||
+3
-1
@@ -6,4 +6,6 @@
|
|||||||
/locale
|
/locale
|
||||||
/schemas/gschemas.compiled
|
/schemas/gschemas.compiled
|
||||||
/resources/burn-my-windows.gresource
|
/resources/burn-my-windows.gresource
|
||||||
/resources/burn-my-windows.gresource.xml
|
/resources/burn-my-windows.gresource.xml
|
||||||
|
kwin/_build
|
||||||
|
kwin/*.tar.gz
|
||||||
@@ -7,7 +7,7 @@ ZIP_NAME := $(NAME)@$(DOMAIN).zip
|
|||||||
|
|
||||||
# Some of the recipes below depend on some of these files.
|
# Some of the recipes below depend on some of these files.
|
||||||
JS_FILES = $(shell find -type f -and \( -name "*.js" \))
|
JS_FILES = $(shell find -type f -and \( -name "*.js" \))
|
||||||
UI_FILES = $(shell find -type f -and \( -name "*.ui" \))
|
UI_FILES = $(shell find resources -type f -and \( -name "*.ui" \))
|
||||||
RESOURCE_FILES = $(shell find resources -mindepth 2 -type f)
|
RESOURCE_FILES = $(shell find resources -mindepth 2 -type f)
|
||||||
LOCALES_PO = $(wildcard po/*.po)
|
LOCALES_PO = $(wildcard po/*.po)
|
||||||
LOCALES_MO = $(patsubst po/%.po,locale/%/LC_MESSAGES/$(NAME).mo,$(LOCALES_PO))
|
LOCALES_MO = $(patsubst po/%.po,locale/%/LC_MESSAGES/$(NAME).mo,$(LOCALES_PO))
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h1 align="center">🔥 Set GNOME Shell on Fire!</h1>
|
<h1 align="center">🔥 Set GNOME Shell on Fire!</h1>
|
||||||
|
<p align="center">(and KWin as well)</p>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://extensions.gnome.org/extension/4679/burn-my-windows/"><img src="https://img.shields.io/badge/Download-extensions.gnome.org-e67f4d.svg?logo=gnome&logoColor=lightgrey&labelColor=303030" /></a><br/>
|
<a href="https://extensions.gnome.org/extension/4679/burn-my-windows/"><img src="https://img.shields.io/badge/Download-extensions.gnome.org-e67f4d.svg?logo=gnome&logoColor=lightgrey&labelColor=303030" /></a><br/>
|
||||||
@@ -13,24 +14,54 @@
|
|||||||
<a href="scripts/cloc.sh"><img src="https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Schneegans/8cf45f23253ff09b21196e7271378762/raw/comments.json" /></a>
|
<a href="scripts/cloc.sh"><img src="https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Schneegans/8cf45f23253ff09b21196e7271378762/raw/comments.json" /></a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
When I released the [Desktop Cube Extension](https://github.com/Schneegans/Desktop-Cube/), many people requested to revive one of the most useless features of Linux desktop history: Setting windows on fire!
|
When I released the [Desktop Cube Extension](https://github.com/Schneegans/Desktop-Cube/) for GNOME, many people requested to revive one of the most useless features of Linux desktop history: Setting windows on fire!
|
||||||
This extension is not only more useless than the cube, but it is also much more hacky. So I expect some bug! [Let's incinerate them all](https://github.com/Schneegans/Burn-My-Windows/issues)!
|
This extension is not only more useless than the cube, but it is also much more hacky. So I expect some bug! [Let's incinerate them all](https://github.com/Schneegans/Burn-My-Windows/issues)!
|
||||||
|
|
||||||
For a list of things changed in previous releases, you can have a look at the [changelog](docs/changelog.md)!
|
Burn-My-Windows is not only available for **GNOME** but also includes some basic support for **KDE Plasma's KWin**.
|
||||||
|
Further down in this file you'll find installation instructions for both.
|
||||||
|
|
||||||
Effect | Preview
|
Effect | Preview
|
||||||
-----|--------
|
-----|--------
|
||||||
**Broken Glass** <br> Shatter your windows into a shower sharp shards! This effect can be configured so that the shards fly away from your mouse pointer position! <br><br> _Only available in GNOME Shell 40+_ | <img src ="docs/pics/glass.gif" />
|
**Apparition** <br> This effect hides your windows by violently sucking them into the void of magic! | <img src ="docs/pics/apparition.gif" />
|
||||||
|
**Broken Glass** <br> Shatter your windows into a shower sharp shards! This effect can be configured so that the shards fly away from your mouse pointer position!| <img src ="docs/pics/glass.gif" />
|
||||||
**Energize A** <br> Beam your windows away! | <img src ="docs/pics/energizeA.gif" />
|
**Energize A** <br> Beam your windows away! | <img src ="docs/pics/energizeA.gif" />
|
||||||
**Energize B** <br> Using different transporter technology results in an alternative visual effect. | <img src ="docs/pics/energizeB.gif" />
|
**Energize B** <br> Using different transporter technology results in an alternative visual effect. | <img src ="docs/pics/energizeB.gif" />
|
||||||
**Fire** <br> The classic effect inspired by Compiz. However, this is implemented using a GLSL shader and not with a particle system like in the old days. | <img src ="docs/pics/fire.gif" />
|
**Fire** <br> The classic effect inspired by Compiz. However, this is implemented using a GLSL shader and not with a particle system like in the old days. | <img src ="docs/pics/fire.gif" />
|
||||||
**Matrix** <br> Turn your windows into a shower of green letters! The color is actually configurable. <br><br> _Only available in GNOME Shell 40+_ | <img src ="docs/pics/matrix.gif" />
|
**Hexagon** <br> With glowing lines and hexagon-shaped tiles, this effect looks very sci-fi. | <img src ="docs/pics/hexagon.gif" />
|
||||||
**T-Rex Attack** <br> Destroy your windows with a series of violent slashes! <br><br> _Only available in GNOME Shell 40+_ | <img src ="docs/pics/trex.gif" />
|
**Incinerate** <br> A less snappy but definitely more fancy take on the fire effect. | <img src ="docs/pics/incinerate.gif" />
|
||||||
|
**Matrix** <br> Turn your windows into a shower of green letters! The color is actually configurable.| <img src ="docs/pics/matrix.gif" />
|
||||||
|
**Snap of Disintegration** <br> Dissolve your windows into a cloud of dust.| <img src ="docs/pics/snap.gif" />
|
||||||
|
**T-Rex Attack** <br> Destroy your windows with a series of violent slashes!| <img src ="docs/pics/trex.gif" />
|
||||||
**TV-Effect** <br> This is a very simple effect to demonstrate that this extension could also be used in a more professional environment. | <img src ="docs/pics/tv.gif" />
|
**TV-Effect** <br> This is a very simple effect to demonstrate that this extension could also be used in a more professional environment. | <img src ="docs/pics/tv.gif" />
|
||||||
**Wisps** <br> Let your windows be carried away to the realm of dreams by these little fairies! | <img src ="docs/pics/wisps.gif" />
|
**Wisps** <br> Let your windows be carried away to the realm of dreams by these little fairies! | <img src ="docs/pics/wisps.gif" />
|
||||||
**Your Effect!** <br> The extension is very modular and with a bit of creativity and GLSL knowledge, [you can easily create your own effects](docs/how-to-create-new-effects.md). | [](docs/how-to-create-new-effects.md)
|
**Your Effect!** <br> The extension is very modular and with a bit of creativity and GLSL knowledge, [you can easily create your own effects](docs/how-to-create-new-effects.md). | [](docs/how-to-create-new-effects.md)
|
||||||
|
|
||||||
|
## ✅ Supported Versions
|
||||||
|
|
||||||
|
Not every effect is available on each version of GNOME or KWin.
|
||||||
|
Below is a table which summarizes the current availability for all effects.
|
||||||
|
|
||||||
|
<table width="100%">
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td colspan="5"><strong>GNOME</strong></td>
|
||||||
|
<td colspan="1"><strong>KWin</strong></td>
|
||||||
|
</tr>
|
||||||
|
<tr><td></td> <td>3.36</td><td>3.38</td><td>40</td><td>41</td><td>42</td><td>5.25.0</td></tr>
|
||||||
|
<tr><td>Apparition</td> <td> </td> <td>✅</td> <td>✅</td><td>✅</td><td>✅</td><td> </td> </tr>
|
||||||
|
<tr><td>Broken Glass</td> <td> </td> <td> </td> <td>✅</td><td>✅</td><td>✅</td><td> </td> </tr>
|
||||||
|
<tr><td>Energize A</td> <td>✅</td> <td>✅</td> <td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr>
|
||||||
|
<tr><td>Energize B</td> <td>✅</td> <td>✅</td> <td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr>
|
||||||
|
<tr><td>Fire</td> <td>✅</td> <td>✅</td> <td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr>
|
||||||
|
<tr><td>Hexagon</td> <td>✅</td> <td>✅</td> <td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr>
|
||||||
|
<tr><td>Incinerate</td> <td>✅</td> <td>✅</td> <td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr>
|
||||||
|
<tr><td>Matrix</td> <td> </td> <td> </td> <td>✅</td><td>✅</td><td>✅</td><td> </td> </tr>
|
||||||
|
<tr><td>Snap of Disintegration</td> <td> </td> <td> </td> <td>✅</td><td>✅</td><td>✅</td><td> </td> </tr>
|
||||||
|
<tr><td>T-Rex Attack</td> <td> </td> <td> </td> <td>✅</td><td>✅</td><td>✅</td><td> </td> </tr>
|
||||||
|
<tr><td>TV-Effect</td> <td>✅</td> <td>✅</td> <td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr>
|
||||||
|
<tr><td>Wisps</td> <td>✅</td> <td>✅</td> <td>✅</td><td>✅</td><td>✅</td><td>✅</td> </tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
## 💞 These People _love_ this Extension
|
## 💞 These People _love_ this Extension
|
||||||
|
|
||||||
@@ -43,6 +74,7 @@ While [coding new features](docs/how-to-create-new-effects.md) or [translating t
|
|||||||
|
|
||||||
<h3 align="center">🥈 Current Silver Sponsors</h3>
|
<h3 align="center">🥈 Current Silver Sponsors</h3>
|
||||||
<p align="center">
|
<p align="center">
|
||||||
|
<a href="https://github.com/danielheadbang">@danielheadbang</a><br>
|
||||||
<a href="https://twitter.com/tjiiik">tj3k</a><br>
|
<a href="https://twitter.com/tjiiik">tj3k</a><br>
|
||||||
<a href="https://github.com/MRR-dev">@MRR-dev</a><br>
|
<a href="https://github.com/MRR-dev">@MRR-dev</a><br>
|
||||||
<a href="https://github.com/castrojo">Jorge Castro</a><br>
|
<a href="https://github.com/castrojo">Jorge Castro</a><br>
|
||||||
@@ -50,11 +82,13 @@ While [coding new features](docs/how-to-create-new-effects.md) or [translating t
|
|||||||
|
|
||||||
<h3 align="center">🥉 Current Bronze Sponsors</h3>
|
<h3 align="center">🥉 Current Bronze Sponsors</h3>
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://github.com/danielheadbang">@danielheadbang</a><br>
|
<a href='https://github.com/AngelBrielez'>Angel Brielez</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h3 align="center">🏅 Previous Sponsors and One-Time Donators</h3>
|
<h3 align="center">🏅 Previous Sponsors and One-Time Donators</h3>
|
||||||
<p align="center">
|
<p align="center">
|
||||||
|
<a href="https://github.com/wolfyrion">@wolfyrion</a><br>
|
||||||
|
<a href="https://github.com/MrTomRod">@MrTomRod</a><br>
|
||||||
Pouhiou<br>
|
Pouhiou<br>
|
||||||
DAPREMONT Christophe<br>
|
DAPREMONT Christophe<br>
|
||||||
<a href="https://github.com/manero6">@manero6</a><br>
|
<a href="https://github.com/manero6">@manero6</a><br>
|
||||||
@@ -63,9 +97,9 @@ While [coding new features](docs/how-to-create-new-effects.md) or [translating t
|
|||||||
|
|
||||||
|
|
||||||
Do you want to show that you love it too? You may <a href="https://github.com/sponsors/Schneegans">become a sponsor for as little as 1$ / month</a>!
|
Do you want to show that you love it too? You may <a href="https://github.com/sponsors/Schneegans">become a sponsor for as little as 1$ / month</a>!
|
||||||
If you like this extension, you may also want to try one of my other extensions: [🧊 Desktop-Cube](https://github.com/Schneegans/Desktop-Cube) or [🍰 Fly-Pie](https://github.com/Schneegans/Fly-Pie/)!
|
If you like this extension, you may also want to try one of my other GNOME extensions: [🧊 Desktop-Cube](https://github.com/Schneegans/Desktop-Cube) or [🍰 Fly-Pie](https://github.com/Schneegans/Fly-Pie/)!
|
||||||
|
|
||||||
## ⬇️ Installation
|
## ⬇️ Installation (GNOME)
|
||||||
|
|
||||||
You can either install the Burn-My-Windows extension from extensions.gnome.org (a), download a stable release
|
You can either install the Burn-My-Windows extension from extensions.gnome.org (a), download a stable release
|
||||||
from GitHub (b) or clone the latest version directly with `git` (c).
|
from GitHub (b) or clone the latest version directly with `git` (c).
|
||||||
@@ -124,6 +158,50 @@ Then you can enable the extension with the *Gnome Tweak Tool*, the *Extensions*
|
|||||||
gnome-extensions enable burn-my-windows@schneegans.github.com
|
gnome-extensions enable burn-my-windows@schneegans.github.com
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## ⬇️ Installation (KWin)
|
||||||
|
|
||||||
|
|
||||||
|
You can either download a stable version from GitHub (a) or clone the latest version directly with `git` (b).
|
||||||
|
|
||||||
|
### a) Downloading a Stable Release
|
||||||
|
|
||||||
|
Execute this command to download the latest stable release:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
wget https://github.com/Schneegans/Burn-My-Windows/releases/latest/download/burn_my_windows_kwin4.tar.gz
|
||||||
|
```
|
||||||
|
|
||||||
|
Install it by executing the following commands.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir -p ~/.local/share/kwin/effects
|
||||||
|
tar -xf burn_my_windows_kwin4.tar.gz -C ~/.local/share/kwin/effects
|
||||||
|
```
|
||||||
|
|
||||||
|
Then select the desired effects in the system settings under "Desktop Effects".
|
||||||
|
|
||||||
|
|
||||||
|
### b) Cloning the Latest Version with `git`
|
||||||
|
|
||||||
|
Execute the clone command below where you want to have the source code of the extension.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/Schneegans/Burn-My-Windows.git
|
||||||
|
cd Burn-My-Windows
|
||||||
|
```
|
||||||
|
|
||||||
|
Now you will have to build the effects and copy them to your KWin effect directory.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./kwin/build.sh
|
||||||
|
mkdir -p ~/.local/share/kwin/effects
|
||||||
|
cp -r kwin/_build/* ~/.local/share/kwin/effects
|
||||||
|
```
|
||||||
|
|
||||||
|
That's it!
|
||||||
|
You can now select the desired effects in the system settings under "Desktop Effects".
|
||||||
|
|
||||||
|
|
||||||
## :octocat: I want to contribute!
|
## :octocat: I want to contribute!
|
||||||
|
|
||||||
That's great!
|
That's great!
|
||||||
|
|||||||
Binary file not shown.
+73
-13
@@ -1,6 +1,66 @@
|
|||||||
# Changelog of the Burn-My-Windows Extension
|
# Changelog of the Burn-My-Windows Extension
|
||||||
|
|
||||||
## [Burn My Window 13](https://github.com/schneegans/Burn-My-Windows/releases/tag/v13)
|
## [Burn My Windows 17](https://github.com/schneegans/Burn-My-Windows/releases/tag/v17)
|
||||||
|
|
||||||
|
**Release Date:** 2022-06-30
|
||||||
|
|
||||||
|
#### New Features
|
||||||
|
|
||||||
|
* **New Effect: Incinerate.** This is a completely new take on the fire effect. It is a bit more demanding in terms of GPU power, but at the same time it looks much more awesome!
|
||||||
|
* **Initial KDE Support.** Thanks to the [awesome work](https://invent.kde.org/plasma/kwin/-/merge_requests/2227) of Martin Flöser, it has become possible to port some of its effects to KDE Plasma! For now, only the most simple effects can be ported, but hopefully this list can be improved in the future.
|
||||||
|
* An option has been added which allows to automatically disable all effects if running on battery power.
|
||||||
|
|
||||||
|
#### Enhancements
|
||||||
|
|
||||||
|
* Many translation updates, including a completely new Persian, Polish, and Slovak translation. A BIG THANKS to all translators!
|
||||||
|
* The shader include system has been simplified. There's now just one "common.glsl" which is automatically loaded into each shader.
|
||||||
|
|
||||||
|
## [Burn My Windows 16](https://github.com/schneegans/Burn-My-Windows/releases/tag/v16)
|
||||||
|
|
||||||
|
**Release Date:** 2022-05-21
|
||||||
|
|
||||||
|
#### Enhancements
|
||||||
|
|
||||||
|
* Many translation updates, including a completely new Arabic, Finnish, Korean, and Swedish translation. A BIG THANKS to all translators!
|
||||||
|
* The shaders are now aware of the actual window size (e.g. excluding the area where the shadow is drawn). For instance, this **fixes the drawing of the effects outside the window bounds** for `libadwaita` apps.
|
||||||
|
* Refactored how the size and opacity transitions of the window actors are set up. Effects can now only specify a desired actor scale which will not change during the animation. All dynamic scaling and fading must be implemented in the shaders now.
|
||||||
|
* The standard uniforms of all shaders have been updated: The window size is now passed as a `vec2` and there is a new `bool uForOpening` which is set to `true` if a window-open animation is ongoing, to `false` otherwise.
|
||||||
|
|
||||||
|
#### Bug Fixes
|
||||||
|
|
||||||
|
* **Fixed a major memory leak**. Now, shaders are not re-created anymore whenever a window is opened or closed. Instead, previously created shaders are re-used as often as possible. This requires that all settings are set as uniform values (previously they were injected into the shader source) which in turn requires that `Shell.GLSLEffect` is used instead of `Clutter.ShaderEffect`. This change also requires that all shaders now work with straight instead of premultiplied alpha. Anyways, a lot needed to be refactored for this fix and I hope that it did not bring too many visual changes.
|
||||||
|
* Fixed the window-close animation of windows which were opened before the session was started (e.g. before GNOME Shell has been restarted).
|
||||||
|
* There seem to be cases were `libadwaita` is not available on GNOME 42 (e.g. Pop!_OS 22.04 beta). The preferences dialog now tries to fallback to the GTK4-only variant if `libadwaita` is not available.
|
||||||
|
|
||||||
|
## [Burn My Windows 15](https://github.com/schneegans/Burn-My-Windows/releases/tag/v15)
|
||||||
|
|
||||||
|
**Release Date:** 2022-04-06
|
||||||
|
|
||||||
|
#### New Features
|
||||||
|
|
||||||
|
* **New Effect: Apparition.** This effect hides the window by violently sucking it into the void of magic. This is available only for GNOME Shell 3.38 and newer.
|
||||||
|
* **New Effect: Hexagon.** With glowing lines and hexagon-shaped tiles, this effect looks very sci-fi. This is available for GNOME Shell 3.36 and newer.
|
||||||
|
* **New Effect: Snap of Disintegration.** This was requested quite frequently! Dissolve your windows into a cloud of dust. This is available only for GNOME Shell 40 and newer.
|
||||||
|
|
||||||
|
#### Bug Fixes
|
||||||
|
|
||||||
|
* Disabled the buggy "Shatter from pointer" option of the Broken Glass effect when opening windows (it only makes sense for closing windows).
|
||||||
|
|
||||||
|
## [Burn My Windows 14](https://github.com/schneegans/Burn-My-Windows/releases/tag/v14)
|
||||||
|
|
||||||
|
**Release Date:** 2022-03-29
|
||||||
|
|
||||||
|
#### Enhancements
|
||||||
|
|
||||||
|
* Reduced the lower animation time limits for all effects to 100 ms. This should now allow for very snappy animations!
|
||||||
|
* A completely new Russian translation. Thank you, ANIGO R.!
|
||||||
|
|
||||||
|
#### Bug Fixes
|
||||||
|
|
||||||
|
* Fixed the version check for GNOME Shell `42.rc` (before it only worked on `42.alpha` and `42.beta`)
|
||||||
|
|
||||||
|
|
||||||
|
## [Burn My Windows 13](https://github.com/schneegans/Burn-My-Windows/releases/tag/v13)
|
||||||
|
|
||||||
**Release Date:** 2022-03-27
|
**Release Date:** 2022-03-27
|
||||||
|
|
||||||
@@ -17,7 +77,7 @@
|
|||||||
|
|
||||||
* Fixed the version check for GNOME Shell 42.
|
* Fixed the version check for GNOME Shell 42.
|
||||||
|
|
||||||
## [Burn My Window 12](https://github.com/schneegans/Burn-My-Windows/releases/tag/v12)
|
## [Burn My Windows 12](https://github.com/schneegans/Burn-My-Windows/releases/tag/v12)
|
||||||
|
|
||||||
**Release Date:** 2022-02-19
|
**Release Date:** 2022-02-19
|
||||||
|
|
||||||
@@ -30,7 +90,7 @@
|
|||||||
|
|
||||||
* Added [Liberapay](https://liberapay.com/Schneegans) to the sponsorship options.
|
* Added [Liberapay](https://liberapay.com/Schneegans) to the sponsorship options.
|
||||||
|
|
||||||
## [Burn My Window 11](https://github.com/schneegans/Burn-My-Windows/releases/tag/v11)
|
## [Burn My Windows 11](https://github.com/schneegans/Burn-My-Windows/releases/tag/v11)
|
||||||
|
|
||||||
**Release Date:** 2022-02-03
|
**Release Date:** 2022-02-03
|
||||||
|
|
||||||
@@ -55,7 +115,7 @@
|
|||||||
|
|
||||||
* 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 Window 10](https://github.com/schneegans/Burn-My-Windows/releases/tag/v10)
|
## [Burn My Windows 10](https://github.com/schneegans/Burn-My-Windows/releases/tag/v10)
|
||||||
|
|
||||||
**Release Date:** 2022-01-31
|
**Release Date:** 2022-01-31
|
||||||
|
|
||||||
@@ -76,7 +136,7 @@
|
|||||||
* The README now shows the current lines of code and the current comment percentage using my [dynamic-badges-action](https://github.com/Schneegans/dynamic-badges-action).
|
* The README now shows the current lines of code and the current comment percentage using my [dynamic-badges-action](https://github.com/Schneegans/dynamic-badges-action).
|
||||||
* **Add advanced CI tests:** For each commit to `main`, it is now tested whether the extension can be installed and if the preferences dialog can be shown on GNOME Shell 3.36, 3.38, 40, and 41. Both, X11 and Wayland are checked.
|
* **Add advanced CI tests:** For each commit to `main`, it is now tested whether the extension can be installed and if the preferences dialog can be shown on GNOME Shell 3.36, 3.38, 40, and 41. Both, X11 and Wayland are checked.
|
||||||
|
|
||||||
## [Burn My Window 9](https://github.com/schneegans/Burn-My-Windows/releases/tag/v9)
|
## [Burn My Windows 9](https://github.com/schneegans/Burn-My-Windows/releases/tag/v9)
|
||||||
|
|
||||||
**Release Date:** 2022-01-18
|
**Release Date:** 2022-01-18
|
||||||
|
|
||||||
@@ -85,7 +145,7 @@
|
|||||||
* Improved compatibility with [Show Application View When Workspace Empty ](https://extensions.gnome.org/extension/2036/show-application-view-when-workspace-empty/) (#54).
|
* Improved compatibility with [Show Application View When Workspace Empty ](https://extensions.gnome.org/extension/2036/show-application-view-when-workspace-empty/) (#54).
|
||||||
* Fixed a crash which happened when the window-close icon in the overview was clicked twice (#49).
|
* Fixed a crash which happened when the window-close icon in the overview was clicked twice (#49).
|
||||||
|
|
||||||
## [Burn My Window 8](https://github.com/schneegans/Burn-My-Windows/releases/tag/v8)
|
## [Burn My Windows 8](https://github.com/schneegans/Burn-My-Windows/releases/tag/v8)
|
||||||
|
|
||||||
**Release Date:** 2022-01-17
|
**Release Date:** 2022-01-17
|
||||||
|
|
||||||
@@ -111,7 +171,7 @@
|
|||||||
* 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 Window 7](https://github.com/schneegans/Burn-My-Windows/releases/tag/v7)
|
## [Burn My Windows 7](https://github.com/schneegans/Burn-My-Windows/releases/tag/v7)
|
||||||
|
|
||||||
**Release Date:** 2022-01-03
|
**Release Date:** 2022-01-03
|
||||||
|
|
||||||
@@ -125,7 +185,7 @@
|
|||||||
* Resolve copyright issues by using a MIT-licensed noise implementation.
|
* Resolve copyright issues by using a MIT-licensed noise implementation.
|
||||||
|
|
||||||
|
|
||||||
## [Burn My Window 6](https://github.com/schneegans/Burn-My-Windows/releases/tag/v6)
|
## [Burn My Windows 6](https://github.com/schneegans/Burn-My-Windows/releases/tag/v6)
|
||||||
|
|
||||||
**Release Date:** 2022-01-02
|
**Release Date:** 2022-01-02
|
||||||
|
|
||||||
@@ -133,7 +193,7 @@
|
|||||||
|
|
||||||
* Removed a debug log message.
|
* Removed a debug log message.
|
||||||
|
|
||||||
## [Burn My Window 5](https://github.com/schneegans/Burn-My-Windows/releases/tag/v5)
|
## [Burn My Windows 5](https://github.com/schneegans/Burn-My-Windows/releases/tag/v5)
|
||||||
|
|
||||||
**Release Date:** 2022-01-02
|
**Release Date:** 2022-01-02
|
||||||
|
|
||||||
@@ -151,7 +211,7 @@
|
|||||||
|
|
||||||
* 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 Window 4](https://github.com/schneegans/Burn-My-Windows/releases/tag/v4)
|
## [Burn My Windows 4](https://github.com/schneegans/Burn-My-Windows/releases/tag/v4)
|
||||||
|
|
||||||
**Release Date:** 2021-12-25
|
**Release Date:** 2021-12-25
|
||||||
|
|
||||||
@@ -165,7 +225,7 @@
|
|||||||
* Refactored the code a lot to make it easier to add new shader effects in the future.
|
* Refactored the code a lot to make it easier to add new shader effects in the future.
|
||||||
* Tweaked timing of the fire shader. Previously, the fire became invisible quite quickly. Due to this new animation timing, the default animation time has been reduced to 1500 ms.
|
* Tweaked timing of the fire shader. Previously, the fire became invisible quite quickly. Due to this new animation timing, the default animation time has been reduced to 1500 ms.
|
||||||
|
|
||||||
## [Burn My Window 3](https://github.com/schneegans/Burn-My-Windows/releases/tag/v3)
|
## [Burn My Windows 3](https://github.com/schneegans/Burn-My-Windows/releases/tag/v3)
|
||||||
|
|
||||||
**Release Date:** 2021-12-20
|
**Release Date:** 2021-12-20
|
||||||
|
|
||||||
@@ -173,7 +233,7 @@
|
|||||||
|
|
||||||
* Add support for GNOME 3.36 and GNOME 3.38.
|
* Add support for GNOME 3.36 and GNOME 3.38.
|
||||||
|
|
||||||
## [Burn My Window 2](https://github.com/schneegans/Burn-My-Windows/releases/tag/v2)
|
## [Burn My Windows 2](https://github.com/schneegans/Burn-My-Windows/releases/tag/v2)
|
||||||
|
|
||||||
**Release Date:** 2021-12-16
|
**Release Date:** 2021-12-16
|
||||||
|
|
||||||
@@ -183,7 +243,7 @@
|
|||||||
* Added the possibility to adjust flame speed and scale.
|
* Added the possibility to adjust flame speed and scale.
|
||||||
* Added some fire presets.
|
* Added some fire presets.
|
||||||
|
|
||||||
## [Burn My Window 1](https://github.com/schneegans/Burn-My-Windows/releases/tag/v1)
|
## [Burn My Windows 1](https://github.com/schneegans/Burn-My-Windows/releases/tag/v1)
|
||||||
|
|
||||||
**Release Date:** 2021-12-14
|
**Release Date:** 2021-12-14
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
The extension is very modular and with a bit of creativity and GLSL knowledge, you can easily create your own effects.
|
The extension is very modular and with a bit of creativity and GLSL knowledge, you can easily create your own effects.
|
||||||
If you are happy with your results, please open a pull request so that we can include your effect in the next version of Burn-My-Windows!
|
If you are happy with your results, please open a pull request so that we can include your effect in the next version of Burn-My-Windows!
|
||||||
|
|
||||||
|
_:warning: For now, this guide is only for GNOME Shell (and not for KWin). As soon as the API for KWin is more stable, this guide will be updated._
|
||||||
|
|
||||||
### Before you Start
|
### Before you Start
|
||||||
|
|
||||||
First you should [fork the repository](https://github.com/Schneegans/Burn-My-Windows/fork) and clone it to your PC.
|
First you should [fork the repository](https://github.com/Schneegans/Burn-My-Windows/fork) and clone it to your PC.
|
||||||
@@ -77,11 +79,60 @@ Just remember to replace `simple-fade` with your custom name!
|
|||||||
|
|
||||||
### 2. Creating the Effect Class
|
### 2. Creating the Effect Class
|
||||||
|
|
||||||
You will have to create a new file called `src/SimpleFade.js` and paste the following code to it.
|
You will have to create a new GLSL file called `resources/shaders/simple-fade.frag` and a new JavaScript source file called `src/SimpleFade.js`.
|
||||||
|
Simply paste the following source code to the respective file.
|
||||||
Please study this code carefully, all of it is explained with inline comments.
|
Please study this code carefully, all of it is explained with inline comments.
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Expand this to show the code.</summary>
|
<summary>Expand this to show the GLSL code.</summary>
|
||||||
|
|
||||||
|
```glsl
|
||||||
|
// The content from common.glsl is automatically prepended to each shader effect. This
|
||||||
|
// provides the standard input:
|
||||||
|
|
||||||
|
// vec2 iTexCoord: Texture coordinates for retrieving the window input color.
|
||||||
|
// bool uForOpening: True if a window-open animation is ongoing, false otherwise.
|
||||||
|
// float uProgress: A value which transitions from 0 to 1 during the animation.
|
||||||
|
// float uDuration: The duration of the current animation in seconds.
|
||||||
|
// vec2 uSize: The size of uTexture in pixels.
|
||||||
|
// float uPadding: The empty area around the actual window (e.g. where the shadow
|
||||||
|
// is drawn). For now, this will only be set on GNOME.
|
||||||
|
|
||||||
|
// Furthermore, there are two global methods for reading the window input color and
|
||||||
|
// setting the shader output color. Both methods assume straight alpha:
|
||||||
|
|
||||||
|
// vec4 getInputColor(vec2 coords)
|
||||||
|
// void setOutputColor(vec4 outColor)
|
||||||
|
|
||||||
|
// The width of the fading effect is loaded from the settings.
|
||||||
|
uniform float uFadeWidth;
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
// Get the color from the window texture.
|
||||||
|
vec4 oColor = getInputColor(iTexCoord.st);
|
||||||
|
|
||||||
|
// Radial distance from window edge to the window's center.
|
||||||
|
float dist = length(iTexCoord.st - 0.5) * 2.0 / sqrt(2.0);
|
||||||
|
|
||||||
|
// This gradually dissolves from [1..0] from the outside to the center. We
|
||||||
|
// switch the direction for opening and closing.
|
||||||
|
float progress = uForOpening ? 1.0 - uProgress : uProgress;
|
||||||
|
float mask = (1.0 - progress * (1.0 + uFadeWidth) - dist + uFadeWidth) / uFadeWidth;
|
||||||
|
|
||||||
|
// Make the mask smoother.
|
||||||
|
mask = smoothstep(0, 1, mask);
|
||||||
|
|
||||||
|
// Apply the mask to the output.
|
||||||
|
oColor.a *= mask;
|
||||||
|
|
||||||
|
setOutputColor(oColor);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Expand this to show the JavaScript code.</summary>
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
@@ -101,27 +152,44 @@ Please study this code carefully, all of it is explained with inline comments.
|
|||||||
|
|
||||||
const GObject = imports.gi.GObject;
|
const GObject = imports.gi.GObject;
|
||||||
|
|
||||||
|
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
||||||
const utils = Me.imports.src.utils;
|
const utils = Me.imports.src.utils;
|
||||||
|
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This effect ... //
|
// This effect ... //
|
||||||
// <- Please add a description of your effect here -> //
|
// <- Please add a description of your effect here -> //
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
// The shader class for this effect is registered further down in this file.
|
// The effect class can be used to get some metadata (like the effect's name or supported
|
||||||
let Shader = null;
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
|
// well as to create the actual shader for the effect.
|
||||||
|
var SimpleFade = class {
|
||||||
|
|
||||||
// The effect class is completely static. It can be used to get some metadata (like the
|
// The constructor creates a ShaderFactory which will be used by extension.js to create
|
||||||
// effect's name or supported GNOME Shell versions), to initialize the respective page of
|
// shader instances for this effect. The shaders will be automagically created using the
|
||||||
// the settings dialog, as well as to create the actual shader for the effect.
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
var SimpleFade = class SimpleFade {
|
// newly created shader instance.
|
||||||
|
constructor() {
|
||||||
|
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
||||||
|
|
||||||
|
// Store uniform locations of newly created shaders.
|
||||||
|
shader._uFadeWidth = shader.get_uniform_location('uFadeWidth');
|
||||||
|
|
||||||
|
// Write all uniform values at the start of each animation.
|
||||||
|
shader.connect('begin-animation', (shader, settings) => {
|
||||||
|
shader.set_uniform_float(shader._uFadeWidth, 1, [settings.get_double('simple-fade-width')]);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------- metadata
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||||
static getMinShellVersion() {
|
getMinShellVersion() {
|
||||||
return [3, 36];
|
return [3, 36];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -129,14 +197,14 @@ var SimpleFade = class SimpleFade {
|
|||||||
// required. It should match the prefix of the settings keys which store whether the
|
// required. It should match the prefix of the settings keys which store whether the
|
||||||
// effect is enabled currently (e.g. '*-close-effect'), and its animation time
|
// effect is enabled currently (e.g. '*-close-effect'), and its animation time
|
||||||
// (e.g. '*-animation-time').
|
// (e.g. '*-animation-time').
|
||||||
static getNick() {
|
getNick() {
|
||||||
return 'simple-fade';
|
return 'simple-fade';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
static getLabel() {
|
getLabel() {
|
||||||
return 'Simple Fade Effect';
|
return _('Simple Fade Effect');
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------------------------------- API for prefs.js
|
// -------------------------------------------------------------------- API for prefs.js
|
||||||
@@ -144,89 +212,19 @@ var SimpleFade = class SimpleFade {
|
|||||||
// This is called by the preferences dialog. It loads the settings page for this effect,
|
// This is called by the preferences dialog. It loads the settings page for this effect,
|
||||||
// binds all properties to the settings and appends the page to the main stack of the
|
// binds all properties to the settings and appends the page to the main stack of the
|
||||||
// preferences dialog.
|
// preferences dialog.
|
||||||
static getPreferences(dialog) {
|
getPreferences(dialog) {
|
||||||
// Empty for now... Code is added here later in the tutorial!
|
// Empty for now... Code is added here later in the tutorial!
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------- API for extension.js
|
// ---------------------------------------------------------------- API for extension.js
|
||||||
|
|
||||||
// This is called from extension.js whenever a window is closed with this effect.
|
// The getActorScale() is called from extension.js to adjust the actor's size during the
|
||||||
static createShader(actor, settings, forOpening) {
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
return new Shader(settings, forOpening);
|
// bounds of the actor. This only works for GNOME 3.38+.
|
||||||
|
getActorScale(settings) {
|
||||||
|
return {x: 1.0, y: 1.0};
|
||||||
}
|
}
|
||||||
|
|
||||||
// The tweakTransition() is called from extension.js to tweak a window's open / close
|
|
||||||
// transitions - usually windows are faded in / out and scaled up / down by GNOME Shell.
|
|
||||||
// The parameter 'forOpening' is set to true if this is called for a window-open
|
|
||||||
// transition, for a window-close transition it is set to false. The modes can be set to
|
|
||||||
// any value from here: https://gjs-docs.gnome.org/clutter8~8_api/clutter.animationmode.
|
|
||||||
// The only required property is 'opacity', even if it transitions from 1.0 to 1.0. The
|
|
||||||
// current value of the opacity transition is passed as uProgress to the shader.
|
|
||||||
// Tweaking the actor's scale during the transition only works properly for GNOME 3.38+.
|
|
||||||
|
|
||||||
// For this effect, windows should neither be scaled nor faded.
|
|
||||||
static tweakTransition(actor, settings, forOpening) {
|
|
||||||
return {
|
|
||||||
'opacity': {from: 255, to: 255, mode: 4},
|
|
||||||
'scale-x': {from: 1.0, to: 1.0, mode: 4},
|
|
||||||
'scale-y': {from: 1.0, to: 1.0, mode: 4}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// The shader class for this effect will only be registered in GNOME Shell's process //
|
|
||||||
// (not in the preferences process). It's done this way as Clutter may not be installed //
|
|
||||||
// on the system and therefore the preferences would crash. //
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
if (utils.isInShellProcess()) {
|
|
||||||
|
|
||||||
const Clutter = imports.gi.Clutter;
|
|
||||||
const shaderSnippets = Me.imports.src.shaderSnippets;
|
|
||||||
|
|
||||||
Shader = GObject.registerClass({}, class Shader extends Clutter.ShaderEffect {
|
|
||||||
_init(settings, forOpening) {
|
|
||||||
super._init({shader_type: Clutter.ShaderType.FRAGMENT_SHADER});
|
|
||||||
|
|
||||||
this.set_shader_source(`
|
|
||||||
|
|
||||||
// The code below injects some standard uniforms which will be updated during the
|
|
||||||
// animation. This includes:
|
|
||||||
// uTexture: Contains the texture of the window.
|
|
||||||
// uProgress: A value which transitions from 0 to 1 during the entire animation.
|
|
||||||
// uTime: A steadily increasing value in seconds.
|
|
||||||
// uSizeX: The horizontal size of uTexture in pixels.
|
|
||||||
// uSizeY: The vertical size of uTexture in pixels.
|
|
||||||
${shaderSnippets.standardUniforms()}
|
|
||||||
|
|
||||||
// The width of the fading effect is directly loaded from the settings.
|
|
||||||
const float FADE_WIDTH = ${settings.get_double('simple-fade-width')};
|
|
||||||
|
|
||||||
void main() {
|
|
||||||
|
|
||||||
// Get the color from the window texture.
|
|
||||||
vec4 windowColor = texture2D(uTexture, cogl_tex_coord_in[0].st);
|
|
||||||
|
|
||||||
// Radial distance from window edge to the window's center.
|
|
||||||
float dist = length(cogl_tex_coord_in[0].st - 0.5) * 2.0 / sqrt(2.0);
|
|
||||||
|
|
||||||
// This gradually dissolves from [1..0] from the outside to the center. We
|
|
||||||
// switch the direction for opening and closing.
|
|
||||||
float progress = ${forOpening ? '1.0 - uProgress' : 'uProgress'};
|
|
||||||
float mask = (1.0 - progress * (1.0 + FADE_WIDTH) - dist + FADE_WIDTH) / FADE_WIDTH;
|
|
||||||
|
|
||||||
// Make the mask smoother.
|
|
||||||
mask = smoothstep(0, 1, mask);
|
|
||||||
|
|
||||||
// Set the final output color. This uses premultiplied alpha.
|
|
||||||
cogl_color_out = windowColor * mask;
|
|
||||||
}
|
|
||||||
`);
|
|
||||||
};
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -241,7 +239,7 @@ Like this:
|
|||||||
```javascript
|
```javascript
|
||||||
const ALL_EFFECTS = [
|
const ALL_EFFECTS = [
|
||||||
...
|
...
|
||||||
Me.imports.src.SimpleFade.SimpleFade,
|
new Me.imports.src.SimpleFade.SimpleFade(),
|
||||||
...
|
...
|
||||||
];
|
];
|
||||||
```
|
```
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
# Preview GIFs
|
# Preview GIFs
|
||||||
|
|
||||||
The preview GIFs are recorded with OBS Studio and converted to a GIF with the following command:
|
The preview GIFs are recorded with OBS Studio at 1920x1080, cut to a length of exactly two seconds and converted to a GIF with the following command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
gifski --fps 30 -W 400 -H 225 -o effect.gif effect.mp4
|
gifski --fps 30 -W 400 -H 225 -o effect.gif effect.mp4
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 415 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 615 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 975 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 928 KiB |
+123
-73
@@ -31,18 +31,6 @@ const ExtensionUtils = imports.misc.extensionUtils;
|
|||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
||||||
const utils = Me.imports.src.utils;
|
const utils = Me.imports.src.utils;
|
||||||
|
|
||||||
// New effects must be registered here and in prefs.js.
|
|
||||||
const ALL_EFFECTS = [
|
|
||||||
Me.imports.src.EnergizeA.EnergizeA,
|
|
||||||
Me.imports.src.EnergizeB.EnergizeB,
|
|
||||||
Me.imports.src.Fire.Fire,
|
|
||||||
Me.imports.src.Matrix.Matrix,
|
|
||||||
Me.imports.src.BrokenGlass.BrokenGlass,
|
|
||||||
Me.imports.src.TRexAttack.TRexAttack,
|
|
||||||
Me.imports.src.TVEffect.TVEffect,
|
|
||||||
Me.imports.src.Wisps.Wisps,
|
|
||||||
];
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This extensions modifies the window-close and window-open animations with all kinds //
|
// This extensions modifies the window-close and window-open animations with all kinds //
|
||||||
// of effects. The effects are implemented using GLSL shaders which are applied to the //
|
// of effects. The effects are implemented using GLSL shaders which are applied to the //
|
||||||
@@ -60,6 +48,22 @@ class Extension {
|
|||||||
// from GNOME Tweaks, when you log in or when the screen is unlocked.
|
// from GNOME Tweaks, when you log in or when the screen is unlocked.
|
||||||
enable() {
|
enable() {
|
||||||
|
|
||||||
|
// New effects must be registered here and in prefs.js.
|
||||||
|
this._ALL_EFFECTS = [
|
||||||
|
new Me.imports.src.Apparition.Apparition(),
|
||||||
|
new Me.imports.src.BrokenGlass.BrokenGlass(),
|
||||||
|
new Me.imports.src.EnergizeA.EnergizeA(),
|
||||||
|
new Me.imports.src.EnergizeB.EnergizeB(),
|
||||||
|
new Me.imports.src.Fire.Fire(),
|
||||||
|
new Me.imports.src.Hexagon.Hexagon(),
|
||||||
|
new Me.imports.src.Incinerate.Incinerate(),
|
||||||
|
new Me.imports.src.Matrix.Matrix(),
|
||||||
|
new Me.imports.src.SnapOfDisintegration.SnapOfDisintegration(),
|
||||||
|
new Me.imports.src.TRexAttack.TRexAttack(),
|
||||||
|
new Me.imports.src.TVEffect.TVEffect(),
|
||||||
|
new Me.imports.src.Wisps.Wisps(),
|
||||||
|
];
|
||||||
|
|
||||||
// Load all of our resources.
|
// Load all of our resources.
|
||||||
this._resources = Gio.Resource.load(Me.path + '/resources/burn-my-windows.gresource');
|
this._resources = Gio.Resource.load(Me.path + '/resources/burn-my-windows.gresource');
|
||||||
Gio.resources_register(this._resources);
|
Gio.resources_register(this._resources);
|
||||||
@@ -67,19 +71,22 @@ class Extension {
|
|||||||
// Store a reference to the settings object.
|
// Store a reference to the settings object.
|
||||||
this._settings = ExtensionUtils.getSettings();
|
this._settings = ExtensionUtils.getSettings();
|
||||||
|
|
||||||
// This will store an item of ALL_EFFECTS array which was used the last time a window
|
|
||||||
// was opened / closed.
|
|
||||||
this._currentEffect = 0;
|
|
||||||
|
|
||||||
// We will use extensionThis to refer to the extension inside the patched methods.
|
// We will use extensionThis to refer to the extension inside the patched methods.
|
||||||
const extensionThis = this;
|
const extensionThis = this;
|
||||||
|
|
||||||
|
// This is used to get the battery state.
|
||||||
|
const UPowerProxy = Gio.DBusProxy.makeProxyWrapper(
|
||||||
|
utils.getStringResource('/interfaces/org.freedesktop.UPower.xml'));
|
||||||
|
this._upowerProxy = new UPowerProxy(Gio.DBus.system, 'org.freedesktop.UPower',
|
||||||
|
'/org/freedesktop/UPower');
|
||||||
|
|
||||||
// We will monkey-patch these methods. Let's store the original ones.
|
// We will monkey-patch these methods. Let's store the original ones.
|
||||||
this._origAddWindowClone = Workspace.prototype._addWindowClone;
|
this._origAddWindowClone = Workspace.prototype._addWindowClone;
|
||||||
this._origWindowRemoved = Workspace.prototype._windowRemoved;
|
this._origWindowRemoved = Workspace.prototype._windowRemoved;
|
||||||
this._origDoRemoveWindow = Workspace.prototype._doRemoveWindow;
|
this._origDoRemoveWindow = Workspace.prototype._doRemoveWindow;
|
||||||
this._origShouldAnimateActor = WindowManager.prototype._shouldAnimateActor;
|
this._origShouldAnimateActor = WindowManager.prototype._shouldAnimateActor;
|
||||||
this._origWaitForOverviewToHide = WindowManager.prototype._waitForOverviewToHide;
|
this._origWaitForOverviewToHide = WindowManager.prototype._waitForOverviewToHide;
|
||||||
|
this._origDestroyWindowDone = WindowManager.prototype._destroyWindowDone;
|
||||||
|
|
||||||
// We will also override these animation times.
|
// We will also override these animation times.
|
||||||
this._origWindowTime = imports.ui.windowManager.DESTROY_WINDOW_ANIMATION_TIME;
|
this._origWindowTime = imports.ui.windowManager.DESTROY_WINDOW_ANIMATION_TIME;
|
||||||
@@ -95,7 +102,7 @@ class Extension {
|
|||||||
|
|
||||||
// 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:
|
// WindowManager:
|
||||||
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1449
|
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1452
|
||||||
// AFAIK, overriding this method is not possible as it's called by a signal to
|
// 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
|
// 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
|
// anyways, we override the actors ease() method once - the next time it will be
|
||||||
@@ -169,7 +176,7 @@ class Extension {
|
|||||||
// but not _doRemoveWindow. The latter is required to trigger the repositioning of
|
// but not _doRemoveWindow. The latter is required to trigger the repositioning of
|
||||||
// the overview window layout. Therefore we call this method in addition.
|
// the overview window layout. Therefore we call this method in addition.
|
||||||
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/gnome-3-36/js/ui/workspace.js#L1877
|
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/gnome-3-36/js/ui/workspace.js#L1877
|
||||||
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1415
|
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1405
|
||||||
if (utils.shellVersionIs(3, 36)) {
|
if (utils.shellVersionIs(3, 36)) {
|
||||||
clone.connect('destroy', () => this._doRemoveWindow(clone.metaWindow));
|
clone.connect('destroy', () => this._doRemoveWindow(clone.metaWindow));
|
||||||
}
|
}
|
||||||
@@ -189,7 +196,7 @@ class Extension {
|
|||||||
// cannot monkey-patch the _destroyWindow or _mapWindow methods themselves, we check
|
// 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
|
// 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...
|
// true. Let's see if this breaks stuff left and right...
|
||||||
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1125
|
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1124
|
||||||
WindowManager.prototype._shouldAnimateActor = function(...params) {
|
WindowManager.prototype._shouldAnimateActor = function(...params) {
|
||||||
const caller = (new Error()).stack.split('\n')[1];
|
const caller = (new Error()).stack.split('\n')[1];
|
||||||
if (caller.includes('_destroyWindow@') || caller.includes('_mapWindow@')) {
|
if (caller.includes('_destroyWindow@') || caller.includes('_mapWindow@')) {
|
||||||
@@ -201,18 +208,35 @@ class Extension {
|
|||||||
|
|
||||||
// ----------------------------------------------- patching the window-close animation
|
// ----------------------------------------------- patching the window-close animation
|
||||||
|
|
||||||
// The signal handler below is all which is required outside of the overview. All
|
// The signal handler below and the following patch are all which is required outside
|
||||||
// other hacks further below are just required to defer the window-hiding in the
|
// of the overview. All other hacks further below are just required to defer the
|
||||||
// overview until the effect is finished.
|
// window-hiding in the overview until the effect is finished.
|
||||||
|
|
||||||
// The close animation is set up in WindowManager's _destroyWindow:
|
// The close animation is set up in WindowManager's _destroyWindow:
|
||||||
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1549
|
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1541
|
||||||
// As we cannot monkey-patch the _destroyWindow itself, we connect to the 'destroy'
|
// 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.
|
// signal of the window manager and tweak the animation to our needs.
|
||||||
this._destroyConnection = global.window_manager.connect('destroy', (wm, actor) => {
|
this._destroyConnection = global.window_manager.connect('destroy', (wm, actor) => {
|
||||||
this._setupEffect(actor, false);
|
this._setupEffect(actor, false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Once the window-close animation is is finished, the window manager's
|
||||||
|
// _destroyWindowDone is called. We use this to free the effect so that it can be
|
||||||
|
// re-used in future.
|
||||||
|
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1541
|
||||||
|
WindowManager.prototype._destroyWindowDone = function(shellwm, actor) {
|
||||||
|
if (this._destroying.has(actor)) {
|
||||||
|
const shader = actor.get_effect('burn-my-windows-effect');
|
||||||
|
if (shader) {
|
||||||
|
actor.remove_effect(shader);
|
||||||
|
shader.returnToFactory();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Call the original method.
|
||||||
|
extensionThis._origDestroyWindowDone.apply(this, [shellwm, actor]);
|
||||||
|
};
|
||||||
|
|
||||||
// These three method overrides are mega-hacky! Usually, windows are not faded when
|
// These three method overrides are mega-hacky! Usually, windows are not faded when
|
||||||
// closed from the overview (why?). With these overrides we make sure that they are
|
// closed from the overview (why?). With these overrides we make sure that they are
|
||||||
// actually faded out. To do this, _windowRemoved and _doRemoveWindow now check
|
// actually faded out. To do this, _windowRemoved and _doRemoveWindow now check
|
||||||
@@ -220,14 +244,14 @@ class Extension {
|
|||||||
// the case, these methods do nothing. Are the actors removed in the end? I hope so.
|
// 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
|
// The _destroyWindow of the WindowManager sets the transitions up and should take
|
||||||
// care of removing the actors at the end of the transitions.
|
// care of removing the actors at the end of the transitions.
|
||||||
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1299
|
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1301
|
||||||
Workspace.prototype._windowRemoved = function(ws, metaWin) {
|
Workspace.prototype._windowRemoved = function(ws, metaWin) {
|
||||||
if (extensionThis._shouldDestroy(this, metaWin)) {
|
if (extensionThis._shouldDestroy(this, metaWin)) {
|
||||||
extensionThis._origWindowRemoved.apply(this, [ws, metaWin]);
|
extensionThis._origWindowRemoved.apply(this, [ws, metaWin]);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1178
|
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1180
|
||||||
Workspace.prototype._doRemoveWindow = function(metaWin) {
|
Workspace.prototype._doRemoveWindow = function(metaWin) {
|
||||||
if (extensionThis._shouldDestroy(this, metaWin)) {
|
if (extensionThis._shouldDestroy(this, metaWin)) {
|
||||||
extensionThis._origDoRemoveWindow.apply(this, [metaWin]);
|
extensionThis._origDoRemoveWindow.apply(this, [metaWin]);
|
||||||
@@ -288,6 +312,9 @@ class Extension {
|
|||||||
// Tweaks, when you log out or when the screen locks.
|
// Tweaks, when you log out or when the screen locks.
|
||||||
disable() {
|
disable() {
|
||||||
|
|
||||||
|
// Free all effect resources.
|
||||||
|
this._ALL_EFFECTS = [];
|
||||||
|
|
||||||
// Unregister our resources.
|
// Unregister our resources.
|
||||||
Gio.resources_unregister(this._resources);
|
Gio.resources_unregister(this._resources);
|
||||||
|
|
||||||
@@ -300,6 +327,7 @@ class Extension {
|
|||||||
Workspace.prototype._doRemoveWindow = this._origDoRemoveWindow;
|
Workspace.prototype._doRemoveWindow = this._origDoRemoveWindow;
|
||||||
WindowManager.prototype._shouldAnimateActor = this._origShouldAnimateActor;
|
WindowManager.prototype._shouldAnimateActor = this._origShouldAnimateActor;
|
||||||
WindowManager.prototype._waitForOverviewToHide = this._origWaitForOverviewToHide;
|
WindowManager.prototype._waitForOverviewToHide = this._origWaitForOverviewToHide;
|
||||||
|
WindowManager.prototype._destroyWindowDone = this._origDestroyWindowDone;
|
||||||
|
|
||||||
imports.ui.windowManager.DESTROY_WINDOW_ANIMATION_TIME = this._origWindowTime;
|
imports.ui.windowManager.DESTROY_WINDOW_ANIMATION_TIME = this._origWindowTime;
|
||||||
imports.ui.windowManager.DIALOG_DESTROY_WINDOW_ANIMATION_TIME = this._origDialogTime;
|
imports.ui.windowManager.DIALOG_DESTROY_WINDOW_ANIMATION_TIME = this._origDialogTime;
|
||||||
@@ -334,7 +362,7 @@ class Extension {
|
|||||||
// We do nothing if a dialog got closed and we should not burn them.
|
// We do nothing if a dialog got closed and we should not burn them.
|
||||||
const shouldDestroyDialogs = this._settings.get_boolean('destroy-dialogs');
|
const shouldDestroyDialogs = this._settings.get_boolean('destroy-dialogs');
|
||||||
|
|
||||||
// If an effect is to be previewed however, we have to affect dialogs es well. This is
|
// If an effect is to be previewed, we have to affect dialogs es well. This is
|
||||||
// because the preview window is a dialog window...
|
// because the preview window is a dialog window...
|
||||||
const action = forOpening ? 'open' : 'close';
|
const action = forOpening ? 'open' : 'close';
|
||||||
const previewNick = this._settings.get_string(action + '-preview-effect');
|
const previewNick = this._settings.get_string(action + '-preview-effect');
|
||||||
@@ -344,16 +372,30 @@ class Extension {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// We may have to do nothing if running on battery power.
|
||||||
|
if (this._settings.get_boolean('disable-on-battery') && this._upowerProxy.OnBattery &&
|
||||||
|
previewNick == '') {
|
||||||
|
this._fixAnimationTimes(isDialogWindow, forOpening, null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// There is the weird case where an animation is already ongoing. This happens when a
|
||||||
|
// window is closed which has been created before the session was started (e.g. when
|
||||||
|
// GNOME Shell has been restarted in the meantime).
|
||||||
|
const oldShader = actor.get_effect('burn-my-windows-effect');
|
||||||
|
if (oldShader) {
|
||||||
|
actor.remove_effect(oldShader);
|
||||||
|
oldShader.returnToFactory();
|
||||||
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------------------ choose an effect
|
// ------------------------------------------------------------------ choose an effect
|
||||||
|
|
||||||
// Now we chose a random effect from all enabled effects.
|
// Now we chose a random effect from all enabled effects.
|
||||||
this._currentEffect = null;
|
let effect = null;
|
||||||
|
|
||||||
// First we check if an effect is to be previewed.
|
// First we check if an effect is to be previewed.
|
||||||
if (previewNick != '') {
|
if (previewNick != '') {
|
||||||
this._currentEffect = ALL_EFFECTS.find(Effect => {
|
effect = this._ALL_EFFECTS.find(effect => effect.getNick() == previewNick);
|
||||||
return Effect.getNick() == previewNick;
|
|
||||||
});
|
|
||||||
|
|
||||||
// Only preview the effect once.
|
// Only preview the effect once.
|
||||||
this._settings.set_string(action + '-preview-effect', '');
|
this._settings.set_string(action + '-preview-effect', '');
|
||||||
@@ -363,18 +405,18 @@ class Extension {
|
|||||||
else {
|
else {
|
||||||
|
|
||||||
// Therefore, we first create a list of all currently enabled effects.
|
// Therefore, we first create a list of all currently enabled effects.
|
||||||
const enabled = ALL_EFFECTS.filter(Effect => {
|
const enabled = this._ALL_EFFECTS.filter(effect => {
|
||||||
return this._settings.get_boolean(`${Effect.getNick()}-${action}-effect`);
|
return this._settings.get_boolean(`${effect.getNick()}-${action}-effect`);
|
||||||
});
|
});
|
||||||
|
|
||||||
// And then choose a random effect.
|
// And then choose a random effect.
|
||||||
if (enabled.length > 0) {
|
if (enabled.length > 0) {
|
||||||
this._currentEffect = enabled[Math.floor(Math.random() * enabled.length)];
|
effect = enabled[Math.floor(Math.random() * enabled.length)];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If nothing was enabled, we have to do nothing :)
|
// If nothing was enabled, we have to do nothing :)
|
||||||
if (this._currentEffect == null) {
|
if (effect == null) {
|
||||||
this._fixAnimationTimes(isDialogWindow, forOpening, null);
|
this._fixAnimationTimes(isDialogWindow, forOpening, null);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -386,19 +428,24 @@ class Extension {
|
|||||||
const testMode = this._settings.get_boolean('test-mode');
|
const testMode = this._settings.get_boolean('test-mode');
|
||||||
|
|
||||||
// The following is used to tweak the ongoing transitions of a window actor. Usually
|
// The following is used to tweak the ongoing transitions of a window actor. Usually
|
||||||
// windows are faded in / out scaled up / down slightly by GNOME Shell. Here, we allow
|
// windows are faded in / out scaled up / down slightly by GNOME Shell. Here, we tweak
|
||||||
// modifications to this behavior by the effects.
|
// the transitions so that nothing changes. The window stays opaque and is scaled to
|
||||||
const config = this._currentEffect.tweakTransition(actor, this._settings, forOpening);
|
// actorScale.
|
||||||
const duration = testMode ?
|
const actorScale = effect.getActorScale(this._settings);
|
||||||
5000 :
|
|
||||||
this._settings.get_int(this._currentEffect.getNick() + '-animation-time');
|
// To make things deterministic during testing, we set the effect duration to 5
|
||||||
|
// seconds.
|
||||||
|
const duration =
|
||||||
|
testMode ? 5000 : this._settings.get_int(effect.getNick() + '-animation-time');
|
||||||
|
|
||||||
// All animations are relative to the window's center.
|
// All animations are relative to the window's center.
|
||||||
actor.set_pivot_point(0.5, 0.5);
|
actor.set_pivot_point(0.5, 0.5);
|
||||||
|
|
||||||
// This goes through all properties given in the config object and tweaks any ongoing
|
|
||||||
// transitions accordingly. If there is no ongoing transition for a given property, a
|
// We tweak the opacity and scale of the actor. If there is no ongoing transition for
|
||||||
// new one is set up.
|
// 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) {
|
for (const property in config) {
|
||||||
let transition = actor.get_transition(property);
|
let transition = actor.get_transition(property);
|
||||||
|
|
||||||
@@ -421,11 +468,10 @@ class Extension {
|
|||||||
// Tweak the transition according to the config object. For some reason, there are
|
// 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...
|
// rare cases, where no transition is set up. This happens from time to time...
|
||||||
if (transition) {
|
if (transition) {
|
||||||
const middle = (config[property].to + config[property].from) / 2;
|
|
||||||
transition.set_duration(duration);
|
transition.set_duration(duration);
|
||||||
transition.set_to(testMode ? middle : config[property].to);
|
transition.set_to(config[property]);
|
||||||
transition.set_from(testMode ? middle : config[property].from);
|
transition.set_from(config[property]);
|
||||||
transition.set_progress_mode(config[property].mode);
|
transition.set_progress_mode(Clutter.AnimationMode.LINEAR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -442,37 +488,41 @@ class Extension {
|
|||||||
// -------------------------------------------------------------------- add the shader
|
// -------------------------------------------------------------------- add the shader
|
||||||
|
|
||||||
// Now add a cool shader to our window actor!
|
// Now add a cool shader to our window actor!
|
||||||
const shader = this._currentEffect.createShader(actor, this._settings, forOpening);
|
const shader = effect.shaderFactory.getShader();
|
||||||
|
|
||||||
if (shader) {
|
// There should always be an opacity transition going on...
|
||||||
// There should always be an opacity transition going on...
|
const transition = actor.get_transition('opacity');
|
||||||
const transition = actor.get_transition('opacity');
|
|
||||||
|
|
||||||
if (!transition) {
|
if (!transition) {
|
||||||
this._fixAnimationTimes(isDialogWindow, forOpening, null);
|
this._fixAnimationTimes(isDialogWindow, forOpening, null);
|
||||||
utils.debug('Cannot setup shader without opacity transition.')
|
utils.debug('Cannot setup shader without opacity transition.')
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Assign the effect to the window actor!
|
||||||
|
actor.add_effect_with_name('burn-my-windows-effect', shader);
|
||||||
|
|
||||||
|
// Set one-time uniforms.
|
||||||
|
shader.beginAnimation(this._settings, forOpening, duration * 0.001, actor);
|
||||||
|
|
||||||
|
// Set other uniforms each frame.
|
||||||
|
transition.connect('new-frame', (t) => {
|
||||||
|
if (testMode) {
|
||||||
|
shader.updateAnimation(0.5);
|
||||||
|
} else {
|
||||||
|
shader.updateAnimation(t.get_progress());
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// First remove any old effect.
|
// Remove the effect if the animation finished or was interrupted.
|
||||||
actor.remove_effect_by_name(`burn-my-windows-effect`);
|
if (forOpening) {
|
||||||
actor.add_effect_with_name(`burn-my-windows-effect`, shader);
|
transition.connect('stopped', () => {
|
||||||
|
const oldShader = actor.get_effect('burn-my-windows-effect');
|
||||||
// Update uniforms at each frame.
|
if (oldShader) {
|
||||||
transition.connect('new-frame', (t) => {
|
actor.remove_effect(oldShader);
|
||||||
shader.set_uniform_value('uProgress', testMode ? 0.5 : t.get_progress());
|
oldShader.returnToFactory();
|
||||||
shader.set_uniform_value('uTime',
|
}
|
||||||
testMode ? duration / 2 : 0.001 * t.get_elapsed_time());
|
|
||||||
shader.set_uniform_value('uSizeX', actor.width);
|
|
||||||
shader.set_uniform_value('uSizeY', actor.height);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Remove the effect if the animation finished or was interrupted.
|
|
||||||
if (forOpening) {
|
|
||||||
transition.connect('stopped', () => {
|
|
||||||
actor.remove_effect_by_name(`burn-my-windows-effect`);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Finally, ensure that all animation times are set properly so that other extensions
|
// Finally, ensure that all animation times are set properly so that other extensions
|
||||||
|
|||||||
Executable
+121
@@ -0,0 +1,121 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>BMWConfigForm</class>
|
||||||
|
<widget class="QWidget" name="BMWConfigForm">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>562</width>
|
||||||
|
<height>365</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="4" column="1">
|
||||||
|
<widget class="QDoubleSpinBox" name="kcfg_Randomness">
|
||||||
|
<property name="minimum">
|
||||||
|
<double>0.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>1.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QSpinBox" name="kcfg_Duration">
|
||||||
|
<property name="suffix">
|
||||||
|
<string> milliseconds</string>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>9999</number>
|
||||||
|
</property>
|
||||||
|
<property name="singleStep">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Suction:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="text">
|
||||||
|
<string>Twirl:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QLabel" name="label_5">
|
||||||
|
<property name="text">
|
||||||
|
<string>Randomness:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Shake:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QDoubleSpinBox" name="kcfg_Suction">
|
||||||
|
<property name="minimum">
|
||||||
|
<double>0.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>1.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Duration:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QDoubleSpinBox" name="kcfg_Twirl">
|
||||||
|
<property name="minimum">
|
||||||
|
<double>-10.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>10.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QDoubleSpinBox" name="kcfg_Shake">
|
||||||
|
<property name="maximum">
|
||||||
|
<double>10.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources />
|
||||||
|
<connections />
|
||||||
|
</ui>
|
||||||
Executable
+22
@@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
|
||||||
|
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
|
||||||
|
<kcfgfile name="" />
|
||||||
|
<group name="">
|
||||||
|
<entry name="Duration" type="UInt">
|
||||||
|
<default>300</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="Shake" type="Double">
|
||||||
|
<default>3</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="Twirl" type="Double">
|
||||||
|
<default>5</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="Suction" type="Double">
|
||||||
|
<default>0.75</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="Randomness" type="Double">
|
||||||
|
<default>0.5</default>
|
||||||
|
</entry>
|
||||||
|
</group>
|
||||||
|
</kcfg>
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
// This part is automatically included in the effect's source during the build process.
|
||||||
|
// The code below is called whenever a window is closed or opened.
|
||||||
|
|
||||||
|
effect.setUniform(this.shader, 'uSeed', [Math.random(), Math.random()]);
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
// This part is automatically included in the effect's source during the build process.
|
||||||
|
// The code below is called whenever the user changes something in the configuration of
|
||||||
|
// the effect.
|
||||||
|
|
||||||
|
effect.setUniform(this.shader, 'uShake', effect.readConfig('Shake', 1.0));
|
||||||
|
effect.setUniform(this.shader, 'uTwirl', effect.readConfig('Twirl', 1.0));
|
||||||
|
effect.setUniform(this.shader, 'uSuction', effect.readConfig('Suction', 1.0));
|
||||||
|
effect.setUniform(this.shader, 'uRandomness', effect.readConfig('Randomness', 1.0));
|
||||||
Executable
+137
@@ -0,0 +1,137 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------------- #
|
||||||
|
# ) ( #
|
||||||
|
# ( /( ( ( ) ( ( ( ( )\ ) ( ( #
|
||||||
|
# )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( #
|
||||||
|
# ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ #
|
||||||
|
# | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) #
|
||||||
|
# | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< #
|
||||||
|
# |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ #
|
||||||
|
# |__/ #
|
||||||
|
# Copyright (c) 2021 Simon Schneegans #
|
||||||
|
# Released under the GPLv3 or later. See LICENSE file for details. #
|
||||||
|
# -------------------------------------------------------------------------------------- #
|
||||||
|
|
||||||
|
|
||||||
|
# This scripts takes the shaders of Burn-My-Windows as well as some other input files from
|
||||||
|
# the directories next to this script and creates effect for KDE's Kwin.
|
||||||
|
|
||||||
|
# Exit the script when one command fails.
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Go to the script's directory.
|
||||||
|
cd "$( cd "$( dirname "$0" )" && pwd )" || \
|
||||||
|
{ echo "ERROR: Could not find kwin directory."; exit 1; }
|
||||||
|
|
||||||
|
# We will store the effect directories in this directory.
|
||||||
|
BUILD_DIR="_build"
|
||||||
|
|
||||||
|
# Create it if it's not there yet.
|
||||||
|
mkdir -p "$BUILD_DIR"
|
||||||
|
|
||||||
|
# This method is called one for each effect. The parameters are as follows:
|
||||||
|
# $1: The nick of the effect (e.g. "energize-a")
|
||||||
|
# $2: The name of the effect (e.g. "Energize A")
|
||||||
|
# $3: A short description of the effect (e.g. "Beam your windows away")
|
||||||
|
generate() {
|
||||||
|
|
||||||
|
# We use the nick for the effect's directory name by replacing dashes with underscoares.
|
||||||
|
DIR_NAME="kwin4_effect_$(echo "$1" | tr '-' '_')"
|
||||||
|
|
||||||
|
# We transform the nick to CamelCase for the JavaScript class name.
|
||||||
|
EFFECT_CLASS="BurnMyWindows$(sed -r 's/(^|-)(\w)/\U\2/g' <<<"$1")Effect"
|
||||||
|
|
||||||
|
# Now create all required resource directories.
|
||||||
|
mkdir -p "$BUILD_DIR/$DIR_NAME/contents/shaders"
|
||||||
|
mkdir -p "$BUILD_DIR/$DIR_NAME/contents/code"
|
||||||
|
mkdir -p "$BUILD_DIR/$DIR_NAME/contents/config"
|
||||||
|
mkdir -p "$BUILD_DIR/$DIR_NAME/contents/ui"
|
||||||
|
|
||||||
|
# Copy the config file if it exists.
|
||||||
|
if [ -f "$1/main.xml" ]; then
|
||||||
|
cp "$1/main.xml" "$BUILD_DIR/$DIR_NAME/contents/config"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Copy the ui file if it exists.
|
||||||
|
if [ -f "$1/config.ui" ]; then
|
||||||
|
cp "$1/config.ui" "$BUILD_DIR/$DIR_NAME/contents/ui"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Now we create the effect's JavaScript source file. This is done by taking main.js.in
|
||||||
|
# and replacing some placeholders with effect-specific files and values.
|
||||||
|
ON_SETTINGS_CHANGE=""
|
||||||
|
ON_ANIMATION_BEGIN=""
|
||||||
|
|
||||||
|
# If the effect's directory contains a onSettingsChanged.js, we replace the
|
||||||
|
# corresponding placeholder with it's content. We replace all occurences of / temporily
|
||||||
|
# so that the REGEX works.
|
||||||
|
if [ -f "$1/onSettingsChanged.js" ]; then
|
||||||
|
ON_SETTINGS_CHANGE=$(tr '/' '\f' < "$1/onSettingsChanged.js")
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Similarily, we will inject the contents of onAnimationBegin.js.
|
||||||
|
if [ -f "$1/onAnimationBegin.js" ]; then
|
||||||
|
ON_ANIMATION_BEGIN=$(tr '/' '\f' < "$1/onAnimationBegin.js")
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp main.js.in "$BUILD_DIR/$DIR_NAME/contents/code/main.js"
|
||||||
|
perl -pi -e "s/%ON_SETTINGS_CHANGE%/$ON_SETTINGS_CHANGE/g;" "$BUILD_DIR/$DIR_NAME/contents/code/main.js"
|
||||||
|
perl -pi -e "s/%ON_ANIMATION_BEGIN%/$ON_ANIMATION_BEGIN/g;" "$BUILD_DIR/$DIR_NAME/contents/code/main.js"
|
||||||
|
perl -pi -e "s/%EFFECT_CLASS%/$EFFECT_CLASS/g;" "$BUILD_DIR/$DIR_NAME/contents/code/main.js"
|
||||||
|
perl -pi -e "s/%SHADER_NAME%/$1/g;" "$BUILD_DIR/$DIR_NAME/contents/code/main.js"
|
||||||
|
perl -pi -e "s/\f/\//g;" "$BUILD_DIR/$DIR_NAME/contents/code/main.js"
|
||||||
|
|
||||||
|
# Now create the metadata.desktop file. Again, we replace some placeholders.
|
||||||
|
cp metadata.desktop.in "$BUILD_DIR/$DIR_NAME/metadata.desktop"
|
||||||
|
perl -pi -e "s/%ICON%/$1/g;" "$BUILD_DIR/$DIR_NAME/metadata.desktop"
|
||||||
|
perl -pi -e "s/%NAME%/$2/g;" "$BUILD_DIR/$DIR_NAME/metadata.desktop"
|
||||||
|
perl -pi -e "s/%DESCRIPTION%/$3/g;" "$BUILD_DIR/$DIR_NAME/metadata.desktop"
|
||||||
|
perl -pi -e "s/%DIR_NAME%/$DIR_NAME/g;" "$BUILD_DIR/$DIR_NAME/metadata.desktop"
|
||||||
|
|
||||||
|
# Now create the two required shader files. We prepend the common.glsl to each shader.
|
||||||
|
# We also define KWIN and KWIN_LEGACY. The code in common.glsl takes some different
|
||||||
|
# paths based on these defines.
|
||||||
|
{
|
||||||
|
echo "#version 140"
|
||||||
|
echo "#define KWIN"
|
||||||
|
echo ""
|
||||||
|
echo "// This file is automatically generated during the build process."
|
||||||
|
echo ""
|
||||||
|
cat "../resources/shaders/common.glsl"
|
||||||
|
cat "../resources/shaders/$1.frag"
|
||||||
|
} > "$BUILD_DIR/$DIR_NAME/contents/shaders/$1_core.frag"
|
||||||
|
|
||||||
|
{
|
||||||
|
echo "#define KWIN_LEGACY"
|
||||||
|
echo ""
|
||||||
|
echo "// This file is automatically generated during the build process."
|
||||||
|
echo ""
|
||||||
|
cat "../resources/shaders/common.glsl"
|
||||||
|
cat "../resources/shaders/$1.frag"
|
||||||
|
} > "$BUILD_DIR/$DIR_NAME/contents/shaders/$1.frag"
|
||||||
|
|
||||||
|
# If clang-format is installed, try to beauty the code a bit.
|
||||||
|
if command -v clang-format &> /dev/null
|
||||||
|
then
|
||||||
|
clang-format -i "$BUILD_DIR/$DIR_NAME/contents/code/main.js"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Now run the above method for all supported effects.
|
||||||
|
|
||||||
|
# The apparition effect is disabled for now. I have not yet found a way to upscale the
|
||||||
|
# window canvas during the animation.
|
||||||
|
#generate "apparition" "[BMW] Apparition" "This effect hides your windows by violently sucking them into the void of magic"
|
||||||
|
|
||||||
|
generate "energize-a" "[BMW] Energize A" "Beam your windows away"
|
||||||
|
generate "energize-b" "[BMW] Energize B" "Using different transporter technology results in an alternative visual effect"
|
||||||
|
generate "fire" "[BMW] Fire" "The classic effect inspired by Compiz"
|
||||||
|
generate "hexagon" "[BMW] Hexagon" "With glowing lines and hexagon-shaped tiles, this effect looks very sci-fi"
|
||||||
|
generate "incinerate" "[BMW] Incinerate" "A less snappy but definitely more fancy take on the fire effect"
|
||||||
|
generate "tv" "[BMW] TV Effect" "Make windows close like turning off a TV"
|
||||||
|
generate "wisps" "[BMW] Wisps" "Let your windows be carried away to the realm of dreams by these little fairies"
|
||||||
|
|
||||||
|
# Finally, create an archive for the effects.
|
||||||
|
# shellcheck disable=SC2046
|
||||||
|
tar -cjf "burn_my_windows_kwin4.tar.gz" -C "$BUILD_DIR" $(ls "$BUILD_DIR")
|
||||||
Executable
+94
@@ -0,0 +1,94 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>BMWConfigForm</class>
|
||||||
|
<widget class="QWidget" name="BMWConfigForm">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>562</width>
|
||||||
|
<height>365</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Duration:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Color:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="buddy">
|
||||||
|
<cstring>kcfg_Color</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="KColorButton" name="kcfg_Color">
|
||||||
|
<property name="alphaChannelEnabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Scale:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="buddy">
|
||||||
|
<cstring>kcfg_Color</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QDoubleSpinBox" name="kcfg_Scale">
|
||||||
|
<property name="minimum">
|
||||||
|
<double>0.100000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>10.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QSpinBox" name="kcfg_Duration">
|
||||||
|
<property name="suffix">
|
||||||
|
<string> milliseconds</string>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>9999</number>
|
||||||
|
</property>
|
||||||
|
<property name="singleStep">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>KColorButton</class>
|
||||||
|
<extends>QPushButton</extends>
|
||||||
|
<header>kcolorbutton.h</header>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
|
<resources />
|
||||||
|
<connections />
|
||||||
|
</ui>
|
||||||
Executable
+16
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
|
||||||
|
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
|
||||||
|
<kcfgfile name="" />
|
||||||
|
<group name="">
|
||||||
|
<entry name="Duration" type="UInt">
|
||||||
|
<default>2000</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="Scale" type="Double">
|
||||||
|
<default>1</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="Color" type="Color">
|
||||||
|
<default>#FFC832</default>
|
||||||
|
</entry>
|
||||||
|
</group>
|
||||||
|
</kcfg>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
// This part is automatically included in the effect's source during the build process.
|
||||||
|
// The code below is called whenever the user changes something in the configuration of
|
||||||
|
// the effect.
|
||||||
|
|
||||||
|
effect.setUniform(this.shader, 'uDuration', this.duration * 0.001);
|
||||||
|
effect.setUniform(this.shader, 'uColor', this.readRGBConfig('Color'));
|
||||||
|
effect.setUniform(this.shader, 'uScale', effect.readConfig('Scale', 1.0));
|
||||||
Executable
+94
@@ -0,0 +1,94 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>BMWConfigForm</class>
|
||||||
|
<widget class="QWidget" name="BMWConfigForm">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>562</width>
|
||||||
|
<height>365</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Duration:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Color:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="buddy">
|
||||||
|
<cstring>kcfg_Color</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="KColorButton" name="kcfg_Color">
|
||||||
|
<property name="alphaChannelEnabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Scale:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="buddy">
|
||||||
|
<cstring>kcfg_Color</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QDoubleSpinBox" name="kcfg_Scale">
|
||||||
|
<property name="minimum">
|
||||||
|
<double>0.100000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>10.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QSpinBox" name="kcfg_Duration">
|
||||||
|
<property name="suffix">
|
||||||
|
<string> milliseconds</string>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>9999</number>
|
||||||
|
</property>
|
||||||
|
<property name="singleStep">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>KColorButton</class>
|
||||||
|
<extends>QPushButton</extends>
|
||||||
|
<header>kcolorbutton.h</header>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
|
<resources />
|
||||||
|
<connections />
|
||||||
|
</ui>
|
||||||
Executable
+16
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
|
||||||
|
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
|
||||||
|
<kcfgfile name="" />
|
||||||
|
<group name="">
|
||||||
|
<entry name="Duration" type="UInt">
|
||||||
|
<default>1000</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="Scale" type="Double">
|
||||||
|
<default>1</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="Color" type="Color">
|
||||||
|
<default>#A0B4FF</default>
|
||||||
|
</entry>
|
||||||
|
</group>
|
||||||
|
</kcfg>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
// This part is automatically included in the effect's source during the build process.
|
||||||
|
// The code below is called whenever the user changes something in the configuration of
|
||||||
|
// the effect.
|
||||||
|
|
||||||
|
effect.setUniform(this.shader, 'uDuration', this.duration * 0.001);
|
||||||
|
effect.setUniform(this.shader, 'uColor', this.readRGBConfig('Color'));
|
||||||
|
effect.setUniform(this.shader, 'uScale', effect.readConfig('Scale', 1.0));
|
||||||
Executable
+132
@@ -0,0 +1,132 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>BMWConfigForm</class>
|
||||||
|
<widget class="QWidget" name="BMWConfigForm">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>562</width>
|
||||||
|
<height>365</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Line Color:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1">
|
||||||
|
<widget class="QDoubleSpinBox" name="kcfg_LineWidth">
|
||||||
|
<property name="minimum">
|
||||||
|
<double>1.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>5.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QDoubleSpinBox" name="kcfg_Scale">
|
||||||
|
<property name="minimum">
|
||||||
|
<double>0.100000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>10.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QSpinBox" name="kcfg_Duration">
|
||||||
|
<property name="suffix">
|
||||||
|
<string> milliseconds</string>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>9999</number>
|
||||||
|
</property>
|
||||||
|
<property name="singleStep">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="text">
|
||||||
|
<string>Glow Color:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QLabel" name="label_5">
|
||||||
|
<property name="text">
|
||||||
|
<string>Line Width:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Duration:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Scale:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="1">
|
||||||
|
<widget class="QCheckBox" name="kcfg_AdditiveBlending">
|
||||||
|
<property name="text">
|
||||||
|
<string>Additive Blending</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="KColorButton" name="kcfg_GlowColor">
|
||||||
|
<property name="alphaChannelEnabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="KColorButton" name="kcfg_LineColor">
|
||||||
|
<property name="alphaChannelEnabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>KColorButton</class>
|
||||||
|
<extends>QPushButton</extends>
|
||||||
|
<header>kcolorbutton.h</header>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
|
<resources />
|
||||||
|
<connections />
|
||||||
|
</ui>
|
||||||
Executable
+34
@@ -0,0 +1,34 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
|
||||||
|
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
|
||||||
|
<kcfgfile name="" />
|
||||||
|
<group name="">
|
||||||
|
<entry name="Duration" type="UInt">
|
||||||
|
<default>1500</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="Scale" type="Double">
|
||||||
|
<default>1</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="MovementSpeed" type="Double">
|
||||||
|
<default>0.5</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="Gradient1" type="Color">
|
||||||
|
<default>#004c3319</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="Gradient2" type="Color">
|
||||||
|
<default>#a0b4371e</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="Gradient3" type="Color">
|
||||||
|
<default>#b5ff4c26</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="Gradient4" type="Color">
|
||||||
|
<default>#ffffa619</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="Gradient5" type="Color">
|
||||||
|
<default>#ffffffff</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="3DNoise" type="Bool">
|
||||||
|
<default>false</default>
|
||||||
|
</entry>
|
||||||
|
</group>
|
||||||
|
</kcfg>
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
// This part is automatically included in the effect's source during the build process.
|
||||||
|
// The code below is called whenever the user changes something in the configuration of
|
||||||
|
// the effect.
|
||||||
|
|
||||||
|
effect.setUniform(this.shader, 'uDuration', this.duration * 0.001);
|
||||||
|
effect.setUniform(this.shader, 'u3DNoise',
|
||||||
|
effect.readConfig('3DNoise', true) ? 1.0 : 0.0);
|
||||||
|
effect.setUniform(this.shader, 'uScale', effect.readConfig('Scale', 1.0));
|
||||||
|
effect.setUniform(this.shader, 'uMovementSpeed', effect.readConfig('MovementSpeed', 1.0));
|
||||||
|
effect.setUniform(this.shader, 'uGradient1', this.readRGBAConfig('Gradient1'));
|
||||||
|
effect.setUniform(this.shader, 'uGradient2', this.readRGBAConfig('Gradient2'));
|
||||||
|
effect.setUniform(this.shader, 'uGradient3', this.readRGBAConfig('Gradient3'));
|
||||||
|
effect.setUniform(this.shader, 'uGradient4', this.readRGBAConfig('Gradient4'));
|
||||||
|
effect.setUniform(this.shader, 'uGradient5', this.readRGBAConfig('Gradient5'));
|
||||||
Executable
+132
@@ -0,0 +1,132 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>BMWConfigForm</class>
|
||||||
|
<widget class="QWidget" name="BMWConfigForm">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>562</width>
|
||||||
|
<height>365</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Line Color:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1">
|
||||||
|
<widget class="QDoubleSpinBox" name="kcfg_LineWidth">
|
||||||
|
<property name="minimum">
|
||||||
|
<double>1.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>5.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QDoubleSpinBox" name="kcfg_Scale">
|
||||||
|
<property name="minimum">
|
||||||
|
<double>0.100000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>10.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QSpinBox" name="kcfg_Duration">
|
||||||
|
<property name="suffix">
|
||||||
|
<string> milliseconds</string>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>9999</number>
|
||||||
|
</property>
|
||||||
|
<property name="singleStep">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="text">
|
||||||
|
<string>Glow Color:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QLabel" name="label_5">
|
||||||
|
<property name="text">
|
||||||
|
<string>Line Width:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Duration:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Scale:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="1">
|
||||||
|
<widget class="QCheckBox" name="kcfg_AdditiveBlending">
|
||||||
|
<property name="text">
|
||||||
|
<string>Additive Blending</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="KColorButton" name="kcfg_GlowColor">
|
||||||
|
<property name="alphaChannelEnabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="KColorButton" name="kcfg_LineColor">
|
||||||
|
<property name="alphaChannelEnabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>KColorButton</class>
|
||||||
|
<extends>QPushButton</extends>
|
||||||
|
<header>kcolorbutton.h</header>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
|
<resources />
|
||||||
|
<connections />
|
||||||
|
</ui>
|
||||||
Executable
+25
@@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
|
||||||
|
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
|
||||||
|
<kcfgfile name="" />
|
||||||
|
<group name="">
|
||||||
|
<entry name="Duration" type="UInt">
|
||||||
|
<default>1500</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="Scale" type="Double">
|
||||||
|
<default>3</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="LineWidth" type="Double">
|
||||||
|
<default>2</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="LineColor" type="Color">
|
||||||
|
<default>#80C8FFFF</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="GlowColor" type="Color">
|
||||||
|
<default>#801450FF</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="AdditiveBlending" type="Bool">
|
||||||
|
<default>true</default>
|
||||||
|
</entry>
|
||||||
|
</group>
|
||||||
|
</kcfg>
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
// This part is automatically included in the effect's source during the build process.
|
||||||
|
// The code below is called whenever a window is closed or opened.
|
||||||
|
|
||||||
|
effect.setUniform(this.shader, 'uSeed', [Math.random(), Math.random()]);
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
// This part is automatically included in the effect's source during the build process.
|
||||||
|
// The code below is called whenever the user changes something in the configuration of
|
||||||
|
// the effect.
|
||||||
|
|
||||||
|
effect.setUniform(this.shader, 'uAdditiveBlending',
|
||||||
|
effect.readConfig('AdditiveBlending', true) ? 1.0 : 0.0);
|
||||||
|
effect.setUniform(this.shader, 'uScale', effect.readConfig('Scale', 1.0));
|
||||||
|
effect.setUniform(this.shader, 'uLineWidth', effect.readConfig('LineWidth', 1.0));
|
||||||
|
effect.setUniform(this.shader, 'uGlowColor', this.readRGBAConfig('GlowColor'));
|
||||||
|
effect.setUniform(this.shader, 'uLineColor', this.readRGBAConfig('LineColor'));
|
||||||
Executable
+117
@@ -0,0 +1,117 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>BMWConfigForm</class>
|
||||||
|
<widget class="QWidget" name="BMWConfigForm">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>562</width>
|
||||||
|
<height>365</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="KColorButton" name="kcfg_Color">
|
||||||
|
<property name="alphaChannelEnabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QDoubleSpinBox" name="kcfg_Scale">
|
||||||
|
<property name="minimum">
|
||||||
|
<double>0.100000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>10.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="singleStep">
|
||||||
|
<number>0.1</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QSpinBox" name="kcfg_Duration">
|
||||||
|
<property name="suffix">
|
||||||
|
<string> milliseconds</string>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>9999</number>
|
||||||
|
</property>
|
||||||
|
<property name="singleStep">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Duration:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Color:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="buddy">
|
||||||
|
<cstring>kcfg_Color</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Scale:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="buddy">
|
||||||
|
<cstring>kcfg_Color</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="text">
|
||||||
|
<string>Turbulence:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QDoubleSpinBox" name="kcfg_Turbulence">
|
||||||
|
<property name="maximum">
|
||||||
|
<double>1.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="singleStep">
|
||||||
|
<number>0.1</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>KColorButton</class>
|
||||||
|
<extends>QPushButton</extends>
|
||||||
|
<header>kcolorbutton.h</header>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
|
<resources />
|
||||||
|
<connections />
|
||||||
|
</ui>
|
||||||
Executable
+19
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
|
||||||
|
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
|
||||||
|
<kcfgfile name="" />
|
||||||
|
<group name="">
|
||||||
|
<entry name="Duration" type="UInt">
|
||||||
|
<default>2000</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="Scale" type="Double">
|
||||||
|
<default>1</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="Turbulence" type="Double">
|
||||||
|
<default>0.3</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="Color" type="Color">
|
||||||
|
<default>#ffb47f</default>
|
||||||
|
</entry>
|
||||||
|
</group>
|
||||||
|
</kcfg>
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
// This part is automatically included in the effect's source during the build process.
|
||||||
|
// The code below is called whenever a window is closed or opened.
|
||||||
|
|
||||||
|
effect.setUniform(this.shader, 'uSeed', [Math.random(), Math.random()]);
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
// This part is automatically included in the effect's source during the build process.
|
||||||
|
// The code below is called whenever the user changes something in the configuration of
|
||||||
|
// the effect.
|
||||||
|
|
||||||
|
effect.setUniform(this.shader, 'uDuration', this.duration * 0.001);
|
||||||
|
effect.setUniform(this.shader, 'uColor', this.readRGBConfig('Color'));
|
||||||
|
effect.setUniform(this.shader, 'uScale', effect.readConfig('Scale', 1.0));
|
||||||
|
effect.setUniform(this.shader, 'uTurbulence', effect.readConfig('Turbulence', 1.0));
|
||||||
Executable
+202
@@ -0,0 +1,202 @@
|
|||||||
|
/*
|
||||||
|
This file is part of the Burn-My-Windows project.
|
||||||
|
|
||||||
|
SPDX-FileCopyrightText: 2018, 2021, 2022 Vlad Zahorodnii <vlad.zahorodnii@kde.org>, Martin Flöser <mgraesslin@kde.org>, Simon Schneegans <code@simonschneegans.de>
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
*/
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
const blacklist = [
|
||||||
|
// The logout screen has to be animated only by the logout effect.
|
||||||
|
"ksmserver ksmserver",
|
||||||
|
"ksmserver-logout-greeter ksmserver-logout-greeter",
|
||||||
|
|
||||||
|
// KDE Plasma splash screen has to be animated only by the login effect.
|
||||||
|
"ksplashqml ksplashqml"
|
||||||
|
];
|
||||||
|
|
||||||
|
class %EFFECT_CLASS% {
|
||||||
|
constructor() {
|
||||||
|
effect.configChanged.connect(this.loadConfig.bind(this));
|
||||||
|
effect.animationEnded.connect(this.cleanupForcedRoles.bind(this));
|
||||||
|
effects.windowAdded.connect(this.slotWindowAdded.bind(this));
|
||||||
|
effects.windowClosed.connect(this.slotWindowClosed.bind(this));
|
||||||
|
effects.windowDataChanged.connect(this.slotWindowDataChanged.bind(this));
|
||||||
|
|
||||||
|
this.shader = effect.addFragmentShader(Effect.MapTexture, "%SHADER_NAME%.frag");
|
||||||
|
|
||||||
|
this.loadConfig();
|
||||||
|
}
|
||||||
|
|
||||||
|
// A small helper which can be used to read a hex color string (e.g. #ff3244) from the
|
||||||
|
// settings. This method will return an array of four floating point values
|
||||||
|
// [r, g, b, a]. If the settings key only refers to an rgb value, the alpha component
|
||||||
|
// will be set to 1.0.
|
||||||
|
readRGBAConfig(key) {
|
||||||
|
const color = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?([a-f\d]{2})?$/i
|
||||||
|
.exec(effect.readConfig(key, '#ffffff'))
|
||||||
|
.slice(1)
|
||||||
|
.filter(x => x !== undefined)
|
||||||
|
.map(x => parseInt(x, 16) / 255);
|
||||||
|
return color.length == 3 ? [color[0], color[1], color[2], 1.0] :
|
||||||
|
[color[1], color[2], color[3], color[0]];
|
||||||
|
}
|
||||||
|
|
||||||
|
// A small helper which can be used to read a hex color string (e.g. #ff3244) from the
|
||||||
|
// settings. This method will return an array of three floating point values [r, g, b]
|
||||||
|
// regardless of whether the settings key actually refers to an argb hex string.
|
||||||
|
readRGBConfig(key) {
|
||||||
|
const color = this.readRGBAConfig(key);
|
||||||
|
color.pop();
|
||||||
|
return color;
|
||||||
|
}
|
||||||
|
|
||||||
|
loadConfig() {
|
||||||
|
this.duration = animationTime(effect.readConfig('Duration', 1000));
|
||||||
|
|
||||||
|
%ON_SETTINGS_CHANGE%
|
||||||
|
}
|
||||||
|
|
||||||
|
static isScaleWindow(window) {
|
||||||
|
// We don't want to animate most of plasmashell's windows, yet, some
|
||||||
|
// of them we want to, for example, Task Manager Settings window.
|
||||||
|
// The problem is that all those window share single window class.
|
||||||
|
// So, the only way to decide whether a window should be animated is
|
||||||
|
// to use a heuristic: if a window has decoration, then it's most
|
||||||
|
// likely a dialog or a settings window so we have to animate it.
|
||||||
|
if (window.windowClass == "plasmashell plasmashell"
|
||||||
|
|| window.windowClass == "plasmashell org.kde.plasmashell") {
|
||||||
|
return window.hasDecoration;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (blacklist.indexOf(window.windowClass) != -1) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (window.hasDecoration) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Don't animate combobox popups, tooltips, popup menus, etc.
|
||||||
|
if (window.popupWindow) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Dont't animate the outline and the screenlocker as it looks bad.
|
||||||
|
if (window.lockScreen || window.outline) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Override-redirect windows are usually used for user interface
|
||||||
|
// concepts that are not expected to be animated by this effect.
|
||||||
|
if (!window.managed) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return window.normalWindow || window.dialog;
|
||||||
|
}
|
||||||
|
|
||||||
|
setupForcedRoles(window) {
|
||||||
|
window.setData(Effect.WindowForceBackgroundContrastRole, true);
|
||||||
|
window.setData(Effect.WindowForceBlurRole, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanupForcedRoles(window) {
|
||||||
|
window.setData(Effect.WindowForceBackgroundContrastRole, null);
|
||||||
|
window.setData(Effect.WindowForceBlurRole, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
slotWindowAdded(window) {
|
||||||
|
if (effects.hasActiveFullScreenEffect) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!%EFFECT_CLASS%.isScaleWindow(window)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!window.visible) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (effect.isGrabbed(window, Effect.WindowAddedGrabRole)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.setupForcedRoles(window);
|
||||||
|
|
||||||
|
effect.setUniform(this.shader, 'uForOpening', 1.0);
|
||||||
|
|
||||||
|
%ON_ANIMATION_BEGIN%
|
||||||
|
|
||||||
|
window.scaleInAnimation = animate({
|
||||||
|
window: window,
|
||||||
|
curve: QEasingCurve.Linear,
|
||||||
|
duration: this.duration,
|
||||||
|
animations: [
|
||||||
|
{
|
||||||
|
type: Effect.ShaderUniform,
|
||||||
|
fragmentShader: this.shader,
|
||||||
|
uniform: "uProgress",
|
||||||
|
from: 0.0,
|
||||||
|
to: 1.0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
slotWindowClosed(window) {
|
||||||
|
if (effects.hasActiveFullScreenEffect) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!%EFFECT_CLASS%.isScaleWindow(window)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!window.visible || window.skipsCloseAnimation) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (effect.isGrabbed(window, Effect.WindowClosedGrabRole)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (window.scaleInAnimation) {
|
||||||
|
cancel(window.scaleInAnimation);
|
||||||
|
delete window.scaleInAnimation;
|
||||||
|
}
|
||||||
|
this.setupForcedRoles(window);
|
||||||
|
|
||||||
|
effect.setUniform(this.shader, 'uForOpening', 0.0);
|
||||||
|
|
||||||
|
%ON_ANIMATION_BEGIN%
|
||||||
|
|
||||||
|
window.scaleOutAnimation = animate({
|
||||||
|
window: window,
|
||||||
|
curve: QEasingCurve.Linear,
|
||||||
|
duration: this.duration,
|
||||||
|
animations: [
|
||||||
|
{
|
||||||
|
type: Effect.ShaderUniform,
|
||||||
|
fragmentShader: this.shader,
|
||||||
|
uniform: "uProgress",
|
||||||
|
from: 0.0,
|
||||||
|
to: 1.0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
slotWindowDataChanged(window, role) {
|
||||||
|
if (role == Effect.WindowAddedGrabRole) {
|
||||||
|
if (window.scaleInAnimation && effect.isGrabbed(window, role)) {
|
||||||
|
cancel(window.scaleInAnimation);
|
||||||
|
delete window.scaleInAnimation;
|
||||||
|
this.cleanupForcedRoles(window);
|
||||||
|
}
|
||||||
|
} else if (role == Effect.WindowClosedGrabRole) {
|
||||||
|
if (window.scaleOutAnimation && effect.isGrabbed(window, role)) {
|
||||||
|
cancel(window.scaleOutAnimation);
|
||||||
|
delete window.scaleOutAnimation;
|
||||||
|
this.cleanupForcedRoles(window);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
new %EFFECT_CLASS%();
|
||||||
Executable
+21
@@ -0,0 +1,21 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Name=%NAME%
|
||||||
|
Icon=preferences-system-windows-effect-%ICON%
|
||||||
|
Comment=%DESCRIPTION%
|
||||||
|
|
||||||
|
Type=Service
|
||||||
|
X-KDE-ServiceTypes=KWin/Effect,KCModule
|
||||||
|
X-KDE-PluginInfo-Author=Vlad Zahorodnii, Martin Flöser, Simon Schneegans
|
||||||
|
X-KDE-PluginInfo-Email=vlad.zahorodnii@kde.org, mgraesslin@kde.org, code@simonschneegans.de
|
||||||
|
X-KDE-PluginInfo-Name=%DIR_NAME%
|
||||||
|
X-KDE-PluginInfo-Version=1
|
||||||
|
X-KDE-PluginInfo-Category=Window Open/Close Animation
|
||||||
|
X-KDE-PluginInfo-License=GPLv3
|
||||||
|
X-KDE-PluginInfo-EnabledByDefault=false
|
||||||
|
X-KDE-Ordering=60
|
||||||
|
X-Plasma-API=javascript
|
||||||
|
X-Plasma-MainScript=code/main.js
|
||||||
|
X-KDE-PluginKeyword=%DIR_NAME%
|
||||||
|
X-KDE-Library=kcm_kwin4_genericscripted
|
||||||
|
X-KWin-Config-TranslationDomain=kwin_effects
|
||||||
|
X-KWin-Exclusive-Category=toplevel-open-close-animation
|
||||||
Executable
+71
@@ -0,0 +1,71 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>BMWConfigForm</class>
|
||||||
|
<widget class="QWidget" name="BMWConfigForm">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>562</width>
|
||||||
|
<height>365</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QSpinBox" name="kcfg_Duration">
|
||||||
|
<property name="suffix">
|
||||||
|
<string> milliseconds</string>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>9999</number>
|
||||||
|
</property>
|
||||||
|
<property name="singleStep">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="KColorButton" name="kcfg_Color">
|
||||||
|
<property name="alphaChannelEnabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Duration:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Color:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="buddy">
|
||||||
|
<cstring>kcfg_Color</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>KColorButton</class>
|
||||||
|
<extends>QPushButton</extends>
|
||||||
|
<header>kcolorbutton.h</header>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
|
<resources />
|
||||||
|
<connections />
|
||||||
|
</ui>
|
||||||
Executable
+13
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
|
||||||
|
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
|
||||||
|
<kcfgfile name="" />
|
||||||
|
<group name="">
|
||||||
|
<entry name="Duration" type="UInt">
|
||||||
|
<default>400</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="Color" type="Color">
|
||||||
|
<default>#ffffff</default>
|
||||||
|
</entry>
|
||||||
|
</group>
|
||||||
|
</kcfg>
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
// This part is automatically included in the effect's source during the build process.
|
||||||
|
// The code below is called whenever the user changes something in the configuration of
|
||||||
|
// the effect.
|
||||||
|
|
||||||
|
effect.setUniform(this.shader, 'uColor', this.readRGBConfig('Color'));
|
||||||
Executable
+84
@@ -0,0 +1,84 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>BMWConfigForm</class>
|
||||||
|
<widget class="QWidget" name="BMWConfigForm">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>562</width>
|
||||||
|
<height>365</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QDoubleSpinBox" name="kcfg_Scale">
|
||||||
|
<property name="minimum">
|
||||||
|
<double>0.100000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>10.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QSpinBox" name="kcfg_Duration">
|
||||||
|
<property name="suffix">
|
||||||
|
<string> milliseconds</string>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>9999</number>
|
||||||
|
</property>
|
||||||
|
<property name="singleStep">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="text">
|
||||||
|
<string>Color:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Duration:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Scale:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="KColorButton" name="kcfg_Color"></widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>KColorButton</class>
|
||||||
|
<extends>QPushButton</extends>
|
||||||
|
<header>kcolorbutton.h</header>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
|
<resources />
|
||||||
|
<connections />
|
||||||
|
</ui>
|
||||||
Executable
+16
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
|
||||||
|
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
|
||||||
|
<kcfgfile name="" />
|
||||||
|
<group name="">
|
||||||
|
<entry name="Duration" type="UInt">
|
||||||
|
<default>1500</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="Scale" type="Double">
|
||||||
|
<default>1</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="Color" type="Color">
|
||||||
|
<default>#ff64c8</default>
|
||||||
|
</entry>
|
||||||
|
</group>
|
||||||
|
</kcfg>
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
// This part is automatically included in the effect's source during the build process.
|
||||||
|
// The code below is called whenever a window is closed or opened.
|
||||||
|
|
||||||
|
effect.setUniform(this.shader, 'uSeed', [Math.random(), Math.random()]);
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
// This part is automatically included in the effect's source during the build process.
|
||||||
|
// The code below is called whenever the user changes something in the configuration of
|
||||||
|
// the effect.
|
||||||
|
|
||||||
|
effect.setUniform(this.shader, 'uDuration', this.duration * 0.001);
|
||||||
|
effect.setUniform(this.shader, 'uScale', effect.readConfig('Scale', 1.0));
|
||||||
|
effect.setUniform(this.shader, 'uColor', this.readRGBConfig('Color'));
|
||||||
+1
-1
@@ -12,5 +12,5 @@
|
|||||||
"42"
|
"42"
|
||||||
],
|
],
|
||||||
"url": "https://github.com/Schneegans/Burn-My-Windows",
|
"url": "https://github.com/Schneegans/Burn-My-Windows",
|
||||||
"version": 13
|
"version": 17
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,382 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR Simon Schneegans
|
||||||
|
# This file is distributed under the same license as the burn-my-windows package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: burn-my-windows\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-06-25 05:04+0200\n"
|
||||||
|
"PO-Revision-Date: 2022-05-17 19:18+0000\n"
|
||||||
|
"Last-Translator: fawaz006 <fawaz27000@hotmail.com>\n"
|
||||||
|
"Language-Team: Arabic <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
|
"core/ar/>\n"
|
||||||
|
"Language: ar\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
||||||
|
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
|
||||||
|
"X-Generator: Weblate 4.13-dev\n"
|
||||||
|
|
||||||
|
#: prefs.js:114
|
||||||
|
msgid "Effect Options"
|
||||||
|
msgstr "خيارات التأثير"
|
||||||
|
|
||||||
|
#: prefs.js:142
|
||||||
|
msgid "Go Back"
|
||||||
|
msgstr "عُد"
|
||||||
|
|
||||||
|
#: prefs.js:184
|
||||||
|
msgid "General Options"
|
||||||
|
msgstr "خيارات عامة"
|
||||||
|
|
||||||
|
#: prefs.js:278
|
||||||
|
msgid "Gold Sponsors"
|
||||||
|
msgstr "الرعاة الذهبيون"
|
||||||
|
|
||||||
|
#: prefs.js:281
|
||||||
|
msgid "Silver Sponsors"
|
||||||
|
msgstr "الرعاة الفضيون"
|
||||||
|
|
||||||
|
#: prefs.js:284
|
||||||
|
msgid "Bronze Sponsors"
|
||||||
|
msgstr "الرعاة البرونزيون"
|
||||||
|
|
||||||
|
#: prefs.js:287
|
||||||
|
msgid "Past Sponsors"
|
||||||
|
msgstr "الرعاة السابقون"
|
||||||
|
|
||||||
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
|
#: prefs.js:510
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Preview for %s"
|
||||||
|
msgstr "معاينة لـ %s"
|
||||||
|
|
||||||
|
#: prefs.js:532
|
||||||
|
msgid "Close this Window to Preview the Effect!"
|
||||||
|
msgstr "أغلق هذه النافذة لمعاينة التأثير!"
|
||||||
|
|
||||||
|
#: src/BrokenGlass.js:138
|
||||||
|
msgid "Broken Glass"
|
||||||
|
msgstr "زجاج المكسور"
|
||||||
|
|
||||||
|
#: src/TVEffect.js:77
|
||||||
|
msgid "TV Effect"
|
||||||
|
msgstr "تأثير التلفزيون"
|
||||||
|
|
||||||
|
#: src/TRexAttack.js:115
|
||||||
|
msgid "T-Rex Attack"
|
||||||
|
msgstr "هجوم تي ريكس"
|
||||||
|
|
||||||
|
#: src/SnapOfDisintegration.js:117
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr "الانفجار القطع"
|
||||||
|
|
||||||
|
#: src/Incinerate.js:87
|
||||||
|
msgid "Incinerate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Wisps.js:85
|
||||||
|
msgid "Wisps"
|
||||||
|
msgstr "قطع"
|
||||||
|
|
||||||
|
#: src/Fire.js:99
|
||||||
|
msgid "Fire"
|
||||||
|
msgstr "نار"
|
||||||
|
|
||||||
|
#: src/Fire.js:154
|
||||||
|
msgid "Default Fire"
|
||||||
|
msgstr "النار الافتراضية"
|
||||||
|
|
||||||
|
#: src/Fire.js:164
|
||||||
|
msgid "Hell Fire"
|
||||||
|
msgstr "نار حارقة"
|
||||||
|
|
||||||
|
#: src/Fire.js:174
|
||||||
|
msgid "Dark and Smutty"
|
||||||
|
msgstr "داكن وقذر"
|
||||||
|
|
||||||
|
#: src/Fire.js:184
|
||||||
|
msgid "Cold Breeze"
|
||||||
|
msgstr "نسيم بارد"
|
||||||
|
|
||||||
|
#: src/Fire.js:194
|
||||||
|
msgid "Santa is Coming"
|
||||||
|
msgstr "سانتا قادم"
|
||||||
|
|
||||||
|
#: src/Hexagon.js:97
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "سداسي الزوايا"
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:79
|
||||||
|
msgid "Energize A"
|
||||||
|
msgstr "تنشيط أ"
|
||||||
|
|
||||||
|
#: src/Apparition.js:80
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr "شبح"
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:80
|
||||||
|
msgid "Energize B"
|
||||||
|
msgstr "تنشيط ب"
|
||||||
|
|
||||||
|
#: src/Matrix.js:113
|
||||||
|
msgid "Matrix"
|
||||||
|
msgstr "ماتركس"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:6
|
||||||
|
msgid "Visit Homepage"
|
||||||
|
msgstr "قم بزيارة الصفحة الرئيسية"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:10
|
||||||
|
msgid "View Changelog"
|
||||||
|
msgstr "مشاهدة ملف Changelog"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:16
|
||||||
|
msgid "Report a Bug"
|
||||||
|
msgstr "الإبلاغ عن خلل"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:20
|
||||||
|
msgid "Create an Effect"
|
||||||
|
msgstr "انشاء تأثير"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:24
|
||||||
|
msgid "Translate"
|
||||||
|
msgstr "ترجم"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:28
|
||||||
|
msgid "Donate"
|
||||||
|
msgstr "تبرع"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:41
|
||||||
|
msgid "About Burn-My-Windows"
|
||||||
|
msgstr "حول Burn-My-Windows"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
|
||||||
|
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
|
||||||
|
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
|
||||||
|
msgid "Animation Time [ms]"
|
||||||
|
msgstr "المدة [م,ث]"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
|
||||||
|
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
||||||
|
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
||||||
|
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
||||||
|
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
||||||
|
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
||||||
|
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
||||||
|
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
||||||
|
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
||||||
|
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||||
|
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||||
|
msgid "Reset to Default Value"
|
||||||
|
msgstr "إعادة التعيين إلى القيمة الافتراضية"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
|
||||||
|
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:91
|
||||||
|
msgid "Scale"
|
||||||
|
msgstr "مقاس"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
|
msgid "Randomness"
|
||||||
|
msgstr "العشوائية"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:162
|
||||||
|
msgid "Vertical Overshooting"
|
||||||
|
msgstr "تجاوز رأسي"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:208
|
||||||
|
msgid "Trail Color"
|
||||||
|
msgstr "لون الممر"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:242
|
||||||
|
msgid "Tip Color"
|
||||||
|
msgstr "لون الحافة"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:116
|
||||||
|
msgid "Gravity"
|
||||||
|
msgstr "الجاذبية"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:162
|
||||||
|
msgid "Blow Force"
|
||||||
|
msgstr "قوة النفخ"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:212
|
||||||
|
msgid "Shatter From Pointer Location"
|
||||||
|
msgstr "تتحطم من موقع المؤشر"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:221
|
||||||
|
msgid ""
|
||||||
|
"The shards will fly away from where your mouse pointer was when closing the "
|
||||||
|
"window."
|
||||||
|
msgstr "ستنتقل القطع بعيدًا عن مكان وجود مؤشر الماوس عند إغلاق النافذة."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
|
||||||
|
msgid "Turbulence"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
|
||||||
|
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
||||||
|
msgid "Color"
|
||||||
|
msgstr "اللون"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
|
||||||
|
msgid "Presets"
|
||||||
|
msgstr "الإعدادات المسبقة"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "السرعة"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
||||||
|
msgid "3D Noise"
|
||||||
|
msgstr "ضوضاء ثلاثية الأبعاد"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
|
||||||
|
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||||
|
msgstr ""
|
||||||
|
"يُنشئ حريقًا أكثر ديناميكية ولكنه يتطلب المزيد من طاقة وحدة معالجة الرسومات."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||||
|
msgid "Gradient"
|
||||||
|
msgstr "ميل"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
|
msgid "Claw Scratch Scale"
|
||||||
|
msgstr "حجم خدش المخلب"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||||
|
msgid "Claw Scratch Count"
|
||||||
|
msgstr "عدد خدوش المخلب"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
|
msgid "Warp Effect"
|
||||||
|
msgstr "تأثير الاعوجاج"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:208
|
||||||
|
msgid "Flash Color"
|
||||||
|
msgstr "ألوان مضيئة"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||||
|
msgid "Preview this Effect"
|
||||||
|
msgstr "معاينة هذا التأثير"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr "عرض خط الشبكة"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr "لون السطر"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr "توهج اللون"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr "مزج مضاف"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr "قد ترغب في تمكين هذا لسمات النوافذ المظلمة."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
|
msgstr "مرحبًا بك في Burn-My-Windows!"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
|
||||||
|
msgid "If you like this extension, recommend it to your friends :)"
|
||||||
|
msgstr "إذا كنت تحب هذا الامتداد، فوصي به لأصدقائك :)"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
||||||
|
msgid "Open Window Animation"
|
||||||
|
msgstr "افتح نافذة التأثيرات"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
|
||||||
|
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
|
||||||
|
msgid "If multiple are selected, one is chosen randomly."
|
||||||
|
msgstr "إذا تم تحديد عدة خيارات، يتم اختيار واحد بشكل عشوائي."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
|
||||||
|
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
|
||||||
|
msgid "Choose Effects"
|
||||||
|
msgstr "اختر التأثيرات"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
|
||||||
|
msgid "Close Window Animation"
|
||||||
|
msgstr "إغلاق التأثيرات للنافذة"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
|
||||||
|
msgid "Also Add Effects to Dialogs"
|
||||||
|
msgstr "أضف أيضًا تأثيرات إلى الحوارات"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
|
||||||
|
msgid "Disable on Battery Power"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||||
|
msgid "Twirl Intensity"
|
||||||
|
msgstr "شدة الدوران"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr "شدة ألاهتزاز"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr "شدة السحب"
|
||||||
|
|
||||||
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
|
msgid "Choose a Preset"
|
||||||
|
msgstr "اختر إعدادًا مسبقًا"
|
||||||
+121
-40
@@ -1,14 +1,14 @@
|
|||||||
# SOME DESCRIPTIVE TITLE.
|
# SOME DESCRIPTIVE TITLE.
|
||||||
# Copyright (C) YEAR Simon Schneegans
|
# Copyright (C) YEAR Simon Schneegans
|
||||||
# This file is distributed under the same license as the Burn-My-Windows package.
|
# This file is distributed under the same license as the burn-my-windows package.
|
||||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
#
|
#
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Burn-My-Windows\n"
|
"Project-Id-Version: burn-my-windows\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
|
"POT-Creation-Date: 2022-06-25 05:04+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@@ -17,93 +17,109 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=CHARSET\n"
|
"Content-Type: text/plain; charset=CHARSET\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
#: prefs.js:111
|
#: prefs.js:114
|
||||||
msgid "Effect Options"
|
msgid "Effect Options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: prefs.js:139
|
#: prefs.js:142
|
||||||
msgid "Go Back"
|
msgid "Go Back"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: prefs.js:181
|
#: prefs.js:184
|
||||||
msgid "General Options"
|
msgid "General Options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: prefs.js:276
|
#: prefs.js:278
|
||||||
msgid "Gold Sponsors"
|
msgid "Gold Sponsors"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: prefs.js:279
|
#: prefs.js:281
|
||||||
msgid "Silver Sponsors"
|
msgid "Silver Sponsors"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: prefs.js:282
|
#: prefs.js:284
|
||||||
msgid "Bronze Sponsors"
|
msgid "Bronze Sponsors"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: prefs.js:285
|
#: prefs.js:287
|
||||||
msgid "Past Sponsors"
|
msgid "Past Sponsors"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Translators: %s will be replaced by the effect's name.
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
#: prefs.js:512
|
#: prefs.js:510
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Preview for %s"
|
msgid "Preview for %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: prefs.js:534
|
#: prefs.js:532
|
||||||
msgid "Close this Window to Preview the Effect!"
|
msgid "Close this Window to Preview the Effect!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/BrokenGlass.js:57
|
#: src/BrokenGlass.js:138
|
||||||
msgid "Broken Glass"
|
msgid "Broken Glass"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/TVEffect.js:56
|
#: src/TVEffect.js:77
|
||||||
msgid "TV Effect"
|
msgid "TV Effect"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/TRexAttack.js:56
|
#: src/TRexAttack.js:115
|
||||||
msgid "T-Rex Attack"
|
msgid "T-Rex Attack"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Wisps.js:55
|
#: src/SnapOfDisintegration.js:117
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Incinerate.js:87
|
||||||
|
msgid "Incinerate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Wisps.js:85
|
||||||
msgid "Wisps"
|
msgid "Wisps"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Fire.js:58
|
#: src/Fire.js:99
|
||||||
msgid "Fire"
|
msgid "Fire"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Fire.js:130
|
#: src/Fire.js:154
|
||||||
msgid "Default Fire"
|
msgid "Default Fire"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Fire.js:140
|
#: src/Fire.js:164
|
||||||
msgid "Hell Fire"
|
msgid "Hell Fire"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Fire.js:150
|
#: src/Fire.js:174
|
||||||
msgid "Dark and Smutty"
|
msgid "Dark and Smutty"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Fire.js:160
|
#: src/Fire.js:184
|
||||||
msgid "Cold Breeze"
|
msgid "Cold Breeze"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Fire.js:170
|
#: src/Fire.js:194
|
||||||
msgid "Santa is Coming"
|
msgid "Santa is Coming"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/EnergizeA.js:54
|
#: src/Hexagon.js:97
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:79
|
||||||
msgid "Energize A"
|
msgid "Energize A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/EnergizeB.js:54
|
#: src/Apparition.js:80
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:80
|
||||||
msgid "Energize B"
|
msgid "Energize B"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Matrix.js:58
|
#: src/Matrix.js:113
|
||||||
msgid "Matrix"
|
msgid "Matrix"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -131,17 +147,20 @@ msgstr ""
|
|||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: resources/ui/common/main-menu.ui:45
|
#: resources/ui/common/main-menu.ui:41
|
||||||
msgid "About Burn-My-Windows"
|
msgid "About Burn-My-Windows"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
#: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49
|
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
|
||||||
|
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
|
||||||
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/EnergizeB.ui:24
|
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
|
||||||
#: resources/ui/gtk3/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
|
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
|
||||||
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
|
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:42
|
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
|
||||||
msgid "Animation Time [ms]"
|
msgid "Animation Time [ms]"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -150,7 +169,9 @@ msgstr ""
|
|||||||
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Wisps.ui:52
|
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
|
||||||
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
||||||
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
||||||
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
||||||
@@ -159,29 +180,47 @@ msgstr ""
|
|||||||
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
||||||
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52
|
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
|
||||||
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
||||||
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/Wisps.ui:68
|
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
|
||||||
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
||||||
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
||||||
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
||||||
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
||||||
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||||
|
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||||
msgid "Reset to Default Value"
|
msgid "Reset to Default Value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||||
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
|
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
|
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
|
||||||
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/EnergizeB.ui:91
|
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:91
|
||||||
msgid "Scale"
|
msgid "Scale"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:116
|
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
msgid "Randomness"
|
msgid "Randomness"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -215,8 +254,14 @@ msgid ""
|
|||||||
"window."
|
"window."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
|
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
|
msgid "Turbulence"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
|
||||||
|
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
|
||||||
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
||||||
msgid "Color"
|
msgid "Color"
|
||||||
@@ -262,6 +307,26 @@ msgstr ""
|
|||||||
msgid "Preview this Effect"
|
msgid "Preview this Effect"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
msgid "Welcome to Burn-My-Windows!"
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -292,6 +357,22 @@ msgstr ""
|
|||||||
msgid "Also Add Effects to Dialogs"
|
msgid "Also Add Effects to Dialogs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
|
||||||
|
msgid "Disable on Battery Power"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||||
|
msgid "Twirl Intensity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: resources/ui/gtk3/Fire.ui:63
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
msgid "Choose a Preset"
|
msgid "Choose a Preset"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|||||||
@@ -7,9 +7,9 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Burn-My-Windows\n"
|
"Project-Id-Version: Burn-My-Windows\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
|
"POT-Creation-Date: 2022-06-25 05:04+0200\n"
|
||||||
"PO-Revision-Date: 2022-02-02 19:55+0000\n"
|
"PO-Revision-Date: 2022-05-23 08:18+0000\n"
|
||||||
"Last-Translator: Jiří Doubravský <jiri.doubravsky@gmail.com>\n"
|
"Last-Translator: Jose Riha <jose1711@gmail.com>\n"
|
||||||
"Language-Team: Czech <https://hosted.weblate.org/projects/burn-my-windows/"
|
"Language-Team: Czech <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
"core/cs/>\n"
|
"core/cs/>\n"
|
||||||
"Language: cs\n"
|
"Language: cs\n"
|
||||||
@@ -17,95 +17,111 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||||
"X-Generator: Weblate 4.11-dev\n"
|
"X-Generator: Weblate 4.13-dev\n"
|
||||||
|
|
||||||
#: prefs.js:111
|
#: prefs.js:114
|
||||||
msgid "Effect Options"
|
msgid "Effect Options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: prefs.js:139
|
#: prefs.js:142
|
||||||
msgid "Go Back"
|
msgid "Go Back"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: prefs.js:181
|
#: prefs.js:184
|
||||||
msgid "General Options"
|
msgid "General Options"
|
||||||
msgstr "Obecné možnosti"
|
msgstr "Obecné možnosti"
|
||||||
|
|
||||||
#: prefs.js:276
|
#: prefs.js:278
|
||||||
msgid "Gold Sponsors"
|
msgid "Gold Sponsors"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: prefs.js:279
|
#: prefs.js:281
|
||||||
msgid "Silver Sponsors"
|
msgid "Silver Sponsors"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: prefs.js:282
|
#: prefs.js:284
|
||||||
msgid "Bronze Sponsors"
|
msgid "Bronze Sponsors"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: prefs.js:285
|
#: prefs.js:287
|
||||||
msgid "Past Sponsors"
|
msgid "Past Sponsors"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Translators: %s will be replaced by the effect's name.
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
#: prefs.js:512
|
#: prefs.js:510
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Preview for %s"
|
msgid "Preview for %s"
|
||||||
msgstr "Náhled %s"
|
msgstr "Náhled %s"
|
||||||
|
|
||||||
#: prefs.js:534
|
#: prefs.js:532
|
||||||
msgid "Close this Window to Preview the Effect!"
|
msgid "Close this Window to Preview the Effect!"
|
||||||
msgstr "Zavřete toto okno, pokud chcete vidět efekt!"
|
msgstr "Zavřete toto okno, pokud chcete vidět efekt!"
|
||||||
|
|
||||||
#: src/BrokenGlass.js:57
|
#: src/BrokenGlass.js:138
|
||||||
msgid "Broken Glass"
|
msgid "Broken Glass"
|
||||||
msgstr "Střepy"
|
msgstr "Střepy"
|
||||||
|
|
||||||
#: src/TVEffect.js:56
|
#: src/TVEffect.js:77
|
||||||
msgid "TV Effect"
|
msgid "TV Effect"
|
||||||
msgstr "Televize"
|
msgstr "Televize"
|
||||||
|
|
||||||
#: src/TRexAttack.js:56
|
#: src/TRexAttack.js:115
|
||||||
msgid "T-Rex Attack"
|
msgid "T-Rex Attack"
|
||||||
msgstr "Tyrannosaurus"
|
msgstr "Tyrannosaurus"
|
||||||
|
|
||||||
#: src/Wisps.js:55
|
#: src/SnapOfDisintegration.js:117
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Incinerate.js:87
|
||||||
|
msgid "Incinerate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Wisps.js:85
|
||||||
msgid "Wisps"
|
msgid "Wisps"
|
||||||
msgstr "Obláčky"
|
msgstr "Obláčky"
|
||||||
|
|
||||||
#: src/Fire.js:58
|
#: src/Fire.js:99
|
||||||
msgid "Fire"
|
msgid "Fire"
|
||||||
msgstr "Oheň"
|
msgstr "Oheň"
|
||||||
|
|
||||||
#: src/Fire.js:130
|
#: src/Fire.js:154
|
||||||
msgid "Default Fire"
|
msgid "Default Fire"
|
||||||
msgstr "Výchozí oheň"
|
msgstr "Výchozí oheň"
|
||||||
|
|
||||||
#: src/Fire.js:140
|
#: src/Fire.js:164
|
||||||
msgid "Hell Fire"
|
msgid "Hell Fire"
|
||||||
msgstr "Pekelný oheň"
|
msgstr "Pekelný oheň"
|
||||||
|
|
||||||
#: src/Fire.js:150
|
#: src/Fire.js:174
|
||||||
msgid "Dark and Smutty"
|
msgid "Dark and Smutty"
|
||||||
msgstr "Temný"
|
msgstr "Temný"
|
||||||
|
|
||||||
#: src/Fire.js:160
|
#: src/Fire.js:184
|
||||||
msgid "Cold Breeze"
|
msgid "Cold Breeze"
|
||||||
msgstr "Studený vánek"
|
msgstr "Studený vánek"
|
||||||
|
|
||||||
#: src/Fire.js:170
|
#: src/Fire.js:194
|
||||||
msgid "Santa is Coming"
|
msgid "Santa is Coming"
|
||||||
msgstr "Santa přichází"
|
msgstr "Santa přichází"
|
||||||
|
|
||||||
#: src/EnergizeA.js:54
|
#: src/Hexagon.js:97
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:79
|
||||||
msgid "Energize A"
|
msgid "Energize A"
|
||||||
msgstr "Energizovat A"
|
msgstr "Energizovat A"
|
||||||
|
|
||||||
#: src/EnergizeB.js:54
|
#: src/Apparition.js:80
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:80
|
||||||
msgid "Energize B"
|
msgid "Energize B"
|
||||||
msgstr "Energizovat B"
|
msgstr "Energizovat B"
|
||||||
|
|
||||||
#: src/Matrix.js:58
|
#: src/Matrix.js:113
|
||||||
msgid "Matrix"
|
msgid "Matrix"
|
||||||
msgstr "Matrix"
|
msgstr "Matrix"
|
||||||
|
|
||||||
@@ -133,17 +149,20 @@ msgstr "Přeložit"
|
|||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr "Přispět"
|
msgstr "Přispět"
|
||||||
|
|
||||||
#: resources/ui/common/main-menu.ui:45
|
#: resources/ui/common/main-menu.ui:41
|
||||||
msgid "About Burn-My-Windows"
|
msgid "About Burn-My-Windows"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
#: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49
|
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
|
||||||
|
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
|
||||||
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/EnergizeB.ui:24
|
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
|
||||||
#: resources/ui/gtk3/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
|
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
|
||||||
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
|
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:42
|
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
|
||||||
msgid "Animation Time [ms]"
|
msgid "Animation Time [ms]"
|
||||||
msgstr "Délka animace [ms]"
|
msgstr "Délka animace [ms]"
|
||||||
|
|
||||||
@@ -152,7 +171,9 @@ msgstr "Délka animace [ms]"
|
|||||||
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Wisps.ui:52
|
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
|
||||||
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
||||||
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
||||||
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
||||||
@@ -161,29 +182,47 @@ msgstr "Délka animace [ms]"
|
|||||||
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
||||||
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52
|
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
|
||||||
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
||||||
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/Wisps.ui:68
|
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
|
||||||
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
||||||
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
||||||
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
||||||
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
||||||
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||||
|
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||||
msgid "Reset to Default Value"
|
msgid "Reset to Default Value"
|
||||||
msgstr "Obnovit výchozí hodnoty"
|
msgstr "Obnovit výchozí hodnoty"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||||
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
|
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
|
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
|
||||||
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/EnergizeB.ui:91
|
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:91
|
||||||
msgid "Scale"
|
msgid "Scale"
|
||||||
msgstr "Měřítko"
|
msgstr "Měřítko"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:116
|
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
msgid "Randomness"
|
msgid "Randomness"
|
||||||
msgstr "Nahodilost"
|
msgstr "Nahodilost"
|
||||||
|
|
||||||
@@ -218,8 +257,14 @@ msgid ""
|
|||||||
"window."
|
"window."
|
||||||
msgstr "Střepy odletí z místa, kde byl ukazatel myši při zavírání okna."
|
msgstr "Střepy odletí z místa, kde byl ukazatel myši při zavírání okna."
|
||||||
|
|
||||||
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
|
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
|
msgid "Turbulence"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
|
||||||
|
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
|
||||||
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
||||||
msgid "Color"
|
msgid "Color"
|
||||||
@@ -265,6 +310,26 @@ msgstr "Barva blesku"
|
|||||||
msgid "Preview this Effect"
|
msgid "Preview this Effect"
|
||||||
msgstr "Náhled efektu"
|
msgstr "Náhled efektu"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
msgid "Welcome to Burn-My-Windows!"
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
msgstr "Vítá Vás Burn-My-Windows!"
|
msgstr "Vítá Vás Burn-My-Windows!"
|
||||||
@@ -295,6 +360,22 @@ msgstr "Animace při zavírání okna"
|
|||||||
msgid "Also Add Effects to Dialogs"
|
msgid "Also Add Effects to Dialogs"
|
||||||
msgstr "Použít efekt i na dialogová okna"
|
msgstr "Použít efekt i na dialogová okna"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
|
||||||
|
msgid "Disable on Battery Power"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||||
|
msgid "Twirl Intensity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: resources/ui/gtk3/Fire.ui:63
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
msgid "Choose a Preset"
|
msgid "Choose a Preset"
|
||||||
msgstr "Vyberte předvolbu"
|
msgstr "Vyberte předvolbu"
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Burn-My-Windows\n"
|
"Project-Id-Version: Burn-My-Windows\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
|
"POT-Creation-Date: 2022-06-25 05:04+0200\n"
|
||||||
"PO-Revision-Date: 2022-02-18 19:40+0000\n"
|
"PO-Revision-Date: 2022-06-25 03:56+0000\n"
|
||||||
"Last-Translator: Simon Schneegans <code@simonschneegans.de>\n"
|
"Last-Translator: Simon Schneegans <code@simonschneegans.de>\n"
|
||||||
"Language-Team: German <https://hosted.weblate.org/projects/burn-my-windows/"
|
"Language-Team: German <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
"core/de/>\n"
|
"core/de/>\n"
|
||||||
@@ -17,95 +17,111 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 4.11-dev\n"
|
"X-Generator: Weblate 4.13.1-dev\n"
|
||||||
|
|
||||||
#: prefs.js:111
|
#: prefs.js:114
|
||||||
msgid "Effect Options"
|
msgid "Effect Options"
|
||||||
msgstr "Effektoptionen"
|
msgstr "Effektoptionen"
|
||||||
|
|
||||||
#: prefs.js:139
|
#: prefs.js:142
|
||||||
msgid "Go Back"
|
msgid "Go Back"
|
||||||
msgstr "Zurück"
|
msgstr "Zurück"
|
||||||
|
|
||||||
#: prefs.js:181
|
#: prefs.js:184
|
||||||
msgid "General Options"
|
msgid "General Options"
|
||||||
msgstr "Allgemeine Optionen"
|
msgstr "Allgemeine Optionen"
|
||||||
|
|
||||||
#: prefs.js:276
|
#: prefs.js:278
|
||||||
msgid "Gold Sponsors"
|
msgid "Gold Sponsors"
|
||||||
msgstr "Gold-Sponsoren"
|
msgstr "Gold-Sponsoren"
|
||||||
|
|
||||||
#: prefs.js:279
|
#: prefs.js:281
|
||||||
msgid "Silver Sponsors"
|
msgid "Silver Sponsors"
|
||||||
msgstr "Silber-Sponsoren"
|
msgstr "Silber-Sponsoren"
|
||||||
|
|
||||||
#: prefs.js:282
|
#: prefs.js:284
|
||||||
msgid "Bronze Sponsors"
|
msgid "Bronze Sponsors"
|
||||||
msgstr "Bronze-Sponsoren"
|
msgstr "Bronze-Sponsoren"
|
||||||
|
|
||||||
#: prefs.js:285
|
#: prefs.js:287
|
||||||
msgid "Past Sponsors"
|
msgid "Past Sponsors"
|
||||||
msgstr "Ehemalige Sponsoren"
|
msgstr "Ehemalige Sponsoren"
|
||||||
|
|
||||||
#. Translators: %s will be replaced by the effect's name.
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
#: prefs.js:512
|
#: prefs.js:510
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Preview for %s"
|
msgid "Preview for %s"
|
||||||
msgstr "Vorschau für %s"
|
msgstr "Vorschau für %s"
|
||||||
|
|
||||||
#: prefs.js:534
|
#: prefs.js:532
|
||||||
msgid "Close this Window to Preview the Effect!"
|
msgid "Close this Window to Preview the Effect!"
|
||||||
msgstr "Schließen Sie dieses Fenster, um eine Vorschau des Effekts anzuzeigen!"
|
msgstr "Schließen Sie dieses Fenster, um eine Vorschau des Effekts anzuzeigen!"
|
||||||
|
|
||||||
#: src/BrokenGlass.js:57
|
#: src/BrokenGlass.js:138
|
||||||
msgid "Broken Glass"
|
msgid "Broken Glass"
|
||||||
msgstr "Glassplitter"
|
msgstr "Glassplitter"
|
||||||
|
|
||||||
#: src/TVEffect.js:56
|
#: src/TVEffect.js:77
|
||||||
msgid "TV Effect"
|
msgid "TV Effect"
|
||||||
msgstr "TV-Effekt"
|
msgstr "TV-Effekt"
|
||||||
|
|
||||||
#: src/TRexAttack.js:56
|
#: src/TRexAttack.js:115
|
||||||
msgid "T-Rex Attack"
|
msgid "T-Rex Attack"
|
||||||
msgstr "T-Rex-Angriff"
|
msgstr "T-Rex-Angriff"
|
||||||
|
|
||||||
#: src/Wisps.js:55
|
#: src/SnapOfDisintegration.js:117
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr "Fingerschnippen des Zerfalls"
|
||||||
|
|
||||||
|
#: src/Incinerate.js:87
|
||||||
|
msgid "Incinerate"
|
||||||
|
msgstr "Einäschern"
|
||||||
|
|
||||||
|
#: src/Wisps.js:85
|
||||||
msgid "Wisps"
|
msgid "Wisps"
|
||||||
msgstr "Irrlichter"
|
msgstr "Irrlichter"
|
||||||
|
|
||||||
#: src/Fire.js:58
|
#: src/Fire.js:99
|
||||||
msgid "Fire"
|
msgid "Fire"
|
||||||
msgstr "Feuer"
|
msgstr "Feuer"
|
||||||
|
|
||||||
#: src/Fire.js:130
|
#: src/Fire.js:154
|
||||||
msgid "Default Fire"
|
msgid "Default Fire"
|
||||||
msgstr "Standardfeuer"
|
msgstr "Standardfeuer"
|
||||||
|
|
||||||
#: src/Fire.js:140
|
#: src/Fire.js:164
|
||||||
msgid "Hell Fire"
|
msgid "Hell Fire"
|
||||||
msgstr "Höllenfeuer"
|
msgstr "Höllenfeuer"
|
||||||
|
|
||||||
#: src/Fire.js:150
|
#: src/Fire.js:174
|
||||||
msgid "Dark and Smutty"
|
msgid "Dark and Smutty"
|
||||||
msgstr "Dunkel und schmutzig"
|
msgstr "Dunkel und schmutzig"
|
||||||
|
|
||||||
#: src/Fire.js:160
|
#: src/Fire.js:184
|
||||||
msgid "Cold Breeze"
|
msgid "Cold Breeze"
|
||||||
msgstr "Kalte Brise"
|
msgstr "Kalte Brise"
|
||||||
|
|
||||||
#: src/Fire.js:170
|
#: src/Fire.js:194
|
||||||
msgid "Santa is Coming"
|
msgid "Santa is Coming"
|
||||||
msgstr "Weihnachtsgrüße"
|
msgstr "Weihnachtsgrüße"
|
||||||
|
|
||||||
#: src/EnergizeA.js:54
|
#: src/Hexagon.js:97
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "Hexagon"
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:79
|
||||||
msgid "Energize A"
|
msgid "Energize A"
|
||||||
msgstr "Energie A"
|
msgstr "Energie A"
|
||||||
|
|
||||||
#: src/EnergizeB.js:54
|
#: src/Apparition.js:80
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr "Apparieren"
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:80
|
||||||
msgid "Energize B"
|
msgid "Energize B"
|
||||||
msgstr "Energie B"
|
msgstr "Energie B"
|
||||||
|
|
||||||
#: src/Matrix.js:58
|
#: src/Matrix.js:113
|
||||||
msgid "Matrix"
|
msgid "Matrix"
|
||||||
msgstr "Matrix"
|
msgstr "Matrix"
|
||||||
|
|
||||||
@@ -133,17 +149,20 @@ msgstr "Übersetzen"
|
|||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr "Spenden"
|
msgstr "Spenden"
|
||||||
|
|
||||||
#: resources/ui/common/main-menu.ui:45
|
#: resources/ui/common/main-menu.ui:41
|
||||||
msgid "About Burn-My-Windows"
|
msgid "About Burn-My-Windows"
|
||||||
msgstr "Über Burn-My-Windows"
|
msgstr "Über Burn-My-Windows"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
#: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49
|
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
|
||||||
|
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
|
||||||
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/EnergizeB.ui:24
|
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
|
||||||
#: resources/ui/gtk3/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
|
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
|
||||||
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
|
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:42
|
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
|
||||||
msgid "Animation Time [ms]"
|
msgid "Animation Time [ms]"
|
||||||
msgstr "Animationszeit [ms]"
|
msgstr "Animationszeit [ms]"
|
||||||
|
|
||||||
@@ -152,7 +171,9 @@ msgstr "Animationszeit [ms]"
|
|||||||
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Wisps.ui:52
|
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
|
||||||
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
||||||
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
||||||
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
||||||
@@ -161,29 +182,47 @@ msgstr "Animationszeit [ms]"
|
|||||||
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
||||||
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52
|
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
|
||||||
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
||||||
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/Wisps.ui:68
|
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
|
||||||
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
||||||
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
||||||
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
||||||
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
||||||
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||||
|
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||||
msgid "Reset to Default Value"
|
msgid "Reset to Default Value"
|
||||||
msgstr "Auf Standardwert zurücksetzen"
|
msgstr "Auf Standardwert zurücksetzen"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||||
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
|
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
|
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
|
||||||
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/EnergizeB.ui:91
|
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:91
|
||||||
msgid "Scale"
|
msgid "Scale"
|
||||||
msgstr "Größe"
|
msgstr "Größe"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:116
|
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
msgid "Randomness"
|
msgid "Randomness"
|
||||||
msgstr "Zufälligkeit"
|
msgstr "Zufälligkeit"
|
||||||
|
|
||||||
@@ -219,8 +258,14 @@ msgstr ""
|
|||||||
"Die Scherben fliegen von der Stelle weg, an der sich Ihr Mauszeiger beim "
|
"Die Scherben fliegen von der Stelle weg, an der sich Ihr Mauszeiger beim "
|
||||||
"Schließen des Fensters befand."
|
"Schließen des Fensters befand."
|
||||||
|
|
||||||
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
|
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
|
msgid "Turbulence"
|
||||||
|
msgstr "Turbulenz"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
|
||||||
|
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
|
||||||
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
||||||
msgid "Color"
|
msgid "Color"
|
||||||
@@ -266,6 +311,26 @@ msgstr "Blitzfarbe"
|
|||||||
msgid "Preview this Effect"
|
msgid "Preview this Effect"
|
||||||
msgstr "Vorschau dieses Effekts"
|
msgstr "Vorschau dieses Effekts"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr "Gitterlinienstärke"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr "Linienfarbe"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr "Leuchtfarbe"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr "Additives Mischen"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr "Für dunkle Fensterthemen sollten Sie diese Option aktivieren."
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
msgid "Welcome to Burn-My-Windows!"
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
msgstr "Willkommen bei Burn-My-Windows!"
|
msgstr "Willkommen bei Burn-My-Windows!"
|
||||||
@@ -296,6 +361,22 @@ msgstr "Fenster-Schließen-Animation"
|
|||||||
msgid "Also Add Effects to Dialogs"
|
msgid "Also Add Effects to Dialogs"
|
||||||
msgstr "Effekte auch zu Dialogen hinzufügen"
|
msgstr "Effekte auch zu Dialogen hinzufügen"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
|
||||||
|
msgid "Disable on Battery Power"
|
||||||
|
msgstr "Im Akkubetrieb deaktivieren"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||||
|
msgid "Twirl Intensity"
|
||||||
|
msgstr "Wirbelintensität"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr "Wackelintensität"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr "Saugintensität"
|
||||||
|
|
||||||
#: resources/ui/gtk3/Fire.ui:63
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
msgid "Choose a Preset"
|
msgid "Choose a Preset"
|
||||||
msgstr "Wählen Sie eine Voreinstellung"
|
msgstr "Wählen Sie eine Voreinstellung"
|
||||||
|
|||||||
@@ -7,9 +7,9 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Burn-My-Windows\n"
|
"Project-Id-Version: Burn-My-Windows\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
|
"POT-Creation-Date: 2022-06-25 05:04+0200\n"
|
||||||
"PO-Revision-Date: 2022-03-15 06:54+0000\n"
|
"PO-Revision-Date: 2022-06-08 14:14+0000\n"
|
||||||
"Last-Translator: Adolfo Jayme Barrientos <fitojb@ubuntu.com>\n"
|
"Last-Translator: Ulices <dev.n47os@aleeas.com>\n"
|
||||||
"Language-Team: Spanish <https://hosted.weblate.org/projects/burn-my-windows/"
|
"Language-Team: Spanish <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
"core/es/>\n"
|
"core/es/>\n"
|
||||||
"Language: es\n"
|
"Language: es\n"
|
||||||
@@ -17,95 +17,111 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 4.12-dev\n"
|
"X-Generator: Weblate 4.13-dev\n"
|
||||||
|
|
||||||
#: prefs.js:111
|
#: prefs.js:114
|
||||||
msgid "Effect Options"
|
msgid "Effect Options"
|
||||||
msgstr "Opciones de efecto"
|
msgstr "Opciones de efecto"
|
||||||
|
|
||||||
#: prefs.js:139
|
#: prefs.js:142
|
||||||
msgid "Go Back"
|
msgid "Go Back"
|
||||||
msgstr "Volver"
|
msgstr "Volver"
|
||||||
|
|
||||||
#: prefs.js:181
|
#: prefs.js:184
|
||||||
msgid "General Options"
|
msgid "General Options"
|
||||||
msgstr "Opciones generales"
|
msgstr "Opciones generales"
|
||||||
|
|
||||||
#: prefs.js:276
|
#: prefs.js:278
|
||||||
msgid "Gold Sponsors"
|
msgid "Gold Sponsors"
|
||||||
msgstr "Patrocinadores de oro"
|
msgstr "Patrocinadores de oro"
|
||||||
|
|
||||||
#: prefs.js:279
|
#: prefs.js:281
|
||||||
msgid "Silver Sponsors"
|
msgid "Silver Sponsors"
|
||||||
msgstr "Patrocinadores de plata"
|
msgstr "Patrocinadores de plata"
|
||||||
|
|
||||||
#: prefs.js:282
|
#: prefs.js:284
|
||||||
msgid "Bronze Sponsors"
|
msgid "Bronze Sponsors"
|
||||||
msgstr "Patrocinadores de bronce"
|
msgstr "Patrocinadores de bronce"
|
||||||
|
|
||||||
#: prefs.js:285
|
#: prefs.js:287
|
||||||
msgid "Past Sponsors"
|
msgid "Past Sponsors"
|
||||||
msgstr "Patrocinadores anteriores"
|
msgstr "Patrocinadores anteriores"
|
||||||
|
|
||||||
#. Translators: %s will be replaced by the effect's name.
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
#: prefs.js:512
|
#: prefs.js:510
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Preview for %s"
|
msgid "Preview for %s"
|
||||||
msgstr "Previsualización de %s"
|
msgstr "Previsualización de %s"
|
||||||
|
|
||||||
#: prefs.js:534
|
#: prefs.js:532
|
||||||
msgid "Close this Window to Preview the Effect!"
|
msgid "Close this Window to Preview the Effect!"
|
||||||
msgstr "¡Cierre esta ventana para ver el efecto!"
|
msgstr "¡Cierre esta ventana para ver el efecto!"
|
||||||
|
|
||||||
#: src/BrokenGlass.js:57
|
#: src/BrokenGlass.js:138
|
||||||
msgid "Broken Glass"
|
msgid "Broken Glass"
|
||||||
msgstr "Cristales rotos"
|
msgstr "Cristales rotos"
|
||||||
|
|
||||||
#: src/TVEffect.js:56
|
#: src/TVEffect.js:77
|
||||||
msgid "TV Effect"
|
msgid "TV Effect"
|
||||||
msgstr "Efecto televisor"
|
msgstr "Efecto televisor"
|
||||||
|
|
||||||
#: src/TRexAttack.js:56
|
#: src/TRexAttack.js:115
|
||||||
msgid "T-Rex Attack"
|
msgid "T-Rex Attack"
|
||||||
msgstr "Ataque de T-Rex"
|
msgstr "Ataque de T-Rex"
|
||||||
|
|
||||||
#: src/Wisps.js:55
|
#: src/SnapOfDisintegration.js:117
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr "Chasquido de desintegración"
|
||||||
|
|
||||||
|
#: src/Incinerate.js:87
|
||||||
|
msgid "Incinerate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Wisps.js:85
|
||||||
msgid "Wisps"
|
msgid "Wisps"
|
||||||
msgstr "Chispas"
|
msgstr "Chispas"
|
||||||
|
|
||||||
#: src/Fire.js:58
|
#: src/Fire.js:99
|
||||||
msgid "Fire"
|
msgid "Fire"
|
||||||
msgstr "Fuego"
|
msgstr "Fuego"
|
||||||
|
|
||||||
#: src/Fire.js:130
|
#: src/Fire.js:154
|
||||||
msgid "Default Fire"
|
msgid "Default Fire"
|
||||||
msgstr "Fuego predeterminado"
|
msgstr "Fuego predeterminado"
|
||||||
|
|
||||||
#: src/Fire.js:140
|
#: src/Fire.js:164
|
||||||
msgid "Hell Fire"
|
msgid "Hell Fire"
|
||||||
msgstr "Fuego infernal"
|
msgstr "Fuego infernal"
|
||||||
|
|
||||||
#: src/Fire.js:150
|
#: src/Fire.js:174
|
||||||
msgid "Dark and Smutty"
|
msgid "Dark and Smutty"
|
||||||
msgstr "Oscuro y obsceno"
|
msgstr "Oscuro y obsceno"
|
||||||
|
|
||||||
#: src/Fire.js:160
|
#: src/Fire.js:184
|
||||||
msgid "Cold Breeze"
|
msgid "Cold Breeze"
|
||||||
msgstr "Brisa fría"
|
msgstr "Brisa fría"
|
||||||
|
|
||||||
#: src/Fire.js:170
|
#: src/Fire.js:194
|
||||||
msgid "Santa is Coming"
|
msgid "Santa is Coming"
|
||||||
msgstr "Viene Papá Noel"
|
msgstr "Viene Papá Noel"
|
||||||
|
|
||||||
#: src/EnergizeA.js:54
|
#: src/Hexagon.js:97
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "Hexágonos"
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:79
|
||||||
msgid "Energize A"
|
msgid "Energize A"
|
||||||
msgstr "Energizar A"
|
msgstr "Energizar A"
|
||||||
|
|
||||||
#: src/EnergizeB.js:54
|
#: src/Apparition.js:80
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr "Aparición"
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:80
|
||||||
msgid "Energize B"
|
msgid "Energize B"
|
||||||
msgstr "Energizar B"
|
msgstr "Energizar B"
|
||||||
|
|
||||||
#: src/Matrix.js:58
|
#: src/Matrix.js:113
|
||||||
msgid "Matrix"
|
msgid "Matrix"
|
||||||
msgstr "Matrix"
|
msgstr "Matrix"
|
||||||
|
|
||||||
@@ -133,17 +149,20 @@ msgstr "Traducir"
|
|||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr "Donar"
|
msgstr "Donar"
|
||||||
|
|
||||||
#: resources/ui/common/main-menu.ui:45
|
#: resources/ui/common/main-menu.ui:41
|
||||||
msgid "About Burn-My-Windows"
|
msgid "About Burn-My-Windows"
|
||||||
msgstr "Acerca de Burn-My-Windows"
|
msgstr "Acerca de Burn-My-Windows"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
#: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49
|
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
|
||||||
|
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
|
||||||
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/EnergizeB.ui:24
|
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
|
||||||
#: resources/ui/gtk3/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
|
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
|
||||||
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
|
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:42
|
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
|
||||||
msgid "Animation Time [ms]"
|
msgid "Animation Time [ms]"
|
||||||
msgstr "Tiempo de animación [ms]"
|
msgstr "Tiempo de animación [ms]"
|
||||||
|
|
||||||
@@ -152,7 +171,9 @@ msgstr "Tiempo de animación [ms]"
|
|||||||
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Wisps.ui:52
|
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
|
||||||
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
||||||
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
||||||
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
||||||
@@ -161,29 +182,47 @@ msgstr "Tiempo de animación [ms]"
|
|||||||
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
||||||
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52
|
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
|
||||||
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
||||||
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/Wisps.ui:68
|
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
|
||||||
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
||||||
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
||||||
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
||||||
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
||||||
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||||
|
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||||
msgid "Reset to Default Value"
|
msgid "Reset to Default Value"
|
||||||
msgstr "Restablecer al valor predeterminado"
|
msgstr "Restablecer al valor predeterminado"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||||
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
|
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
|
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
|
||||||
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/EnergizeB.ui:91
|
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:91
|
||||||
msgid "Scale"
|
msgid "Scale"
|
||||||
msgstr "Escala"
|
msgstr "Escala"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:116
|
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
msgid "Randomness"
|
msgid "Randomness"
|
||||||
msgstr "Aleatoriedad"
|
msgstr "Aleatoriedad"
|
||||||
|
|
||||||
@@ -219,8 +258,14 @@ msgstr ""
|
|||||||
"Los fragmentos saldrán volando desde donde estaba el puntero del ratón al "
|
"Los fragmentos saldrán volando desde donde estaba el puntero del ratón al "
|
||||||
"cerrar la ventana."
|
"cerrar la ventana."
|
||||||
|
|
||||||
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
|
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
|
msgid "Turbulence"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
|
||||||
|
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
|
||||||
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
||||||
msgid "Color"
|
msgid "Color"
|
||||||
@@ -266,9 +311,29 @@ msgstr "Color del flash"
|
|||||||
msgid "Preview this Effect"
|
msgid "Preview this Effect"
|
||||||
msgstr "Previsualizar este efecto"
|
msgstr "Previsualizar este efecto"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr "Ancho de la línea de malla"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr "Color de línea"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr "Color del brillo"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr "Fundido activo"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr "Puede ser que necesites activar esto para temas oscuros de ventana."
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
msgid "Welcome to Burn-My-Windows!"
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
msgstr "Le damos la bienvenida a Burn-My-Windows."
|
msgstr "¡Le damos la bienvenida a Burn-My-Windows!"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
|
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
|
||||||
msgid "If you like this extension, recommend it to your friends :)"
|
msgid "If you like this extension, recommend it to your friends :)"
|
||||||
@@ -296,6 +361,22 @@ msgstr "Animación al cerrar la ventana"
|
|||||||
msgid "Also Add Effects to Dialogs"
|
msgid "Also Add Effects to Dialogs"
|
||||||
msgstr "Añadir también efectos a los diálogos"
|
msgstr "Añadir también efectos a los diálogos"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
|
||||||
|
msgid "Disable on Battery Power"
|
||||||
|
msgstr "Desactivar en alimentación con batería"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||||
|
msgid "Twirl Intensity"
|
||||||
|
msgstr "Intensidad del giro"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr "Intensidad del temblor"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr "Intensidad de la succión"
|
||||||
|
|
||||||
#: resources/ui/gtk3/Fire.ui:63
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
msgid "Choose a Preset"
|
msgid "Choose a Preset"
|
||||||
msgstr "Elija una preselección"
|
msgstr "Elija una preselección"
|
||||||
|
|||||||
@@ -0,0 +1,381 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR Simon Schneegans
|
||||||
|
# This file is distributed under the same license as the burn-my-windows package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: burn-my-windows\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-06-25 05:04+0200\n"
|
||||||
|
"PO-Revision-Date: 2022-05-23 08:18+0000\n"
|
||||||
|
"Last-Translator: Eshagh Shahedany <eshagh094@gmail.com>\n"
|
||||||
|
"Language-Team: Persian <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
|
"core/fa/>\n"
|
||||||
|
"Language: fa\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
|
"X-Generator: Weblate 4.13-dev\n"
|
||||||
|
|
||||||
|
#: prefs.js:114
|
||||||
|
msgid "Effect Options"
|
||||||
|
msgstr "انتخابهای جلوه"
|
||||||
|
|
||||||
|
#: prefs.js:142
|
||||||
|
msgid "Go Back"
|
||||||
|
msgstr "بازگشت"
|
||||||
|
|
||||||
|
#: prefs.js:184
|
||||||
|
msgid "General Options"
|
||||||
|
msgstr "انتخابهای عمومی"
|
||||||
|
|
||||||
|
#: prefs.js:278
|
||||||
|
msgid "Gold Sponsors"
|
||||||
|
msgstr "حامیان طلایی"
|
||||||
|
|
||||||
|
#: prefs.js:281
|
||||||
|
msgid "Silver Sponsors"
|
||||||
|
msgstr "حامیان نقرهای"
|
||||||
|
|
||||||
|
#: prefs.js:284
|
||||||
|
msgid "Bronze Sponsors"
|
||||||
|
msgstr "حامیان برنزی"
|
||||||
|
|
||||||
|
#: prefs.js:287
|
||||||
|
msgid "Past Sponsors"
|
||||||
|
msgstr "حامیان گذشته"
|
||||||
|
|
||||||
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
|
#: prefs.js:510
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Preview for %s"
|
||||||
|
msgstr "پیشنمایش برای %s"
|
||||||
|
|
||||||
|
#: prefs.js:532
|
||||||
|
msgid "Close this Window to Preview the Effect!"
|
||||||
|
msgstr "برای پیشنمایش جلوه، پنجره را ببندید!"
|
||||||
|
|
||||||
|
#: src/BrokenGlass.js:138
|
||||||
|
msgid "Broken Glass"
|
||||||
|
msgstr "شیشهٔ شکسته"
|
||||||
|
|
||||||
|
#: src/TVEffect.js:77
|
||||||
|
msgid "TV Effect"
|
||||||
|
msgstr "جلوهٔ تلویزیون"
|
||||||
|
|
||||||
|
#: src/TRexAttack.js:115
|
||||||
|
msgid "T-Rex Attack"
|
||||||
|
msgstr "حملهٔ تیرکس"
|
||||||
|
|
||||||
|
#: src/SnapOfDisintegration.js:117
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr "ضربهٔ فروپاشی"
|
||||||
|
|
||||||
|
#: src/Incinerate.js:87
|
||||||
|
msgid "Incinerate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Wisps.js:85
|
||||||
|
msgid "Wisps"
|
||||||
|
msgstr "جرقهها"
|
||||||
|
|
||||||
|
#: src/Fire.js:99
|
||||||
|
msgid "Fire"
|
||||||
|
msgstr "آتش"
|
||||||
|
|
||||||
|
#: src/Fire.js:154
|
||||||
|
msgid "Default Fire"
|
||||||
|
msgstr "آتش پیشگزیده"
|
||||||
|
|
||||||
|
#: src/Fire.js:164
|
||||||
|
msgid "Hell Fire"
|
||||||
|
msgstr "آتش جهنمی"
|
||||||
|
|
||||||
|
#: src/Fire.js:174
|
||||||
|
msgid "Dark and Smutty"
|
||||||
|
msgstr "تاریک و دودی"
|
||||||
|
|
||||||
|
#: src/Fire.js:184
|
||||||
|
msgid "Cold Breeze"
|
||||||
|
msgstr "نسیم سرد"
|
||||||
|
|
||||||
|
#: src/Fire.js:194
|
||||||
|
msgid "Santa is Coming"
|
||||||
|
msgstr "بابانوئل میآید"
|
||||||
|
|
||||||
|
#: src/Hexagon.js:97
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "شش ضلعی"
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:79
|
||||||
|
msgid "Energize A"
|
||||||
|
msgstr "انرژی آ"
|
||||||
|
|
||||||
|
#: src/Apparition.js:80
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr "تجسم"
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:80
|
||||||
|
msgid "Energize B"
|
||||||
|
msgstr "انرژی ب"
|
||||||
|
|
||||||
|
#: src/Matrix.js:113
|
||||||
|
msgid "Matrix"
|
||||||
|
msgstr "ماتریکس"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:6
|
||||||
|
msgid "Visit Homepage"
|
||||||
|
msgstr "بازدید از صفحهٔ خانه"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:10
|
||||||
|
msgid "View Changelog"
|
||||||
|
msgstr "دیدن تغییرات"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:16
|
||||||
|
msgid "Report a Bug"
|
||||||
|
msgstr "گزارش یک مشکل"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:20
|
||||||
|
msgid "Create an Effect"
|
||||||
|
msgstr "ایجاد یک جلوه"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:24
|
||||||
|
msgid "Translate"
|
||||||
|
msgstr "ترجمه"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:28
|
||||||
|
msgid "Donate"
|
||||||
|
msgstr "اعانه"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:41
|
||||||
|
msgid "About Burn-My-Windows"
|
||||||
|
msgstr "دربارهٔ پنجرههایم را بسوزان"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
|
||||||
|
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
|
||||||
|
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
|
||||||
|
msgid "Animation Time [ms]"
|
||||||
|
msgstr "زمان پویانمایی (میلیثانیه)"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
|
||||||
|
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
||||||
|
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
||||||
|
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
||||||
|
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
||||||
|
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
||||||
|
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
||||||
|
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
||||||
|
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
||||||
|
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||||
|
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||||
|
msgid "Reset to Default Value"
|
||||||
|
msgstr "بازنشانی به مقدار پیشگزیده"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
|
||||||
|
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:91
|
||||||
|
msgid "Scale"
|
||||||
|
msgstr "مقیاس"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
|
msgid "Randomness"
|
||||||
|
msgstr "تصادفی"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:162
|
||||||
|
msgid "Vertical Overshooting"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:208
|
||||||
|
msgid "Trail Color"
|
||||||
|
msgstr "رنگ دنباله"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:242
|
||||||
|
msgid "Tip Color"
|
||||||
|
msgstr "رنگ نکته"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:116
|
||||||
|
msgid "Gravity"
|
||||||
|
msgstr "گرانش"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:162
|
||||||
|
msgid "Blow Force"
|
||||||
|
msgstr "نیروی انفجار"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:212
|
||||||
|
msgid "Shatter From Pointer Location"
|
||||||
|
msgstr "شکستن از مکان نشانگر"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:221
|
||||||
|
msgid ""
|
||||||
|
"The shards will fly away from where your mouse pointer was when closing the "
|
||||||
|
"window."
|
||||||
|
msgstr ""
|
||||||
|
"هنگام بستن پنجره، خردهها از جایی که نشانگر ماوس شما قرار داشت دور میشوند."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
|
||||||
|
msgid "Turbulence"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
|
||||||
|
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
||||||
|
msgid "Color"
|
||||||
|
msgstr "رنگ"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
|
||||||
|
msgid "Presets"
|
||||||
|
msgstr "از پیش تنظیم شدهها"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "سرعت"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
||||||
|
msgid "3D Noise"
|
||||||
|
msgstr "نویز سه بعدی"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
|
||||||
|
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||||
|
msgstr "آتش پویاتری ایجاد میکند اما به قدرت جیپییو بیشتری نیاز دارد."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||||
|
msgid "Gradient"
|
||||||
|
msgstr "گرادیان"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
|
msgid "Claw Scratch Scale"
|
||||||
|
msgstr "مقیاس خراش پنجه"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||||
|
msgid "Claw Scratch Count"
|
||||||
|
msgstr "تعداد خراش پنجه"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
|
msgid "Warp Effect"
|
||||||
|
msgstr "جلوهٔ انحنا"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:208
|
||||||
|
msgid "Flash Color"
|
||||||
|
msgstr "رنگ گوشت"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||||
|
msgid "Preview this Effect"
|
||||||
|
msgstr "پیشنمایش این جلوه"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr "عرض خط شبکه"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr "رنگ خط"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr "رنگ درخشش"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr "ترکیب افزودنی"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr "ممکن است بخواهید این را برای زمینههای پنجره تاریک به کار بیاندازید."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
|
msgstr "به پنجرههایم را بسوزان، خوش آمدید!"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
|
||||||
|
msgid "If you like this extension, recommend it to your friends :)"
|
||||||
|
msgstr "اگر این افزونه را دوست دارید، آن را به دوستان خود معرفی کنید :)"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
||||||
|
msgid "Open Window Animation"
|
||||||
|
msgstr "پویانمایی گشودن پنجره"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
|
||||||
|
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
|
||||||
|
msgid "If multiple are selected, one is chosen randomly."
|
||||||
|
msgstr "اگر چند مورد انتخاب شود، یکی به صورت تصادفی انتخاب میشود."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
|
||||||
|
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
|
||||||
|
msgid "Choose Effects"
|
||||||
|
msgstr "انتخاب جلوه"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
|
||||||
|
msgid "Close Window Animation"
|
||||||
|
msgstr "پویانمایی بستن پنجره"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
|
||||||
|
msgid "Also Add Effects to Dialogs"
|
||||||
|
msgstr "همچنین جلوهها را به گفتوگوها اضافه کن"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
|
||||||
|
msgid "Disable on Battery Power"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||||
|
msgid "Twirl Intensity"
|
||||||
|
msgstr "شدّت چرخش"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr "شدّت لرزش"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr "شدّت مکش"
|
||||||
|
|
||||||
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
|
msgid "Choose a Preset"
|
||||||
|
msgstr "یک پیش تنظیم را انتخاب کنید"
|
||||||
@@ -0,0 +1,381 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR Simon Schneegans
|
||||||
|
# This file is distributed under the same license as the burn-my-windows package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: burn-my-windows\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-06-25 05:04+0200\n"
|
||||||
|
"PO-Revision-Date: 2022-04-08 07:11+0000\n"
|
||||||
|
"Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n"
|
||||||
|
"Language-Team: Finnish <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
|
"core/fi/>\n"
|
||||||
|
"Language: fi\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 4.12-dev\n"
|
||||||
|
|
||||||
|
#: prefs.js:114
|
||||||
|
msgid "Effect Options"
|
||||||
|
msgstr "Tehostevalinnat"
|
||||||
|
|
||||||
|
#: prefs.js:142
|
||||||
|
msgid "Go Back"
|
||||||
|
msgstr "Takaisin"
|
||||||
|
|
||||||
|
#: prefs.js:184
|
||||||
|
msgid "General Options"
|
||||||
|
msgstr "Yleiset asetukset"
|
||||||
|
|
||||||
|
#: prefs.js:278
|
||||||
|
msgid "Gold Sponsors"
|
||||||
|
msgstr "Kultasponsorit"
|
||||||
|
|
||||||
|
#: prefs.js:281
|
||||||
|
msgid "Silver Sponsors"
|
||||||
|
msgstr "Hopeasponsorit"
|
||||||
|
|
||||||
|
#: prefs.js:284
|
||||||
|
msgid "Bronze Sponsors"
|
||||||
|
msgstr "Pronssisponsorit"
|
||||||
|
|
||||||
|
#: prefs.js:287
|
||||||
|
msgid "Past Sponsors"
|
||||||
|
msgstr "Aiemmat sponsorit"
|
||||||
|
|
||||||
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
|
#: prefs.js:510
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Preview for %s"
|
||||||
|
msgstr "Esikatselu tehosteelle %s"
|
||||||
|
|
||||||
|
#: prefs.js:532
|
||||||
|
msgid "Close this Window to Preview the Effect!"
|
||||||
|
msgstr "Sulje tämä ikkuna esikatsellaksesi tehosteen!"
|
||||||
|
|
||||||
|
#: src/BrokenGlass.js:138
|
||||||
|
msgid "Broken Glass"
|
||||||
|
msgstr "Rikkoutunut lasi"
|
||||||
|
|
||||||
|
#: src/TVEffect.js:77
|
||||||
|
msgid "TV Effect"
|
||||||
|
msgstr "TV-tehoste"
|
||||||
|
|
||||||
|
#: src/TRexAttack.js:115
|
||||||
|
msgid "T-Rex Attack"
|
||||||
|
msgstr "T-Rexin hyökkäys"
|
||||||
|
|
||||||
|
#: src/SnapOfDisintegration.js:117
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr "Hajoamisen napsahdus"
|
||||||
|
|
||||||
|
#: src/Incinerate.js:87
|
||||||
|
msgid "Incinerate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Wisps.js:85
|
||||||
|
msgid "Wisps"
|
||||||
|
msgstr "Häiveet"
|
||||||
|
|
||||||
|
#: src/Fire.js:99
|
||||||
|
msgid "Fire"
|
||||||
|
msgstr "Tuli"
|
||||||
|
|
||||||
|
#: src/Fire.js:154
|
||||||
|
msgid "Default Fire"
|
||||||
|
msgstr "Oletustuli"
|
||||||
|
|
||||||
|
#: src/Fire.js:164
|
||||||
|
msgid "Hell Fire"
|
||||||
|
msgstr "Helvetintuli"
|
||||||
|
|
||||||
|
#: src/Fire.js:174
|
||||||
|
msgid "Dark and Smutty"
|
||||||
|
msgstr "Tumma ja likainen"
|
||||||
|
|
||||||
|
#: src/Fire.js:184
|
||||||
|
msgid "Cold Breeze"
|
||||||
|
msgstr "Kylmän tuulahdus"
|
||||||
|
|
||||||
|
#: src/Fire.js:194
|
||||||
|
msgid "Santa is Coming"
|
||||||
|
msgstr "Pukki saapuu"
|
||||||
|
|
||||||
|
#: src/Hexagon.js:97
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "Kuusikulmio"
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:79
|
||||||
|
msgid "Energize A"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Apparition.js:80
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr "Ilmestys"
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:80
|
||||||
|
msgid "Energize B"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Matrix.js:113
|
||||||
|
msgid "Matrix"
|
||||||
|
msgstr "Matriisi"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:6
|
||||||
|
msgid "Visit Homepage"
|
||||||
|
msgstr "Käy verkkosivulla"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:10
|
||||||
|
msgid "View Changelog"
|
||||||
|
msgstr "Näytä muutosloki"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:16
|
||||||
|
msgid "Report a Bug"
|
||||||
|
msgstr "Ilmoita ongelmasta"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:20
|
||||||
|
msgid "Create an Effect"
|
||||||
|
msgstr "Luo tehoste"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:24
|
||||||
|
msgid "Translate"
|
||||||
|
msgstr "Käännä"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:28
|
||||||
|
msgid "Donate"
|
||||||
|
msgstr "Lahjoita"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:41
|
||||||
|
msgid "About Burn-My-Windows"
|
||||||
|
msgstr "Tietoja - Burn-My-Windows"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
|
||||||
|
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
|
||||||
|
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
|
||||||
|
msgid "Animation Time [ms]"
|
||||||
|
msgstr "Animaatioaika [ms]"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
|
||||||
|
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
||||||
|
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
||||||
|
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
||||||
|
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
||||||
|
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
||||||
|
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
||||||
|
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
||||||
|
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
||||||
|
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||||
|
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||||
|
msgid "Reset to Default Value"
|
||||||
|
msgstr "Palauta oletusarvoon"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
|
||||||
|
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:91
|
||||||
|
msgid "Scale"
|
||||||
|
msgstr "Skaala"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
|
msgid "Randomness"
|
||||||
|
msgstr "Satunnaisuus"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:162
|
||||||
|
msgid "Vertical Overshooting"
|
||||||
|
msgstr "Pystysuora ylitys"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:208
|
||||||
|
msgid "Trail Color"
|
||||||
|
msgstr "Polun väri"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:242
|
||||||
|
msgid "Tip Color"
|
||||||
|
msgstr "Vihjeen väri"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:116
|
||||||
|
msgid "Gravity"
|
||||||
|
msgstr "Painovoima"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:162
|
||||||
|
msgid "Blow Force"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:212
|
||||||
|
msgid "Shatter From Pointer Location"
|
||||||
|
msgstr "Särkyminen osoittimen sijainnista"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:221
|
||||||
|
msgid ""
|
||||||
|
"The shards will fly away from where your mouse pointer was when closing the "
|
||||||
|
"window."
|
||||||
|
msgstr ""
|
||||||
|
"Sirpaleet lentävät kauas hiiren osoittimen sijainnista kun suljet ikkunan."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
|
||||||
|
msgid "Turbulence"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
|
||||||
|
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
||||||
|
msgid "Color"
|
||||||
|
msgstr "Väri"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
|
||||||
|
msgid "Presets"
|
||||||
|
msgstr "Esiasetukset"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "Nopeus"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
||||||
|
msgid "3D Noise"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
|
||||||
|
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||||
|
msgid "Gradient"
|
||||||
|
msgstr "Liukuväri"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
|
msgid "Claw Scratch Scale"
|
||||||
|
msgstr "Kynnenraapaisun skaala"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||||
|
msgid "Claw Scratch Count"
|
||||||
|
msgstr "Kynnenraapaisujen määrä"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
|
msgid "Warp Effect"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:208
|
||||||
|
msgid "Flash Color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||||
|
msgid "Preview this Effect"
|
||||||
|
msgstr "Esikatsele tämä tehoste"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr "Viivan väri"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr "Hehkun väri"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
|
msgstr "Tervetuloa, tämä on Burn-My-Windows!"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
|
||||||
|
msgid "If you like this extension, recommend it to your friends :)"
|
||||||
|
msgstr "Jos pidä tästä laajennuksesta, suosittele sitä kavereillesi :)"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
||||||
|
msgid "Open Window Animation"
|
||||||
|
msgstr "Ikkunan avaamisen animaatio"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
|
||||||
|
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
|
||||||
|
msgid "If multiple are selected, one is chosen randomly."
|
||||||
|
msgstr "Jos useita on valittu, yksi valitaan satunnaisesti."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
|
||||||
|
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
|
||||||
|
msgid "Choose Effects"
|
||||||
|
msgstr "Valitse tehosteet"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
|
||||||
|
msgid "Close Window Animation"
|
||||||
|
msgstr "Ikkunan sulkemisen animaatio"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
|
||||||
|
msgid "Also Add Effects to Dialogs"
|
||||||
|
msgstr "Lisää tehosteet myös dialogi-ikkunoihin"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
|
||||||
|
msgid "Disable on Battery Power"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||||
|
msgid "Twirl Intensity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
|
msgid "Choose a Preset"
|
||||||
|
msgstr "Valitse esiasetus"
|
||||||
@@ -7,9 +7,9 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Burn-My-Windows\n"
|
"Project-Id-Version: Burn-My-Windows\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
|
"POT-Creation-Date: 2022-06-25 05:04+0200\n"
|
||||||
"PO-Revision-Date: 2022-02-21 11:58+0000\n"
|
"PO-Revision-Date: 2022-05-01 23:10+0000\n"
|
||||||
"Last-Translator: Nathan <bonnemainsnathan@gmail.com>\n"
|
"Last-Translator: matb <perso@mathieu-bousquet.fr>\n"
|
||||||
"Language-Team: French <https://hosted.weblate.org/projects/burn-my-windows/"
|
"Language-Team: French <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
"core/fr/>\n"
|
"core/fr/>\n"
|
||||||
"Language: fr\n"
|
"Language: fr\n"
|
||||||
@@ -17,95 +17,111 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
"X-Generator: Weblate 4.11-dev\n"
|
"X-Generator: Weblate 4.12.1\n"
|
||||||
|
|
||||||
#: prefs.js:111
|
#: prefs.js:114
|
||||||
msgid "Effect Options"
|
msgid "Effect Options"
|
||||||
msgstr "Options de l'effet"
|
msgstr "Options de l'effet"
|
||||||
|
|
||||||
#: prefs.js:139
|
#: prefs.js:142
|
||||||
msgid "Go Back"
|
msgid "Go Back"
|
||||||
msgstr "Retour"
|
msgstr "Retour"
|
||||||
|
|
||||||
#: prefs.js:181
|
#: prefs.js:184
|
||||||
msgid "General Options"
|
msgid "General Options"
|
||||||
msgstr "Options générales"
|
msgstr "Options générales"
|
||||||
|
|
||||||
#: prefs.js:276
|
#: prefs.js:278
|
||||||
msgid "Gold Sponsors"
|
msgid "Gold Sponsors"
|
||||||
msgstr "Sponsors Or"
|
msgstr "Sponsors Or"
|
||||||
|
|
||||||
#: prefs.js:279
|
#: prefs.js:281
|
||||||
msgid "Silver Sponsors"
|
msgid "Silver Sponsors"
|
||||||
msgstr "Sponsors Argent"
|
msgstr "Sponsors Argent"
|
||||||
|
|
||||||
#: prefs.js:282
|
#: prefs.js:284
|
||||||
msgid "Bronze Sponsors"
|
msgid "Bronze Sponsors"
|
||||||
msgstr "Sponsors Bronze"
|
msgstr "Sponsors Bronze"
|
||||||
|
|
||||||
#: prefs.js:285
|
#: prefs.js:287
|
||||||
msgid "Past Sponsors"
|
msgid "Past Sponsors"
|
||||||
msgstr "Anciens Sponsors"
|
msgstr "Anciens Sponsors"
|
||||||
|
|
||||||
#. Translators: %s will be replaced by the effect's name.
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
#: prefs.js:512
|
#: prefs.js:510
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Preview for %s"
|
msgid "Preview for %s"
|
||||||
msgstr "Aperçu pour %s"
|
msgstr "Aperçu pour %s"
|
||||||
|
|
||||||
#: prefs.js:534
|
#: prefs.js:532
|
||||||
msgid "Close this Window to Preview the Effect!"
|
msgid "Close this Window to Preview the Effect!"
|
||||||
msgstr "Fermez cette fenêtre pour un aperçu de l'effet !"
|
msgstr "Fermez cette fenêtre pour un aperçu de l'effet !"
|
||||||
|
|
||||||
#: src/BrokenGlass.js:57
|
#: src/BrokenGlass.js:138
|
||||||
msgid "Broken Glass"
|
msgid "Broken Glass"
|
||||||
msgstr "Verre brisé"
|
msgstr "Verre brisé"
|
||||||
|
|
||||||
#: src/TVEffect.js:56
|
#: src/TVEffect.js:77
|
||||||
msgid "TV Effect"
|
msgid "TV Effect"
|
||||||
msgstr "Effet TV"
|
msgstr "Effet TV"
|
||||||
|
|
||||||
#: src/TRexAttack.js:56
|
#: src/TRexAttack.js:115
|
||||||
msgid "T-Rex Attack"
|
msgid "T-Rex Attack"
|
||||||
msgstr "Attaque de T-Rex"
|
msgstr "Attaque de T-Rex"
|
||||||
|
|
||||||
#: src/Wisps.js:55
|
#: src/SnapOfDisintegration.js:117
|
||||||
msgid "Wisps"
|
msgid "Snap of Disintegration"
|
||||||
msgstr "Volutes"
|
msgstr "Désintégration"
|
||||||
|
|
||||||
#: src/Fire.js:58
|
#: src/Incinerate.js:87
|
||||||
|
msgid "Incinerate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Wisps.js:85
|
||||||
|
msgid "Wisps"
|
||||||
|
msgstr "Feux follets"
|
||||||
|
|
||||||
|
#: src/Fire.js:99
|
||||||
msgid "Fire"
|
msgid "Fire"
|
||||||
msgstr "Feu"
|
msgstr "Feu"
|
||||||
|
|
||||||
#: src/Fire.js:130
|
#: src/Fire.js:154
|
||||||
msgid "Default Fire"
|
msgid "Default Fire"
|
||||||
msgstr "Feu par défaut"
|
msgstr "Feu par défaut"
|
||||||
|
|
||||||
#: src/Fire.js:140
|
#: src/Fire.js:164
|
||||||
msgid "Hell Fire"
|
msgid "Hell Fire"
|
||||||
msgstr "Feu de l'enfer"
|
msgstr "Feu de l'enfer"
|
||||||
|
|
||||||
#: src/Fire.js:150
|
#: src/Fire.js:174
|
||||||
msgid "Dark and Smutty"
|
msgid "Dark and Smutty"
|
||||||
msgstr "Sombre et ténébreux"
|
msgstr "Sombre et ténébreux"
|
||||||
|
|
||||||
#: src/Fire.js:160
|
#: src/Fire.js:184
|
||||||
msgid "Cold Breeze"
|
msgid "Cold Breeze"
|
||||||
msgstr "Brise froide"
|
msgstr "Brise froide"
|
||||||
|
|
||||||
#: src/Fire.js:170
|
#: src/Fire.js:194
|
||||||
msgid "Santa is Coming"
|
msgid "Santa is Coming"
|
||||||
msgstr "Le Père Noël arrive"
|
msgstr "Le Père Noël arrive"
|
||||||
|
|
||||||
#: src/EnergizeA.js:54
|
#: src/Hexagon.js:97
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "Hexagone"
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:79
|
||||||
msgid "Energize A"
|
msgid "Energize A"
|
||||||
msgstr "Énergie A"
|
msgstr "Énergie A"
|
||||||
|
|
||||||
#: src/EnergizeB.js:54
|
#: src/Apparition.js:80
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr "Apparition"
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:80
|
||||||
msgid "Energize B"
|
msgid "Energize B"
|
||||||
msgstr "Énergie B"
|
msgstr "Énergie B"
|
||||||
|
|
||||||
#: src/Matrix.js:58
|
#: src/Matrix.js:113
|
||||||
msgid "Matrix"
|
msgid "Matrix"
|
||||||
msgstr "Matrix"
|
msgstr "Matrix"
|
||||||
|
|
||||||
@@ -119,7 +135,7 @@ msgstr "Voir le journal des modifications"
|
|||||||
|
|
||||||
#: resources/ui/common/main-menu.ui:16
|
#: resources/ui/common/main-menu.ui:16
|
||||||
msgid "Report a Bug"
|
msgid "Report a Bug"
|
||||||
msgstr "Signaler un bug"
|
msgstr "Signaler un bogue"
|
||||||
|
|
||||||
#: resources/ui/common/main-menu.ui:20
|
#: resources/ui/common/main-menu.ui:20
|
||||||
msgid "Create an Effect"
|
msgid "Create an Effect"
|
||||||
@@ -133,17 +149,20 @@ msgstr "Traduire"
|
|||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr "Faire un don"
|
msgstr "Faire un don"
|
||||||
|
|
||||||
#: resources/ui/common/main-menu.ui:45
|
#: resources/ui/common/main-menu.ui:41
|
||||||
msgid "About Burn-My-Windows"
|
msgid "About Burn-My-Windows"
|
||||||
msgstr "À propos de Burn-My-Windows"
|
msgstr "À propos de Burn-My-Windows"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
#: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49
|
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
|
||||||
|
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
|
||||||
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/EnergizeB.ui:24
|
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
|
||||||
#: resources/ui/gtk3/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
|
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
|
||||||
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
|
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:42
|
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
|
||||||
msgid "Animation Time [ms]"
|
msgid "Animation Time [ms]"
|
||||||
msgstr "Durée de l'animation (ms)"
|
msgstr "Durée de l'animation (ms)"
|
||||||
|
|
||||||
@@ -152,7 +171,9 @@ msgstr "Durée de l'animation (ms)"
|
|||||||
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Wisps.ui:52
|
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
|
||||||
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
||||||
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
||||||
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
||||||
@@ -161,29 +182,47 @@ msgstr "Durée de l'animation (ms)"
|
|||||||
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
||||||
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52
|
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
|
||||||
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
||||||
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/Wisps.ui:68
|
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
|
||||||
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
||||||
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
||||||
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
||||||
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
||||||
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||||
|
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||||
msgid "Reset to Default Value"
|
msgid "Reset to Default Value"
|
||||||
msgstr "Réinitialiser à la valeur par défaut"
|
msgstr "Réinitialiser à la valeur par défaut"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||||
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
|
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
|
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
|
||||||
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/EnergizeB.ui:91
|
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:91
|
||||||
msgid "Scale"
|
msgid "Scale"
|
||||||
msgstr "Échelle"
|
msgstr "Échelle"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:116
|
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
msgid "Randomness"
|
msgid "Randomness"
|
||||||
msgstr "Aléatoire"
|
msgstr "Aléatoire"
|
||||||
|
|
||||||
@@ -219,8 +258,14 @@ msgstr ""
|
|||||||
"Les éclats s'envoleront de l'endroit où se trouvait le pointeur de votre "
|
"Les éclats s'envoleront de l'endroit où se trouvait le pointeur de votre "
|
||||||
"souris lorsque vous fermez la fenêtre."
|
"souris lorsque vous fermez la fenêtre."
|
||||||
|
|
||||||
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
|
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
|
msgid "Turbulence"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
|
||||||
|
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
|
||||||
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
||||||
msgid "Color"
|
msgid "Color"
|
||||||
@@ -250,11 +295,11 @@ msgstr "Gradient"
|
|||||||
|
|
||||||
#: resources/ui/gtk4/TRexAttack.ui:70
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
msgid "Claw Scratch Scale"
|
msgid "Claw Scratch Scale"
|
||||||
msgstr "Échelle de griffe"
|
msgstr "Taille de la griffe"
|
||||||
|
|
||||||
#: resources/ui/gtk4/TRexAttack.ui:116
|
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||||
msgid "Claw Scratch Count"
|
msgid "Claw Scratch Count"
|
||||||
msgstr "Nombre de coups"
|
msgstr "Nombre de griffures"
|
||||||
|
|
||||||
#: resources/ui/gtk4/TRexAttack.ui:162
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
msgid "Warp Effect"
|
msgid "Warp Effect"
|
||||||
@@ -268,6 +313,26 @@ msgstr "Couleur du flash"
|
|||||||
msgid "Preview this Effect"
|
msgid "Preview this Effect"
|
||||||
msgstr "Voir l'aperçu de cet effet"
|
msgstr "Voir l'aperçu de cet effet"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr "Largeur des lignes du maillage"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr "Couleur de ligne"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr "Couleur de la lueur"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr "Mélange additif"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr "Vous voudrez peut-être l'activer pour les thèmes de fenêtre sombre."
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
msgid "Welcome to Burn-My-Windows!"
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
msgstr "Bienvenue dans Burn-My-Windows !"
|
msgstr "Bienvenue dans Burn-My-Windows !"
|
||||||
@@ -283,7 +348,7 @@ msgstr "Animation d'ouverture de fenêtre"
|
|||||||
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
|
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
|
||||||
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
|
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
|
||||||
msgid "If multiple are selected, one is chosen randomly."
|
msgid "If multiple are selected, one is chosen randomly."
|
||||||
msgstr "Si plusieurs sont sélectionnés, un est choisi au hasard."
|
msgstr "Si plusieurs effets sont sélectionnés, un est choisi au hasard."
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
|
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
|
||||||
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
|
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
|
||||||
@@ -298,6 +363,22 @@ msgstr "Animation de fermeture de fenêtre"
|
|||||||
msgid "Also Add Effects to Dialogs"
|
msgid "Also Add Effects to Dialogs"
|
||||||
msgstr "Appliquer également les effets aux boîtes de dialogue"
|
msgstr "Appliquer également les effets aux boîtes de dialogue"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
|
||||||
|
msgid "Disable on Battery Power"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||||
|
msgid "Twirl Intensity"
|
||||||
|
msgstr "Intensité du tournoiement"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr "Intensité de la secousse"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr "Intensité de la succion"
|
||||||
|
|
||||||
#: resources/ui/gtk3/Fire.ui:63
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
msgid "Choose a Preset"
|
msgid "Choose a Preset"
|
||||||
msgstr "Sélectionner un préréglage"
|
msgstr "Sélectionner un préréglage"
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Burn-My-Windows\n"
|
"Project-Id-Version: Burn-My-Windows\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
|
"POT-Creation-Date: 2022-06-25 05:04+0200\n"
|
||||||
"PO-Revision-Date: 2022-02-28 12:56+0000\n"
|
"PO-Revision-Date: 2022-06-29 17:16+0000\n"
|
||||||
"Last-Translator: albanobattistella <albano_battistella@hotmail.com>\n"
|
"Last-Translator: albanobattistella <albano_battistella@hotmail.com>\n"
|
||||||
"Language-Team: Italian <https://hosted.weblate.org/projects/burn-my-windows/"
|
"Language-Team: Italian <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
"core/it/>\n"
|
"core/it/>\n"
|
||||||
@@ -17,95 +17,111 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 4.11.1-dev\n"
|
"X-Generator: Weblate 4.13.1-dev\n"
|
||||||
|
|
||||||
#: prefs.js:111
|
#: prefs.js:114
|
||||||
msgid "Effect Options"
|
msgid "Effect Options"
|
||||||
msgstr "Opzioni effetto"
|
msgstr "Opzioni effetto"
|
||||||
|
|
||||||
#: prefs.js:139
|
#: prefs.js:142
|
||||||
msgid "Go Back"
|
msgid "Go Back"
|
||||||
msgstr "Indietro"
|
msgstr "Indietro"
|
||||||
|
|
||||||
#: prefs.js:181
|
#: prefs.js:184
|
||||||
msgid "General Options"
|
msgid "General Options"
|
||||||
msgstr "Opzioni generali"
|
msgstr "Opzioni generali"
|
||||||
|
|
||||||
#: prefs.js:276
|
#: prefs.js:278
|
||||||
msgid "Gold Sponsors"
|
msgid "Gold Sponsors"
|
||||||
msgstr "Sponsor d'oro"
|
msgstr "Sponsor d'oro"
|
||||||
|
|
||||||
#: prefs.js:279
|
#: prefs.js:281
|
||||||
msgid "Silver Sponsors"
|
msgid "Silver Sponsors"
|
||||||
msgstr "Sponsor d'argento"
|
msgstr "Sponsor d'argento"
|
||||||
|
|
||||||
#: prefs.js:282
|
#: prefs.js:284
|
||||||
msgid "Bronze Sponsors"
|
msgid "Bronze Sponsors"
|
||||||
msgstr "Sponsor di bronzo"
|
msgstr "Sponsor di bronzo"
|
||||||
|
|
||||||
#: prefs.js:285
|
#: prefs.js:287
|
||||||
msgid "Past Sponsors"
|
msgid "Past Sponsors"
|
||||||
msgstr "Sponsor passati"
|
msgstr "Sponsor passati"
|
||||||
|
|
||||||
#. Translators: %s will be replaced by the effect's name.
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
#: prefs.js:512
|
#: prefs.js:510
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Preview for %s"
|
msgid "Preview for %s"
|
||||||
msgstr "Anteprima per %s"
|
msgstr "Anteprima per %s"
|
||||||
|
|
||||||
#: prefs.js:534
|
#: prefs.js:532
|
||||||
msgid "Close this Window to Preview the Effect!"
|
msgid "Close this Window to Preview the Effect!"
|
||||||
msgstr "Chiudi questa finestra per visualizzare in anteprima l'effetto!"
|
msgstr "Chiudi questa finestra per visualizzare in anteprima l'effetto!"
|
||||||
|
|
||||||
#: src/BrokenGlass.js:57
|
#: src/BrokenGlass.js:138
|
||||||
msgid "Broken Glass"
|
msgid "Broken Glass"
|
||||||
msgstr "Vetro rotto"
|
msgstr "Vetro rotto"
|
||||||
|
|
||||||
#: src/TVEffect.js:56
|
#: src/TVEffect.js:77
|
||||||
msgid "TV Effect"
|
msgid "TV Effect"
|
||||||
msgstr "Effetto TV"
|
msgstr "Effetto TV"
|
||||||
|
|
||||||
#: src/TRexAttack.js:56
|
#: src/TRexAttack.js:115
|
||||||
msgid "T-Rex Attack"
|
msgid "T-Rex Attack"
|
||||||
msgstr "Attacco T-Rex"
|
msgstr "Attacco T-Rex"
|
||||||
|
|
||||||
#: src/Wisps.js:55
|
#: src/SnapOfDisintegration.js:117
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr "Scatto di disintegrazione"
|
||||||
|
|
||||||
|
#: src/Incinerate.js:87
|
||||||
|
msgid "Incinerate"
|
||||||
|
msgstr "Incenerire"
|
||||||
|
|
||||||
|
#: src/Wisps.js:85
|
||||||
msgid "Wisps"
|
msgid "Wisps"
|
||||||
msgstr "Scintille"
|
msgstr "Scintille"
|
||||||
|
|
||||||
#: src/Fire.js:58
|
#: src/Fire.js:99
|
||||||
msgid "Fire"
|
msgid "Fire"
|
||||||
msgstr "Fuoco"
|
msgstr "Fuoco"
|
||||||
|
|
||||||
#: src/Fire.js:130
|
#: src/Fire.js:154
|
||||||
msgid "Default Fire"
|
msgid "Default Fire"
|
||||||
msgstr "Fuoco predefinito"
|
msgstr "Fuoco predefinito"
|
||||||
|
|
||||||
#: src/Fire.js:140
|
#: src/Fire.js:164
|
||||||
msgid "Hell Fire"
|
msgid "Hell Fire"
|
||||||
msgstr "Fuoco Infernale"
|
msgstr "Fuoco Infernale"
|
||||||
|
|
||||||
#: src/Fire.js:150
|
#: src/Fire.js:174
|
||||||
msgid "Dark and Smutty"
|
msgid "Dark and Smutty"
|
||||||
msgstr "Scuro e Tenebroso"
|
msgstr "Scuro e Tenebroso"
|
||||||
|
|
||||||
#: src/Fire.js:160
|
#: src/Fire.js:184
|
||||||
msgid "Cold Breeze"
|
msgid "Cold Breeze"
|
||||||
msgstr "Brezza Fredda"
|
msgstr "Brezza Fredda"
|
||||||
|
|
||||||
#: src/Fire.js:170
|
#: src/Fire.js:194
|
||||||
msgid "Santa is Coming"
|
msgid "Santa is Coming"
|
||||||
msgstr "Babbo Natale sta arrivando"
|
msgstr "Babbo Natale sta arrivando"
|
||||||
|
|
||||||
#: src/EnergizeA.js:54
|
#: src/Hexagon.js:97
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "Esagono"
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:79
|
||||||
msgid "Energize A"
|
msgid "Energize A"
|
||||||
msgstr "Energia A"
|
msgstr "Energia A"
|
||||||
|
|
||||||
#: src/EnergizeB.js:54
|
#: src/Apparition.js:80
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr "Apparizione"
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:80
|
||||||
msgid "Energize B"
|
msgid "Energize B"
|
||||||
msgstr "Energia B"
|
msgstr "Energia B"
|
||||||
|
|
||||||
#: src/Matrix.js:58
|
#: src/Matrix.js:113
|
||||||
msgid "Matrix"
|
msgid "Matrix"
|
||||||
msgstr "Matrix"
|
msgstr "Matrix"
|
||||||
|
|
||||||
@@ -133,17 +149,20 @@ msgstr "Traduci"
|
|||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr "Donare"
|
msgstr "Donare"
|
||||||
|
|
||||||
#: resources/ui/common/main-menu.ui:45
|
#: resources/ui/common/main-menu.ui:41
|
||||||
msgid "About Burn-My-Windows"
|
msgid "About Burn-My-Windows"
|
||||||
msgstr "Informazioni su Burn-My-Windows"
|
msgstr "Informazioni su Burn-My-Windows"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
#: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49
|
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
|
||||||
|
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
|
||||||
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/EnergizeB.ui:24
|
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
|
||||||
#: resources/ui/gtk3/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
|
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
|
||||||
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
|
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:42
|
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
|
||||||
msgid "Animation Time [ms]"
|
msgid "Animation Time [ms]"
|
||||||
msgstr "Tempo animazione [ms]"
|
msgstr "Tempo animazione [ms]"
|
||||||
|
|
||||||
@@ -152,7 +171,9 @@ msgstr "Tempo animazione [ms]"
|
|||||||
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Wisps.ui:52
|
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
|
||||||
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
||||||
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
||||||
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
||||||
@@ -161,29 +182,47 @@ msgstr "Tempo animazione [ms]"
|
|||||||
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
||||||
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52
|
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
|
||||||
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
||||||
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/Wisps.ui:68
|
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
|
||||||
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
||||||
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
||||||
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
||||||
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
||||||
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||||
|
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||||
msgid "Reset to Default Value"
|
msgid "Reset to Default Value"
|
||||||
msgstr "Ripristina valore predefinito"
|
msgstr "Ripristina valore predefinito"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||||
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
|
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
|
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
|
||||||
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/EnergizeB.ui:91
|
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:91
|
||||||
msgid "Scale"
|
msgid "Scale"
|
||||||
msgstr "Scala"
|
msgstr "Scala"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:116
|
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
msgid "Randomness"
|
msgid "Randomness"
|
||||||
msgstr "Casuale"
|
msgstr "Casuale"
|
||||||
|
|
||||||
@@ -219,8 +258,14 @@ msgstr ""
|
|||||||
"I frammenti voleranno fuori dal punto in cui si trovava il puntatore del "
|
"I frammenti voleranno fuori dal punto in cui si trovava il puntatore del "
|
||||||
"mouse quando chiudi la finestra."
|
"mouse quando chiudi la finestra."
|
||||||
|
|
||||||
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
|
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
|
msgid "Turbulence"
|
||||||
|
msgstr "Turbolenza"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
|
||||||
|
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
|
||||||
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
||||||
msgid "Color"
|
msgid "Color"
|
||||||
@@ -266,6 +311,26 @@ msgstr "Colore Flash"
|
|||||||
msgid "Preview this Effect"
|
msgid "Preview this Effect"
|
||||||
msgstr "Anteprima di questo effetto"
|
msgstr "Anteprima di questo effetto"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr "Larghezza linea mesh"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr "Colore della linea"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr "Colore bagliore"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr "Miscelazione aggiuntiva"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr "Potresti abilitarlo per i temi delle finestre scure."
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
msgid "Welcome to Burn-My-Windows!"
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
msgstr "Benvenuto in Burn-My-Windows!"
|
msgstr "Benvenuto in Burn-My-Windows!"
|
||||||
@@ -296,6 +361,22 @@ msgstr "Animazione alla chiusura della finestra"
|
|||||||
msgid "Also Add Effects to Dialogs"
|
msgid "Also Add Effects to Dialogs"
|
||||||
msgstr "Aggiungi anche effetti ai dialoghi"
|
msgstr "Aggiungi anche effetti ai dialoghi"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
|
||||||
|
msgid "Disable on Battery Power"
|
||||||
|
msgstr "Disattiva con alimentazione a batteria"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||||
|
msgid "Twirl Intensity"
|
||||||
|
msgstr "Intensità di rotazione"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr "Intensità di scuotimento"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr "Intensità di aspirazione"
|
||||||
|
|
||||||
#: resources/ui/gtk3/Fire.ui:63
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
msgid "Choose a Preset"
|
msgid "Choose a Preset"
|
||||||
msgstr "Scegli un predefinito"
|
msgstr "Scegli un predefinito"
|
||||||
|
|||||||
@@ -0,0 +1,380 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR Simon Schneegans
|
||||||
|
# This file is distributed under the same license as the burn-my-windows package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: burn-my-windows\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-06-25 05:04+0200\n"
|
||||||
|
"PO-Revision-Date: 2022-05-23 08:18+0000\n"
|
||||||
|
"Last-Translator: Seong-ho Cho <darkcircle.0426@gmail.com>\n"
|
||||||
|
"Language-Team: Korean <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
|
"core/ko/>\n"
|
||||||
|
"Language: ko\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
"X-Generator: Weblate 4.13-dev\n"
|
||||||
|
|
||||||
|
#: prefs.js:114
|
||||||
|
msgid "Effect Options"
|
||||||
|
msgstr "효과 옵션"
|
||||||
|
|
||||||
|
#: prefs.js:142
|
||||||
|
msgid "Go Back"
|
||||||
|
msgstr "뒤로 가기"
|
||||||
|
|
||||||
|
#: prefs.js:184
|
||||||
|
msgid "General Options"
|
||||||
|
msgstr "일반 옵션"
|
||||||
|
|
||||||
|
#: prefs.js:278
|
||||||
|
msgid "Gold Sponsors"
|
||||||
|
msgstr "골드 스폰서"
|
||||||
|
|
||||||
|
#: prefs.js:281
|
||||||
|
msgid "Silver Sponsors"
|
||||||
|
msgstr "실버 스폰서"
|
||||||
|
|
||||||
|
#: prefs.js:284
|
||||||
|
msgid "Bronze Sponsors"
|
||||||
|
msgstr "브론즈 스폰서"
|
||||||
|
|
||||||
|
#: prefs.js:287
|
||||||
|
msgid "Past Sponsors"
|
||||||
|
msgstr "이전 스폰서"
|
||||||
|
|
||||||
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
|
#: prefs.js:510
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Preview for %s"
|
||||||
|
msgstr "%s 미리 보기"
|
||||||
|
|
||||||
|
#: prefs.js:532
|
||||||
|
msgid "Close this Window to Preview the Effect!"
|
||||||
|
msgstr "이 창을 닫아 효과를 확인해보세요!"
|
||||||
|
|
||||||
|
#: src/BrokenGlass.js:138
|
||||||
|
msgid "Broken Glass"
|
||||||
|
msgstr "유리 깨짐"
|
||||||
|
|
||||||
|
#: src/TVEffect.js:77
|
||||||
|
msgid "TV Effect"
|
||||||
|
msgstr "TV 효과"
|
||||||
|
|
||||||
|
#: src/TRexAttack.js:115
|
||||||
|
msgid "T-Rex Attack"
|
||||||
|
msgstr "티라노 공격"
|
||||||
|
|
||||||
|
#: src/SnapOfDisintegration.js:117
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr "해체 영상"
|
||||||
|
|
||||||
|
#: src/Incinerate.js:87
|
||||||
|
msgid "Incinerate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Wisps.js:85
|
||||||
|
msgid "Wisps"
|
||||||
|
msgstr "도깨비불"
|
||||||
|
|
||||||
|
#: src/Fire.js:99
|
||||||
|
msgid "Fire"
|
||||||
|
msgstr "화염"
|
||||||
|
|
||||||
|
#: src/Fire.js:154
|
||||||
|
msgid "Default Fire"
|
||||||
|
msgstr "기본 화염"
|
||||||
|
|
||||||
|
#: src/Fire.js:164
|
||||||
|
msgid "Hell Fire"
|
||||||
|
msgstr "지옥 화염"
|
||||||
|
|
||||||
|
#: src/Fire.js:174
|
||||||
|
msgid "Dark and Smutty"
|
||||||
|
msgstr "어둡고 찝찝함"
|
||||||
|
|
||||||
|
#: src/Fire.js:184
|
||||||
|
msgid "Cold Breeze"
|
||||||
|
msgstr "냉랭한 바람"
|
||||||
|
|
||||||
|
#: src/Fire.js:194
|
||||||
|
msgid "Santa is Coming"
|
||||||
|
msgstr "산타의 방문"
|
||||||
|
|
||||||
|
#: src/Hexagon.js:97
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "육각형"
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:79
|
||||||
|
msgid "Energize A"
|
||||||
|
msgstr "에너자이즈 A"
|
||||||
|
|
||||||
|
#: src/Apparition.js:80
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr "혼령"
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:80
|
||||||
|
msgid "Energize B"
|
||||||
|
msgstr "에너자이즈 B"
|
||||||
|
|
||||||
|
#: src/Matrix.js:113
|
||||||
|
msgid "Matrix"
|
||||||
|
msgstr "매트릭스"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:6
|
||||||
|
msgid "Visit Homepage"
|
||||||
|
msgstr "홈페이지 방문"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:10
|
||||||
|
msgid "View Changelog"
|
||||||
|
msgstr "변경 이력 보기"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:16
|
||||||
|
msgid "Report a Bug"
|
||||||
|
msgstr "버그 보고"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:20
|
||||||
|
msgid "Create an Effect"
|
||||||
|
msgstr "효과 만들기"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:24
|
||||||
|
msgid "Translate"
|
||||||
|
msgstr "번역"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:28
|
||||||
|
msgid "Donate"
|
||||||
|
msgstr "기부"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:41
|
||||||
|
msgid "About Burn-My-Windows"
|
||||||
|
msgstr "Burn-My-Windows 정보"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
|
||||||
|
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
|
||||||
|
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
|
||||||
|
msgid "Animation Time [ms]"
|
||||||
|
msgstr "애니메이션 시간 [ms]"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
|
||||||
|
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
||||||
|
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
||||||
|
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
||||||
|
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
||||||
|
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
||||||
|
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
||||||
|
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
||||||
|
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
||||||
|
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||||
|
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||||
|
msgid "Reset to Default Value"
|
||||||
|
msgstr "기본값으로 초기화"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
|
||||||
|
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:91
|
||||||
|
msgid "Scale"
|
||||||
|
msgstr "비율 조정"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
|
msgid "Randomness"
|
||||||
|
msgstr "임의성 지수"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:162
|
||||||
|
msgid "Vertical Overshooting"
|
||||||
|
msgstr "수직 오버슈팅"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:208
|
||||||
|
msgid "Trail Color"
|
||||||
|
msgstr "끌림 자국 색상"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:242
|
||||||
|
msgid "Tip Color"
|
||||||
|
msgstr "끄트머리 색상"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:116
|
||||||
|
msgid "Gravity"
|
||||||
|
msgstr "중력계수"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:162
|
||||||
|
msgid "Blow Force"
|
||||||
|
msgstr "타격 강도"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:212
|
||||||
|
msgid "Shatter From Pointer Location"
|
||||||
|
msgstr "포인터 위치에서 깨짐"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:221
|
||||||
|
msgid ""
|
||||||
|
"The shards will fly away from where your mouse pointer was when closing the "
|
||||||
|
"window."
|
||||||
|
msgstr "창을 닫을 때 마우스 포인터 위치에서 조각이 날아갑니다."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
|
||||||
|
msgid "Turbulence"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
|
||||||
|
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
||||||
|
msgid "Color"
|
||||||
|
msgstr "색상"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
|
||||||
|
msgid "Presets"
|
||||||
|
msgstr "사전설정"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "속도"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
||||||
|
msgid "3D Noise"
|
||||||
|
msgstr "3차원 잡티"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
|
||||||
|
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||||
|
msgstr "좀 더 역동적인 화염을 만들지만 더 많은 GPU 성능이 필요합니다."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||||
|
msgid "Gradient"
|
||||||
|
msgstr "그레디언트"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
|
msgid "Claw Scratch Scale"
|
||||||
|
msgstr "발톱 자국 크기 비율"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||||
|
msgid "Claw Scratch Count"
|
||||||
|
msgstr "발톱 자국 갯수"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
|
msgid "Warp Effect"
|
||||||
|
msgstr "왜곡 효과"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:208
|
||||||
|
msgid "Flash Color"
|
||||||
|
msgstr "번쩍임 색상"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||||
|
msgid "Preview this Effect"
|
||||||
|
msgstr "이 효과 미리 보기"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr "도형 선 굵기"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr "선 색상"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr "불빛 색상"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr "혼합 효과"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr "어두운 창 테마에서 사용하시면 좋습니다."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
|
msgstr "Burn-My-Windows 사용을 환영해요!"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
|
||||||
|
msgid "If you like this extension, recommend it to your friends :)"
|
||||||
|
msgstr "이 확장 기능이 맘에 든다면 친구에게 추천해주세요 :)"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
||||||
|
msgid "Open Window Animation"
|
||||||
|
msgstr "창 열기 애니메이션"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
|
||||||
|
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
|
||||||
|
msgid "If multiple are selected, one is chosen randomly."
|
||||||
|
msgstr "여러 항목을 선택하면 그 중 하나를 임의로 선택합니다."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
|
||||||
|
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
|
||||||
|
msgid "Choose Effects"
|
||||||
|
msgstr "효과 선택"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
|
||||||
|
msgid "Close Window Animation"
|
||||||
|
msgstr "창 닫기 애니메이션"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
|
||||||
|
msgid "Also Add Effects to Dialogs"
|
||||||
|
msgstr "대화상자에도 효과 추가"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
|
||||||
|
msgid "Disable on Battery Power"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||||
|
msgid "Twirl Intensity"
|
||||||
|
msgstr "회전 강도"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr "떨림 강도"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr "흡입 강도"
|
||||||
|
|
||||||
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
|
msgid "Choose a Preset"
|
||||||
|
msgstr "사전설정 선택"
|
||||||
+158
-75
@@ -7,8 +7,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Burn-My-Windows\n"
|
"Project-Id-Version: Burn-My-Windows\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
|
"POT-Creation-Date: 2022-06-25 05:04+0200\n"
|
||||||
"PO-Revision-Date: 2022-01-29 12:30+0000\n"
|
"PO-Revision-Date: 2022-04-11 12:07+0000\n"
|
||||||
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
|
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
|
||||||
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/burn-my-"
|
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/burn-my-"
|
||||||
"windows/core/nb_NO/>\n"
|
"windows/core/nb_NO/>\n"
|
||||||
@@ -17,113 +17,131 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 4.11-dev\n"
|
"X-Generator: Weblate 4.12-dev\n"
|
||||||
|
|
||||||
#: prefs.js:111
|
#: prefs.js:114
|
||||||
msgid "Effect Options"
|
msgid "Effect Options"
|
||||||
msgstr ""
|
msgstr "Effektalternativer"
|
||||||
|
|
||||||
#: prefs.js:139
|
#: prefs.js:142
|
||||||
msgid "Go Back"
|
msgid "Go Back"
|
||||||
msgstr ""
|
msgstr "Gå tilbake"
|
||||||
|
|
||||||
#: prefs.js:181
|
#: prefs.js:184
|
||||||
msgid "General Options"
|
msgid "General Options"
|
||||||
msgstr ""
|
msgstr "Generelle innstillinger"
|
||||||
|
|
||||||
#: prefs.js:276
|
#: prefs.js:278
|
||||||
msgid "Gold Sponsors"
|
msgid "Gold Sponsors"
|
||||||
msgstr ""
|
msgstr "Gullsponsorer"
|
||||||
|
|
||||||
#: prefs.js:279
|
#: prefs.js:281
|
||||||
msgid "Silver Sponsors"
|
msgid "Silver Sponsors"
|
||||||
msgstr ""
|
msgstr "Sølvsponsorer"
|
||||||
|
|
||||||
#: prefs.js:282
|
#: prefs.js:284
|
||||||
msgid "Bronze Sponsors"
|
msgid "Bronze Sponsors"
|
||||||
msgstr ""
|
msgstr "Bronsesponsorer"
|
||||||
|
|
||||||
#: prefs.js:285
|
#: prefs.js:287
|
||||||
msgid "Past Sponsors"
|
msgid "Past Sponsors"
|
||||||
msgstr ""
|
msgstr "Tidligere sponsorer"
|
||||||
|
|
||||||
#. Translators: %s will be replaced by the effect's name.
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
#: prefs.js:512
|
#: prefs.js:510
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Preview for %s"
|
msgid "Preview for %s"
|
||||||
msgstr ""
|
msgstr "Forhåndsvisning for %s"
|
||||||
|
|
||||||
#: prefs.js:534
|
#: prefs.js:532
|
||||||
|
#, fuzzy
|
||||||
msgid "Close this Window to Preview the Effect!"
|
msgid "Close this Window to Preview the Effect!"
|
||||||
msgstr ""
|
msgstr "Lukk dette vinduet for å forhåndsvise effekten"
|
||||||
|
|
||||||
#: src/BrokenGlass.js:57
|
#: src/BrokenGlass.js:138
|
||||||
|
#, fuzzy
|
||||||
msgid "Broken Glass"
|
msgid "Broken Glass"
|
||||||
msgstr ""
|
msgstr "Knust glass"
|
||||||
|
|
||||||
#: src/TVEffect.js:56
|
#: src/TVEffect.js:77
|
||||||
msgid "TV Effect"
|
msgid "TV Effect"
|
||||||
msgstr ""
|
msgstr "TV-effekt"
|
||||||
|
|
||||||
#: src/TRexAttack.js:56
|
#: src/TRexAttack.js:115
|
||||||
msgid "T-Rex Attack"
|
msgid "T-Rex Attack"
|
||||||
|
msgstr "T-rex-angrep"
|
||||||
|
|
||||||
|
#: src/SnapOfDisintegration.js:117
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Wisps.js:55
|
#: src/Incinerate.js:87
|
||||||
|
msgid "Incinerate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Wisps.js:85
|
||||||
msgid "Wisps"
|
msgid "Wisps"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Fire.js:58
|
#: src/Fire.js:99
|
||||||
msgid "Fire"
|
msgid "Fire"
|
||||||
msgstr ""
|
msgstr "Brann"
|
||||||
|
|
||||||
#: src/Fire.js:130
|
#: src/Fire.js:154
|
||||||
msgid "Default Fire"
|
msgid "Default Fire"
|
||||||
msgstr ""
|
msgstr "Forvalgt brann"
|
||||||
|
|
||||||
#: src/Fire.js:140
|
#: src/Fire.js:164
|
||||||
msgid "Hell Fire"
|
msgid "Hell Fire"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Fire.js:150
|
#: src/Fire.js:174
|
||||||
msgid "Dark and Smutty"
|
msgid "Dark and Smutty"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Fire.js:160
|
#: src/Fire.js:184
|
||||||
msgid "Cold Breeze"
|
msgid "Cold Breeze"
|
||||||
msgstr ""
|
msgstr "Kald bris"
|
||||||
|
|
||||||
#: src/Fire.js:170
|
#: src/Fire.js:194
|
||||||
msgid "Santa is Coming"
|
msgid "Santa is Coming"
|
||||||
msgstr ""
|
msgstr "Julenissen kommer"
|
||||||
|
|
||||||
#: src/EnergizeA.js:54
|
#: src/Hexagon.js:97
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "Heksagon"
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:79
|
||||||
msgid "Energize A"
|
msgid "Energize A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/EnergizeB.js:54
|
#: src/Apparition.js:80
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:80
|
||||||
msgid "Energize B"
|
msgid "Energize B"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Matrix.js:58
|
#: src/Matrix.js:113
|
||||||
msgid "Matrix"
|
msgid "Matrix"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: resources/ui/common/main-menu.ui:6
|
#: resources/ui/common/main-menu.ui:6
|
||||||
msgid "Visit Homepage"
|
msgid "Visit Homepage"
|
||||||
msgstr ""
|
msgstr "Besøk hjemmesiden"
|
||||||
|
|
||||||
#: resources/ui/common/main-menu.ui:10
|
#: resources/ui/common/main-menu.ui:10
|
||||||
msgid "View Changelog"
|
msgid "View Changelog"
|
||||||
msgstr ""
|
msgstr "Vis endringslogg"
|
||||||
|
|
||||||
#: resources/ui/common/main-menu.ui:16
|
#: resources/ui/common/main-menu.ui:16
|
||||||
msgid "Report a Bug"
|
msgid "Report a Bug"
|
||||||
msgstr ""
|
msgstr "Rapporter en feil"
|
||||||
|
|
||||||
#: resources/ui/common/main-menu.ui:20
|
#: resources/ui/common/main-menu.ui:20
|
||||||
msgid "Create an Effect"
|
msgid "Create an Effect"
|
||||||
msgstr ""
|
msgstr "Opprett en effekt"
|
||||||
|
|
||||||
#: resources/ui/common/main-menu.ui:24
|
#: resources/ui/common/main-menu.ui:24
|
||||||
msgid "Translate"
|
msgid "Translate"
|
||||||
@@ -133,17 +151,20 @@ msgstr "Oversett"
|
|||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr "Doner"
|
msgstr "Doner"
|
||||||
|
|
||||||
#: resources/ui/common/main-menu.ui:45
|
#: resources/ui/common/main-menu.ui:41
|
||||||
msgid "About Burn-My-Windows"
|
msgid "About Burn-My-Windows"
|
||||||
msgstr ""
|
msgstr "Om"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
#: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49
|
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
|
||||||
|
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
|
||||||
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/EnergizeB.ui:24
|
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
|
||||||
#: resources/ui/gtk3/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
|
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
|
||||||
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
|
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:42
|
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
|
||||||
msgid "Animation Time [ms]"
|
msgid "Animation Time [ms]"
|
||||||
msgstr "Animasjonstid [ms]"
|
msgstr "Animasjonstid [ms]"
|
||||||
|
|
||||||
@@ -152,7 +173,9 @@ msgstr "Animasjonstid [ms]"
|
|||||||
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Wisps.ui:52
|
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
|
||||||
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
||||||
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
||||||
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
||||||
@@ -161,31 +184,49 @@ msgstr "Animasjonstid [ms]"
|
|||||||
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
||||||
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52
|
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
|
||||||
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
||||||
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/Wisps.ui:68
|
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
|
||||||
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
||||||
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
||||||
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
||||||
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
||||||
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||||
|
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||||
msgid "Reset to Default Value"
|
msgid "Reset to Default Value"
|
||||||
msgstr ""
|
msgstr "Tilbakestill til forvalgt verdi"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||||
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
|
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
|
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
|
||||||
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/EnergizeB.ui:91
|
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:91
|
||||||
msgid "Scale"
|
msgid "Scale"
|
||||||
msgstr ""
|
msgstr "Størrelse"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:116
|
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
msgid "Randomness"
|
msgid "Randomness"
|
||||||
msgstr ""
|
msgstr "Tilfeldighet"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:162
|
#: resources/ui/gtk4/Matrix.ui:162
|
||||||
msgid "Vertical Overshooting"
|
msgid "Vertical Overshooting"
|
||||||
@@ -201,44 +242,50 @@ msgstr ""
|
|||||||
|
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:116
|
#: resources/ui/gtk4/BrokenGlass.ui:116
|
||||||
msgid "Gravity"
|
msgid "Gravity"
|
||||||
msgstr ""
|
msgstr "Tyngdekraft"
|
||||||
|
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:162
|
#: resources/ui/gtk4/BrokenGlass.ui:162
|
||||||
msgid "Blow Force"
|
msgid "Blow Force"
|
||||||
msgstr ""
|
msgstr "Slagkraft"
|
||||||
|
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:212
|
#: resources/ui/gtk4/BrokenGlass.ui:212
|
||||||
msgid "Shatter From Pointer Location"
|
msgid "Shatter From Pointer Location"
|
||||||
msgstr ""
|
msgstr "Knus fra pekerposisjon"
|
||||||
|
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:221
|
#: resources/ui/gtk4/BrokenGlass.ui:221
|
||||||
msgid ""
|
msgid ""
|
||||||
"The shards will fly away from where your mouse pointer was when closing the "
|
"The shards will fly away from where your mouse pointer was when closing the "
|
||||||
"window."
|
"window."
|
||||||
|
msgstr "Skårene flyr fra der musepekeren var da du lukket vinduet."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
|
||||||
|
msgid "Turbulence"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
|
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
|
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
|
||||||
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
||||||
msgid "Color"
|
msgid "Color"
|
||||||
msgstr ""
|
msgstr "Farge"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
|
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
|
||||||
msgid "Presets"
|
msgid "Presets"
|
||||||
msgstr ""
|
msgstr "Forhåndsinnstillinger"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
|
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
|
||||||
msgid "Speed"
|
msgid "Speed"
|
||||||
msgstr ""
|
msgstr "Hastighet"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
||||||
msgid "3D Noise"
|
msgid "3D Noise"
|
||||||
msgstr ""
|
msgstr "3D-støy"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
|
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
|
||||||
msgid "Creates a more dynamic fire but requires more GPU power."
|
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||||
msgstr ""
|
msgstr "Mer dynamisk ild, men krever mer GPU-kraft."
|
||||||
|
|
||||||
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||||
msgid "Gradient"
|
msgid "Gradient"
|
||||||
@@ -262,6 +309,26 @@ msgstr ""
|
|||||||
|
|
||||||
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||||
msgid "Preview this Effect"
|
msgid "Preview this Effect"
|
||||||
|
msgstr "Forhåndsvis denne effekten"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr "Linjefarge"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr "Glødefarge"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
@@ -270,7 +337,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
|
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
|
||||||
msgid "If you like this extension, recommend it to your friends :)"
|
msgid "If you like this extension, recommend it to your friends :)"
|
||||||
msgstr ""
|
msgstr "Hvis du liker denne utvidelsen kan du anbefale den til vennene dine :)"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
||||||
msgid "Open Window Animation"
|
msgid "Open Window Animation"
|
||||||
@@ -279,12 +346,12 @@ msgstr ""
|
|||||||
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
|
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
|
||||||
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
|
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
|
||||||
msgid "If multiple are selected, one is chosen randomly."
|
msgid "If multiple are selected, one is chosen randomly."
|
||||||
msgstr ""
|
msgstr "Hvis flere blir valgt, velges én tilfeldig."
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
|
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
|
||||||
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
|
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
|
||||||
msgid "Choose Effects"
|
msgid "Choose Effects"
|
||||||
msgstr ""
|
msgstr "Velg effekter"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
|
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
|
||||||
msgid "Close Window Animation"
|
msgid "Close Window Animation"
|
||||||
@@ -294,9 +361,25 @@ msgstr ""
|
|||||||
msgid "Also Add Effects to Dialogs"
|
msgid "Also Add Effects to Dialogs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
|
||||||
|
msgid "Disable on Battery Power"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||||
|
msgid "Twirl Intensity"
|
||||||
|
msgstr "Hvirvelintensitet"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr "Ristingsintensitet"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr "Sugeintensitet"
|
||||||
|
|
||||||
#: resources/ui/gtk3/Fire.ui:63
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
msgid "Choose a Preset"
|
msgid "Choose a Preset"
|
||||||
msgstr ""
|
msgstr "Velg en forhåndsinnstilling"
|
||||||
|
|
||||||
#~ msgid "Via PayPal"
|
#~ msgid "Via PayPal"
|
||||||
#~ msgstr "med PayPal"
|
#~ msgstr "med PayPal"
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Burn-My-Windows\n"
|
"Project-Id-Version: Burn-My-Windows\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
|
"POT-Creation-Date: 2022-06-25 05:04+0200\n"
|
||||||
"PO-Revision-Date: 2022-02-21 11:58+0000\n"
|
"PO-Revision-Date: 2022-06-27 13:20+0000\n"
|
||||||
"Last-Translator: Heimen Stoffels <vistausss@fastmail.com>\n"
|
"Last-Translator: Heimen Stoffels <vistausss@fastmail.com>\n"
|
||||||
"Language-Team: Dutch <https://hosted.weblate.org/projects/burn-my-windows/"
|
"Language-Team: Dutch <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
"core/nl/>\n"
|
"core/nl/>\n"
|
||||||
@@ -17,95 +17,111 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 4.11-dev\n"
|
"X-Generator: Weblate 4.13.1-dev\n"
|
||||||
|
|
||||||
#: prefs.js:111
|
#: prefs.js:114
|
||||||
msgid "Effect Options"
|
msgid "Effect Options"
|
||||||
msgstr "Effectvoorkeuren"
|
msgstr "Effectvoorkeuren"
|
||||||
|
|
||||||
#: prefs.js:139
|
#: prefs.js:142
|
||||||
msgid "Go Back"
|
msgid "Go Back"
|
||||||
msgstr "Scherm sluiten"
|
msgstr "Scherm sluiten"
|
||||||
|
|
||||||
#: prefs.js:181
|
#: prefs.js:184
|
||||||
msgid "General Options"
|
msgid "General Options"
|
||||||
msgstr "Algemene voorkeuren"
|
msgstr "Algemene voorkeuren"
|
||||||
|
|
||||||
#: prefs.js:276
|
#: prefs.js:278
|
||||||
msgid "Gold Sponsors"
|
msgid "Gold Sponsors"
|
||||||
msgstr "Gouden sponsoren"
|
msgstr "Gouden sponsoren"
|
||||||
|
|
||||||
#: prefs.js:279
|
#: prefs.js:281
|
||||||
msgid "Silver Sponsors"
|
msgid "Silver Sponsors"
|
||||||
msgstr "Zilveren sponsoren"
|
msgstr "Zilveren sponsoren"
|
||||||
|
|
||||||
#: prefs.js:282
|
#: prefs.js:284
|
||||||
msgid "Bronze Sponsors"
|
msgid "Bronze Sponsors"
|
||||||
msgstr "Bronzen sponsoren"
|
msgstr "Bronzen sponsoren"
|
||||||
|
|
||||||
#: prefs.js:285
|
#: prefs.js:287
|
||||||
msgid "Past Sponsors"
|
msgid "Past Sponsors"
|
||||||
msgstr "Voormalige sponsoren"
|
msgstr "Voormalige sponsoren"
|
||||||
|
|
||||||
#. Translators: %s will be replaced by the effect's name.
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
#: prefs.js:512
|
#: prefs.js:510
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Preview for %s"
|
msgid "Preview for %s"
|
||||||
msgstr "%s-voorvertoning"
|
msgstr "%s-voorvertoning"
|
||||||
|
|
||||||
#: prefs.js:534
|
#: prefs.js:532
|
||||||
msgid "Close this Window to Preview the Effect!"
|
msgid "Close this Window to Preview the Effect!"
|
||||||
msgstr "Sluit dit venster om het effect voor te vertonen."
|
msgstr "Sluit dit venster om het effect voor te vertonen."
|
||||||
|
|
||||||
#: src/BrokenGlass.js:57
|
#: src/BrokenGlass.js:138
|
||||||
msgid "Broken Glass"
|
msgid "Broken Glass"
|
||||||
msgstr "Gebroken glas"
|
msgstr "Gebroken glas"
|
||||||
|
|
||||||
#: src/TVEffect.js:56
|
#: src/TVEffect.js:77
|
||||||
msgid "TV Effect"
|
msgid "TV Effect"
|
||||||
msgstr "Tv-effect"
|
msgstr "Tv-effect"
|
||||||
|
|
||||||
#: src/TRexAttack.js:56
|
#: src/TRexAttack.js:115
|
||||||
msgid "T-Rex Attack"
|
msgid "T-Rex Attack"
|
||||||
msgstr "T-Rex-aanval"
|
msgstr "T-Rex-aanval"
|
||||||
|
|
||||||
#: src/Wisps.js:55
|
#: src/SnapOfDisintegration.js:117
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr "Uiteenvallen"
|
||||||
|
|
||||||
|
#: src/Incinerate.js:87
|
||||||
|
msgid "Incinerate"
|
||||||
|
msgstr "Verbranden"
|
||||||
|
|
||||||
|
#: src/Wisps.js:85
|
||||||
msgid "Wisps"
|
msgid "Wisps"
|
||||||
msgstr "Dwaallicht"
|
msgstr "Dwaallicht"
|
||||||
|
|
||||||
#: src/Fire.js:58
|
#: src/Fire.js:99
|
||||||
msgid "Fire"
|
msgid "Fire"
|
||||||
msgstr "Vuur"
|
msgstr "Vuur"
|
||||||
|
|
||||||
#: src/Fire.js:130
|
#: src/Fire.js:154
|
||||||
msgid "Default Fire"
|
msgid "Default Fire"
|
||||||
msgstr "Normaal vuur"
|
msgstr "Normaal vuur"
|
||||||
|
|
||||||
#: src/Fire.js:140
|
#: src/Fire.js:164
|
||||||
msgid "Hell Fire"
|
msgid "Hell Fire"
|
||||||
msgstr "Hellevuur"
|
msgstr "Hellevuur"
|
||||||
|
|
||||||
#: src/Fire.js:150
|
#: src/Fire.js:174
|
||||||
msgid "Dark and Smutty"
|
msgid "Dark and Smutty"
|
||||||
msgstr "Donker en zwart"
|
msgstr "Donker en zwart"
|
||||||
|
|
||||||
#: src/Fire.js:160
|
#: src/Fire.js:184
|
||||||
msgid "Cold Breeze"
|
msgid "Cold Breeze"
|
||||||
msgstr "Koude wind"
|
msgstr "Koude wind"
|
||||||
|
|
||||||
#: src/Fire.js:170
|
#: src/Fire.js:194
|
||||||
msgid "Santa is Coming"
|
msgid "Santa is Coming"
|
||||||
msgstr "Kerstmanvuur"
|
msgstr "Kerstmanvuur"
|
||||||
|
|
||||||
#: src/EnergizeA.js:54
|
#: src/Hexagon.js:97
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "Hexagon"
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:79
|
||||||
msgid "Energize A"
|
msgid "Energize A"
|
||||||
msgstr "Stimulatie A"
|
msgstr "Stimulatie A"
|
||||||
|
|
||||||
#: src/EnergizeB.js:54
|
#: src/Apparition.js:80
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr "Verschijning"
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:80
|
||||||
msgid "Energize B"
|
msgid "Energize B"
|
||||||
msgstr "Stimulatie B"
|
msgstr "Stimulatie B"
|
||||||
|
|
||||||
#: src/Matrix.js:58
|
#: src/Matrix.js:113
|
||||||
msgid "Matrix"
|
msgid "Matrix"
|
||||||
msgstr "Matrix"
|
msgstr "Matrix"
|
||||||
|
|
||||||
@@ -133,17 +149,20 @@ msgstr "Vertalen"
|
|||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr "Doneren"
|
msgstr "Doneren"
|
||||||
|
|
||||||
#: resources/ui/common/main-menu.ui:45
|
#: resources/ui/common/main-menu.ui:41
|
||||||
msgid "About Burn-My-Windows"
|
msgid "About Burn-My-Windows"
|
||||||
msgstr "Over Burn-My-Windows"
|
msgstr "Over Burn-My-Windows"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
#: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49
|
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
|
||||||
|
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
|
||||||
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/EnergizeB.ui:24
|
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
|
||||||
#: resources/ui/gtk3/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
|
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
|
||||||
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
|
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:42
|
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
|
||||||
msgid "Animation Time [ms]"
|
msgid "Animation Time [ms]"
|
||||||
msgstr "Animatieduur [in ms]"
|
msgstr "Animatieduur [in ms]"
|
||||||
|
|
||||||
@@ -152,7 +171,9 @@ msgstr "Animatieduur [in ms]"
|
|||||||
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Wisps.ui:52
|
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
|
||||||
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
||||||
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
||||||
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
||||||
@@ -161,29 +182,47 @@ msgstr "Animatieduur [in ms]"
|
|||||||
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
||||||
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52
|
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
|
||||||
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
||||||
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/Wisps.ui:68
|
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
|
||||||
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
||||||
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
||||||
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
||||||
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
||||||
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||||
|
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||||
msgid "Reset to Default Value"
|
msgid "Reset to Default Value"
|
||||||
msgstr "Standaardwaarde herstellen"
|
msgstr "Standaardwaarde herstellen"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||||
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
|
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
|
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
|
||||||
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/EnergizeB.ui:91
|
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:91
|
||||||
msgid "Scale"
|
msgid "Scale"
|
||||||
msgstr "Schaal"
|
msgstr "Schaal"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:116
|
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
msgid "Randomness"
|
msgid "Randomness"
|
||||||
msgstr "Willekeurigheid"
|
msgstr "Willekeurigheid"
|
||||||
|
|
||||||
@@ -218,8 +257,14 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"De stukken vliegen weg vanaf de cursorpositie na het sluiten van een venster."
|
"De stukken vliegen weg vanaf de cursorpositie na het sluiten van een venster."
|
||||||
|
|
||||||
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
|
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
|
msgid "Turbulence"
|
||||||
|
msgstr "Turbulentie"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
|
||||||
|
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
|
||||||
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
||||||
msgid "Color"
|
msgid "Color"
|
||||||
@@ -265,6 +310,26 @@ msgstr "Flitskleur"
|
|||||||
msgid "Preview this Effect"
|
msgid "Preview this Effect"
|
||||||
msgstr "Voorvertonen"
|
msgstr "Voorvertonen"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr "Gaaslijnbreedte"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr "Lijnkleur"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr "Gloeikleur"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr "Overvloeien"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr "Dit is mogelijk nuttig bij het gebruik van donkere thema's."
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
msgid "Welcome to Burn-My-Windows!"
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
msgstr "Welkom bij ‘Burn-My-Windows’!"
|
msgstr "Welkom bij ‘Burn-My-Windows’!"
|
||||||
@@ -297,6 +362,22 @@ msgstr "Animatie bij sluiten van vensters"
|
|||||||
msgid "Also Add Effects to Dialogs"
|
msgid "Also Add Effects to Dialogs"
|
||||||
msgstr "Dialoogvensters ook voorzien van effecten"
|
msgstr "Dialoogvensters ook voorzien van effecten"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
|
||||||
|
msgid "Disable on Battery Power"
|
||||||
|
msgstr "Uitschakelen bij gebruik van accu"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||||
|
msgid "Twirl Intensity"
|
||||||
|
msgstr "Wervelintensiteit"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr "Schudintensiteit"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr "Zuigintensiteit"
|
||||||
|
|
||||||
#: resources/ui/gtk3/Fire.ui:63
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
msgid "Choose a Preset"
|
msgid "Choose a Preset"
|
||||||
msgstr "Kies een voorinstelling"
|
msgstr "Kies een voorinstelling"
|
||||||
|
|||||||
@@ -0,0 +1,383 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR Simon Schneegans
|
||||||
|
# This file is distributed under the same license as the burn-my-windows package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: burn-my-windows\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-06-25 05:04+0200\n"
|
||||||
|
"PO-Revision-Date: 2022-05-24 21:14+0000\n"
|
||||||
|
"Last-Translator: Paweł Rzońca <pwrzonca@gmail.com>\n"
|
||||||
|
"Language-Team: Polish <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
|
"core/pl/>\n"
|
||||||
|
"Language: pl\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
|
||||||
|
"|| n%100>=20) ? 1 : 2;\n"
|
||||||
|
"X-Generator: Weblate 4.13-dev\n"
|
||||||
|
|
||||||
|
#: prefs.js:114
|
||||||
|
msgid "Effect Options"
|
||||||
|
msgstr "Opcje Efektów"
|
||||||
|
|
||||||
|
#: prefs.js:142
|
||||||
|
msgid "Go Back"
|
||||||
|
msgstr "Wstecz"
|
||||||
|
|
||||||
|
#: prefs.js:184
|
||||||
|
msgid "General Options"
|
||||||
|
msgstr "Opcje Ogólne"
|
||||||
|
|
||||||
|
#: prefs.js:278
|
||||||
|
msgid "Gold Sponsors"
|
||||||
|
msgstr "Złoci Sponsorzy"
|
||||||
|
|
||||||
|
#: prefs.js:281
|
||||||
|
msgid "Silver Sponsors"
|
||||||
|
msgstr "Srebrni Sponsorzy"
|
||||||
|
|
||||||
|
#: prefs.js:284
|
||||||
|
msgid "Bronze Sponsors"
|
||||||
|
msgstr "Brązowi Sponsorzy"
|
||||||
|
|
||||||
|
#: prefs.js:287
|
||||||
|
msgid "Past Sponsors"
|
||||||
|
msgstr "Byli Sponsorzy"
|
||||||
|
|
||||||
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
|
#: prefs.js:510
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Preview for %s"
|
||||||
|
msgstr "Podgląd dla %s"
|
||||||
|
|
||||||
|
#: prefs.js:532
|
||||||
|
msgid "Close this Window to Preview the Effect!"
|
||||||
|
msgstr "Zamknij to Okno, aby zobaczyć Efekt!"
|
||||||
|
|
||||||
|
#: src/BrokenGlass.js:138
|
||||||
|
msgid "Broken Glass"
|
||||||
|
msgstr "Rozbicie Szkła"
|
||||||
|
|
||||||
|
#: src/TVEffect.js:77
|
||||||
|
msgid "TV Effect"
|
||||||
|
msgstr "Efekt TV"
|
||||||
|
|
||||||
|
#: src/TRexAttack.js:115
|
||||||
|
msgid "T-Rex Attack"
|
||||||
|
msgstr "Atak T-Rex-a"
|
||||||
|
|
||||||
|
#: src/SnapOfDisintegration.js:117
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr "Pstryknięcie Dezintegracji"
|
||||||
|
|
||||||
|
#: src/Incinerate.js:87
|
||||||
|
msgid "Incinerate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Wisps.js:85
|
||||||
|
msgid "Wisps"
|
||||||
|
msgstr "Ogniki"
|
||||||
|
|
||||||
|
#: src/Fire.js:99
|
||||||
|
msgid "Fire"
|
||||||
|
msgstr "Ogień"
|
||||||
|
|
||||||
|
#: src/Fire.js:154
|
||||||
|
msgid "Default Fire"
|
||||||
|
msgstr "Domyślny Ogień"
|
||||||
|
|
||||||
|
#: src/Fire.js:164
|
||||||
|
msgid "Hell Fire"
|
||||||
|
msgstr "Ogień Piekielny"
|
||||||
|
|
||||||
|
#: src/Fire.js:174
|
||||||
|
msgid "Dark and Smutty"
|
||||||
|
msgstr "Ciemny i Brudny"
|
||||||
|
|
||||||
|
#: src/Fire.js:184
|
||||||
|
msgid "Cold Breeze"
|
||||||
|
msgstr "Zimna Bryza"
|
||||||
|
|
||||||
|
#: src/Fire.js:194
|
||||||
|
msgid "Santa is Coming"
|
||||||
|
msgstr "Nadchodzi Święty Mikołaj"
|
||||||
|
|
||||||
|
#: src/Hexagon.js:97
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "Sześciokąt"
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:79
|
||||||
|
msgid "Energize A"
|
||||||
|
msgstr "Energetyzacja A"
|
||||||
|
|
||||||
|
#: src/Apparition.js:80
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr "Teleportacja"
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:80
|
||||||
|
msgid "Energize B"
|
||||||
|
msgstr "Energetyzacja B"
|
||||||
|
|
||||||
|
#: src/Matrix.js:113
|
||||||
|
msgid "Matrix"
|
||||||
|
msgstr "Matrix"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:6
|
||||||
|
msgid "Visit Homepage"
|
||||||
|
msgstr "Odwiedź Stronę Główną"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:10
|
||||||
|
msgid "View Changelog"
|
||||||
|
msgstr "Pokaż Dziennik Zmian"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:16
|
||||||
|
msgid "Report a Bug"
|
||||||
|
msgstr "Zgłoś Błąd"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:20
|
||||||
|
msgid "Create an Effect"
|
||||||
|
msgstr "Stwórz Efekt"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:24
|
||||||
|
msgid "Translate"
|
||||||
|
msgstr "Przetłumacz"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:28
|
||||||
|
msgid "Donate"
|
||||||
|
msgstr "Wspomóż"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:41
|
||||||
|
msgid "About Burn-My-Windows"
|
||||||
|
msgstr "Informacje o Burn-My-Windows"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
|
||||||
|
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
|
||||||
|
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
|
||||||
|
msgid "Animation Time [ms]"
|
||||||
|
msgstr "Czas Animacji [ms]"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
|
||||||
|
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
||||||
|
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
||||||
|
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
||||||
|
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
||||||
|
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
||||||
|
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
||||||
|
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
||||||
|
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
||||||
|
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||||
|
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||||
|
msgid "Reset to Default Value"
|
||||||
|
msgstr "Zresetuj do Domyślnej Wartości"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
|
||||||
|
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:91
|
||||||
|
msgid "Scale"
|
||||||
|
msgstr "Skala"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
|
msgid "Randomness"
|
||||||
|
msgstr "Losowość"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:162
|
||||||
|
msgid "Vertical Overshooting"
|
||||||
|
msgstr "Przestrzelenie Pionowe"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:208
|
||||||
|
msgid "Trail Color"
|
||||||
|
msgstr "Kolor Śladu"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:242
|
||||||
|
msgid "Tip Color"
|
||||||
|
msgstr "Kolor Końcówki"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:116
|
||||||
|
msgid "Gravity"
|
||||||
|
msgstr "Grawitacja"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:162
|
||||||
|
msgid "Blow Force"
|
||||||
|
msgstr "Siła Uderzenia"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:212
|
||||||
|
msgid "Shatter From Pointer Location"
|
||||||
|
msgstr "Roztrzaskaj z Pozycji Kursora"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:221
|
||||||
|
msgid ""
|
||||||
|
"The shards will fly away from where your mouse pointer was when closing the "
|
||||||
|
"window."
|
||||||
|
msgstr ""
|
||||||
|
"Odłamki odlecą z miejsca, w którym znajdował się wskaźnik myszy podczas "
|
||||||
|
"zamykania okna."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
|
||||||
|
msgid "Turbulence"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
|
||||||
|
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
||||||
|
msgid "Color"
|
||||||
|
msgstr "Kolor"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
|
||||||
|
msgid "Presets"
|
||||||
|
msgstr "Predefiniowane"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "Szybkość"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
||||||
|
msgid "3D Noise"
|
||||||
|
msgstr "Szum 3D"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
|
||||||
|
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||||
|
msgstr "Tworzy bardziej dynamiczny ogień, ale wymaga większej mocy GPU."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||||
|
msgid "Gradient"
|
||||||
|
msgstr "Gradient"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
|
msgid "Claw Scratch Scale"
|
||||||
|
msgstr "Skala Drapnięć Pazurów"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||||
|
msgid "Claw Scratch Count"
|
||||||
|
msgstr "Liczba Drapnięć Pazurów"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
|
msgid "Warp Effect"
|
||||||
|
msgstr "Efekt Wypaczenia"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:208
|
||||||
|
msgid "Flash Color"
|
||||||
|
msgstr "Kolor Błysku"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||||
|
msgid "Preview this Effect"
|
||||||
|
msgstr "Podgląd Efektu"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr "Szerokość Linii Siatki"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr "Kolor Linii"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr "Kolor Poświaty"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr "Mieszanie Addytywne"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr "Możesz chcieć to włączyć w przypadku ciemnych motywów okien."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
|
msgstr "Witaj w Burn-My-Windows!"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
|
||||||
|
msgid "If you like this extension, recommend it to your friends :)"
|
||||||
|
msgstr "Jeśli podoba Ci się to rozszerzenie, poleć je znajomym :)"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
||||||
|
msgid "Open Window Animation"
|
||||||
|
msgstr "Animacja Otwierania Okna"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
|
||||||
|
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
|
||||||
|
msgid "If multiple are selected, one is chosen randomly."
|
||||||
|
msgstr "Jeśli wybrano kilka, efekt jest wybierany losowo."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
|
||||||
|
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
|
||||||
|
msgid "Choose Effects"
|
||||||
|
msgstr "Wybierz Efekty"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
|
||||||
|
msgid "Close Window Animation"
|
||||||
|
msgstr "Animacja Zamykania Okna"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
|
||||||
|
msgid "Also Add Effects to Dialogs"
|
||||||
|
msgstr "Dodaj Efekty również do Okien Dialogowych"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
|
||||||
|
msgid "Disable on Battery Power"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||||
|
msgid "Twirl Intensity"
|
||||||
|
msgstr "Intensywność Wirowania"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr "Intensywność Wstrząsania"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr "Intensywność Ssania"
|
||||||
|
|
||||||
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
|
msgid "Choose a Preset"
|
||||||
|
msgstr "Wybierz Obecny"
|
||||||
@@ -0,0 +1,383 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR Simon Schneegans
|
||||||
|
# This file is distributed under the same license as the Burn-My-Windows package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Burn-My-Windows\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-06-25 05:04+0200\n"
|
||||||
|
"PO-Revision-Date: 2022-04-13 13:09+0000\n"
|
||||||
|
"Last-Translator: Егор Ермаков <eg.ermakov2016@gmail.com>\n"
|
||||||
|
"Language-Team: Russian <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
|
"core/ru/>\n"
|
||||||
|
"Language: ru\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||||
|
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||||
|
"X-Generator: Weblate 4.12-dev\n"
|
||||||
|
|
||||||
|
#: prefs.js:114
|
||||||
|
msgid "Effect Options"
|
||||||
|
msgstr "Параметры эффекта"
|
||||||
|
|
||||||
|
#: prefs.js:142
|
||||||
|
msgid "Go Back"
|
||||||
|
msgstr "Назад"
|
||||||
|
|
||||||
|
#: prefs.js:184
|
||||||
|
msgid "General Options"
|
||||||
|
msgstr "Общие настройки"
|
||||||
|
|
||||||
|
#: prefs.js:278
|
||||||
|
msgid "Gold Sponsors"
|
||||||
|
msgstr "Золотые спонсоры"
|
||||||
|
|
||||||
|
#: prefs.js:281
|
||||||
|
msgid "Silver Sponsors"
|
||||||
|
msgstr "Серебряные спонсоры"
|
||||||
|
|
||||||
|
#: prefs.js:284
|
||||||
|
msgid "Bronze Sponsors"
|
||||||
|
msgstr "Бронзовые спонсоры"
|
||||||
|
|
||||||
|
#: prefs.js:287
|
||||||
|
msgid "Past Sponsors"
|
||||||
|
msgstr "Прошлые спонсоры"
|
||||||
|
|
||||||
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
|
#: prefs.js:510
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Preview for %s"
|
||||||
|
msgstr "Предпросмотр %s"
|
||||||
|
|
||||||
|
#: prefs.js:532
|
||||||
|
msgid "Close this Window to Preview the Effect!"
|
||||||
|
msgstr "Закройте это окно для предпросмотра эффекта!"
|
||||||
|
|
||||||
|
#: src/BrokenGlass.js:138
|
||||||
|
msgid "Broken Glass"
|
||||||
|
msgstr "Разбитое стекло"
|
||||||
|
|
||||||
|
#: src/TVEffect.js:77
|
||||||
|
msgid "TV Effect"
|
||||||
|
msgstr "Эффект ЭЛТ"
|
||||||
|
|
||||||
|
#: src/TRexAttack.js:115
|
||||||
|
msgid "T-Rex Attack"
|
||||||
|
msgstr "Атака тираннозавра"
|
||||||
|
|
||||||
|
#: src/SnapOfDisintegration.js:117
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Incinerate.js:87
|
||||||
|
msgid "Incinerate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Wisps.js:85
|
||||||
|
msgid "Wisps"
|
||||||
|
msgstr "Огоньки"
|
||||||
|
|
||||||
|
#: src/Fire.js:99
|
||||||
|
msgid "Fire"
|
||||||
|
msgstr "Огонь"
|
||||||
|
|
||||||
|
#: src/Fire.js:154
|
||||||
|
msgid "Default Fire"
|
||||||
|
msgstr "Обычный огонь"
|
||||||
|
|
||||||
|
#: src/Fire.js:164
|
||||||
|
msgid "Hell Fire"
|
||||||
|
msgstr "Адское пламя"
|
||||||
|
|
||||||
|
#: src/Fire.js:174
|
||||||
|
msgid "Dark and Smutty"
|
||||||
|
msgstr "Тёмный и грязный"
|
||||||
|
|
||||||
|
#: src/Fire.js:184
|
||||||
|
msgid "Cold Breeze"
|
||||||
|
msgstr "Холодный бриз"
|
||||||
|
|
||||||
|
#: src/Fire.js:194
|
||||||
|
msgid "Santa is Coming"
|
||||||
|
msgstr "Дед Мороз идёт"
|
||||||
|
|
||||||
|
#: src/Hexagon.js:97
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "Гексагон"
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:79
|
||||||
|
msgid "Energize A"
|
||||||
|
msgstr "Энергия A"
|
||||||
|
|
||||||
|
#: src/Apparition.js:80
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:80
|
||||||
|
msgid "Energize B"
|
||||||
|
msgstr "Энергия B"
|
||||||
|
|
||||||
|
#: src/Matrix.js:113
|
||||||
|
msgid "Matrix"
|
||||||
|
msgstr "Матрица"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:6
|
||||||
|
msgid "Visit Homepage"
|
||||||
|
msgstr "Посетить страницу проекта"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:10
|
||||||
|
msgid "View Changelog"
|
||||||
|
msgstr "Просмотреть список изменений"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:16
|
||||||
|
msgid "Report a Bug"
|
||||||
|
msgstr "Сообщить об ошибке"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:20
|
||||||
|
msgid "Create an Effect"
|
||||||
|
msgstr "Создать эффект"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:24
|
||||||
|
msgid "Translate"
|
||||||
|
msgstr "Перевести"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:28
|
||||||
|
msgid "Donate"
|
||||||
|
msgstr "Пожертвовать"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:41
|
||||||
|
msgid "About Burn-My-Windows"
|
||||||
|
msgstr "О Burn-My-Windows"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
|
||||||
|
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
|
||||||
|
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
|
||||||
|
msgid "Animation Time [ms]"
|
||||||
|
msgstr "Время анимации (мс)"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
|
||||||
|
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
||||||
|
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
||||||
|
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
||||||
|
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
||||||
|
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
||||||
|
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
||||||
|
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
||||||
|
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
||||||
|
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||||
|
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||||
|
msgid "Reset to Default Value"
|
||||||
|
msgstr "Сброс на значение по умолчанию"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
|
||||||
|
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:91
|
||||||
|
msgid "Scale"
|
||||||
|
msgstr "Масштаб"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
|
msgid "Randomness"
|
||||||
|
msgstr "Случайность"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:162
|
||||||
|
msgid "Vertical Overshooting"
|
||||||
|
msgstr "Вертикальное превышение"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:208
|
||||||
|
msgid "Trail Color"
|
||||||
|
msgstr "Цвет следа"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:242
|
||||||
|
msgid "Tip Color"
|
||||||
|
msgstr "Цвет наконечника"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:116
|
||||||
|
msgid "Gravity"
|
||||||
|
msgstr "Гравитация"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:162
|
||||||
|
msgid "Blow Force"
|
||||||
|
msgstr "Сила удара"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:212
|
||||||
|
msgid "Shatter From Pointer Location"
|
||||||
|
msgstr "Разбить от положения курсора"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:221
|
||||||
|
msgid ""
|
||||||
|
"The shards will fly away from where your mouse pointer was when closing the "
|
||||||
|
"window."
|
||||||
|
msgstr ""
|
||||||
|
"Осколки разлетятся в стороны от того места, где находился курсор мыши при "
|
||||||
|
"закрытии окна."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
|
||||||
|
msgid "Turbulence"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
|
||||||
|
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
||||||
|
msgid "Color"
|
||||||
|
msgstr "Цвет"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
|
||||||
|
msgid "Presets"
|
||||||
|
msgstr "Пресеты"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "Скорость"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
||||||
|
msgid "3D Noise"
|
||||||
|
msgstr "3D Шум"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
|
||||||
|
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||||
|
msgstr "Создает более динамичный огонь, но требует большей мощности GPU."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||||
|
msgid "Gradient"
|
||||||
|
msgstr "Градиент"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
|
msgid "Claw Scratch Scale"
|
||||||
|
msgstr "Масштаб царапин"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||||
|
msgid "Claw Scratch Count"
|
||||||
|
msgstr "Количество царапин"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
|
msgid "Warp Effect"
|
||||||
|
msgstr "Эффект искривления"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:208
|
||||||
|
msgid "Flash Color"
|
||||||
|
msgstr "Цвет вспышки"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||||
|
msgid "Preview this Effect"
|
||||||
|
msgstr "Предпросмотр этого эффекта"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr "Ширина линии сетки"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr "Цвет линии"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr "Цвет свечения"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr "Возможно, вы захотите включить это для тёмной темы."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
|
msgstr "Добро пожаловать в Burn-My-Windows!"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
|
||||||
|
msgid "If you like this extension, recommend it to your friends :)"
|
||||||
|
msgstr "Если вам нравится это расширение, порекомендуйте его своим друзьям :)"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
||||||
|
msgid "Open Window Animation"
|
||||||
|
msgstr "Анимация открытия окна"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
|
||||||
|
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
|
||||||
|
msgid "If multiple are selected, one is chosen randomly."
|
||||||
|
msgstr "Если выбрано несколько, то один выбирается случайным образом."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
|
||||||
|
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
|
||||||
|
msgid "Choose Effects"
|
||||||
|
msgstr "Выберите эффекты"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
|
||||||
|
msgid "Close Window Animation"
|
||||||
|
msgstr "Анимация закрытия окна"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
|
||||||
|
msgid "Also Add Effects to Dialogs"
|
||||||
|
msgstr "Также добавить эффекты к диалогам"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
|
||||||
|
msgid "Disable on Battery Power"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||||
|
msgid "Twirl Intensity"
|
||||||
|
msgstr "Интенсивность вращения"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr "Интенсивность встряски"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr "Интенсивность всасывания"
|
||||||
|
|
||||||
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
|
msgid "Choose a Preset"
|
||||||
|
msgstr "Выберите пресет"
|
||||||
@@ -0,0 +1,380 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR Simon Schneegans
|
||||||
|
# This file is distributed under the same license as the burn-my-windows package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: burn-my-windows\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-06-25 05:04+0200\n"
|
||||||
|
"PO-Revision-Date: 2022-05-23 08:18+0000\n"
|
||||||
|
"Last-Translator: Jose Riha <jose1711@gmail.com>\n"
|
||||||
|
"Language-Team: Slovak <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
|
"core/sk/>\n"
|
||||||
|
"Language: sk\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||||
|
"X-Generator: Weblate 4.13-dev\n"
|
||||||
|
|
||||||
|
#: prefs.js:114
|
||||||
|
msgid "Effect Options"
|
||||||
|
msgstr "Možnosti efektov"
|
||||||
|
|
||||||
|
#: prefs.js:142
|
||||||
|
msgid "Go Back"
|
||||||
|
msgstr "Prejsť naspäť"
|
||||||
|
|
||||||
|
#: prefs.js:184
|
||||||
|
msgid "General Options"
|
||||||
|
msgstr "Všeobecné možnosti"
|
||||||
|
|
||||||
|
#: prefs.js:278
|
||||||
|
msgid "Gold Sponsors"
|
||||||
|
msgstr "Zlatí sponzori"
|
||||||
|
|
||||||
|
#: prefs.js:281
|
||||||
|
msgid "Silver Sponsors"
|
||||||
|
msgstr "Strieborní sponzori"
|
||||||
|
|
||||||
|
#: prefs.js:284
|
||||||
|
msgid "Bronze Sponsors"
|
||||||
|
msgstr "Bronzoví sponzori"
|
||||||
|
|
||||||
|
#: prefs.js:287
|
||||||
|
msgid "Past Sponsors"
|
||||||
|
msgstr "Bývalí sponzori"
|
||||||
|
|
||||||
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
|
#: prefs.js:510
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Preview for %s"
|
||||||
|
msgstr "Náhľad %s"
|
||||||
|
|
||||||
|
#: prefs.js:532
|
||||||
|
msgid "Close this Window to Preview the Effect!"
|
||||||
|
msgstr "Zatvorte toto okno, ak chcete vidieť efekt!"
|
||||||
|
|
||||||
|
#: src/BrokenGlass.js:138
|
||||||
|
msgid "Broken Glass"
|
||||||
|
msgstr "Črepiny"
|
||||||
|
|
||||||
|
#: src/TVEffect.js:77
|
||||||
|
msgid "TV Effect"
|
||||||
|
msgstr "Televízor"
|
||||||
|
|
||||||
|
#: src/TRexAttack.js:115
|
||||||
|
msgid "T-Rex Attack"
|
||||||
|
msgstr "Tyrannosaurus"
|
||||||
|
|
||||||
|
#: src/SnapOfDisintegration.js:117
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr "Thanosove lusknutie"
|
||||||
|
|
||||||
|
#: src/Incinerate.js:87
|
||||||
|
msgid "Incinerate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Wisps.js:85
|
||||||
|
msgid "Wisps"
|
||||||
|
msgstr "Obláčiky"
|
||||||
|
|
||||||
|
#: src/Fire.js:99
|
||||||
|
msgid "Fire"
|
||||||
|
msgstr "Oheň"
|
||||||
|
|
||||||
|
#: src/Fire.js:154
|
||||||
|
msgid "Default Fire"
|
||||||
|
msgstr "Predvolený oheň"
|
||||||
|
|
||||||
|
#: src/Fire.js:164
|
||||||
|
msgid "Hell Fire"
|
||||||
|
msgstr "Pekelný oheň"
|
||||||
|
|
||||||
|
#: src/Fire.js:174
|
||||||
|
msgid "Dark and Smutty"
|
||||||
|
msgstr "Tmavý a zafúľaný"
|
||||||
|
|
||||||
|
#: src/Fire.js:184
|
||||||
|
msgid "Cold Breeze"
|
||||||
|
msgstr "Studený vánok"
|
||||||
|
|
||||||
|
#: src/Fire.js:194
|
||||||
|
msgid "Santa is Coming"
|
||||||
|
msgstr "Santa prichádza"
|
||||||
|
|
||||||
|
#: src/Hexagon.js:97
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "Šesťhran"
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:79
|
||||||
|
msgid "Energize A"
|
||||||
|
msgstr "Nabudenie A"
|
||||||
|
|
||||||
|
#: src/Apparition.js:80
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr "Prízrak"
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:80
|
||||||
|
msgid "Energize B"
|
||||||
|
msgstr "Nabudenie B"
|
||||||
|
|
||||||
|
#: src/Matrix.js:113
|
||||||
|
msgid "Matrix"
|
||||||
|
msgstr "Matrix"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:6
|
||||||
|
msgid "Visit Homepage"
|
||||||
|
msgstr "Navštíviť webovú stránku"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:10
|
||||||
|
msgid "View Changelog"
|
||||||
|
msgstr "Zobraziť históriu zmien"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:16
|
||||||
|
msgid "Report a Bug"
|
||||||
|
msgstr "Nahlásiť chybu"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:20
|
||||||
|
msgid "Create an Effect"
|
||||||
|
msgstr "Vytvoriť efekt"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:24
|
||||||
|
msgid "Translate"
|
||||||
|
msgstr "Preložiť"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:28
|
||||||
|
msgid "Donate"
|
||||||
|
msgstr "Prispieť"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:41
|
||||||
|
msgid "About Burn-My-Windows"
|
||||||
|
msgstr "O Burn-My-Windows"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
|
||||||
|
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
|
||||||
|
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
|
||||||
|
msgid "Animation Time [ms]"
|
||||||
|
msgstr "Trvanie animácie [ms]"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
|
||||||
|
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
||||||
|
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
||||||
|
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
||||||
|
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
||||||
|
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
||||||
|
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
||||||
|
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
||||||
|
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
||||||
|
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||||
|
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||||
|
msgid "Reset to Default Value"
|
||||||
|
msgstr "Obnoviť predvolené hodnoty"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
|
||||||
|
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:91
|
||||||
|
msgid "Scale"
|
||||||
|
msgstr "Priblíženie"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
|
msgid "Randomness"
|
||||||
|
msgstr "Náhodnosť"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:162
|
||||||
|
msgid "Vertical Overshooting"
|
||||||
|
msgstr "Zvislé prestrelenie"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:208
|
||||||
|
msgid "Trail Color"
|
||||||
|
msgstr "Farba chvosta"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:242
|
||||||
|
msgid "Tip Color"
|
||||||
|
msgstr "Farba špicu"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:116
|
||||||
|
msgid "Gravity"
|
||||||
|
msgstr "Gravitácia"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:162
|
||||||
|
msgid "Blow Force"
|
||||||
|
msgstr "Sila úderu"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:212
|
||||||
|
msgid "Shatter From Pointer Location"
|
||||||
|
msgstr "Roztrieštenie od polohy kurzora"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:221
|
||||||
|
msgid ""
|
||||||
|
"The shards will fly away from where your mouse pointer was when closing the "
|
||||||
|
"window."
|
||||||
|
msgstr "Črepiny odletia z miesta, kde bol kurzor myši pri zatváraní okna."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
|
||||||
|
msgid "Turbulence"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
|
||||||
|
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
||||||
|
msgid "Color"
|
||||||
|
msgstr "Farba"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
|
||||||
|
msgid "Presets"
|
||||||
|
msgstr "Predvoľby"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "Rýchlosť"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
||||||
|
msgid "3D Noise"
|
||||||
|
msgstr "3D šum"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
|
||||||
|
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||||
|
msgstr "Vytvorí dynamickejší efekt ohňa, ale vyžaduje na to viac GPU."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||||
|
msgid "Gradient"
|
||||||
|
msgstr "Prechod"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
|
msgid "Claw Scratch Scale"
|
||||||
|
msgstr "Veľkosť škrabancov od pazúrov"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||||
|
msgid "Claw Scratch Count"
|
||||||
|
msgstr "Počet škrabancov"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
|
msgid "Warp Effect"
|
||||||
|
msgstr "Efekt zakrivenia"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:208
|
||||||
|
msgid "Flash Color"
|
||||||
|
msgstr "Farba blesku"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||||
|
msgid "Preview this Effect"
|
||||||
|
msgstr "Náhľad efektu"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr "Šírka čiar v sieti"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr "Farba čiar"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr "Farba žiary"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr "Prídavné miešanie"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr "Možno túto voľbu budete chcieť zapnúť pri tmavých motívoch."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
|
msgstr "Víta Vás Burn-My-Windows!"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
|
||||||
|
msgid "If you like this extension, recommend it to your friends :)"
|
||||||
|
msgstr "Ak sa vám toto rozšírenie páči, odporučte ho priateľom :-)"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
||||||
|
msgid "Open Window Animation"
|
||||||
|
msgstr "Animácia pri otváraní okna"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
|
||||||
|
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
|
||||||
|
msgid "If multiple are selected, one is chosen randomly."
|
||||||
|
msgstr "Ak ich vyberiete viac, budú sa náhodne striedať."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
|
||||||
|
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
|
||||||
|
msgid "Choose Effects"
|
||||||
|
msgstr "Vyberte efekty"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
|
||||||
|
msgid "Close Window Animation"
|
||||||
|
msgstr "Animácia pri zatváraní okna"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
|
||||||
|
msgid "Also Add Effects to Dialogs"
|
||||||
|
msgstr "Použiť efekt aj na dialógové okná"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
|
||||||
|
msgid "Disable on Battery Power"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||||
|
msgid "Twirl Intensity"
|
||||||
|
msgstr "Intenzita vírenia"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr "Intenzita otrasov"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr "Intenzita odsatia"
|
||||||
|
|
||||||
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
|
msgid "Choose a Preset"
|
||||||
|
msgstr "Vyberte predvoľbu"
|
||||||
@@ -0,0 +1,382 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR Simon Schneegans
|
||||||
|
# This file is distributed under the same license as the burn-my-windows package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: burn-my-windows\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-06-25 05:04+0200\n"
|
||||||
|
"PO-Revision-Date: 2022-05-11 12:17+0000\n"
|
||||||
|
"Last-Translator: obslsessed <obslsessed@duck.com>\n"
|
||||||
|
"Language-Team: Swedish <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
|
"core/sv/>\n"
|
||||||
|
"Language: sv\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 4.12.1\n"
|
||||||
|
|
||||||
|
#: prefs.js:114
|
||||||
|
msgid "Effect Options"
|
||||||
|
msgstr "Effektalternativ"
|
||||||
|
|
||||||
|
#: prefs.js:142
|
||||||
|
msgid "Go Back"
|
||||||
|
msgstr "Gå tillbaka"
|
||||||
|
|
||||||
|
#: prefs.js:184
|
||||||
|
msgid "General Options"
|
||||||
|
msgstr "Generella alternativ"
|
||||||
|
|
||||||
|
#: prefs.js:278
|
||||||
|
msgid "Gold Sponsors"
|
||||||
|
msgstr "Guldsponsorer"
|
||||||
|
|
||||||
|
#: prefs.js:281
|
||||||
|
msgid "Silver Sponsors"
|
||||||
|
msgstr "Silversponsorer"
|
||||||
|
|
||||||
|
#: prefs.js:284
|
||||||
|
msgid "Bronze Sponsors"
|
||||||
|
msgstr "Bronssponsorer"
|
||||||
|
|
||||||
|
#: prefs.js:287
|
||||||
|
msgid "Past Sponsors"
|
||||||
|
msgstr "Sponsorer från förr"
|
||||||
|
|
||||||
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
|
#: prefs.js:510
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Preview for %s"
|
||||||
|
msgstr "Förhandsgranskning för %s"
|
||||||
|
|
||||||
|
#: prefs.js:532
|
||||||
|
msgid "Close this Window to Preview the Effect!"
|
||||||
|
msgstr "Stäng det här fönstret för att förhandsgranska effekten!"
|
||||||
|
|
||||||
|
#: src/BrokenGlass.js:138
|
||||||
|
msgid "Broken Glass"
|
||||||
|
msgstr "Trasigt glas"
|
||||||
|
|
||||||
|
#: src/TVEffect.js:77
|
||||||
|
msgid "TV Effect"
|
||||||
|
msgstr "TV-effekt"
|
||||||
|
|
||||||
|
#: src/TRexAttack.js:115
|
||||||
|
msgid "T-Rex Attack"
|
||||||
|
msgstr "T-Rexattack"
|
||||||
|
|
||||||
|
#: src/SnapOfDisintegration.js:117
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Incinerate.js:87
|
||||||
|
msgid "Incinerate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Wisps.js:85
|
||||||
|
msgid "Wisps"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Fire.js:99
|
||||||
|
msgid "Fire"
|
||||||
|
msgstr "Eld"
|
||||||
|
|
||||||
|
#: src/Fire.js:154
|
||||||
|
msgid "Default Fire"
|
||||||
|
msgstr "Standardeld"
|
||||||
|
|
||||||
|
#: src/Fire.js:164
|
||||||
|
msgid "Hell Fire"
|
||||||
|
msgstr "Helveteseld"
|
||||||
|
|
||||||
|
#: src/Fire.js:174
|
||||||
|
msgid "Dark and Smutty"
|
||||||
|
msgstr "Mörk och smutsig"
|
||||||
|
|
||||||
|
#: src/Fire.js:184
|
||||||
|
msgid "Cold Breeze"
|
||||||
|
msgstr "Kall bris"
|
||||||
|
|
||||||
|
#: src/Fire.js:194
|
||||||
|
msgid "Santa is Coming"
|
||||||
|
msgstr "Jultomten kommer"
|
||||||
|
|
||||||
|
#: src/Hexagon.js:97
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "Sexhörning"
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:79
|
||||||
|
msgid "Energize A"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Apparition.js:80
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr "Uppenbarelse"
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:80
|
||||||
|
msgid "Energize B"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Matrix.js:113
|
||||||
|
msgid "Matrix"
|
||||||
|
msgstr "Matris"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:6
|
||||||
|
msgid "Visit Homepage"
|
||||||
|
msgstr "Besök hemsida"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:10
|
||||||
|
msgid "View Changelog"
|
||||||
|
msgstr "Visa ändringslogg"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:16
|
||||||
|
msgid "Report a Bug"
|
||||||
|
msgstr "Rapportera en bugg"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:20
|
||||||
|
msgid "Create an Effect"
|
||||||
|
msgstr "Skapa en effekt"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:24
|
||||||
|
msgid "Translate"
|
||||||
|
msgstr "Översätt"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:28
|
||||||
|
msgid "Donate"
|
||||||
|
msgstr "Donera"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:41
|
||||||
|
msgid "About Burn-My-Windows"
|
||||||
|
msgstr "Om Bränn-mitt-Windows"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
|
||||||
|
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
|
||||||
|
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
|
||||||
|
msgid "Animation Time [ms]"
|
||||||
|
msgstr "Animationens tid [ms]"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
|
||||||
|
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
||||||
|
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
||||||
|
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
||||||
|
#: resources/ui/gtk4/Fire.ui:280 resources/ui/gtk4/TRexAttack.ui:52
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:98 resources/ui/gtk4/TRexAttack.ui:144
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
||||||
|
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
||||||
|
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
||||||
|
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
||||||
|
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
||||||
|
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||||
|
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||||
|
msgid "Reset to Default Value"
|
||||||
|
msgstr "Återställ till standardvärde"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
|
||||||
|
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:91
|
||||||
|
msgid "Scale"
|
||||||
|
msgstr "Skala"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
|
msgid "Randomness"
|
||||||
|
msgstr "Slumpmässighet"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:162
|
||||||
|
msgid "Vertical Overshooting"
|
||||||
|
msgstr "Vertikal överskjutning"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:208
|
||||||
|
msgid "Trail Color"
|
||||||
|
msgstr "Spårets färg"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:242
|
||||||
|
msgid "Tip Color"
|
||||||
|
msgstr "Färg på dricksen"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:116
|
||||||
|
msgid "Gravity"
|
||||||
|
msgstr "Tyngdkraft"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:162
|
||||||
|
msgid "Blow Force"
|
||||||
|
msgstr "Blåskraft"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:212
|
||||||
|
msgid "Shatter From Pointer Location"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:221
|
||||||
|
msgid ""
|
||||||
|
"The shards will fly away from where your mouse pointer was when closing the "
|
||||||
|
"window."
|
||||||
|
msgstr ""
|
||||||
|
"Skärvorna kommer att flyga iväg från där din muspekare befann sig när rutan "
|
||||||
|
"stängdes."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
|
||||||
|
msgid "Turbulence"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
|
||||||
|
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
|
||||||
|
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
||||||
|
msgid "Color"
|
||||||
|
msgstr "Färg"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
|
||||||
|
msgid "Presets"
|
||||||
|
msgstr "Förinställningar"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "Hastighet"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
||||||
|
msgid "3D Noise"
|
||||||
|
msgstr "3D-ljud"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
|
||||||
|
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||||
|
msgstr "Skapar en mer dynamisk eld, men kräver mer GPU-kraft."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||||
|
msgid "Gradient"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
|
msgid "Claw Scratch Scale"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||||
|
msgid "Claw Scratch Count"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
|
msgid "Warp Effect"
|
||||||
|
msgstr "Warp-effekt"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:208
|
||||||
|
msgid "Flash Color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||||
|
msgid "Preview this Effect"
|
||||||
|
msgstr "Förhandsgranska den här effekten"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr "Tillsatsblandning"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr "Du kan behöva aktivera det här för mörka fönsterteman."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
|
msgstr "Välkommen till Bränn-mitt-Windows!"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
|
||||||
|
msgid "If you like this extension, recommend it to your friends :)"
|
||||||
|
msgstr "Rekommendera det här tillägget till dina vänner om du gillar det :)"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
||||||
|
msgid "Open Window Animation"
|
||||||
|
msgstr "Öppna fönsteranimation"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
|
||||||
|
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
|
||||||
|
msgid "If multiple are selected, one is chosen randomly."
|
||||||
|
msgstr "Om flera val är gjorda så väljs ett slumpvist."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
|
||||||
|
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
|
||||||
|
msgid "Choose Effects"
|
||||||
|
msgstr "Välj effekter"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
|
||||||
|
msgid "Close Window Animation"
|
||||||
|
msgstr "Stäng fönsteranimation"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
|
||||||
|
msgid "Also Add Effects to Dialogs"
|
||||||
|
msgstr "Lägg också till effekter till dialogrutor"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
|
||||||
|
msgid "Disable on Battery Power"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||||
|
msgid "Twirl Intensity"
|
||||||
|
msgstr "Virvelns intensitet"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr "Skakningens intensitet"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr "Sugningens intensitet"
|
||||||
|
|
||||||
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
|
msgid "Choose a Preset"
|
||||||
|
msgstr "Välj en förinställning"
|
||||||
@@ -7,8 +7,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Burn-My-Windows\n"
|
"Project-Id-Version: Burn-My-Windows\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
|
"POT-Creation-Date: 2022-06-25 05:04+0200\n"
|
||||||
"PO-Revision-Date: 2022-03-21 05:57+0000\n"
|
"PO-Revision-Date: 2022-05-11 12:17+0000\n"
|
||||||
"Last-Translator: Muha Aliss <muhaaliss@pm.me>\n"
|
"Last-Translator: Muha Aliss <muhaaliss@pm.me>\n"
|
||||||
"Language-Team: Turkish <https://hosted.weblate.org/projects/burn-my-windows/"
|
"Language-Team: Turkish <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
"core/tr/>\n"
|
"core/tr/>\n"
|
||||||
@@ -17,95 +17,111 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 4.12-dev\n"
|
"X-Generator: Weblate 4.12.1\n"
|
||||||
|
|
||||||
#: prefs.js:111
|
#: prefs.js:114
|
||||||
msgid "Effect Options"
|
msgid "Effect Options"
|
||||||
msgstr "Efekt Seçenekleri"
|
msgstr "Efekt Seçenekleri"
|
||||||
|
|
||||||
#: prefs.js:139
|
#: prefs.js:142
|
||||||
msgid "Go Back"
|
msgid "Go Back"
|
||||||
msgstr "Geri Dön"
|
msgstr "Geri Dön"
|
||||||
|
|
||||||
#: prefs.js:181
|
#: prefs.js:184
|
||||||
msgid "General Options"
|
msgid "General Options"
|
||||||
msgstr "Genel Ayarlar"
|
msgstr "Genel Ayarlar"
|
||||||
|
|
||||||
#: prefs.js:276
|
#: prefs.js:278
|
||||||
msgid "Gold Sponsors"
|
msgid "Gold Sponsors"
|
||||||
msgstr "Altın Sponsorlar"
|
msgstr "Altın Sponsorlar"
|
||||||
|
|
||||||
#: prefs.js:279
|
#: prefs.js:281
|
||||||
msgid "Silver Sponsors"
|
msgid "Silver Sponsors"
|
||||||
msgstr "Gümüş Sponsorlar"
|
msgstr "Gümüş Sponsorlar"
|
||||||
|
|
||||||
#: prefs.js:282
|
#: prefs.js:284
|
||||||
msgid "Bronze Sponsors"
|
msgid "Bronze Sponsors"
|
||||||
msgstr "Bronz Sponsorlar"
|
msgstr "Bronz Sponsorlar"
|
||||||
|
|
||||||
#: prefs.js:285
|
#: prefs.js:287
|
||||||
msgid "Past Sponsors"
|
msgid "Past Sponsors"
|
||||||
msgstr "Eski Sponsorlar"
|
msgstr "Eski Sponsorlar"
|
||||||
|
|
||||||
#. Translators: %s will be replaced by the effect's name.
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
#: prefs.js:512
|
#: prefs.js:510
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Preview for %s"
|
msgid "Preview for %s"
|
||||||
msgstr "%s ön izleme"
|
msgstr "%s ön izleme"
|
||||||
|
|
||||||
#: prefs.js:534
|
#: prefs.js:532
|
||||||
msgid "Close this Window to Preview the Effect!"
|
msgid "Close this Window to Preview the Effect!"
|
||||||
msgstr "Efekti Ön izlemek İçin Bu Pencereyi Kapatın!"
|
msgstr "Efekti Ön izlemek İçin Bu Pencereyi Kapatın!"
|
||||||
|
|
||||||
#: src/BrokenGlass.js:57
|
#: src/BrokenGlass.js:138
|
||||||
msgid "Broken Glass"
|
msgid "Broken Glass"
|
||||||
msgstr "Kırılan Cam"
|
msgstr "Kırılan Cam"
|
||||||
|
|
||||||
#: src/TVEffect.js:56
|
#: src/TVEffect.js:77
|
||||||
msgid "TV Effect"
|
msgid "TV Effect"
|
||||||
msgstr "TV Efekti"
|
msgstr "TV Efekti"
|
||||||
|
|
||||||
#: src/TRexAttack.js:56
|
#: src/TRexAttack.js:115
|
||||||
msgid "T-Rex Attack"
|
msgid "T-Rex Attack"
|
||||||
msgstr "T-Rex Saldırısı"
|
msgstr "T-Rex Saldırısı"
|
||||||
|
|
||||||
#: src/Wisps.js:55
|
#: src/SnapOfDisintegration.js:117
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Incinerate.js:87
|
||||||
|
msgid "Incinerate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Wisps.js:85
|
||||||
msgid "Wisps"
|
msgid "Wisps"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Fire.js:58
|
#: src/Fire.js:99
|
||||||
msgid "Fire"
|
msgid "Fire"
|
||||||
msgstr "Ateş"
|
msgstr "Ateş"
|
||||||
|
|
||||||
#: src/Fire.js:130
|
#: src/Fire.js:154
|
||||||
msgid "Default Fire"
|
msgid "Default Fire"
|
||||||
msgstr "Varsayılan Ateş"
|
msgstr "Varsayılan Ateş"
|
||||||
|
|
||||||
#: src/Fire.js:140
|
#: src/Fire.js:164
|
||||||
msgid "Hell Fire"
|
msgid "Hell Fire"
|
||||||
msgstr "Cehennem Ateşi"
|
msgstr "Cehennem Ateşi"
|
||||||
|
|
||||||
#: src/Fire.js:150
|
#: src/Fire.js:174
|
||||||
msgid "Dark and Smutty"
|
msgid "Dark and Smutty"
|
||||||
msgstr "Karanlık ve Sürmeli"
|
msgstr "Karanlık ve Sürmeli"
|
||||||
|
|
||||||
#: src/Fire.js:160
|
#: src/Fire.js:184
|
||||||
msgid "Cold Breeze"
|
msgid "Cold Breeze"
|
||||||
msgstr "Soğuk Esinti"
|
msgstr "Soğuk Esinti"
|
||||||
|
|
||||||
#: src/Fire.js:170
|
#: src/Fire.js:194
|
||||||
msgid "Santa is Coming"
|
msgid "Santa is Coming"
|
||||||
msgstr "Noel Baba Geliyor"
|
msgstr "Noel Baba Geliyor"
|
||||||
|
|
||||||
#: src/EnergizeA.js:54
|
#: src/Hexagon.js:97
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "Altıgen"
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:79
|
||||||
msgid "Energize A"
|
msgid "Energize A"
|
||||||
msgstr "Enerji A"
|
msgstr "Enerji A"
|
||||||
|
|
||||||
#: src/EnergizeB.js:54
|
#: src/Apparition.js:80
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:80
|
||||||
msgid "Energize B"
|
msgid "Energize B"
|
||||||
msgstr "Enerji B"
|
msgstr "Enerji B"
|
||||||
|
|
||||||
#: src/Matrix.js:58
|
#: src/Matrix.js:113
|
||||||
msgid "Matrix"
|
msgid "Matrix"
|
||||||
msgstr "Matrix"
|
msgstr "Matrix"
|
||||||
|
|
||||||
@@ -133,17 +149,20 @@ msgstr "Çevir"
|
|||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr "Bağış"
|
msgstr "Bağış"
|
||||||
|
|
||||||
#: resources/ui/common/main-menu.ui:45
|
#: resources/ui/common/main-menu.ui:41
|
||||||
msgid "About Burn-My-Windows"
|
msgid "About Burn-My-Windows"
|
||||||
msgstr "Burn-My-Windows Hakkında"
|
msgstr "Burn-My-Windows Hakkında"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
#: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49
|
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
|
||||||
|
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
|
||||||
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/EnergizeB.ui:24
|
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
|
||||||
#: resources/ui/gtk3/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
|
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
|
||||||
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
|
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:42
|
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
|
||||||
|
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
|
||||||
msgid "Animation Time [ms]"
|
msgid "Animation Time [ms]"
|
||||||
msgstr "Animasyon Süresi [ms]"
|
msgstr "Animasyon Süresi [ms]"
|
||||||
|
|
||||||
@@ -152,7 +171,9 @@ msgstr "Animasyon Süresi [ms]"
|
|||||||
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Wisps.ui:52
|
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
|
||||||
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
||||||
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
||||||
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
||||||
@@ -161,29 +182,47 @@ msgstr "Animasyon Süresi [ms]"
|
|||||||
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
||||||
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52
|
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
|
||||||
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
||||||
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/Wisps.ui:68
|
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
|
||||||
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
||||||
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
||||||
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
||||||
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
||||||
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||||
|
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||||
msgid "Reset to Default Value"
|
msgid "Reset to Default Value"
|
||||||
msgstr "Varsayılan Değere Sıfırla"
|
msgstr "Varsayılan Değere Sıfırla"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||||
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
|
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
|
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
|
||||||
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/EnergizeB.ui:91
|
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:91
|
||||||
msgid "Scale"
|
msgid "Scale"
|
||||||
msgstr "Ölçek"
|
msgstr "Ölçek"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:116
|
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
msgid "Randomness"
|
msgid "Randomness"
|
||||||
msgstr "Rastgelelik"
|
msgstr "Rastgelelik"
|
||||||
|
|
||||||
@@ -219,8 +258,14 @@ msgstr ""
|
|||||||
"Parçalar, pencereyi kapatırken fare işaretçinizin bulunduğu yerden uzağa "
|
"Parçalar, pencereyi kapatırken fare işaretçinizin bulunduğu yerden uzağa "
|
||||||
"uçacaktır."
|
"uçacaktır."
|
||||||
|
|
||||||
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
|
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
|
msgid "Turbulence"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
|
||||||
|
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
|
||||||
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
||||||
msgid "Color"
|
msgid "Color"
|
||||||
@@ -256,7 +301,7 @@ msgstr "Pençe Çizik Sayısı"
|
|||||||
|
|
||||||
#: resources/ui/gtk4/TRexAttack.ui:162
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
msgid "Warp Effect"
|
msgid "Warp Effect"
|
||||||
msgstr ""
|
msgstr "Çözgü Etkisi"
|
||||||
|
|
||||||
#: resources/ui/gtk4/TRexAttack.ui:208
|
#: resources/ui/gtk4/TRexAttack.ui:208
|
||||||
msgid "Flash Color"
|
msgid "Flash Color"
|
||||||
@@ -266,6 +311,26 @@ msgstr "Flaş Rengi"
|
|||||||
msgid "Preview this Effect"
|
msgid "Preview this Effect"
|
||||||
msgstr "Bu Efekti Önizle"
|
msgstr "Bu Efekti Önizle"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr "Çizgi rengi"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr "Bunu koyu temalı pencereler için etkinleştirmek isteyebilirsiniz."
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
msgid "Welcome to Burn-My-Windows!"
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
msgstr "Burn-My-Windows'a Hoş Geldiniz!"
|
msgstr "Burn-My-Windows'a Hoş Geldiniz!"
|
||||||
@@ -296,6 +361,22 @@ msgstr "Pencere Animasyonunu Kapat"
|
|||||||
msgid "Also Add Effects to Dialogs"
|
msgid "Also Add Effects to Dialogs"
|
||||||
msgstr "Ayrıca Diyaloglara Efektler Ekle"
|
msgstr "Ayrıca Diyaloglara Efektler Ekle"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
|
||||||
|
msgid "Disable on Battery Power"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||||
|
msgid "Twirl Intensity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: resources/ui/gtk3/Fire.ui:63
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
msgid "Choose a Preset"
|
msgid "Choose a Preset"
|
||||||
msgstr "Bir Şablon Seçin"
|
msgstr "Bir Şablon Seçin"
|
||||||
|
|||||||
+143
-78
@@ -7,9 +7,9 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Burn-My-Windows\n"
|
"Project-Id-Version: Burn-My-Windows\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
|
"POT-Creation-Date: 2022-06-25 05:04+0200\n"
|
||||||
"PO-Revision-Date: 2022-03-01 15:05+0000\n"
|
"PO-Revision-Date: 2022-04-08 07:11+0000\n"
|
||||||
"Last-Translator: 刘韬 <lyuutau@outlook.com>\n"
|
"Last-Translator: merelymyself <poonsters6@gmail.com>\n"
|
||||||
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
|
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
|
||||||
"burn-my-windows/core/zh_Hans/>\n"
|
"burn-my-windows/core/zh_Hans/>\n"
|
||||||
"Language: zh_Hans\n"
|
"Language: zh_Hans\n"
|
||||||
@@ -17,109 +17,112 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
"X-Generator: Weblate 4.11.1-dev\n"
|
"X-Generator: Weblate 4.12-dev\n"
|
||||||
|
|
||||||
#: prefs.js:111
|
#: prefs.js:114
|
||||||
#, fuzzy
|
|
||||||
msgid "Effect Options"
|
msgid "Effect Options"
|
||||||
msgstr "效果选项"
|
msgstr "特殊效果选项"
|
||||||
|
|
||||||
#: prefs.js:139
|
#: prefs.js:142
|
||||||
msgid "Go Back"
|
msgid "Go Back"
|
||||||
msgstr ""
|
msgstr "返回"
|
||||||
|
|
||||||
#: prefs.js:181
|
#: prefs.js:184
|
||||||
#, fuzzy
|
|
||||||
msgid "General Options"
|
msgid "General Options"
|
||||||
msgstr "一般选项"
|
msgstr "常规选项"
|
||||||
|
|
||||||
#: prefs.js:276
|
#: prefs.js:278
|
||||||
#, fuzzy
|
|
||||||
msgid "Gold Sponsors"
|
msgid "Gold Sponsors"
|
||||||
msgstr "金牌赞助商"
|
msgstr "金牌赞助商"
|
||||||
|
|
||||||
#: prefs.js:279
|
#: prefs.js:281
|
||||||
#, fuzzy
|
|
||||||
msgid "Silver Sponsors"
|
msgid "Silver Sponsors"
|
||||||
msgstr "银牌赞助商"
|
msgstr "银牌赞助商"
|
||||||
|
|
||||||
#: prefs.js:282
|
#: prefs.js:284
|
||||||
#, fuzzy
|
|
||||||
msgid "Bronze Sponsors"
|
msgid "Bronze Sponsors"
|
||||||
msgstr "铜牌赞助商"
|
msgstr "铜牌赞助商"
|
||||||
|
|
||||||
#: prefs.js:285
|
#: prefs.js:287
|
||||||
#, fuzzy
|
|
||||||
msgid "Past Sponsors"
|
msgid "Past Sponsors"
|
||||||
msgstr "往届赞助商"
|
msgstr "往届赞助商"
|
||||||
|
|
||||||
#. Translators: %s will be replaced by the effect's name.
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
#: prefs.js:512
|
#: prefs.js:510
|
||||||
#, fuzzy, javascript-format
|
#, javascript-format
|
||||||
msgid "Preview for %s"
|
msgid "Preview for %s"
|
||||||
msgstr "%s 的预览"
|
msgstr "%s 的预览"
|
||||||
|
|
||||||
#: prefs.js:534
|
#: prefs.js:532
|
||||||
#, fuzzy
|
|
||||||
msgid "Close this Window to Preview the Effect!"
|
msgid "Close this Window to Preview the Effect!"
|
||||||
msgstr "关闭此窗口,预览效果!"
|
msgstr "关闭此窗口,预览效果!"
|
||||||
|
|
||||||
#: src/BrokenGlass.js:57
|
#: src/BrokenGlass.js:138
|
||||||
#, fuzzy
|
|
||||||
msgid "Broken Glass"
|
msgid "Broken Glass"
|
||||||
msgstr "破碎的玻璃"
|
msgstr "破碎的玻璃"
|
||||||
|
|
||||||
#: src/TVEffect.js:56
|
#: src/TVEffect.js:77
|
||||||
#, fuzzy
|
|
||||||
msgid "TV Effect"
|
msgid "TV Effect"
|
||||||
msgstr "电视效果"
|
msgstr "电视效果"
|
||||||
|
|
||||||
#: src/TRexAttack.js:56
|
#: src/TRexAttack.js:115
|
||||||
#, fuzzy
|
|
||||||
msgid "T-Rex Attack"
|
msgid "T-Rex Attack"
|
||||||
msgstr "霸王龙攻击"
|
msgstr "霸王龙攻击"
|
||||||
|
|
||||||
#: src/Wisps.js:55
|
#: src/SnapOfDisintegration.js:117
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr "瓦解效果"
|
||||||
|
|
||||||
|
#: src/Incinerate.js:87
|
||||||
|
msgid "Incinerate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Wisps.js:85
|
||||||
msgid "Wisps"
|
msgid "Wisps"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Fire.js:58
|
#: src/Fire.js:99
|
||||||
msgid "Fire"
|
msgid "Fire"
|
||||||
msgstr ""
|
msgstr "火烧效果"
|
||||||
|
|
||||||
#: src/Fire.js:130
|
#: src/Fire.js:154
|
||||||
msgid "Default Fire"
|
msgid "Default Fire"
|
||||||
msgstr ""
|
msgstr "普通火烧效果"
|
||||||
|
|
||||||
#: src/Fire.js:140
|
#: src/Fire.js:164
|
||||||
#, fuzzy
|
|
||||||
msgid "Hell Fire"
|
msgid "Hell Fire"
|
||||||
msgstr "地狱之火"
|
msgstr "地狱之火"
|
||||||
|
|
||||||
#: src/Fire.js:150
|
#: src/Fire.js:174
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Dark and Smutty"
|
msgid "Dark and Smutty"
|
||||||
msgstr "黑暗和污秽"
|
msgstr "黑暗和污秽"
|
||||||
|
|
||||||
#: src/Fire.js:160
|
#: src/Fire.js:184
|
||||||
#, fuzzy
|
|
||||||
msgid "Cold Breeze"
|
msgid "Cold Breeze"
|
||||||
msgstr "寒风"
|
msgstr "寒风"
|
||||||
|
|
||||||
#: src/Fire.js:170
|
#: src/Fire.js:194
|
||||||
#, fuzzy
|
|
||||||
msgid "Santa is Coming"
|
msgid "Santa is Coming"
|
||||||
msgstr "圣诞老人来了"
|
msgstr "圣诞老人来了"
|
||||||
|
|
||||||
#: src/EnergizeA.js:54
|
#: src/Hexagon.js:97
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "六边形"
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:79
|
||||||
msgid "Energize A"
|
msgid "Energize A"
|
||||||
|
msgstr "瞬移效果A"
|
||||||
|
|
||||||
|
#: src/Apparition.js:80
|
||||||
|
msgid "Apparition"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/EnergizeB.js:54
|
#: src/EnergizeB.js:80
|
||||||
msgid "Energize B"
|
msgid "Energize B"
|
||||||
msgstr ""
|
msgstr "瞬移效果B"
|
||||||
|
|
||||||
#: src/Matrix.js:58
|
#: src/Matrix.js:113
|
||||||
msgid "Matrix"
|
msgid "Matrix"
|
||||||
msgstr "矩阵"
|
msgstr "矩阵"
|
||||||
|
|
||||||
@@ -136,7 +139,6 @@ msgid "Report a Bug"
|
|||||||
msgstr "报告错误"
|
msgstr "报告错误"
|
||||||
|
|
||||||
#: resources/ui/common/main-menu.ui:20
|
#: resources/ui/common/main-menu.ui:20
|
||||||
#, fuzzy
|
|
||||||
msgid "Create an Effect"
|
msgid "Create an Effect"
|
||||||
msgstr "创建效果"
|
msgstr "创建效果"
|
||||||
|
|
||||||
@@ -148,18 +150,20 @@ msgstr "翻译"
|
|||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr "捐赠"
|
msgstr "捐赠"
|
||||||
|
|
||||||
#: resources/ui/common/main-menu.ui:45
|
#: resources/ui/common/main-menu.ui:41
|
||||||
msgid "About Burn-My-Windows"
|
msgid "About Burn-My-Windows"
|
||||||
msgstr "关于 Burn-My-Windows"
|
msgstr "关于 Burn-My-Windows"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
#: resources/ui/gtk4/Wisps.ui:24 resources/ui/gtk4/Fire.ui:49
|
#: resources/ui/gtk4/Incinerate.ui:24 resources/ui/gtk4/Wisps.ui:24
|
||||||
|
#: resources/ui/gtk4/Fire.ui:49 resources/ui/gtk4/SnapOfDisintegration.ui:24
|
||||||
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
#: resources/ui/gtk4/TRexAttack.ui:24 resources/ui/gtk4/TVEffect.ui:24
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/EnergizeB.ui:24
|
#: resources/ui/gtk4/EnergizeA.ui:24 resources/ui/gtk4/Hexagon.ui:24
|
||||||
#: resources/ui/gtk3/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
|
#: resources/ui/gtk4/EnergizeB.ui:24 resources/ui/gtk4/Apparition.ui:24
|
||||||
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
|
#: resources/ui/gtk3/Incinerate.ui:49 resources/ui/gtk3/Wisps.ui:42
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:42
|
#: resources/ui/gtk3/Fire.ui:93 resources/ui/gtk3/TVEffect.ui:35
|
||||||
#, fuzzy
|
#: resources/ui/gtk3/EnergizeA.ui:42 resources/ui/gtk3/Hexagon.ui:49
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:42 resources/ui/gtk3/Apparition.ui:63
|
||||||
msgid "Animation Time [ms]"
|
msgid "Animation Time [ms]"
|
||||||
msgstr "动画时间 [毫秒]"
|
msgstr "动画时间 [毫秒]"
|
||||||
|
|
||||||
@@ -168,7 +172,9 @@ msgstr "动画时间 [毫秒]"
|
|||||||
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Wisps.ui:52
|
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/Incinerate.ui:52
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:98 resources/ui/gtk4/Incinerate.ui:144
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:178 resources/ui/gtk4/Wisps.ui:52
|
||||||
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
#: resources/ui/gtk4/Wisps.ui:98 resources/ui/gtk4/Wisps.ui:132
|
||||||
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
#: resources/ui/gtk4/Fire.ui:77 resources/ui/gtk4/Fire.ui:123
|
||||||
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
#: resources/ui/gtk4/Fire.ui:169 resources/ui/gtk4/Fire.ui:222
|
||||||
@@ -177,46 +183,60 @@ msgstr "动画时间 [毫秒]"
|
|||||||
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
#: resources/ui/gtk4/TRexAttack.ui:190 resources/ui/gtk4/TRexAttack.ui:224
|
||||||
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
#: resources/ui/gtk4/TVEffect.ui:52 resources/ui/gtk4/TVEffect.ui:86
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
#: resources/ui/gtk4/EnergizeA.ui:52 resources/ui/gtk4/EnergizeA.ui:98
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/EnergizeB.ui:52
|
#: resources/ui/gtk4/EnergizeA.ui:132 resources/ui/gtk4/Hexagon.ui:52
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:98 resources/ui/gtk4/Hexagon.ui:144
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:178 resources/ui/gtk4/Hexagon.ui:212
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:265 resources/ui/gtk4/EnergizeB.ui:52
|
||||||
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
#: resources/ui/gtk4/EnergizeB.ui:98 resources/ui/gtk4/EnergizeB.ui:132
|
||||||
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk3/Wisps.ui:68
|
#: resources/ui/gtk4/prefs.ui:166 resources/ui/gtk4/prefs.ui:200
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:52 resources/ui/gtk4/Apparition.ui:98
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:144 resources/ui/gtk4/Apparition.ui:190
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:236 resources/ui/gtk3/Incinerate.ui:75
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:124 resources/ui/gtk3/Incinerate.ui:173
|
||||||
|
#: resources/ui/gtk3/Incinerate.ui:216 resources/ui/gtk3/Wisps.ui:68
|
||||||
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
#: resources/ui/gtk3/Wisps.ui:117 resources/ui/gtk3/Wisps.ui:160
|
||||||
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
#: resources/ui/gtk3/Fire.ui:119 resources/ui/gtk3/Fire.ui:167
|
||||||
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
#: resources/ui/gtk3/Fire.ui:215 resources/ui/gtk3/Fire.ui:277
|
||||||
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
#: resources/ui/gtk3/Fire.ui:345 resources/ui/gtk3/TVEffect.ui:61
|
||||||
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
#: resources/ui/gtk3/TVEffect.ui:104 resources/ui/gtk3/EnergizeA.ui:68
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
#: resources/ui/gtk3/EnergizeA.ui:117 resources/ui/gtk3/EnergizeA.ui:160
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:75 resources/ui/gtk3/Hexagon.ui:124
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:173 resources/ui/gtk3/Hexagon.ui:216
|
||||||
|
#: resources/ui/gtk3/Hexagon.ui:259 resources/ui/gtk3/Hexagon.ui:321
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
#: resources/ui/gtk3/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||||
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||||
|
#: resources/ui/gtk3/prefs.ui:263 resources/ui/gtk3/Apparition.ui:89
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||||
msgid "Reset to Default Value"
|
msgid "Reset to Default Value"
|
||||||
msgstr "重置为默认值"
|
msgstr "重置为默认值"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||||
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
|
#: resources/ui/gtk4/Incinerate.ui:70 resources/ui/gtk4/Wisps.ui:70
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
|
#: resources/ui/gtk4/Fire.ui:95 resources/ui/gtk4/SnapOfDisintegration.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/Hexagon.ui:70
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:70 resources/ui/gtk3/Incinerate.ui:98
|
||||||
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
#: resources/ui/gtk3/Wisps.ui:91 resources/ui/gtk3/Fire.ui:141
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/EnergizeB.ui:91
|
#: resources/ui/gtk3/EnergizeA.ui:91 resources/ui/gtk3/Hexagon.ui:98
|
||||||
|
#: resources/ui/gtk3/EnergizeB.ui:91
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Scale"
|
msgid "Scale"
|
||||||
msgstr "规模"
|
msgstr "规模"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:116
|
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||||
#, fuzzy
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
msgid "Randomness"
|
msgid "Randomness"
|
||||||
msgstr "随机性"
|
msgstr "随机性"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:162
|
#: resources/ui/gtk4/Matrix.ui:162
|
||||||
#, fuzzy
|
|
||||||
msgid "Vertical Overshooting"
|
msgid "Vertical Overshooting"
|
||||||
msgstr "垂直过冲"
|
msgstr "垂直过冲"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:208
|
#: resources/ui/gtk4/Matrix.ui:208
|
||||||
#, fuzzy
|
|
||||||
msgid "Trail Color"
|
msgid "Trail Color"
|
||||||
msgstr "尾迹颜色"
|
msgstr "尾迹颜色"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Matrix.ui:242
|
#: resources/ui/gtk4/Matrix.ui:242
|
||||||
#, fuzzy
|
|
||||||
msgid "Tip Color"
|
msgid "Tip Color"
|
||||||
msgstr "提示颜色"
|
msgstr "提示颜色"
|
||||||
|
|
||||||
@@ -225,22 +245,28 @@ msgid "Gravity"
|
|||||||
msgstr "重力"
|
msgstr "重力"
|
||||||
|
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:162
|
#: resources/ui/gtk4/BrokenGlass.ui:162
|
||||||
#, fuzzy
|
|
||||||
msgid "Blow Force"
|
msgid "Blow Force"
|
||||||
msgstr "吹力"
|
msgstr "砸破力"
|
||||||
|
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:212
|
#: resources/ui/gtk4/BrokenGlass.ui:212
|
||||||
msgid "Shatter From Pointer Location"
|
msgid "Shatter From Pointer Location"
|
||||||
msgstr ""
|
msgstr "从光标位置破碎"
|
||||||
|
|
||||||
#: resources/ui/gtk4/BrokenGlass.ui:221
|
#: resources/ui/gtk4/BrokenGlass.ui:221
|
||||||
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
"The shards will fly away from where your mouse pointer was when closing the "
|
"The shards will fly away from where your mouse pointer was when closing the "
|
||||||
"window."
|
"window."
|
||||||
|
msgstr "窗口的破碎会从光标位置而开始。"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Incinerate.ui:116 resources/ui/gtk3/Incinerate.ui:147
|
||||||
|
msgid "Turbulence"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
|
#: resources/ui/gtk4/Incinerate.ui:162 resources/ui/gtk4/Wisps.ui:116
|
||||||
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
|
#: resources/ui/gtk4/SnapOfDisintegration.ui:116
|
||||||
|
#: resources/ui/gtk4/TVEffect.ui:70 resources/ui/gtk4/EnergizeA.ui:116
|
||||||
|
#: resources/ui/gtk4/EnergizeB.ui:116 resources/ui/gtk3/Incinerate.ui:195
|
||||||
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
#: resources/ui/gtk3/Wisps.ui:139 resources/ui/gtk3/TVEffect.ui:83
|
||||||
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
#: resources/ui/gtk3/EnergizeA.ui:139 resources/ui/gtk3/EnergizeB.ui:139
|
||||||
msgid "Color"
|
msgid "Color"
|
||||||
@@ -255,25 +281,27 @@ msgid "Speed"
|
|||||||
msgstr "速度"
|
msgstr "速度"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
||||||
#, fuzzy
|
|
||||||
msgid "3D Noise"
|
msgid "3D Noise"
|
||||||
msgstr "3D 噪点"
|
msgstr "3D 噪点"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
|
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
|
||||||
|
#, fuzzy
|
||||||
msgid "Creates a more dynamic fire but requires more GPU power."
|
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||||
msgstr ""
|
msgstr "火会更像真但显卡功耗会增加。"
|
||||||
|
|
||||||
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||||
|
#, fuzzy
|
||||||
msgid "Gradient"
|
msgid "Gradient"
|
||||||
msgstr ""
|
msgstr "渐变"
|
||||||
|
|
||||||
#: resources/ui/gtk4/TRexAttack.ui:70
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
|
#, fuzzy
|
||||||
msgid "Claw Scratch Scale"
|
msgid "Claw Scratch Scale"
|
||||||
msgstr ""
|
msgstr "爪痕大小"
|
||||||
|
|
||||||
#: resources/ui/gtk4/TRexAttack.ui:116
|
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||||
msgid "Claw Scratch Count"
|
msgid "Claw Scratch Count"
|
||||||
msgstr ""
|
msgstr "爪痕数量"
|
||||||
|
|
||||||
#: resources/ui/gtk4/TRexAttack.ui:162
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
msgid "Warp Effect"
|
msgid "Warp Effect"
|
||||||
@@ -281,12 +309,32 @@ msgstr ""
|
|||||||
|
|
||||||
#: resources/ui/gtk4/TRexAttack.ui:208
|
#: resources/ui/gtk4/TRexAttack.ui:208
|
||||||
msgid "Flash Color"
|
msgid "Flash Color"
|
||||||
msgstr ""
|
msgstr "爪痕颜色"
|
||||||
|
|
||||||
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||||
msgid "Preview this Effect"
|
msgid "Preview this Effect"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
msgid "Welcome to Burn-My-Windows!"
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -317,6 +365,23 @@ msgstr ""
|
|||||||
msgid "Also Add Effects to Dialogs"
|
msgid "Also Add Effects to Dialogs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: resources/ui/gtk3/Fire.ui:63
|
#: resources/ui/gtk4/prefs.ui:184 resources/ui/gtk3/prefs.ui:242
|
||||||
msgid "Choose a Preset"
|
msgid "Disable on Battery Power"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||||
|
msgid "Twirl Intensity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Choose a Preset"
|
||||||
|
msgstr "选一个预设配置"
|
||||||
|
|||||||
@@ -14,7 +14,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const {Gio, Gtk, Gdk, GLib, GObject} = imports.gi;
|
const {Gio, Gtk, Gdk, GLib, GObject} = imports.gi;
|
||||||
const ByteArray = imports.byteArray;
|
|
||||||
|
|
||||||
// libadwaita is available starting with GNOME Shell 42.
|
// libadwaita is available starting with GNOME Shell 42.
|
||||||
let Adw = null;
|
let Adw = null;
|
||||||
@@ -30,18 +29,6 @@ const ExtensionUtils = imports.misc.extensionUtils;
|
|||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
||||||
const utils = Me.imports.src.utils;
|
const utils = Me.imports.src.utils;
|
||||||
|
|
||||||
// New effects must be registered here and in extension.js.
|
|
||||||
const ALL_EFFECTS = [
|
|
||||||
Me.imports.src.EnergizeA.EnergizeA,
|
|
||||||
Me.imports.src.EnergizeB.EnergizeB,
|
|
||||||
Me.imports.src.Fire.Fire,
|
|
||||||
Me.imports.src.Matrix.Matrix,
|
|
||||||
Me.imports.src.BrokenGlass.BrokenGlass,
|
|
||||||
Me.imports.src.TRexAttack.TRexAttack,
|
|
||||||
Me.imports.src.TVEffect.TVEffect,
|
|
||||||
Me.imports.src.Wisps.Wisps,
|
|
||||||
];
|
|
||||||
|
|
||||||
// This template widget class is defined at the bottom of this file.
|
// This template widget class is defined at the bottom of this file.
|
||||||
var BurnMyWindowsEffectPage = null;
|
var BurnMyWindowsEffectPage = null;
|
||||||
|
|
||||||
@@ -56,6 +43,23 @@ var PreferencesDialog = class PreferencesDialog {
|
|||||||
// ------------------------------------------------------------ constructor / destructor
|
// ------------------------------------------------------------ constructor / destructor
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
|
|
||||||
|
// New effects must be registered here and in extension.js.
|
||||||
|
this._ALL_EFFECTS = [
|
||||||
|
new Me.imports.src.Apparition.Apparition(),
|
||||||
|
new Me.imports.src.BrokenGlass.BrokenGlass(),
|
||||||
|
new Me.imports.src.EnergizeA.EnergizeA(),
|
||||||
|
new Me.imports.src.EnergizeB.EnergizeB(),
|
||||||
|
new Me.imports.src.Fire.Fire(),
|
||||||
|
new Me.imports.src.Hexagon.Hexagon(),
|
||||||
|
new Me.imports.src.Incinerate.Incinerate(),
|
||||||
|
new Me.imports.src.Matrix.Matrix(),
|
||||||
|
new Me.imports.src.SnapOfDisintegration.SnapOfDisintegration(),
|
||||||
|
new Me.imports.src.TRexAttack.TRexAttack(),
|
||||||
|
new Me.imports.src.TVEffect.TVEffect(),
|
||||||
|
new Me.imports.src.Wisps.Wisps(),
|
||||||
|
];
|
||||||
|
|
||||||
// Load all of our resources.
|
// Load all of our resources.
|
||||||
this._resources = Gio.Resource.load(Me.path + '/resources/burn-my-windows.gresource');
|
this._resources = Gio.Resource.load(Me.path + '/resources/burn-my-windows.gresource');
|
||||||
Gio.resources_register(this._resources);
|
Gio.resources_register(this._resources);
|
||||||
@@ -91,12 +95,13 @@ var PreferencesDialog = class PreferencesDialog {
|
|||||||
|
|
||||||
// Bind general options properties.
|
// Bind general options properties.
|
||||||
this.bindSwitch('destroy-dialogs');
|
this.bindSwitch('destroy-dialogs');
|
||||||
|
this.bindSwitch('disable-on-battery');
|
||||||
|
|
||||||
|
// Starting with GNOME Shell 42, the settings dialog uses libadwaita (at least most of
|
||||||
// Starting with GNOME Shell 42, the settings dialog uses libadwaita. We have to use a
|
// the time - it seems that pop!_OS does not support libadwaita even on GNOME 42). We
|
||||||
// different layout, as the stack sidebar looks pretty ugly with the included
|
// have to use a different layout, as the stack sidebar looks pretty ugly with the
|
||||||
// Adw.Clamp...
|
// included Adw.Clamp...
|
||||||
if (utils.shellVersionIsAtLeast(42, 'beta')) {
|
if (Adw && utils.shellVersionIsAtLeast(42, 'beta')) {
|
||||||
|
|
||||||
// This is our top-level widget which we will return later.
|
// This is our top-level widget which we will return later.
|
||||||
this._widget = new Gtk.Box({orientation: Gtk.Orientation.VERTICAL});
|
this._widget = new Gtk.Box({orientation: Gtk.Orientation.VERTICAL});
|
||||||
@@ -109,24 +114,24 @@ var PreferencesDialog = class PreferencesDialog {
|
|||||||
const group = new Adw.PreferencesGroup({title: _('Effect Options')});
|
const group = new Adw.PreferencesGroup({title: _('Effect Options')});
|
||||||
this.gtkBoxAppend(this._widget, group);
|
this.gtkBoxAppend(this._widget, group);
|
||||||
|
|
||||||
ALL_EFFECTS.forEach(Effect => {
|
this._ALL_EFFECTS.forEach(effect => {
|
||||||
const [minMajor, minMinor] = Effect.getMinShellVersion();
|
const [minMajor, minMinor] = effect.getMinShellVersion();
|
||||||
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
|
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
|
||||||
|
|
||||||
const row = new Adw.ActionRow({title: Effect.getLabel(), activatable: true});
|
const row = new Adw.ActionRow({title: effect.getLabel(), activatable: true});
|
||||||
row.add_suffix(new Gtk.Image({icon_name: 'go-next-symbolic'}));
|
row.add_suffix(new Gtk.Image({icon_name: 'go-next-symbolic'}));
|
||||||
|
|
||||||
// Open a subpage with the effect's settings.
|
// Open a subpage with the effect's settings.
|
||||||
row.connect('activated', () => {
|
row.connect('activated', () => {
|
||||||
const page = new BurnMyWindowsEffectPage(Effect, this);
|
const page = new BurnMyWindowsEffectPage(effect, this);
|
||||||
page.valign = Gtk.Align.CENTER;
|
page.valign = Gtk.Align.CENTER;
|
||||||
page.margin_top = 10;
|
page.margin_top = 10;
|
||||||
page.margin_bottom = 10;
|
page.margin_bottom = 10;
|
||||||
page.margin_start = 10;
|
page.margin_start = 10;
|
||||||
page.margin_end = 10;
|
page.margin_end = 10;
|
||||||
|
|
||||||
// Add the Effect's preferences (if any).
|
// Add the effect's preferences (if any).
|
||||||
const preferences = Effect.getPreferences(this);
|
const preferences = effect.getPreferences(this);
|
||||||
if (preferences) {
|
if (preferences) {
|
||||||
this.gtkBoxAppend(page, preferences);
|
this.gtkBoxAppend(page, preferences);
|
||||||
}
|
}
|
||||||
@@ -182,23 +187,23 @@ var PreferencesDialog = class PreferencesDialog {
|
|||||||
this.gtkBoxAppend(this._widget, stack);
|
this.gtkBoxAppend(this._widget, stack);
|
||||||
|
|
||||||
// Add all other effect pages.
|
// Add all other effect pages.
|
||||||
ALL_EFFECTS.forEach(Effect => {
|
this._ALL_EFFECTS.forEach(effect => {
|
||||||
const [minMajor, minMinor] = Effect.getMinShellVersion();
|
const [minMajor, minMinor] = effect.getMinShellVersion();
|
||||||
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
|
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
|
||||||
|
|
||||||
const page = new BurnMyWindowsEffectPage(Effect, this);
|
const page = new BurnMyWindowsEffectPage(effect, this);
|
||||||
page.margin_start = 60;
|
page.margin_start = 60;
|
||||||
page.margin_end = 60;
|
page.margin_end = 60;
|
||||||
page.margin_top = 60;
|
page.margin_top = 60;
|
||||||
page.margin_bottom = 60;
|
page.margin_bottom = 60;
|
||||||
|
|
||||||
// Add the Effect's preferences (if any).
|
// Add the effect's preferences (if any).
|
||||||
const preferences = Effect.getPreferences(this);
|
const preferences = effect.getPreferences(this);
|
||||||
if (preferences) {
|
if (preferences) {
|
||||||
this.gtkBoxAppend(page, preferences);
|
this.gtkBoxAppend(page, preferences);
|
||||||
}
|
}
|
||||||
|
|
||||||
stack.add_titled(page, Effect.getNick(), Effect.getLabel());
|
stack.add_titled(page, effect.getNick(), effect.getLabel());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -218,7 +223,7 @@ var PreferencesDialog = class PreferencesDialog {
|
|||||||
|
|
||||||
// Starting with GNOME Shell 42, we have to hack our way through the widget tree
|
// Starting with GNOME Shell 42, we have to hack our way through the widget tree
|
||||||
// of the Adw.PreferencesWindow...
|
// of the Adw.PreferencesWindow...
|
||||||
if (utils.shellVersionIsAtLeast(42, 'beta')) {
|
if (Adw && utils.shellVersionIsAtLeast(42, 'beta')) {
|
||||||
const header = this._findWidgetByType(window.get_content(), Adw.HeaderBar);
|
const header = this._findWidgetByType(window.get_content(), Adw.HeaderBar);
|
||||||
header.pack_end(menu);
|
header.pack_end(menu);
|
||||||
|
|
||||||
@@ -298,11 +303,11 @@ var PreferencesDialog = class PreferencesDialog {
|
|||||||
const group = Gio.SimpleActionGroup.new();
|
const group = Gio.SimpleActionGroup.new();
|
||||||
window.insert_action_group('open-effects', group);
|
window.insert_action_group('open-effects', group);
|
||||||
|
|
||||||
ALL_EFFECTS.forEach(Effect => {
|
this._ALL_EFFECTS.forEach(effect => {
|
||||||
const [minMajor, minMinor] = Effect.getMinShellVersion();
|
const [minMajor, minMinor] = effect.getMinShellVersion();
|
||||||
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
|
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
|
||||||
const nick = Effect.getNick();
|
const nick = effect.getNick();
|
||||||
const label = Effect.getLabel();
|
const label = effect.getLabel();
|
||||||
const actionName = nick + '-open-effect';
|
const actionName = nick + '-open-effect';
|
||||||
const fullName = 'open-effects.' + actionName;
|
const fullName = 'open-effects.' + actionName;
|
||||||
|
|
||||||
@@ -320,11 +325,11 @@ var PreferencesDialog = class PreferencesDialog {
|
|||||||
const group = Gio.SimpleActionGroup.new();
|
const group = Gio.SimpleActionGroup.new();
|
||||||
window.insert_action_group('close-effects', group);
|
window.insert_action_group('close-effects', group);
|
||||||
|
|
||||||
ALL_EFFECTS.forEach(Effect => {
|
this._ALL_EFFECTS.forEach(effect => {
|
||||||
const [minMajor, minMinor] = Effect.getMinShellVersion();
|
const [minMajor, minMinor] = effect.getMinShellVersion();
|
||||||
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
|
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
|
||||||
const nick = Effect.getNick();
|
const nick = effect.getNick();
|
||||||
const label = Effect.getLabel();
|
const label = effect.getLabel();
|
||||||
const actionName = nick + '-close-effect';
|
const actionName = nick + '-close-effect';
|
||||||
const fullName = 'close-effects.' + actionName;
|
const fullName = 'close-effects.' + actionName;
|
||||||
|
|
||||||
@@ -455,9 +460,7 @@ var PreferencesDialog = class PreferencesDialog {
|
|||||||
// Reads the contents of a JSON file contained in the global resources archive. The data
|
// Reads the contents of a JSON file contained in the global resources archive. The data
|
||||||
// is parsed and returned as a JavaScript object / array.
|
// is parsed and returned as a JavaScript object / array.
|
||||||
_getJSONResource(path) {
|
_getJSONResource(path) {
|
||||||
const data = Gio.resources_lookup_data(path, 0);
|
return JSON.parse(utils.getStringResource(path));
|
||||||
const string = ByteArray.toString(ByteArray.fromGBytes(data));
|
|
||||||
return JSON.parse(string);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// This traverses the widget tree below the given parent recursively and returns the
|
// This traverses the widget tree below the given parent recursively and returns the
|
||||||
@@ -486,17 +489,17 @@ var PreferencesDialog = class PreferencesDialog {
|
|||||||
InternalChildren: ['label', 'button'],
|
InternalChildren: ['label', 'button'],
|
||||||
},
|
},
|
||||||
class BurnMyWindowsEffectPage extends Gtk.Box { // ------------------------------
|
class BurnMyWindowsEffectPage extends Gtk.Box { // ------------------------------
|
||||||
_init(Effect, dialog) {
|
_init(effect, dialog) {
|
||||||
super._init();
|
super._init();
|
||||||
|
|
||||||
// Set the effect's name as label.
|
// Set the effect's name as label.
|
||||||
this._label.label = Effect.getLabel();
|
this._label.label = effect.getLabel();
|
||||||
|
|
||||||
// Open the preview window once the preview button is clicked.
|
// Open the preview window once the preview button is clicked.
|
||||||
this._button.connect('clicked', () => {
|
this._button.connect('clicked', () => {
|
||||||
// Set the to-be-previewed effect.
|
// Set the to-be-previewed effect.
|
||||||
dialog.getSettings().set_string('open-preview-effect', Effect.getNick());
|
dialog.getSettings().set_string('open-preview-effect', effect.getNick());
|
||||||
dialog.getSettings().set_string('close-preview-effect', Effect.getNick());
|
dialog.getSettings().set_string('close-preview-effect', effect.getNick());
|
||||||
|
|
||||||
// Make sure that the window.show() firther below "sees" this change.
|
// Make sure that the window.show() firther below "sees" this change.
|
||||||
Gio.Settings.sync();
|
Gio.Settings.sync();
|
||||||
@@ -504,7 +507,7 @@ var PreferencesDialog = class PreferencesDialog {
|
|||||||
// Create the preview-window.
|
// Create the preview-window.
|
||||||
const window = new Gtk.Window({
|
const window = new Gtk.Window({
|
||||||
// Translators: %s will be replaced by the effect's name.
|
// Translators: %s will be replaced by the effect's name.
|
||||||
title: _('Preview for %s').replace('%s', Effect.getLabel()),
|
title: _('Preview for %s').replace('%s', effect.getLabel()),
|
||||||
default_width: 800,
|
default_width: 800,
|
||||||
default_height: 450,
|
default_height: 450,
|
||||||
modal: true,
|
modal: true,
|
||||||
|
|||||||
@@ -3,14 +3,17 @@
|
|||||||
"<a href='https://github.com/dennis1248'>Dennis ten Hoove</a>"
|
"<a href='https://github.com/dennis1248'>Dennis ten Hoove</a>"
|
||||||
],
|
],
|
||||||
"silver": [
|
"silver": [
|
||||||
|
"<a href='https://github.com/danielheadbang'>@danielheadbang</a>",
|
||||||
"<a href='https://twitter.com/tjiiik'>tj3k</a>",
|
"<a href='https://twitter.com/tjiiik'>tj3k</a>",
|
||||||
"<a href='https://github.com/MRR-dev'>@MRR-dev</a>",
|
"<a href='https://github.com/MRR-dev'>@MRR-dev</a>",
|
||||||
"<a href='https://github.com/castrojo'>Jorge Castro</a>"
|
"<a href='https://github.com/castrojo'>Jorge Castro</a>"
|
||||||
],
|
],
|
||||||
"bronze": [
|
"bronze": [
|
||||||
"<a href='https://github.com/danielheadbang'>@danielheadbang</a>"
|
"<a href='https://github.com/AngelBrielez'>Angel Brielez</a>"
|
||||||
],
|
],
|
||||||
"past": [
|
"past": [
|
||||||
|
"<a href='https://github.com/wolfyrion'>@wolfyrion</a>",
|
||||||
|
"<a href='https://github.com/MrTomRod'>@MrTomRod</a>",
|
||||||
"Pouhiou",
|
"Pouhiou",
|
||||||
"DAPREMONT Christophe",
|
"DAPREMONT Christophe",
|
||||||
"<a href='https://github.com/manero6'>@manero6</a>",
|
"<a href='https://github.com/manero6'>@manero6</a>",
|
||||||
|
|||||||
@@ -1,36 +1,14 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"Norwegian Bokm\u00e5l": [
|
"Swedish": [
|
||||||
[
|
[
|
||||||
"epost@anotheragency.no",
|
"obslsessed@duck.com",
|
||||||
"Allan Nordh\u00f8y",
|
"obslsessed",
|
||||||
3
|
1
|
||||||
]
|
],
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Dutch": [
|
|
||||||
[
|
[
|
||||||
"vistausss@fastmail.com",
|
"swedishsailfishosuser@tutanota.com",
|
||||||
"Heimen Stoffels",
|
"Kristoffer Grundstr\u00f6m",
|
||||||
65
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Czech": [
|
|
||||||
[
|
|
||||||
"jiri.doubravsky@gmail.com",
|
|
||||||
"Ji\u0159\u00ed Doubravsk\u00fd",
|
|
||||||
70
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Turkish": [
|
|
||||||
[
|
|
||||||
"muhaaliss@pm.me",
|
|
||||||
"Muha Aliss",
|
|
||||||
57
|
57
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
@@ -45,25 +23,7 @@
|
|||||||
[
|
[
|
||||||
"albano_battistella@hotmail.com",
|
"albano_battistella@hotmail.com",
|
||||||
"albanobattistella",
|
"albanobattistella",
|
||||||
63
|
77
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Chinese (Simplified)": [
|
|
||||||
[
|
|
||||||
"lyuutau@outlook.com",
|
|
||||||
"\u5218\u97ec",
|
|
||||||
36
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"German": [
|
|
||||||
[
|
|
||||||
"code@simonschneegans.de",
|
|
||||||
"Simon Schneegans",
|
|
||||||
59
|
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -74,24 +34,34 @@
|
|||||||
"Reda",
|
"Reda",
|
||||||
13
|
13
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
"mathieu.bousquet2@gmail.com",
|
||||||
|
"Mathieu B.",
|
||||||
|
13
|
||||||
|
],
|
||||||
[
|
[
|
||||||
"theo.remon+weblate@uswery.eu",
|
"theo.remon+weblate@uswery.eu",
|
||||||
"Th\u00e9o Remon",
|
"Th\u00e9o Remon",
|
||||||
24
|
30
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"bonnemainsnathan@gmail.com",
|
"bonnemainsnathan@gmail.com",
|
||||||
"Nathan",
|
"Nathan",
|
||||||
42
|
45
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Spanish": [
|
"Spanish": [
|
||||||
[
|
[
|
||||||
"ulicesah@gmail.com",
|
"dev.n47os@aleeas.com",
|
||||||
"Ulices",
|
"Ulices",
|
||||||
7
|
8
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"andres.segarra.aparicio@gmail.com",
|
||||||
|
"Andres Segarra",
|
||||||
|
10
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"fitojb@ubuntu.com",
|
"fitojb@ubuntu.com",
|
||||||
@@ -101,7 +71,144 @@
|
|||||||
[
|
[
|
||||||
"oscfdezdz@tuta.io",
|
"oscfdezdz@tuta.io",
|
||||||
"\u00d3scar Fern\u00e1ndez D\u00edaz",
|
"\u00d3scar Fern\u00e1ndez D\u00edaz",
|
||||||
55
|
58
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Persian": [
|
||||||
|
[
|
||||||
|
"eshagh094@gmail.com",
|
||||||
|
"Eshagh Shahedany",
|
||||||
|
73
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Polish": [
|
||||||
|
[
|
||||||
|
"pwrzonca@gmail.com",
|
||||||
|
"Pawe\u0142 Rzo\u0144ca",
|
||||||
|
72
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Korean": [
|
||||||
|
[
|
||||||
|
"darkcircle.0426@gmail.com",
|
||||||
|
"Seong-ho Cho",
|
||||||
|
73
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Turkish": [
|
||||||
|
[
|
||||||
|
"muhaaliss@pm.me",
|
||||||
|
"Muha Aliss",
|
||||||
|
61
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Chinese (Simplified)": [
|
||||||
|
[
|
||||||
|
"lyuutau@outlook.com",
|
||||||
|
"\u5218\u97ec",
|
||||||
|
36
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"poonsters6@gmail.com",
|
||||||
|
"merelymyself",
|
||||||
|
41
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Czech": [
|
||||||
|
[
|
||||||
|
"jose1711@gmail.com",
|
||||||
|
"Jose Riha",
|
||||||
|
4
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"jiri.doubravsky@gmail.com",
|
||||||
|
"Ji\u0159\u00ed Doubravsk\u00fd",
|
||||||
|
70
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Norwegian Bokm\u00e5l": [
|
||||||
|
[
|
||||||
|
"epost@anotheragency.no",
|
||||||
|
"Allan Nordh\u00f8y",
|
||||||
|
50
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Arabic": [
|
||||||
|
[
|
||||||
|
"fawaz27000@hotmail.com",
|
||||||
|
"fawaz006",
|
||||||
|
79
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"German": [
|
||||||
|
[
|
||||||
|
"juri26@outlook.de",
|
||||||
|
"jagfwajgf",
|
||||||
|
1
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"code@simonschneegans.de",
|
||||||
|
"Simon Schneegans",
|
||||||
|
72
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Russian": [
|
||||||
|
[
|
||||||
|
"eg.ermakov2016@yandex.ru",
|
||||||
|
"\u0415\u0433\u043e\u0440 \u0415\u0440\u043c\u0430\u043a\u043e\u0432",
|
||||||
|
31
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"franigoyt@gmail.com",
|
||||||
|
"ANIGO R. (AR)",
|
||||||
|
59
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Slovak": [
|
||||||
|
[
|
||||||
|
"jose1711@gmail.com",
|
||||||
|
"Jose Riha",
|
||||||
|
71
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Finnish": [
|
||||||
|
[
|
||||||
|
"jiri.gronroos@iki.fi",
|
||||||
|
"Jiri Gr\u00f6nroos",
|
||||||
|
57
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Dutch": [
|
||||||
|
[
|
||||||
|
"vistausss@fastmail.com",
|
||||||
|
"Heimen Stoffels",
|
||||||
|
80
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 434 KiB |
@@ -0,0 +1,6 @@
|
|||||||
|
<node>
|
||||||
|
<interface name="org.freedesktop.UPower">
|
||||||
|
<property name="OnBattery" type="b" access="read" />
|
||||||
|
</interface>
|
||||||
|
</node>
|
||||||
|
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// ) ( //
|
||||||
|
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||||
|
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||||
|
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||||
|
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||||
|
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||||
|
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||||
|
// |__/ //
|
||||||
|
// Copyright (c) 2021 Simon Schneegans //
|
||||||
|
// Released under the GPLv3 or later. See LICENSE file for details. //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// The content from common.glsl is automatically prepended to each shader effect.
|
||||||
|
|
||||||
|
uniform vec2 uSeed;
|
||||||
|
uniform float uShake;
|
||||||
|
uniform float uTwirl;
|
||||||
|
uniform float uSuction;
|
||||||
|
uniform float uRandomness;
|
||||||
|
|
||||||
|
const float ACTOR_SCALE = 2.0;
|
||||||
|
const float PADDING = ACTOR_SCALE / 2.0 - 0.5;
|
||||||
|
|
||||||
|
// The math for the whirling is inspired by this post:
|
||||||
|
// http://www.geeks3d.com/20110428/shader-library-swirl-post-processing-filter-in-glsl
|
||||||
|
void main() {
|
||||||
|
// We simply inverse the progress for opening windows.
|
||||||
|
float progress = uForOpening ? 1.0 - uProgress : uProgress;
|
||||||
|
|
||||||
|
// Choose a random suction center.
|
||||||
|
vec2 center = uSeed * uRandomness + 0.5 * (1.0 - uRandomness);
|
||||||
|
vec2 coords = iTexCoord.st * ACTOR_SCALE - PADDING - center;
|
||||||
|
|
||||||
|
// Add some shaking.
|
||||||
|
coords.x +=
|
||||||
|
progress * 0.05 * uShake * sin((progress + uSeed.x) * (1.0 + uSeed.x) * uShake);
|
||||||
|
coords.y +=
|
||||||
|
progress * 0.05 * uShake * cos((progress + uSeed.y) * (1.0 + uSeed.y) * uShake);
|
||||||
|
|
||||||
|
// "Suck" the texture into the center.
|
||||||
|
float dist = length(coords) / sqrt(2.0);
|
||||||
|
coords += progress * coords / dist * 0.5 * uSuction;
|
||||||
|
|
||||||
|
// Apply some whirling.
|
||||||
|
float angle = pow(1.0 - dist, 2.0) * uTwirl * progress;
|
||||||
|
float s = sin(angle);
|
||||||
|
float c = cos(angle);
|
||||||
|
coords = vec2(dot(coords, vec2(c, -s)), dot(coords, vec2(s, c)));
|
||||||
|
|
||||||
|
// Fade out the window texture.
|
||||||
|
vec4 oColor = getInputColor(coords + center);
|
||||||
|
oColor.a *= 1.0 - progress;
|
||||||
|
setOutputColor(oColor);
|
||||||
|
}
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// ) ( //
|
||||||
|
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||||
|
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||||
|
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||||
|
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||||
|
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||||
|
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||||
|
// |__/ //
|
||||||
|
// Copyright (c) 2021 Simon Schneegans //
|
||||||
|
// Released under the GPLv3 or later. See LICENSE file for details. //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// The content from common.glsl is automatically prepended to each shader effect.
|
||||||
|
|
||||||
|
uniform sampler2D uShardTexture;
|
||||||
|
uniform vec2 uSeed;
|
||||||
|
uniform vec2 uEpicenter;
|
||||||
|
uniform float uShardScale;
|
||||||
|
uniform float uBlowForce;
|
||||||
|
uniform float uGravity;
|
||||||
|
|
||||||
|
const float SHARD_LAYERS = 5.0;
|
||||||
|
const float ACTOR_SCALE = 2.0;
|
||||||
|
const float PADDING = ACTOR_SCALE / 2.0 - 0.5;
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
vec4 oColor = vec4(0.0);
|
||||||
|
|
||||||
|
float progress = uForOpening ? 1.0 - uProgress : uProgress;
|
||||||
|
|
||||||
|
// Draw the individual shard layers.
|
||||||
|
for (float i = 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
|
||||||
|
// window gets drawn at the correct position again.
|
||||||
|
vec2 coords = iTexCoord.st * ACTOR_SCALE - PADDING;
|
||||||
|
|
||||||
|
// Scale and rotate around our epicenter.
|
||||||
|
coords -= uEpicenter;
|
||||||
|
|
||||||
|
// Scale each layer a bit differently.
|
||||||
|
coords /= mix(1.0, 1.0 + uBlowForce * (i + 2.0) / SHARD_LAYERS, progress);
|
||||||
|
|
||||||
|
// Rotate each layer a bit differently.
|
||||||
|
float rotation = (mod(i, 2.0) - 0.5) * 0.2 * progress;
|
||||||
|
coords = vec2(coords.x * cos(rotation) - coords.y * sin(rotation),
|
||||||
|
coords.x * sin(rotation) + coords.y * cos(rotation));
|
||||||
|
|
||||||
|
// Move down each layer a bit.
|
||||||
|
float gravity =
|
||||||
|
(uForOpening ? -1.0 : 1.0) * uGravity * 0.1 * (i + 1) * progress * progress;
|
||||||
|
coords += vec2(0, gravity);
|
||||||
|
|
||||||
|
// Restore correct position.
|
||||||
|
coords += uEpicenter;
|
||||||
|
|
||||||
|
// Retrieve information from the shard texture for our layer.
|
||||||
|
vec2 shardCoords = (coords + uSeed) * uSize / uShardScale / 500.0;
|
||||||
|
vec2 shardMap = texture2D(uShardTexture, shardCoords).rg;
|
||||||
|
|
||||||
|
// The green channel contains a random value in [0..1] for each shard. We
|
||||||
|
// discretize this into SHARD_LAYERS bins and check if our layer falls into
|
||||||
|
// 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) {
|
||||||
|
oColor = getInputColor(coords);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setOutputColor(oColor);
|
||||||
|
}
|
||||||
@@ -0,0 +1,395 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// ) ( //
|
||||||
|
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||||
|
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||||
|
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||||
|
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||||
|
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||||
|
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||||
|
// |__/ //
|
||||||
|
// Copyright (c) 2021 Simon Schneegans //
|
||||||
|
// Released under the GPLv3 or later. See LICENSE file for details. //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// This file is automatically included in each shader. //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------- standard uniforms
|
||||||
|
|
||||||
|
// Each shader can access these standard input values:
|
||||||
|
|
||||||
|
// vec2 iTexCoord: Texture coordinates for retrieving the window input color.
|
||||||
|
// bool uForOpening: True if a window-open animation is ongoing, false otherwise.
|
||||||
|
// float uProgress: A value which transitions from 0 to 1 during the animation.
|
||||||
|
// float uDuration: The duration of the current animation in seconds.
|
||||||
|
// vec2 uSize: The size of uTexture in pixels.
|
||||||
|
// float uPadding: The empty area around the actual window (e.g. where the shadow
|
||||||
|
// is drawn). For now, this will only be set on GNOME.
|
||||||
|
|
||||||
|
// Furthermore, there are two global methods for reading the window input color and
|
||||||
|
// setting the shader output color. Both methods assume straight alpha:
|
||||||
|
|
||||||
|
// vec4 getInputColor(vec2 coords)
|
||||||
|
// void setOutputColor(vec4 outColor)
|
||||||
|
|
||||||
|
uniform bool uForOpening;
|
||||||
|
uniform float uProgress;
|
||||||
|
uniform float uDuration;
|
||||||
|
|
||||||
|
#if defined(KWIN) // --------------------------------------------------------------------
|
||||||
|
|
||||||
|
uniform sampler2D sampler;
|
||||||
|
uniform int textureWidth;
|
||||||
|
uniform int textureHeight;
|
||||||
|
|
||||||
|
in vec2 texcoord0;
|
||||||
|
out vec4 fragColor;
|
||||||
|
|
||||||
|
vec2 uSize = vec2(textureWidth, textureHeight);
|
||||||
|
vec2 iTexCoord = vec2(texcoord0.x, 1.0 - texcoord0.y);
|
||||||
|
float uPadding = 0.0;
|
||||||
|
|
||||||
|
vec4 getInputColor(vec2 coords) {
|
||||||
|
vec4 color = texture2D(sampler, vec2(coords.x, 1.0 - coords.y));
|
||||||
|
|
||||||
|
if (color.a > 0.0) {
|
||||||
|
color.rgb /= color.a;
|
||||||
|
}
|
||||||
|
|
||||||
|
return color;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setOutputColor(vec4 outColor) {
|
||||||
|
fragColor = vec4(outColor.rgb * outColor.a, outColor.a);
|
||||||
|
}
|
||||||
|
|
||||||
|
#elif defined(KWIN_LEGACY) // -----------------------------------------------------------
|
||||||
|
|
||||||
|
uniform sampler2D sampler;
|
||||||
|
uniform int textureWidth;
|
||||||
|
uniform int textureHeight;
|
||||||
|
|
||||||
|
varying vec2 texcoord0;
|
||||||
|
|
||||||
|
vec2 uSize = vec2(textureWidth, textureHeight);
|
||||||
|
vec2 iTexCoord = vec2(texcoord0.x, 1.0 - texcoord0.y);
|
||||||
|
float uPadding = 0.0;
|
||||||
|
|
||||||
|
vec4 getInputColor(vec2 coords) {
|
||||||
|
vec4 color = texture2D(sampler, vec2(coords.x, 1.0 - coords.y));
|
||||||
|
|
||||||
|
if (color.a > 0.0) {
|
||||||
|
color.rgb /= color.a;
|
||||||
|
}
|
||||||
|
|
||||||
|
return color;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setOutputColor(vec4 outColor) {
|
||||||
|
gl_FragColor = vec4(outColor.rgb * outColor.a, outColor.a);
|
||||||
|
}
|
||||||
|
|
||||||
|
#else // GNOME --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// On GNOME, the uniforms are just normal uniforms.
|
||||||
|
uniform sampler2D uTexture;
|
||||||
|
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;
|
||||||
|
|
||||||
|
// Shell.GLSLEffect uses straight alpha. So we have to convert from premultiplied.
|
||||||
|
vec4 getInputColor(vec2 coords) {
|
||||||
|
vec4 color = texture2D(uTexture, coords);
|
||||||
|
|
||||||
|
if (color.a > 0.0) {
|
||||||
|
color.rgb /= color.a;
|
||||||
|
}
|
||||||
|
|
||||||
|
return color;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setOutputColor(vec4 outColor) { cogl_color_out = outColor; }
|
||||||
|
|
||||||
|
#endif // -------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------- compositing operators
|
||||||
|
|
||||||
|
// The Shell.GLSLEffect uses straight alpha blending. This helper method allows
|
||||||
|
// compositing color values in the shader in the same way.
|
||||||
|
vec4 alphaOver(vec4 under, vec4 over) {
|
||||||
|
float alpha = over.a + under.a * (1.0 - over.a);
|
||||||
|
return vec4((over.rgb * over.a + under.rgb * under.a * (1.0 - over.a)) / alpha, alpha);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------- color helpers
|
||||||
|
|
||||||
|
// Maps the given value from [0..1] to the given colors.
|
||||||
|
vec3 tritone(float val, vec3 shadows, vec3 midtones, vec3 highlights) {
|
||||||
|
if (val < 0.5) {
|
||||||
|
return mix(shadows, midtones, smoothstep(0.0, 1.0, val * 2.0));
|
||||||
|
}
|
||||||
|
|
||||||
|
return mix(midtones, highlights, smoothstep(0.0, 1.0, val * 2.0 - 1.0));
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------- easing functions
|
||||||
|
|
||||||
|
// Here are some basic easing function. More can be added if required!
|
||||||
|
// Taken from here:
|
||||||
|
// https://gitlab.gnome.org/GNOME/mutter/-/blob/main/clutter/clutter/clutter-easing.c
|
||||||
|
|
||||||
|
float easeOutQuad(float x) { return -1.0 * x * (x - 2.0); }
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------- edge mask helpers
|
||||||
|
|
||||||
|
// This method returns a mask which smoothly transitions towards zero when approaching
|
||||||
|
// the window's borders. There is a variant which takes the transition area width in
|
||||||
|
// pixels and one which takes this as a percentage.
|
||||||
|
float getEdgeMask(vec2 uv, vec2 maxUV, float fadeWidth) {
|
||||||
|
float mask = 1.0;
|
||||||
|
mask *= smoothstep(0.0, 1.0, clamp(uv.x / fadeWidth, 0.0, 1.0));
|
||||||
|
mask *= smoothstep(0.0, 1.0, clamp(uv.y / fadeWidth, 0.0, 1.0));
|
||||||
|
mask *= smoothstep(0.0, 1.0, clamp((maxUV.x - uv.x) / fadeWidth, 0.0, 1.0));
|
||||||
|
mask *= smoothstep(0.0, 1.0, clamp((maxUV.y - uv.y) / fadeWidth, 0.0, 1.0));
|
||||||
|
|
||||||
|
return mask;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns an edge mask which fades to zero at the boundaries of the actor. The width of
|
||||||
|
// the fade zone is given in pixels. This uses the standard uniforms uSize and uPadding.
|
||||||
|
// This means that the fading zone is not actually at the actors boundaries but at the
|
||||||
|
// position of the window border in the texture.
|
||||||
|
// The offset paramter controls whether the fading is placed inside the window borders
|
||||||
|
// (offset = 0), ontop the window borders (offset = 0.5) or outside the window borders
|
||||||
|
// (offset = 1).
|
||||||
|
float getAbsoluteEdgeMask(float fadePixels, float offset) {
|
||||||
|
float padding = max(0.0, uPadding - fadePixels * offset);
|
||||||
|
vec2 uv = iTexCoord.st * uSize - padding;
|
||||||
|
return getEdgeMask(uv, uSize - 2.0 * padding, fadePixels);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns an edge mask which fades to zero at the boundaries of the actor. The width of
|
||||||
|
// the fade zone is given relative to the actor size. This neither uses uSize and
|
||||||
|
// uPadding.
|
||||||
|
float getRelativeEdgeMask(float fadeAmount) {
|
||||||
|
vec2 uv = iTexCoord.st;
|
||||||
|
return getEdgeMask(uv, vec2(1.0), fadeAmount);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------------- 2D math
|
||||||
|
|
||||||
|
float distToLine(vec2 origin, vec2 direction, vec2 point) {
|
||||||
|
vec2 perpendicular = vec2(direction.y, -direction.x);
|
||||||
|
return abs(dot(normalize(perpendicular), origin - point));
|
||||||
|
}
|
||||||
|
|
||||||
|
float getWinding(vec2 a, vec2 b) { return cross(vec3(a, 0.0), vec3(b, 0.0)).z; }
|
||||||
|
|
||||||
|
vec2 rotate(vec2 a, float angle) {
|
||||||
|
return vec2(a.x * cos(angle) - a.y * sin(angle), a.x * sin(angle) + a.y * cos(angle));
|
||||||
|
}
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------------------- noise
|
||||||
|
|
||||||
|
// These noise algorithms are based on implementations by various authors from
|
||||||
|
// shadertoy.com, which are all available under the MIT License. See the respective links
|
||||||
|
// in the comments below.
|
||||||
|
|
||||||
|
// Hash functions
|
||||||
|
// MIT License, https://www.shadertoy.com/view/4djSRW
|
||||||
|
// Copyright (c) 2014 David Hoskins.
|
||||||
|
|
||||||
|
// 1 out, 1 in...
|
||||||
|
float hash11(float p) {
|
||||||
|
p = fract(p * .1031);
|
||||||
|
p *= p + 33.33;
|
||||||
|
p *= p + p;
|
||||||
|
return fract(p);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 1 out, 2 in...
|
||||||
|
float hash12(vec2 p) {
|
||||||
|
vec3 p3 = fract(vec3(p.xyx) * .1031);
|
||||||
|
p3 += dot(p3, p3.yzx + 33.33);
|
||||||
|
return fract((p3.x + p3.y) * p3.z);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 1 out, 3 in...
|
||||||
|
float hash13(vec3 p3) {
|
||||||
|
p3 = fract(p3 * .1031);
|
||||||
|
p3 += dot(p3, p3.zyx + 31.32);
|
||||||
|
return fract((p3.x + p3.y) * p3.z);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2 out, 1 in...
|
||||||
|
vec2 hash21(float p) {
|
||||||
|
vec3 p3 = fract(vec3(p) * vec3(.1031, .1030, .0973));
|
||||||
|
p3 += dot(p3, p3.yzx + 33.33);
|
||||||
|
return fract((p3.xx + p3.yz) * p3.zy);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2 out, 2 in...
|
||||||
|
vec2 hash22(vec2 p) {
|
||||||
|
vec3 p3 = fract(vec3(p.xyx) * vec3(.1031, .1030, .0973));
|
||||||
|
p3 += dot(p3, p3.yzx + 33.33);
|
||||||
|
return fract((p3.xx + p3.yz) * p3.zy);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2 out, 3 in...
|
||||||
|
vec2 hash23(vec3 p3) {
|
||||||
|
p3 = fract(p3 * vec3(.1031, .1030, .0973));
|
||||||
|
p3 += dot(p3, p3.yzx + 33.33);
|
||||||
|
return fract((p3.xx + p3.yz) * p3.zy);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3 out, 1 in...
|
||||||
|
vec3 hash31(float p) {
|
||||||
|
vec3 p3 = fract(vec3(p) * vec3(.1031, .1030, .0973));
|
||||||
|
p3 += dot(p3, p3.yzx + 33.33);
|
||||||
|
return fract((p3.xxy + p3.yzz) * p3.zyx);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3 out, 2 in...
|
||||||
|
vec3 hash32(vec2 p) {
|
||||||
|
vec3 p3 = fract(vec3(p.xyx) * vec3(.1031, .1030, .0973));
|
||||||
|
p3 += dot(p3, p3.yxz + 33.33);
|
||||||
|
return fract((p3.xxy + p3.yzz) * p3.zyx);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3 out, 3 in...
|
||||||
|
vec3 hash33(vec3 p3) {
|
||||||
|
p3 = fract(p3 * vec3(.1031, .1030, .0973));
|
||||||
|
p3 += dot(p3, p3.yxz + 33.33);
|
||||||
|
return fract((p3.xxy + p3.yxx) * p3.zyx);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4 out, 1 in...
|
||||||
|
vec4 hash41(float p) {
|
||||||
|
vec4 p4 = fract(vec4(p) * vec4(.1031, .1030, .0973, .1099));
|
||||||
|
p4 += dot(p4, p4.wzxy + 33.33);
|
||||||
|
return fract((p4.xxyz + p4.yzzw) * p4.zywx);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4 out, 2 in...
|
||||||
|
vec4 hash42(vec2 p) {
|
||||||
|
vec4 p4 = fract(vec4(p.xyxy) * vec4(.1031, .1030, .0973, .1099));
|
||||||
|
p4 += dot(p4, p4.wzxy + 33.33);
|
||||||
|
return fract((p4.xxyz + p4.yzzw) * p4.zywx);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4 out, 3 in...
|
||||||
|
vec4 hash43(vec3 p) {
|
||||||
|
vec4 p4 = fract(vec4(p.xyzx) * vec4(.1031, .1030, .0973, .1099));
|
||||||
|
p4 += dot(p4, p4.wzxy + 33.33);
|
||||||
|
return fract((p4.xxyz + p4.yzzw) * p4.zywx);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4 out, 4 in...
|
||||||
|
vec4 hash44(vec4 p4) {
|
||||||
|
p4 = fract(p4 * vec4(.1031, .1030, .0973, .1099));
|
||||||
|
p4 += dot(p4, p4.wzxy + 33.33);
|
||||||
|
return fract((p4.xxyz + p4.yzzw) * p4.zywx);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2D Simplex Noise
|
||||||
|
// MIT License, https://www.shadertoy.com/view/Msf3WH
|
||||||
|
// Copyright © 2013 Inigo Quilez
|
||||||
|
float simplex2D(vec2 p) {
|
||||||
|
const float K1 = 0.366025404; // (sqrt(3)-1)/2;
|
||||||
|
const float K2 = 0.211324865; // (3-sqrt(3))/6;
|
||||||
|
|
||||||
|
vec2 i = floor(p + (p.x + p.y) * K1);
|
||||||
|
vec2 a = p - i + (i.x + i.y) * K2;
|
||||||
|
float m = step(a.y, a.x);
|
||||||
|
vec2 o = vec2(m, 1.0 - m);
|
||||||
|
vec2 b = a - o + K2;
|
||||||
|
vec2 c = a - 1.0 + 2.0 * K2;
|
||||||
|
vec3 h = max(0.5 - vec3(dot(a, a), dot(b, b), dot(c, c)), 0.0);
|
||||||
|
vec3 n = h * h * h * h *
|
||||||
|
vec3(dot(a, -1.0 + 2.0 * hash22(i + 0.0)), dot(b, -1.0 + 2.0 * hash22(i + o)),
|
||||||
|
dot(c, -1.0 + 2.0 * hash22(i + 1.0)));
|
||||||
|
return 0.5 + 0.5 * dot(n, vec3(70.0));
|
||||||
|
}
|
||||||
|
|
||||||
|
float simplex2DFractal(vec2 p) {
|
||||||
|
mat2 m = mat2(1.6, 1.2, -1.2, 1.6);
|
||||||
|
float f = 0.5000 * simplex2D(p);
|
||||||
|
p = m * p;
|
||||||
|
f += 0.2500 * simplex2D(p);
|
||||||
|
p = m * p;
|
||||||
|
f += 0.1250 * simplex2D(p);
|
||||||
|
p = m * p;
|
||||||
|
f += 0.0625 * simplex2D(p);
|
||||||
|
p = m * p;
|
||||||
|
|
||||||
|
return f;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3D Simplex Noise
|
||||||
|
// MIT License, https://www.shadertoy.com/view/XsX3zB
|
||||||
|
// Copyright © 2013 Nikita Miropolskiy
|
||||||
|
float simplex3D(vec3 p) {
|
||||||
|
|
||||||
|
// skew constants for 3D simplex functions
|
||||||
|
const float F3 = 0.3333333;
|
||||||
|
const float G3 = 0.1666667;
|
||||||
|
|
||||||
|
// 1. find current tetrahedron T and it's four vertices
|
||||||
|
// s, s+i1, s+i2, s+1.0 - absolute skewed (integer) coordinates of T vertices
|
||||||
|
// x, x1, x2, x3 - unskewed coordinates of p relative to each of T vertice
|
||||||
|
|
||||||
|
// calculate s and x
|
||||||
|
vec3 s = floor(p + dot(p, vec3(F3)));
|
||||||
|
vec3 x = p - s + dot(s, vec3(G3));
|
||||||
|
|
||||||
|
// calculate i1 and i2
|
||||||
|
vec3 e = step(vec3(0.0), x - x.yzx);
|
||||||
|
vec3 i1 = e * (1.0 - e.zxy);
|
||||||
|
vec3 i2 = 1.0 - e.zxy * (1.0 - e);
|
||||||
|
|
||||||
|
// x1, x2, x3
|
||||||
|
vec3 x1 = x - i1 + G3;
|
||||||
|
vec3 x2 = x - i2 + 2.0 * G3;
|
||||||
|
vec3 x3 = x - 1.0 + 3.0 * G3;
|
||||||
|
|
||||||
|
// 2. find four surflets and store them in d
|
||||||
|
vec4 w, d;
|
||||||
|
|
||||||
|
// calculate surflet weights
|
||||||
|
w.x = dot(x, x);
|
||||||
|
w.y = dot(x1, x1);
|
||||||
|
w.z = dot(x2, x2);
|
||||||
|
w.w = dot(x3, x3);
|
||||||
|
|
||||||
|
// w fades from 0.6 at the center of the surflet to 0.0 at the margin
|
||||||
|
w = max(0.6 - w, 0.0);
|
||||||
|
|
||||||
|
// calculate surflet components
|
||||||
|
d.x = dot(-0.5 + hash33(s), x);
|
||||||
|
d.y = dot(-0.5 + hash33(s + i1), x1);
|
||||||
|
d.z = dot(-0.5 + hash33(s + i2), x2);
|
||||||
|
d.w = dot(-0.5 + hash33(s + 1.0), x3);
|
||||||
|
|
||||||
|
// multiply d by w^4
|
||||||
|
w *= w;
|
||||||
|
w *= w;
|
||||||
|
d *= w;
|
||||||
|
|
||||||
|
// 3. return the sum of the four surflets
|
||||||
|
return dot(d, vec4(52.0)) * 0.5 + 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Directional artifacts can be reduced by rotating each octave
|
||||||
|
float simplex3DFractal(vec3 m) {
|
||||||
|
|
||||||
|
// const matrices for 3D rotation
|
||||||
|
const mat3 rot1 = mat3(-0.37, 0.36, 0.85, -0.14, -0.93, 0.34, 0.92, 0.01, 0.4);
|
||||||
|
const mat3 rot2 = mat3(-0.55, -0.39, 0.74, 0.33, -0.91, -0.24, 0.77, 0.12, 0.63);
|
||||||
|
const mat3 rot3 = mat3(-0.71, 0.52, -0.47, -0.08, -0.72, -0.68, -0.7, -0.45, 0.56);
|
||||||
|
|
||||||
|
return 0.5333333 * simplex3D(m * rot1) + 0.2666667 * simplex3D(2.0 * m * rot2) +
|
||||||
|
0.1333333 * simplex3D(4.0 * m * rot3) + 0.0666667 * simplex3D(8.0 * m);
|
||||||
|
}
|
||||||
@@ -0,0 +1,94 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// ) ( //
|
||||||
|
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||||
|
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||||
|
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||||
|
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||||
|
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||||
|
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||||
|
// |__/ //
|
||||||
|
// Copyright (c) 2021 Simon Schneegans //
|
||||||
|
// Released under the GPLv3 or later. See LICENSE file for details. //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// The content from common.glsl is automatically prepended to each shader effect.
|
||||||
|
|
||||||
|
uniform vec3 uColor;
|
||||||
|
uniform float uScale;
|
||||||
|
|
||||||
|
const float FADE_IN_TIME = 0.3;
|
||||||
|
const float FADE_OUT_TIME = 0.6;
|
||||||
|
const float HEART_FADE_TIME = 0.3;
|
||||||
|
const float EDGE_FADE_WIDTH = 50.0;
|
||||||
|
|
||||||
|
// This method returns two values:
|
||||||
|
// result.x: A mask for the particles.
|
||||||
|
// result.y: The opacity of the fading window.
|
||||||
|
vec2 getMasks(float progress) {
|
||||||
|
float fadeInProgress = clamp(progress / FADE_IN_TIME, 0.0, 1.0);
|
||||||
|
float fadeOutProgress = clamp((progress - FADE_IN_TIME) / FADE_OUT_TIME, 0.0, 1.0);
|
||||||
|
float heartProgress =
|
||||||
|
clamp((progress - (1.0 - HEART_FADE_TIME)) / HEART_FADE_TIME, 0.0, 1.0);
|
||||||
|
|
||||||
|
// Compute mask for the "atom" particles.
|
||||||
|
float dist = length(iTexCoord.st - 0.5) * 4.0;
|
||||||
|
float atomMask = smoothstep(0.0, 1.0, (fadeInProgress * 2.0 - dist + 1.0));
|
||||||
|
atomMask *= fadeInProgress;
|
||||||
|
atomMask *= smoothstep(1.0, 0.0, fadeOutProgress);
|
||||||
|
|
||||||
|
// Fade-out the masks at the window edges.
|
||||||
|
float edgeFade = getAbsoluteEdgeMask(EDGE_FADE_WIDTH, 0.5);
|
||||||
|
atomMask *= edgeFade;
|
||||||
|
|
||||||
|
float heartMask = getRelativeEdgeMask(0.5);
|
||||||
|
heartMask = 3.0 * pow(heartMask, 5.0);
|
||||||
|
heartMask *= fadeOutProgress;
|
||||||
|
heartMask *= 1.0 - heartProgress;
|
||||||
|
atomMask = clamp(heartMask + atomMask, 0.0, 1.0);
|
||||||
|
|
||||||
|
// Compute fading window opacity.
|
||||||
|
float windowMask = pow(1.0 - fadeOutProgress, 2.0);
|
||||||
|
|
||||||
|
if (uForOpening) {
|
||||||
|
windowMask = 1.0 - windowMask;
|
||||||
|
}
|
||||||
|
|
||||||
|
return vec2(atomMask, windowMask);
|
||||||
|
}
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
float progress = easeOutQuad(uProgress);
|
||||||
|
|
||||||
|
vec2 masks = getMasks(progress);
|
||||||
|
vec4 oColor = getInputColor(iTexCoord.st);
|
||||||
|
|
||||||
|
// Dissolve window to effect color / transparency.
|
||||||
|
oColor.rgb = mix(uColor, oColor.rgb, 0.2 * masks.y + 0.8);
|
||||||
|
oColor.a = oColor.a * masks.y;
|
||||||
|
|
||||||
|
vec2 scaledUV = (iTexCoord.st - 0.5) * (1.0 + 0.1 * progress);
|
||||||
|
scaledUV /= uScale;
|
||||||
|
|
||||||
|
// Add molecule particles.
|
||||||
|
vec2 uv = scaledUV + vec2(0.0, 0.1 * uProgress * uDuration);
|
||||||
|
uv *= 0.010598 * vec2(0.5 * uSize.x, uSize.y);
|
||||||
|
float particles = 0.2 * pow((simplex3D(vec3(uv, 0.0 * uProgress * uDuration))), 3.0);
|
||||||
|
|
||||||
|
// Add more molecule particles.
|
||||||
|
for (float i = 1.0; i <= 3.0; ++i) {
|
||||||
|
vec2 uv = scaledUV * 0.12154 / pow(1.5, i) * uSize;
|
||||||
|
float atoms = simplex3D(vec3(uv, 2.0 * uProgress * uDuration / i));
|
||||||
|
particles += 0.5 * pow(0.2 * (1.0 / (1.0 - atoms) - 1.0), 2.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
oColor.rgb += uColor * particles * masks.x;
|
||||||
|
oColor.a += particles * masks.x;
|
||||||
|
|
||||||
|
// These are pretty useful for understanding how this works.
|
||||||
|
// oColor = vec4(masks, 0.0, 1.0);
|
||||||
|
// oColor = vec4(vec3(masks.x), 1.0);
|
||||||
|
// oColor = vec4(vec3(masks.y), 1.0);
|
||||||
|
// oColor = vec4(vec3(particles), 1.0);
|
||||||
|
|
||||||
|
setOutputColor(oColor);
|
||||||
|
}
|
||||||
@@ -0,0 +1,118 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// ) ( //
|
||||||
|
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||||
|
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||||
|
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||||
|
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||||
|
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||||
|
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||||
|
// |__/ //
|
||||||
|
// Copyright (c) 2021 Simon Schneegans //
|
||||||
|
// Released under the GPLv3 or later. See LICENSE file for details. //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// The content from common.glsl is automatically prepended to each shader effect.
|
||||||
|
|
||||||
|
uniform vec3 uColor;
|
||||||
|
uniform float uScale;
|
||||||
|
|
||||||
|
const float SHOWER_TIME = 0.3;
|
||||||
|
const float SHOWER_WIDTH = 0.3;
|
||||||
|
const float STREAK_TIME = 0.6;
|
||||||
|
const float EDGE_FADE = 50.0;
|
||||||
|
|
||||||
|
// This method returns four values:
|
||||||
|
// result.x: A mask for the particles which lead the shower.
|
||||||
|
// result.y: A mask for the streaks which follow the shower particles.
|
||||||
|
// result.z: A mask for the final "atom" particles.
|
||||||
|
// result.w: The opacity of the fading window.
|
||||||
|
vec4 getMasks(float progress) {
|
||||||
|
float showerProgress = progress / SHOWER_TIME;
|
||||||
|
float streakProgress = clamp((progress - SHOWER_TIME) / STREAK_TIME, 0.0, 1.0);
|
||||||
|
float fadeProgress = clamp((progress - SHOWER_TIME) / (1.0 - SHOWER_TIME), 0.0, 1.0);
|
||||||
|
|
||||||
|
// Gradient from top to bottom.
|
||||||
|
float t = iTexCoord.t;
|
||||||
|
|
||||||
|
// A smooth gradient which moves to the bottom within the showerProgress.
|
||||||
|
float showerMask =
|
||||||
|
smoothstep(1.0, 0.0, abs(showerProgress - t - SHOWER_WIDTH) / SHOWER_WIDTH);
|
||||||
|
|
||||||
|
// This is 1 above the streak mask.
|
||||||
|
float streakMask = (showerProgress - t - SHOWER_WIDTH) > 0.0 ? 1.0 : 0.0;
|
||||||
|
|
||||||
|
// Compute mask for the "atom" particles.
|
||||||
|
float atomMask = getRelativeEdgeMask(0.2);
|
||||||
|
atomMask = max(0.0, atomMask - showerMask);
|
||||||
|
atomMask *= streakMask;
|
||||||
|
atomMask *= sqrt(1.0 - fadeProgress * fadeProgress);
|
||||||
|
|
||||||
|
// Make some particles visible in the streaks.
|
||||||
|
showerMask += 0.05 * streakMask;
|
||||||
|
|
||||||
|
// Add shower mask to streak mask.
|
||||||
|
streakMask = max(streakMask, showerMask);
|
||||||
|
|
||||||
|
// Fade-out the masks at the window edges.
|
||||||
|
float edgeFade = getAbsoluteEdgeMask(EDGE_FADE, 0.5);
|
||||||
|
streakMask *= edgeFade;
|
||||||
|
showerMask *= edgeFade;
|
||||||
|
|
||||||
|
// Fade-out the masks from top to bottom.
|
||||||
|
float fade = smoothstep(0.0, 1.0, 1.0 + t - 2.0 * streakProgress);
|
||||||
|
streakMask *= fade;
|
||||||
|
showerMask *= fade;
|
||||||
|
|
||||||
|
// Compute fading window opacity.
|
||||||
|
float windowMask = pow(1.0 - fadeProgress, 2.0);
|
||||||
|
|
||||||
|
if (uForOpening) {
|
||||||
|
windowMask = 1.0 - windowMask;
|
||||||
|
}
|
||||||
|
|
||||||
|
return vec4(showerMask, streakMask, atomMask, windowMask);
|
||||||
|
}
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
float progress = easeOutQuad(uProgress);
|
||||||
|
|
||||||
|
vec4 masks = getMasks(progress);
|
||||||
|
vec4 oColor = getInputColor(iTexCoord.st);
|
||||||
|
|
||||||
|
// Dissolve window to effect color / transparency.
|
||||||
|
oColor.rgb = mix(uColor, oColor.rgb, 0.5 * masks.w + 0.5);
|
||||||
|
oColor.a = oColor.a * masks.w;
|
||||||
|
|
||||||
|
// Add leading shower particles.
|
||||||
|
vec2 showerUV = iTexCoord.st + vec2(0.0, -0.7 * progress / SHOWER_TIME);
|
||||||
|
showerUV *= 0.02 * uSize / uScale;
|
||||||
|
float shower = pow(simplex2D(showerUV), 10.0);
|
||||||
|
oColor.rgb += uColor * shower * masks.x;
|
||||||
|
oColor.a += shower * masks.x;
|
||||||
|
|
||||||
|
// Add trailing streak lines.
|
||||||
|
vec2 streakUV = iTexCoord.st + vec2(0.0, -progress / SHOWER_TIME);
|
||||||
|
streakUV *= vec2(0.05 * uSize.x, 0.001 * uSize.y) / uScale;
|
||||||
|
float streaks = simplex2DFractal(streakUV) * 0.5;
|
||||||
|
oColor.rgb += uColor * streaks * masks.y;
|
||||||
|
oColor.a += streaks * masks.y;
|
||||||
|
|
||||||
|
// Add glimmering atoms.
|
||||||
|
vec2 atomUV = iTexCoord.st + vec2(0.0, -0.025 * progress / SHOWER_TIME);
|
||||||
|
atomUV *= 0.2 * uSize / uScale;
|
||||||
|
float atoms = pow((simplex3D(vec3(atomUV, uProgress * uDuration))), 5.0);
|
||||||
|
oColor.rgb += uColor * atoms * masks.z;
|
||||||
|
oColor.a += atoms * masks.z;
|
||||||
|
|
||||||
|
// These are pretty useful for understanding how this works.
|
||||||
|
// oColor = vec4(masks.rgb, 1.0);
|
||||||
|
// oColor = vec4(vec3(masks.x), 1.0);
|
||||||
|
// oColor = vec4(vec3(masks.y), 1.0);
|
||||||
|
// oColor = vec4(vec3(masks.z), 1.0);
|
||||||
|
// oColor = vec4(vec3(masks.w), 1.0);
|
||||||
|
// oColor = vec4(vec3(shower), 1.0);
|
||||||
|
// oColor = vec4(vec3(streaks), 1.0);
|
||||||
|
// oColor = vec4(vec3(atoms), 1.0);
|
||||||
|
|
||||||
|
setOutputColor(oColor);
|
||||||
|
}
|
||||||
@@ -0,0 +1,133 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// ) ( //
|
||||||
|
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||||
|
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||||
|
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||||
|
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||||
|
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||||
|
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||||
|
// |__/ //
|
||||||
|
// Copyright (c) 2021 Simon Schneegans //
|
||||||
|
// Released under the GPLv3 or later. See LICENSE file for details. //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// The content from common.glsl is automatically prepended to each shader effect.
|
||||||
|
|
||||||
|
uniform bool u3DNoise;
|
||||||
|
uniform float uScale;
|
||||||
|
uniform float uMovementSpeed;
|
||||||
|
uniform vec4 uGradient1;
|
||||||
|
uniform vec4 uGradient2;
|
||||||
|
uniform vec4 uGradient3;
|
||||||
|
uniform vec4 uGradient4;
|
||||||
|
uniform vec4 uGradient5;
|
||||||
|
|
||||||
|
// These may be configurable in the future.
|
||||||
|
const float EDGE_FADE = 70.0;
|
||||||
|
const float FADE_WIDTH = 0.1;
|
||||||
|
const float HIDE_TIME = 0.4;
|
||||||
|
|
||||||
|
// This maps the input value from [0..1] to a color from the gradient.
|
||||||
|
vec4 getFireColor(float v) {
|
||||||
|
float steps[5];
|
||||||
|
steps[0] = 0.0;
|
||||||
|
steps[1] = 0.2;
|
||||||
|
steps[2] = 0.35;
|
||||||
|
steps[3] = 0.5;
|
||||||
|
steps[4] = 0.8;
|
||||||
|
|
||||||
|
vec4 colors[5];
|
||||||
|
colors[0] = uGradient1;
|
||||||
|
colors[1] = uGradient2;
|
||||||
|
colors[2] = uGradient3;
|
||||||
|
colors[3] = uGradient4;
|
||||||
|
colors[4] = uGradient5;
|
||||||
|
|
||||||
|
if (v < steps[0]) {
|
||||||
|
return colors[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < 4; ++i) {
|
||||||
|
if (v <= steps[i + 1]) {
|
||||||
|
return mix(colors[i], colors[i + 1],
|
||||||
|
vec4(v - steps[i]) / (steps[i + 1] - steps[i]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return colors[4];
|
||||||
|
}
|
||||||
|
|
||||||
|
// This method requires the uniforms from standardUniforms() to be available.
|
||||||
|
// It returns two values: The first is an alpha value which can be used for the window
|
||||||
|
// texture. This gradually dissolves the window from top to bottom. The second can be used
|
||||||
|
// to mask any effect, it will be most opaque where the window is currently fading and
|
||||||
|
// gradually dissolve to zero over time.
|
||||||
|
// hideTime: A value in [0..1]. It determines the percentage of the animation which
|
||||||
|
// is spent for hiding the window. 1-hideTime will be spent thereafter for
|
||||||
|
// dissolving the effect mask.
|
||||||
|
// fadeWidth: The relative size of the window-hiding gradient in [0..1].
|
||||||
|
// edgeFadeWidth: The pixel width of the effect fading range at the edges of the window.
|
||||||
|
vec2 effectMask(float hideTime, float fadeWidth, float edgeFadeWidth) {
|
||||||
|
float progress = easeOutQuad(uProgress);
|
||||||
|
|
||||||
|
float burnProgress = clamp(progress / hideTime, 0.0, 1.0);
|
||||||
|
float afterBurnProgress = clamp((progress - hideTime) / (1.0 - hideTime), 0.0, 1.0);
|
||||||
|
|
||||||
|
// Gradient from top to bottom.
|
||||||
|
float t = iTexCoord.t * (1.0 - fadeWidth);
|
||||||
|
|
||||||
|
// Visible part of the window. Gradually dissolves towards the bottom.
|
||||||
|
float windowMask = 1.0 - clamp((burnProgress - t) / fadeWidth, 0.0, 1.0);
|
||||||
|
|
||||||
|
// Gradient from top burning window.
|
||||||
|
float effectMask = clamp(t * (1.0 - windowMask) / burnProgress, 0.0, 1.0);
|
||||||
|
|
||||||
|
// Fade-out when the window burned down.
|
||||||
|
if (progress > hideTime) {
|
||||||
|
float fade = sqrt(1.0 - afterBurnProgress * afterBurnProgress);
|
||||||
|
effectMask *= mix(1.0, 1.0 - t, afterBurnProgress) * fade;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fade at window borders.
|
||||||
|
effectMask *= getAbsoluteEdgeMask(edgeFadeWidth, 0.5);
|
||||||
|
|
||||||
|
if (uForOpening) {
|
||||||
|
windowMask = 1.0 - windowMask;
|
||||||
|
}
|
||||||
|
|
||||||
|
return vec2(windowMask, effectMask);
|
||||||
|
}
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
// Get a noise value which moves vertically in time.
|
||||||
|
vec2 uv = iTexCoord.st * uSize / vec2(400, 600) / uScale;
|
||||||
|
uv.y += uProgress * uDuration * uMovementSpeed;
|
||||||
|
|
||||||
|
float noise =
|
||||||
|
u3DNoise
|
||||||
|
? simplex3DFractal(vec3(uv * 4.0, uProgress * uDuration * uMovementSpeed * 1.5))
|
||||||
|
: simplex2DFractal(uv * 4.0);
|
||||||
|
|
||||||
|
// Modulate noise by effect mask.
|
||||||
|
vec2 effectMask = effectMask(HIDE_TIME, FADE_WIDTH, EDGE_FADE);
|
||||||
|
noise *= effectMask.y;
|
||||||
|
|
||||||
|
// Map noise value to color.
|
||||||
|
vec4 fire = getFireColor(noise);
|
||||||
|
|
||||||
|
// Get the window texture.
|
||||||
|
vec4 oColor = getInputColor(iTexCoord.st);
|
||||||
|
|
||||||
|
// Fade the window according to the effect mask.
|
||||||
|
oColor.a *= effectMask.x;
|
||||||
|
|
||||||
|
// Add the fire to the window.
|
||||||
|
oColor = alphaOver(oColor, fire);
|
||||||
|
|
||||||
|
// These are pretty useful for understanding how this works.
|
||||||
|
// oColor = vec4(vec3(noise), 1);
|
||||||
|
// oColor = vec4(vec3(effectMask.x), 1);
|
||||||
|
// oColor = vec4(vec3(effectMask.y), 1);
|
||||||
|
|
||||||
|
setOutputColor(oColor);
|
||||||
|
}
|
||||||
@@ -0,0 +1,120 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// ) ( //
|
||||||
|
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||||
|
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||||
|
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||||
|
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||||
|
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||||
|
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||||
|
// |__/ //
|
||||||
|
// Copyright (c) 2021 Simon Schneegans //
|
||||||
|
// Released under the GPLv3 or later. See LICENSE file for details. //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// The content from common.glsl is automatically prepended to each shader effect.
|
||||||
|
|
||||||
|
uniform bool uAdditiveBlending;
|
||||||
|
uniform vec2 uSeed;
|
||||||
|
uniform float uScale;
|
||||||
|
uniform float uLineWidth;
|
||||||
|
uniform vec4 uGlowColor;
|
||||||
|
uniform vec4 uLineColor;
|
||||||
|
|
||||||
|
// This method generates a procedural hexagonal pattern. It returns four values:
|
||||||
|
// result.xy: This contains cell-relative coordinates for the given point.
|
||||||
|
// [0, 0] is in the center of a cell, [0, 1] at the upper edge,
|
||||||
|
// [sqrt(4.0 / 3.0), 0] at the right tip and so on.
|
||||||
|
// result.z: This is the distance to the closest edge. This is used for shrinking
|
||||||
|
// of the tiles and the sharp overlay lines.
|
||||||
|
// result.w: This is the distance to the closest cell center. This is used for
|
||||||
|
// the glow effect.
|
||||||
|
vec4 getHexagons(vec2 p) {
|
||||||
|
|
||||||
|
// Length of a cell's edge.
|
||||||
|
float edgeLength = sqrt(4.0 / 3.0);
|
||||||
|
|
||||||
|
// The hexgrid repeats after this distance.
|
||||||
|
vec2 scale = vec2(3.0 * edgeLength, 2.0);
|
||||||
|
|
||||||
|
// This is a repeating grid of scale-sized cells. Y-values are in the
|
||||||
|
// interval [-1...1], X-value in [-1.5*edgeLength...1.5*edgeLength].
|
||||||
|
vec2 a = mod(p, scale) - scale * 0.5;
|
||||||
|
vec2 aAbs = abs(a);
|
||||||
|
|
||||||
|
// This is the same as above, but offset by half scale.
|
||||||
|
vec2 b = mod(p + scale * 0.5, scale) - scale * 0.5;
|
||||||
|
vec2 bAbs = abs(b);
|
||||||
|
|
||||||
|
// Distance to closer edge, diagonally or horizontally.
|
||||||
|
// Once for cell set A and once for cell set B.
|
||||||
|
float distA = max(aAbs.x / edgeLength + aAbs.y * 0.5, aAbs.y);
|
||||||
|
float distB = max(bAbs.x / edgeLength + bAbs.y * 0.5, bAbs.y);
|
||||||
|
|
||||||
|
// Minimum of both is distance to closest edge.
|
||||||
|
float dist = 1.0 - min(distA, distB);
|
||||||
|
|
||||||
|
// We use the radial distance to the center for glow.
|
||||||
|
float glow = min(dot(a, a), dot(b, b)) / 1.5;
|
||||||
|
|
||||||
|
// Take cell-relative coordinates from the closer cell.
|
||||||
|
vec2 cellCoords = distA < distB ? a : b;
|
||||||
|
|
||||||
|
return vec4(cellCoords, dist, glow);
|
||||||
|
}
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
// We simply inverse the progress for opening windows.
|
||||||
|
float progress = uForOpening ? 1.0 - uProgress : uProgress;
|
||||||
|
|
||||||
|
// Add some smooth noise to the progress so that not every tile behaves the
|
||||||
|
// same.
|
||||||
|
float noise = simplex2D(iTexCoord.st + uSeed);
|
||||||
|
progress = clamp(mix(noise - 1.0, noise + 1.0, progress), 0.0, 1.0);
|
||||||
|
|
||||||
|
// glowProgress fades in in the first half of the animation, tileProgress fades
|
||||||
|
// in in the second half.
|
||||||
|
float glowProgress = smoothstep(0.0, 1.0, clamp(progress / 0.5, 0.0, 1.0));
|
||||||
|
float tileProgress = smoothstep(0.0, 1.0, clamp((progress - 0.5) / 0.5, 0.0, 1.0));
|
||||||
|
|
||||||
|
vec2 texScale = 0.1 * uSize / uScale;
|
||||||
|
vec4 hex = getHexagons(iTexCoord.st * texScale);
|
||||||
|
|
||||||
|
vec4 oColor = vec4(0.0);
|
||||||
|
|
||||||
|
// Crop outer parts of the shrinking tiles.
|
||||||
|
if (tileProgress < hex.z) {
|
||||||
|
|
||||||
|
// Make the tiles shrink by offsetting the texture lookup towards the edge
|
||||||
|
// of the cell.
|
||||||
|
vec2 lookupOffset = tileProgress * hex.xy / texScale / (1.0 - tileProgress);
|
||||||
|
oColor = getInputColor(iTexCoord.st + lookupOffset);
|
||||||
|
|
||||||
|
vec4 glow = uGlowColor;
|
||||||
|
vec4 line = uLineColor;
|
||||||
|
|
||||||
|
// For the glow, we accumulate a few exponentially scaled versions of hex.w.
|
||||||
|
glow.a *= pow(hex.w, 20.0) * 10.0 + pow(hex.w, 10.0) * 5.0 + pow(hex.w, 2.0) * 0.5;
|
||||||
|
|
||||||
|
// Using step(uLineWidth, hex.z) would be simpler, but the below creates some
|
||||||
|
// fake antialiasing.
|
||||||
|
line.a *= 1.0 - smoothstep(uLineWidth * 0.02 * 0.5, uLineWidth * 0.02, hex.z);
|
||||||
|
|
||||||
|
// Fade in the glowing lines.
|
||||||
|
glow.a *= glowProgress;
|
||||||
|
line.a *= glowProgress;
|
||||||
|
|
||||||
|
// Do not add the hexagon lines onto transparent parts of the window.
|
||||||
|
glow *= oColor.a;
|
||||||
|
line *= oColor.a;
|
||||||
|
|
||||||
|
if (uAdditiveBlending) {
|
||||||
|
oColor.rgb += glow.rgb * glow.a;
|
||||||
|
oColor.rgb += line.rgb * line.a;
|
||||||
|
} else {
|
||||||
|
oColor.rgb = mix(oColor.rgb, glow.rgb, glow.a);
|
||||||
|
oColor.rgb = mix(oColor.rgb, line.rgb, line.a);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setOutputColor(oColor);
|
||||||
|
}
|
||||||
@@ -0,0 +1,158 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// ) ( //
|
||||||
|
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||||
|
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||||
|
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||||
|
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||||
|
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||||
|
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||||
|
// |__/ //
|
||||||
|
// Copyright (c) 2021 Simon Schneegans //
|
||||||
|
// Released under the GPLv3 or later. See LICENSE file for details. //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// The content from common.glsl is automatically prepended to each shader effect.
|
||||||
|
|
||||||
|
uniform vec2 uSeed;
|
||||||
|
uniform vec3 uColor;
|
||||||
|
uniform float uScale;
|
||||||
|
uniform float uTurbulence;
|
||||||
|
|
||||||
|
// This maps a given value in [0..1] to a color from the rgba color ramp
|
||||||
|
// [transparent black ... semi-transparent uColor ... opaque white].
|
||||||
|
vec4 getFireColor(float val) {
|
||||||
|
return vec4(tritone(val, vec3(0.0), uColor, vec3(1.0)), val);
|
||||||
|
}
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
|
||||||
|
// The burning fire edge is composed of multiple regions. The width of all regions is
|
||||||
|
// defined below. If a window is closed and the burning direction happens to be from top
|
||||||
|
// to bottom, the different zones are arragned like this:
|
||||||
|
//
|
||||||
|
// . . . . ^
|
||||||
|
// . : .: . | smokeRange: In this zone, smoke and little ember
|
||||||
|
// . : : .. : : . | particles are drawn.
|
||||||
|
// : . .:.: .: :.. |
|
||||||
|
// ...:: ..: :: : . .. |
|
||||||
|
// :: ) .. : : ..: : . | ^
|
||||||
|
// ( /( ( ( . .::. | | flameRange: Flames are drawn in this zone.
|
||||||
|
// )\()) ))\ )( . ( . | |
|
||||||
|
// ((_)\ /((_|()\ )\ ) | | ^
|
||||||
|
// | |(_|_))( ((_)_(_/( v v | burnRange: In
|
||||||
|
// ///////////////////// <- hideThreshold: From here on, | this zone, a
|
||||||
|
// | / / / / / / / / / | ^ the window is hidden. | firery edge is
|
||||||
|
// | / / / / / / | | v drawn.
|
||||||
|
// | / / / / / | v scorchRange: The window becomes
|
||||||
|
// | | brownish and a subtle
|
||||||
|
// | | heat distortion effect
|
||||||
|
// | | kicks in.
|
||||||
|
// | |
|
||||||
|
// \___________________/
|
||||||
|
//
|
||||||
|
// If a window is opened, the window texture is visible on the other side of the
|
||||||
|
// hideThreshold and the scorchRange is also flipped to the other side (so it is drawn
|
||||||
|
// below the flames and the smoke).
|
||||||
|
|
||||||
|
// All widths depend on the configured scale of the effect.
|
||||||
|
float SCORCH_WIDTH = 0.2 * uScale;
|
||||||
|
float BURN_WIDTH = 0.03 * uScale;
|
||||||
|
float SMOKE_WIDTH = 0.9 * uScale;
|
||||||
|
float FLAME_WIDTH = 0.2 * uScale;
|
||||||
|
|
||||||
|
// During the animation, the hideThreshold transitions from a small value to a larger
|
||||||
|
// value, so that all the above ranges are covered.
|
||||||
|
float hideThreshold =
|
||||||
|
mix(uForOpening ? 0.0 : -SCORCH_WIDTH, 1.0 + SMOKE_WIDTH, uProgress);
|
||||||
|
|
||||||
|
// The individual ranges are now given by the current hideThreshold and the widths of
|
||||||
|
// the zones.
|
||||||
|
vec2 scorchRange = uForOpening ? vec2(hideThreshold - SCORCH_WIDTH, hideThreshold)
|
||||||
|
: vec2(hideThreshold, hideThreshold + SCORCH_WIDTH);
|
||||||
|
vec2 burnRange = vec2(hideThreshold - BURN_WIDTH, hideThreshold + BURN_WIDTH);
|
||||||
|
vec2 flameRange = vec2(hideThreshold - FLAME_WIDTH, hideThreshold);
|
||||||
|
vec2 smokeRange = vec2(hideThreshold - SMOKE_WIDTH, hideThreshold);
|
||||||
|
|
||||||
|
// Now we compute a 2D gradient in [0..1] which covers the entire window. The dark
|
||||||
|
// regions will be burned first, the bright regions in the end. We mix a radial gradient
|
||||||
|
// with some noise. The center of the radial gradient is positioned somewhere at the
|
||||||
|
// window boundary.
|
||||||
|
vec2 center = uSeed.x > uSeed.y ? vec2(uSeed.x, floor(uSeed.y + 0.5))
|
||||||
|
: vec2(floor(uSeed.x + 0.5), uSeed.y);
|
||||||
|
float circle = length(iTexCoord - center);
|
||||||
|
|
||||||
|
vec2 uv = iTexCoord / uScale * uSize / 1.5;
|
||||||
|
float smokeNoise =
|
||||||
|
simplex2DFractal(uv * 0.01 + uSeed + uProgress * vec2(0.0, 0.3 * uDuration));
|
||||||
|
|
||||||
|
float gradient =
|
||||||
|
mix(circle, smokeNoise, 200.0 * uTurbulence * uScale / max(uSize.x, uSize.y));
|
||||||
|
|
||||||
|
// Now, based on the gradient and the ranges, we can compute masks for the individual
|
||||||
|
// zones.
|
||||||
|
float smokeMask = smoothstep(0.0, 1.0, (gradient - smokeRange.x) / SMOKE_WIDTH) *
|
||||||
|
getAbsoluteEdgeMask(100.0, 0.3);
|
||||||
|
float flameMask = smoothstep(0.0, 1.0, (gradient - flameRange.x) / FLAME_WIDTH) *
|
||||||
|
getAbsoluteEdgeMask(20.0, 0.0);
|
||||||
|
float fireMask = smoothstep(1.0, 0.0, abs(gradient - hideThreshold) / BURN_WIDTH);
|
||||||
|
float scorchMask = smoothstep(1.0, 0.0, (gradient - scorchRange.x) / SCORCH_WIDTH);
|
||||||
|
|
||||||
|
if (uForOpening) {
|
||||||
|
scorchMask = 1.0 - scorchMask;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Now we retrieve the window color. We only show the window when the burning edge has
|
||||||
|
// passed.
|
||||||
|
vec4 oColor = vec4(0.0);
|
||||||
|
|
||||||
|
if ((!uForOpening && gradient > hideThreshold) ||
|
||||||
|
(uForOpening && gradient < hideThreshold)) {
|
||||||
|
|
||||||
|
// We add some distortion in the scorch zone
|
||||||
|
vec2 distort = vec2(0.0);
|
||||||
|
|
||||||
|
if (scorchRange.x < gradient && gradient < scorchRange.y) {
|
||||||
|
distort = vec2(dFdx(gradient), dFdy(gradient)) * scorchMask * 5.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
oColor = getInputColor(iTexCoord + distort);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add smoke and embers.
|
||||||
|
if (smokeRange.x < gradient && gradient < smokeRange.y) {
|
||||||
|
float smoke = smokeMask * smokeNoise;
|
||||||
|
oColor = alphaOver(oColor, vec4(0.5 * vec3(smoke), smoke));
|
||||||
|
|
||||||
|
float emberNoise = simplex2DFractal(
|
||||||
|
uv * 0.05 + uSeed - smokeNoise * vec2(0.0, 0.3 * smokeMask * uDuration));
|
||||||
|
float embers = clamp(pow(emberNoise + 0.3, 100.0), 0.0, 2.0) * smoke;
|
||||||
|
oColor += getFireColor(embers);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add scorch effect.
|
||||||
|
if (scorchRange.x < gradient && gradient < scorchRange.y) {
|
||||||
|
oColor.rgb = mix(oColor.rgb, mix(oColor.rgb, vec3(0.1, 0.05, 0.02), 0.4), scorchMask);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add trailing flames.
|
||||||
|
if (min(burnRange.x, flameRange.x) < gradient &&
|
||||||
|
gradient < max(burnRange.y, flameRange.y)) {
|
||||||
|
float flameNoise =
|
||||||
|
simplex2DFractal(uv * 0.02 + uSeed + smokeNoise * vec2(0.0, 1.0 * uDuration) +
|
||||||
|
vec2(0.0, uProgress * uDuration));
|
||||||
|
|
||||||
|
if (flameRange.x < gradient && gradient < flameRange.y) {
|
||||||
|
float flame = clamp(pow(flameNoise + 0.3, 20.0), 0.0, 2.0) * flameMask;
|
||||||
|
flame += clamp(pow(flameNoise + 0.4, 10.0), 0.0, 2.0) * flameMask * flameMask * 0.1;
|
||||||
|
oColor += getFireColor(flame);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add burning edge.
|
||||||
|
if (burnRange.x < gradient && gradient < burnRange.y) {
|
||||||
|
float fire = fireMask * pow(flameNoise + 0.4, 4.0) * oColor.a;
|
||||||
|
oColor += getFireColor(fire);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setOutputColor(oColor);
|
||||||
|
}
|
||||||
@@ -0,0 +1,108 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// ) ( //
|
||||||
|
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||||
|
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||||
|
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||||
|
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||||
|
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||||
|
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||||
|
// |__/ //
|
||||||
|
// Copyright (c) 2021 Simon Schneegans //
|
||||||
|
// Released under the GPLv3 or later. See LICENSE file for details. //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// The content from common.glsl is automatically prepended to each shader effect.
|
||||||
|
|
||||||
|
uniform sampler2D uFontTexture;
|
||||||
|
uniform vec3 uTrailColor;
|
||||||
|
uniform vec3 uTipColor;
|
||||||
|
uniform float uLetterSize;
|
||||||
|
uniform float uRandomness;
|
||||||
|
uniform float uOverShoot;
|
||||||
|
|
||||||
|
// These may be configurable in the future.
|
||||||
|
const float EDGE_FADE = 30.0;
|
||||||
|
const float FADE_WIDTH = 150.0;
|
||||||
|
const float TRAIL_LENGTH = 0.2;
|
||||||
|
const float FINAL_FADE_START_TIME = 0.8;
|
||||||
|
const float LETTER_TILES = 16.0;
|
||||||
|
const float LETTER_FLICKER_SPEED = 2.0;
|
||||||
|
|
||||||
|
// This returns a flickering grid of random letters.
|
||||||
|
float getText(vec2 fragCoord) {
|
||||||
|
vec2 pixelCoords = fragCoord * uSize;
|
||||||
|
vec2 uv = mod(pixelCoords.xy, uLetterSize) / uLetterSize;
|
||||||
|
vec2 block = pixelCoords / uLetterSize - uv;
|
||||||
|
|
||||||
|
// Choose random letter.
|
||||||
|
uv += floor(hash22(floor(hash22(block) * vec2(12.9898, 78.233) +
|
||||||
|
LETTER_FLICKER_SPEED * uProgress * uDuration + 42.254)) *
|
||||||
|
LETTER_TILES);
|
||||||
|
|
||||||
|
return texture2D(uFontTexture, uv / LETTER_TILES).r;
|
||||||
|
}
|
||||||
|
|
||||||
|
// This returns two values: The first are gradients for the "raindrops" which move
|
||||||
|
// from top to bottom. This is used for fading the letters. The second value is set
|
||||||
|
// to one below each drop and to zero above it. This second value is used for fading
|
||||||
|
// the window texture.
|
||||||
|
vec2 getRain(vec2 fragCoord) {
|
||||||
|
float column = iTexCoord.x * uSize.x;
|
||||||
|
column -= mod(column, uLetterSize);
|
||||||
|
|
||||||
|
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 rainAlpha = distToDrop >= 0.0 ? exp(-distToDrop / TRAIL_LENGTH) : 0.0;
|
||||||
|
float windowAlpha = 1.0 - clamp(uSize.y * distToDrop, 0.0, FADE_WIDTH) / FADE_WIDTH;
|
||||||
|
|
||||||
|
// Fade at window borders.
|
||||||
|
rainAlpha *= getAbsoluteEdgeMask(EDGE_FADE, 0.5);
|
||||||
|
|
||||||
|
// Add some variation to the drop start and end position.
|
||||||
|
float shorten =
|
||||||
|
fract(sin(column + 42.0) * 33.423) * mix(0.0, uOverShoot * 0.25, uRandomness);
|
||||||
|
rainAlpha *= smoothstep(0.0, 1.0, clamp(iTexCoord.y / shorten, 0.0, 1.0));
|
||||||
|
rainAlpha *= smoothstep(0.0, 1.0, clamp((1.0 - iTexCoord.y) / shorten, 0.0, 1.0));
|
||||||
|
|
||||||
|
if (uForOpening) {
|
||||||
|
windowAlpha = 1.0 - windowAlpha;
|
||||||
|
}
|
||||||
|
|
||||||
|
return vec2(rainAlpha, windowAlpha);
|
||||||
|
}
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
vec2 coords = iTexCoord.st;
|
||||||
|
coords.y = coords.y * (uOverShoot + 1.0) - uOverShoot * 0.5;
|
||||||
|
|
||||||
|
// Get a cool matrix effect. See comments for those methods above.
|
||||||
|
vec2 rainMask = getRain(coords);
|
||||||
|
float textMask = getText(coords);
|
||||||
|
|
||||||
|
// Get the window texture.
|
||||||
|
vec4 oColor = getInputColor(coords);
|
||||||
|
|
||||||
|
// Fade the window according to the effect mask.
|
||||||
|
oColor.a *= rainMask.y;
|
||||||
|
|
||||||
|
// This is used to fade out the remaining trails in the end.
|
||||||
|
float finalFade =
|
||||||
|
1 -
|
||||||
|
clamp((uProgress - FINAL_FADE_START_TIME) / (1.0 - FINAL_FADE_START_TIME), 0.0, 1.0);
|
||||||
|
float rainAlpha = finalFade * rainMask.x;
|
||||||
|
|
||||||
|
// Add the matrix effect to the window.
|
||||||
|
vec4 text = vec4(mix(uTrailColor, uTipColor, min(1.0, pow(rainAlpha + 0.1, 4.0))),
|
||||||
|
rainAlpha * textMask);
|
||||||
|
oColor = alphaOver(oColor, text);
|
||||||
|
|
||||||
|
// These are pretty useful for understanding how this works.
|
||||||
|
// oColor = vec4(vec3(textMask), 1);
|
||||||
|
// oColor = vec4(vec3(rainMask.x), 1);
|
||||||
|
// oColor = vec4(vec3(rainMask.y), 1);
|
||||||
|
|
||||||
|
setOutputColor(oColor);
|
||||||
|
}
|
||||||
@@ -0,0 +1,96 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// ) ( //
|
||||||
|
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||||
|
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||||
|
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||||
|
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||||
|
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||||
|
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||||
|
// |__/ //
|
||||||
|
// Copyright (c) 2021 Simon Schneegans //
|
||||||
|
// Released under the GPLv3 or later. See LICENSE file for details. //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// The content from common.glsl is automatically prepended to each shader effect.
|
||||||
|
|
||||||
|
uniform sampler2D uDustTexture;
|
||||||
|
uniform vec4 uDustColor;
|
||||||
|
uniform vec2 uSeed;
|
||||||
|
uniform float uDustScale;
|
||||||
|
|
||||||
|
const float DUST_LAYERS = 4.0;
|
||||||
|
const float GROW_INTENSITY = 0.05;
|
||||||
|
const float SHRINK_INTENSITY = 0.05;
|
||||||
|
const float WIND_INTENSITY = 0.05;
|
||||||
|
const float ACTOR_SCALE = 1.2;
|
||||||
|
const float PADDING = ACTOR_SCALE / 2.0 - 0.5;
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
// We simply inverse the progress for opening windows.
|
||||||
|
float progress = uForOpening ? uProgress : 1.0 - uProgress;
|
||||||
|
|
||||||
|
float gradient = iTexCoord.t * ACTOR_SCALE - PADDING;
|
||||||
|
progress = 2.0 - gradient - 2.0 * progress;
|
||||||
|
progress = progress + 0.25 - 0.5 * simplex2D((iTexCoord.st + uSeed) * 2.0);
|
||||||
|
progress = pow(max(0.0, progress), 2.0);
|
||||||
|
|
||||||
|
vec4 oColor = vec4(0.0);
|
||||||
|
|
||||||
|
for (float i = 0; i < DUST_LAYERS; ++i) {
|
||||||
|
|
||||||
|
// Create a random direction.
|
||||||
|
float factor = DUST_LAYERS == 1.0 ? 0.0 : i / (DUST_LAYERS - 1.0);
|
||||||
|
float angle = 123.123 * (uSeed.x + factor);
|
||||||
|
vec2 direction = vec2(1.0, 0.0);
|
||||||
|
direction = rotate(direction, angle);
|
||||||
|
|
||||||
|
// Flip direction for one side of the window.
|
||||||
|
vec2 coords = iTexCoord.st * ACTOR_SCALE - PADDING - 0.5;
|
||||||
|
if (getWinding(direction, coords) > 0.0) {
|
||||||
|
direction *= -1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Flip direction for half the layers.
|
||||||
|
if (factor > 0.5) {
|
||||||
|
direction *= -1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// We grow the layer along the random direction, shrink it orthogonally to it
|
||||||
|
// and scale it up slightly.
|
||||||
|
float dist = distToLine(vec2(0.0), direction, coords);
|
||||||
|
vec2 grow = direction * dist * mix(0.0, GROW_INTENSITY, progress);
|
||||||
|
vec2 shrink =
|
||||||
|
vec2(direction.y, -direction.x) * dist * mix(0.0, SHRINK_INTENSITY, progress);
|
||||||
|
float scale = mix(1.0, 1.05, factor * progress);
|
||||||
|
coords = (coords + grow + shrink) / scale;
|
||||||
|
|
||||||
|
// Add some wind.
|
||||||
|
coords.x += WIND_INTENSITY * progress * (uForOpening ? 1.0 : -1.0);
|
||||||
|
|
||||||
|
// Now check wether there is actually something in the current dust layer at
|
||||||
|
// the coords position.
|
||||||
|
vec2 dustCoords = (coords + uSeed) * uSize / uDustScale / 100.0;
|
||||||
|
vec2 dustMap = texture2D(uDustTexture, dustCoords).rg;
|
||||||
|
float dustGroup = floor(dustMap.g * DUST_LAYERS * 0.999);
|
||||||
|
|
||||||
|
if (dustGroup == i) {
|
||||||
|
|
||||||
|
// Get the window color.
|
||||||
|
vec4 windowColor = getInputColor(coords + 0.5);
|
||||||
|
|
||||||
|
// Fade the window color to uDustColor.
|
||||||
|
vec3 dustColor = mix(windowColor.rgb, uDustColor.rgb, uDustColor.a);
|
||||||
|
windowColor.rgb = mix(windowColor.rgb, dustColor, progress);
|
||||||
|
|
||||||
|
// Dissolve and blend the layers.
|
||||||
|
if (dustMap.x - progress > 0) {
|
||||||
|
oColor = windowColor;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// This may help you to understand how this effect works.
|
||||||
|
// oColor = vec4(progress, 0, 0, 0);
|
||||||
|
|
||||||
|
setOutputColor(oColor);
|
||||||
|
}
|
||||||
@@ -0,0 +1,120 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// ) ( //
|
||||||
|
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||||
|
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||||
|
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||||
|
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||||
|
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||||
|
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||||
|
// |__/ //
|
||||||
|
// Copyright (c) 2021 Simon Schneegans //
|
||||||
|
// Released under the GPLv3 or later. See LICENSE file for details. //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// The content from common.glsl is automatically prepended to each shader effect.
|
||||||
|
|
||||||
|
// See assets/README.md for how this texture was created.
|
||||||
|
uniform sampler2D uClawTexture;
|
||||||
|
uniform vec4 uFlashColor;
|
||||||
|
uniform vec2 uSeed;
|
||||||
|
uniform float uClawSize;
|
||||||
|
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.
|
||||||
|
|
||||||
|
// 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
|
||||||
|
// coordinates. If these do not fall into one of the UV grids, the coordinates of
|
||||||
|
// the closest UV grid will be clamped and returned.
|
||||||
|
vec2 getClawUV(vec2 texCoords, float gridScale, vec2 seed) {
|
||||||
|
|
||||||
|
// Shift coordinates by a random offset and make sure the have a 1:1 aspect ratio.
|
||||||
|
vec2 coords = texCoords + hash22(seed);
|
||||||
|
coords *= uSize.x < uSize.y ? vec2(1.0, 1.0 * uSize.y / uSize.x)
|
||||||
|
: vec2(1.0 * uSize.x / uSize.y, 1.0);
|
||||||
|
|
||||||
|
// Apply global scale.
|
||||||
|
coords *= gridScale;
|
||||||
|
|
||||||
|
// Get grid cell coordinates in [0..1].
|
||||||
|
vec2 cellUV = mod(coords, vec2(1.0));
|
||||||
|
|
||||||
|
// This is unique for each cell.
|
||||||
|
vec2 cellID = coords - cellUV + vec2(362.456);
|
||||||
|
|
||||||
|
// Add random rotation, scale and offset to each grid cell.
|
||||||
|
float scale = mix(0.8, 1.0, hash12(cellID * seed * 134.451));
|
||||||
|
float offsetX = mix(0.0, 1.0 - scale, hash12(cellID * seed * 54.4129));
|
||||||
|
float offsetY = mix(0.0, 1.0 - scale, hash12(cellID * seed * 25.3089));
|
||||||
|
float rotation = mix(0.0, 2.0 * 3.141, hash12(cellID * seed * 2.99837));
|
||||||
|
|
||||||
|
cellUV -= vec2(offsetX, offsetY);
|
||||||
|
cellUV /= scale;
|
||||||
|
|
||||||
|
cellUV -= 0.5;
|
||||||
|
cellUV = vec2(cellUV.x * cos(rotation) - cellUV.y * sin(rotation),
|
||||||
|
cellUV.x * sin(rotation) + cellUV.y * cos(rotation));
|
||||||
|
cellUV += 0.5;
|
||||||
|
|
||||||
|
// Clamp resulting coordinates.
|
||||||
|
return clamp(cellUV, vec2(0.0), vec2(1.0));
|
||||||
|
}
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
float progress = uForOpening ? 1.0 - easeOutQuad(uProgress) : easeOutQuad(uProgress);
|
||||||
|
|
||||||
|
// Warp the texture coordinates to create a blow-up effect.
|
||||||
|
vec2 coords = iTexCoord.st * 2.0 - 1.0;
|
||||||
|
float dist = length(coords);
|
||||||
|
coords = (coords / dist * pow(dist, 1.0 + uWarpIntensity)) * 0.5 + 0.5;
|
||||||
|
coords = mix(iTexCoord.st, coords, progress);
|
||||||
|
|
||||||
|
// Scale down the window according to the warp.
|
||||||
|
float scale = 0.5 * uWarpIntensity * (1.0 - progress);
|
||||||
|
coords = coords * (scale + 1.0) - scale * 0.5;
|
||||||
|
|
||||||
|
// Accumulate several random scratches. The color in the scratch map refers to the
|
||||||
|
// 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));
|
||||||
|
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;
|
||||||
|
vec4 oColor = getInputColor(coords + offset);
|
||||||
|
|
||||||
|
// Add colorful flashes.
|
||||||
|
float flashIntensity = 1.0 / FLASH_INTENSITY * (scratchMap - progress) + 1.0;
|
||||||
|
if (flashIntensity < 0.0 || flashIntensity >= 1.0) {
|
||||||
|
flashIntensity = 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Hide flashes where there is now window.
|
||||||
|
vec4 flash = uFlashColor;
|
||||||
|
flash.a *= flashIntensity * oColor.a * (1.0 - progress);
|
||||||
|
|
||||||
|
// Hide scratched out parts.
|
||||||
|
oColor.a *= (scratchMap > progress ? 1.0 : 0.0);
|
||||||
|
|
||||||
|
// Add flash color.
|
||||||
|
oColor = alphaOver(oColor, flash);
|
||||||
|
|
||||||
|
// Fade out the remaining shards.
|
||||||
|
float fadeProgress = smoothstep(0.0, 1.0, (progress - 1.0 + FF_TIME) / FF_TIME);
|
||||||
|
oColor.a *= sqrt(1.0 - fadeProgress * fadeProgress);
|
||||||
|
|
||||||
|
// These are pretty useful for understanding how this works.
|
||||||
|
// oColor = vec4(vec3(flashIntensity), 1);
|
||||||
|
// oColor = vec4(vec3(scratchMap), 1);
|
||||||
|
|
||||||
|
setOutputColor(oColor);
|
||||||
|
}
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// ) ( //
|
||||||
|
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||||
|
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||||
|
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||||
|
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||||
|
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||||
|
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||||
|
// |__/ //
|
||||||
|
// Copyright (c) 2021 Simon Schneegans //
|
||||||
|
// Released under the GPLv3 or later. See LICENSE file for details. //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// The content from common.glsl is automatically prepended to each shader effect.
|
||||||
|
|
||||||
|
uniform vec3 uColor;
|
||||||
|
|
||||||
|
const float BLUR_WIDTH = 0.01; // Width of the gradients.
|
||||||
|
const float TB_TIME = 0.7; // Relative time for the top/bottom animation.
|
||||||
|
const float LR_TIME = 0.4; // Relative time for the left/right animation.
|
||||||
|
const float LR_DELAY = 0.6; // Delay after which the left/right animation starts.
|
||||||
|
const float FF_TIME = 0.1; // Relative time for the final fade to transparency.
|
||||||
|
const float SCALING = 0.5; // Additional vertical scaling of the window.
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
float prog = uForOpening ? 1.0 - easeOutQuad(uProgress) : easeOutQuad(uProgress);
|
||||||
|
|
||||||
|
// Scale down the window vertically.
|
||||||
|
float scale = 1.0 / mix(1.0, SCALING, prog) - 1.0;
|
||||||
|
vec2 coords = iTexCoord.st;
|
||||||
|
coords.y = coords.y * (scale + 1.0) - scale * 0.5;
|
||||||
|
|
||||||
|
// All of these are in [0..1] during the different stages of the animation.
|
||||||
|
// tb refers to the top-bottom animation.
|
||||||
|
// lr refers to the left-right animation.
|
||||||
|
// ff refers to the final fade animation.
|
||||||
|
float tbProg = smoothstep(0.0, 1.0, clamp(prog / TB_TIME, 0.0, 1.0));
|
||||||
|
float lrProg = smoothstep(0.0, 1.0, clamp((prog - LR_DELAY) / LR_TIME, 0.0, 1.0));
|
||||||
|
float ffProg = smoothstep(0.0, 1.0, clamp((prog - 1.0 + FF_TIME) / FF_TIME, 0.0, 1.0));
|
||||||
|
|
||||||
|
// This is a top-center-bottom gradient in [0..1..0]
|
||||||
|
float tb = coords.y * 2.0;
|
||||||
|
tb = tb < 1.0 ? tb : 2.0 - tb;
|
||||||
|
|
||||||
|
// This is a left-center-right gradient in [0..1..0]
|
||||||
|
float lr = coords.x * 2.0;
|
||||||
|
lr = lr < 1.0 ? lr : 2.0 - lr;
|
||||||
|
|
||||||
|
// Combine the progress values with the gradients to create the alpha masks.
|
||||||
|
float tbMask = 1.0 - smoothstep(0.0, 1.0, clamp((tbProg - tb) / BLUR_WIDTH, 0.0, 1.0));
|
||||||
|
float lrMask = 1.0 - smoothstep(0.0, 1.0, clamp((lrProg - lr) / BLUR_WIDTH, 0.0, 1.0));
|
||||||
|
float ffMask = 1.0 - smoothstep(0.0, 1.0, ffProg);
|
||||||
|
|
||||||
|
// Assemble the final alpha value.
|
||||||
|
float mask = tbMask * lrMask * ffMask;
|
||||||
|
|
||||||
|
vec4 oColor = getInputColor(coords);
|
||||||
|
oColor.rgb = mix(oColor.rgb, uColor * oColor.a, smoothstep(0.0, 1.0, prog));
|
||||||
|
oColor.a *= mask;
|
||||||
|
|
||||||
|
// These are pretty useful for understanding how this works.
|
||||||
|
// oColor = vec4(vec3(tbMask), 1);
|
||||||
|
// oColor = vec4(vec3(lrMask), 1);
|
||||||
|
// oColor = vec4(vec3(ffMask), 1);
|
||||||
|
// oColor = vec4(vec3(mask), 1);
|
||||||
|
|
||||||
|
setOutputColor(oColor);
|
||||||
|
}
|
||||||
@@ -0,0 +1,112 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// ) ( //
|
||||||
|
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||||
|
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||||
|
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||||
|
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||||
|
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||||
|
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||||
|
// |__/ //
|
||||||
|
// Copyright (c) 2021 Simon Schneegans //
|
||||||
|
// Released under the GPLv3 or later. See LICENSE file for details. //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// The content from common.glsl is automatically prepended to each shader effect.
|
||||||
|
|
||||||
|
uniform vec2 uSeed;
|
||||||
|
uniform vec3 uColor;
|
||||||
|
uniform float uScale;
|
||||||
|
|
||||||
|
const float WISPS_RADIUS = 20.0;
|
||||||
|
const float WISPS_SPEED = 10.0;
|
||||||
|
const float WISPS_SPACING = 40.0 + WISPS_RADIUS;
|
||||||
|
const float WISPS_LAYERS = 8.0;
|
||||||
|
const float WISPS_IN_TIME = 0.5;
|
||||||
|
const float WINDOW_OUT_TIME = 1.0;
|
||||||
|
const float SCALING = 0.9;
|
||||||
|
|
||||||
|
// Returns a grid of randomly moving points. Each grid cell contains one point which
|
||||||
|
// moves on an ellipse.
|
||||||
|
float getWisps(vec2 texCoords, float gridSize, vec2 seed) {
|
||||||
|
|
||||||
|
// Shift coordinates by a random offset and make sure the have a 1:1 aspect ratio.
|
||||||
|
vec2 coords = (texCoords + hash22(seed)) * uSize;
|
||||||
|
|
||||||
|
// Apply global scale.
|
||||||
|
coords /= gridSize;
|
||||||
|
|
||||||
|
// Get grid cell coordinates in [0..1].
|
||||||
|
vec2 cellUV = mod(coords, vec2(1.0));
|
||||||
|
|
||||||
|
// This is unique for each cell.
|
||||||
|
vec2 cellID = coords - cellUV + vec2(362.456);
|
||||||
|
|
||||||
|
// Add random rotation, scale and offset to each grid cell.
|
||||||
|
float speed = mix(10.0, 15.0, hash12(cellID * seed * 134.451)) / gridSize * WISPS_SPEED;
|
||||||
|
float rotation = mix(0.0, 6.283, hash12(cellID * seed * 54.4129));
|
||||||
|
float radius = mix(0.5, 1.0, hash12(cellID * seed * 19.1249)) * WISPS_RADIUS;
|
||||||
|
float roundness = mix(-1.0, 1.0, hash12(cellID * seed * 7.51949));
|
||||||
|
|
||||||
|
vec2 offset = vec2(sin(speed * (uProgress * uDuration + 1.0)) * roundness,
|
||||||
|
cos(speed * (uProgress * uDuration + 1.0)));
|
||||||
|
offset *= 0.5 - 0.5 * radius / gridSize;
|
||||||
|
offset = vec2(offset.x * cos(rotation) - offset.y * sin(rotation),
|
||||||
|
offset.x * sin(rotation) + offset.y * cos(rotation));
|
||||||
|
|
||||||
|
cellUV += offset;
|
||||||
|
|
||||||
|
// Use distance to center of shifted / rotated UV coordinates to draw a glaring point.
|
||||||
|
float dist = length(cellUV - 0.5) * gridSize / radius;
|
||||||
|
if (dist < 1.0) {
|
||||||
|
return min(5.0, 0.01 / pow(dist, 2.0));
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
float progress = uForOpening ? 1.0 - easeOutQuad(uProgress) : easeOutQuad(uProgress);
|
||||||
|
|
||||||
|
// Scale down the window slightly.
|
||||||
|
float scale = 1.0 / mix(1.0, SCALING, progress) - 1.0;
|
||||||
|
vec2 coords = iTexCoord.st * (scale + 1.0) - scale * 0.5;
|
||||||
|
|
||||||
|
// Get the color of the window.
|
||||||
|
vec4 oColor = getInputColor(coords);
|
||||||
|
|
||||||
|
// Compute several layers of moving wisps.
|
||||||
|
vec2 uv = (iTexCoord.st - 0.5) / mix(1.0, 0.5, progress) + 0.5;
|
||||||
|
uv /= uScale;
|
||||||
|
float wisps = 0.0;
|
||||||
|
for (float i = 0.0; i < WISPS_LAYERS; ++i) {
|
||||||
|
wisps += getWisps(uv * 0.3, WISPS_SPACING, uSeed * (i + 1.0));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Compute shrinking edge mask.
|
||||||
|
float mask = getRelativeEdgeMask(mix(0.01, 0.5, progress));
|
||||||
|
|
||||||
|
// Compute three different progress values.
|
||||||
|
float wispsIn = smoothstep(0.0, 1.0, clamp(progress / WISPS_IN_TIME, 0.0, 1.0));
|
||||||
|
float wispsOut = smoothstep(
|
||||||
|
0.0, 1.0, clamp((progress - WISPS_IN_TIME) / (1.0 - WISPS_IN_TIME), 0.0, 1.0));
|
||||||
|
float windowOut = smoothstep(0.0, 1.0, clamp(progress / WINDOW_OUT_TIME, 0.0, 1.0));
|
||||||
|
|
||||||
|
// Use a noise function to dissolve the window.
|
||||||
|
float noise =
|
||||||
|
smoothstep(1.0, 0.0, abs(2.0 * simplex2DFractal(uv * uSize / 250.0) - 1.0));
|
||||||
|
float windowMask = 1.0 - (windowOut < 0.5 ? mix(0.0, noise, windowOut * 2.0)
|
||||||
|
: mix(noise, 1.0, windowOut * 2.0 - 1.0));
|
||||||
|
oColor.a *= windowMask * mask;
|
||||||
|
|
||||||
|
// Add the wisps.
|
||||||
|
vec4 wispColor = wisps * vec4(uColor, min(wispsIn, 1.0 - wispsOut) * mask);
|
||||||
|
oColor = alphaOver(oColor, wispColor);
|
||||||
|
|
||||||
|
// These are pretty useful for understanding how this works.
|
||||||
|
// oColor = vec4(vec3(windowMask), 1.0);
|
||||||
|
// oColor = vec4(vec3(wisps), 1.0);
|
||||||
|
// oColor = vec4(vec3(noise), 1.0);
|
||||||
|
// oColor = vec4(vec3(mask*min(wispsIn, 1.0 - wispsOut)), 1.0);
|
||||||
|
|
||||||
|
setOutputColor(oColor);
|
||||||
|
}
|
||||||
@@ -0,0 +1,304 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="apparition-animation-time">
|
||||||
|
<property name="upper">2000</property>
|
||||||
|
<property name="lower">100</property>
|
||||||
|
<property name="step-increment">10</property>
|
||||||
|
<property name="page-increment">100</property>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="apparition-randomness">
|
||||||
|
<property name="upper">1</property>
|
||||||
|
<property name="lower">0</property>
|
||||||
|
<property name="step-increment">0.01</property>
|
||||||
|
<property name="page-increment">0.1</property>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="apparition-twirl-intensity">
|
||||||
|
<property name="upper">10</property>
|
||||||
|
<property name="lower">-10</property>
|
||||||
|
<property name="step-increment">0.1</property>
|
||||||
|
<property name="page-increment">1</property>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="apparition-shake-intensity">
|
||||||
|
<property name="upper">10</property>
|
||||||
|
<property name="lower">0</property>
|
||||||
|
<property name="step-increment">0.1</property>
|
||||||
|
<property name="page-increment">1</property>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="apparition-suction-intensity">
|
||||||
|
<property name="upper">1</property>
|
||||||
|
<property name="lower">0</property>
|
||||||
|
<property name="step-increment">0.01</property>
|
||||||
|
<property name="page-increment">0.1</property>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
<object class="GtkBox" id="apparition-prefs">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkFrame">
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBox">
|
||||||
|
<property name="selection-mode">none</property>
|
||||||
|
<style>
|
||||||
|
<class name="rich-list" />
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="spacing">8</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">0</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">apparition-animation-time</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-apparition-animation-time">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="spacing">8</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Randomness</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">2</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">apparition-randomness</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-apparition-randomness">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="spacing">8</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Twirl Intensity</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">1</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">apparition-twirl-intensity</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-apparition-twirl-intensity">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="spacing">8</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Shake Intensity</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">1</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">apparition-shake-intensity</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-apparition-shake-intensity">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="spacing">8</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Suction Intensity</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">2</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">apparition-suction-intensity</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-apparition-suction-intensity">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
@@ -3,8 +3,8 @@
|
|||||||
|
|
||||||
<object class="GtkAdjustment" id="energize-a-animation-time">
|
<object class="GtkAdjustment" id="energize-a-animation-time">
|
||||||
<property name="upper">10000</property>
|
<property name="upper">10000</property>
|
||||||
<property name="lower">500</property>
|
<property name="lower">100</property>
|
||||||
<property name="step-increment">10</property>
|
<property name="step-increment">1</property>
|
||||||
<property name="page-increment">100</property>
|
<property name="page-increment">100</property>
|
||||||
</object>
|
</object>
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
|
|
||||||
<object class="GtkAdjustment" id="energize-b-animation-time">
|
<object class="GtkAdjustment" id="energize-b-animation-time">
|
||||||
<property name="upper">10000</property>
|
<property name="upper">10000</property>
|
||||||
<property name="lower">500</property>
|
<property name="lower">100</property>
|
||||||
<property name="step-increment">10</property>
|
<property name="step-increment">1</property>
|
||||||
<property name="page-increment">100</property>
|
<property name="page-increment">100</property>
|
||||||
</object>
|
</object>
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
|
|
||||||
<object class="GtkAdjustment" id="fire-animation-time">
|
<object class="GtkAdjustment" id="fire-animation-time">
|
||||||
<property name="upper">10000</property>
|
<property name="upper">10000</property>
|
||||||
<property name="lower">500</property>
|
<property name="lower">100</property>
|
||||||
<property name="step-increment">10</property>
|
<property name="step-increment">1</property>
|
||||||
<property name="page-increment">100</property>
|
<property name="page-increment">100</property>
|
||||||
</object>
|
</object>
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,340 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="hexagon-animation-time">
|
||||||
|
<property name="upper">10000</property>
|
||||||
|
<property name="lower">100</property>
|
||||||
|
<property name="step-increment">1</property>
|
||||||
|
<property name="page-increment">100</property>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="hexagon-scale">
|
||||||
|
<property name="upper">10</property>
|
||||||
|
<property name="lower">0.1</property>
|
||||||
|
<property name="step-increment">0.01</property>
|
||||||
|
<property name="page-increment">0.1</property>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="hexagon-line-width">
|
||||||
|
<property name="upper">10</property>
|
||||||
|
<property name="lower">0</property>
|
||||||
|
<property name="step-increment">0.1</property>
|
||||||
|
<property name="page-increment">1</property>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
<object class="GtkBox" id="hexagon-prefs">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkFrame">
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBox">
|
||||||
|
<property name="selection-mode">none</property>
|
||||||
|
<style>
|
||||||
|
<class name="rich-list" />
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="spacing">8</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">0</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">hexagon-animation-time</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-animation-time">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="spacing">8</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Scale</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">2</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">hexagon-scale</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-scale">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="spacing">8</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Mesh Line Width</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">1</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">hexagon-line-width</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-line-width">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Line Color</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkColorButton" id="hexagon-line-color">
|
||||||
|
<property name="use_alpha">1</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-line-color">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Glow Color</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkColorButton" id="hexagon-glow-color">
|
||||||
|
<property name="use_alpha">1</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-glow-color">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="spacing">3</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Additive Blending</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">You may want to enable this for dark window themes.</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
<style>
|
||||||
|
<class name="dim-label" />
|
||||||
|
<class name="caption" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkSwitch" id="hexagon-additive-blending">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-additive-blending">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
@@ -0,0 +1,235 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="incinerate-animation-time">
|
||||||
|
<property name="upper">10000</property>
|
||||||
|
<property name="lower">100</property>
|
||||||
|
<property name="step-increment">1</property>
|
||||||
|
<property name="page-increment">100</property>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="incinerate-scale">
|
||||||
|
<property name="upper">10</property>
|
||||||
|
<property name="lower">0.1</property>
|
||||||
|
<property name="step-increment">0.01</property>
|
||||||
|
<property name="page-increment">0.1</property>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="incinerate-turbulence">
|
||||||
|
<property name="upper">1</property>
|
||||||
|
<property name="lower">0</property>
|
||||||
|
<property name="step-increment">0.01</property>
|
||||||
|
<property name="page-increment">0.1</property>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
<object class="GtkBox" id="incinerate-prefs">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkFrame">
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBox">
|
||||||
|
<property name="selection-mode">none</property>
|
||||||
|
<style>
|
||||||
|
<class name="rich-list" />
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="spacing">8</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">0</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">incinerate-animation-time</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-incinerate-animation-time">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="spacing">8</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Scale</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">2</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">incinerate-scale</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-incinerate-scale">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="spacing">8</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Turbulence</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">2</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">incinerate-turbulence</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-incinerate-turbulence">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Color</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkColorButton" id="incinerate-color">
|
||||||
|
<property name="use_alpha">0</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-incinerate-color">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
@@ -2,9 +2,9 @@
|
|||||||
<interface domain="burn-my-windows">
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
<object class="GtkAdjustment" id="tv-animation-time">
|
<object class="GtkAdjustment" id="tv-animation-time">
|
||||||
<property name="upper">5000</property>
|
<property name="upper">10000</property>
|
||||||
<property name="lower">100</property>
|
<property name="lower">100</property>
|
||||||
<property name="step-increment">10</property>
|
<property name="step-increment">1</property>
|
||||||
<property name="page-increment">100</property>
|
<property name="page-increment">100</property>
|
||||||
</object>
|
</object>
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
|
|
||||||
<object class="GtkAdjustment" id="wisps-animation-time">
|
<object class="GtkAdjustment" id="wisps-animation-time">
|
||||||
<property name="upper">10000</property>
|
<property name="upper">10000</property>
|
||||||
<property name="lower">500</property>
|
<property name="lower">100</property>
|
||||||
<property name="step-increment">10</property>
|
<property name="step-increment">1</property>
|
||||||
<property name="page-increment">100</property>
|
<property name="page-increment">100</property>
|
||||||
</object>
|
</object>
|
||||||
|
|
||||||
|
|||||||
@@ -227,6 +227,50 @@
|
|||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="spacing">8</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Disable on Battery Power</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkSwitch" id="disable-on-battery">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-disable-on-battery">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
|
|||||||
@@ -0,0 +1,255 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
|
<object class="GtkBox" id="apparition-prefs">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkFrame">
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBox">
|
||||||
|
<property name="selection-mode">none</property>
|
||||||
|
<property name="show-separators">1</property>
|
||||||
|
<style>
|
||||||
|
<class name="rich-list" />
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">0</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">
|
||||||
|
<object class="GtkAdjustment" id="apparition-animation-time">
|
||||||
|
<property name="upper">2000</property>
|
||||||
|
<property name="lower">100</property>
|
||||||
|
<property name="step-increment">10</property>
|
||||||
|
<property name="page-increment">100</property>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-apparition-animation-time">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Randomness</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">2</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">
|
||||||
|
<object class="GtkAdjustment" id="apparition-randomness">
|
||||||
|
<property name="upper">1</property>
|
||||||
|
<property name="lower">0</property>
|
||||||
|
<property name="step-increment">0.01</property>
|
||||||
|
<property name="page-increment">0.1</property>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-apparition-randomness">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Twirl Intensity</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">1</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">
|
||||||
|
<object class="GtkAdjustment" id="apparition-twirl-intensity">
|
||||||
|
<property name="upper">10</property>
|
||||||
|
<property name="lower">-10</property>
|
||||||
|
<property name="step-increment">0.1</property>
|
||||||
|
<property name="page-increment">1</property>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-apparition-twirl-intensity">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Shake Intensity</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">1</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">
|
||||||
|
<object class="GtkAdjustment" id="apparition-shake-intensity">
|
||||||
|
<property name="upper">10</property>
|
||||||
|
<property name="lower">0</property>
|
||||||
|
<property name="step-increment">0.1</property>
|
||||||
|
<property name="page-increment">1</property>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-apparition-shake-intensity">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Suction Intensity</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">2</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">
|
||||||
|
<object class="GtkAdjustment" id="apparition-suction-intensity">
|
||||||
|
<property name="upper">1</property>
|
||||||
|
<property name="lower">0</property>
|
||||||
|
<property name="step-increment">0.01</property>
|
||||||
|
<property name="page-increment">0.1</property>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-apparition-suction-intensity">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
@@ -39,8 +39,8 @@
|
|||||||
<property name="adjustment">
|
<property name="adjustment">
|
||||||
<object class="GtkAdjustment" id="broken-glass-animation-time">
|
<object class="GtkAdjustment" id="broken-glass-animation-time">
|
||||||
<property name="upper">10000</property>
|
<property name="upper">10000</property>
|
||||||
<property name="lower">500</property>
|
<property name="lower">100</property>
|
||||||
<property name="step-increment">10</property>
|
<property name="step-increment">1</property>
|
||||||
<property name="page-increment">100</property>
|
<property name="page-increment">100</property>
|
||||||
</object>
|
</object>
|
||||||
</property>
|
</property>
|
||||||
|
|||||||
@@ -39,8 +39,8 @@
|
|||||||
<property name="adjustment">
|
<property name="adjustment">
|
||||||
<object class="GtkAdjustment" id="energize-a-animation-time">
|
<object class="GtkAdjustment" id="energize-a-animation-time">
|
||||||
<property name="upper">10000</property>
|
<property name="upper">10000</property>
|
||||||
<property name="lower">500</property>
|
<property name="lower">100</property>
|
||||||
<property name="step-increment">10</property>
|
<property name="step-increment">1</property>
|
||||||
<property name="page-increment">100</property>
|
<property name="page-increment">100</property>
|
||||||
</object>
|
</object>
|
||||||
</property>
|
</property>
|
||||||
|
|||||||
@@ -39,8 +39,8 @@
|
|||||||
<property name="adjustment">
|
<property name="adjustment">
|
||||||
<object class="GtkAdjustment" id="energize-b-animation-time">
|
<object class="GtkAdjustment" id="energize-b-animation-time">
|
||||||
<property name="upper">10000</property>
|
<property name="upper">10000</property>
|
||||||
<property name="lower">500</property>
|
<property name="lower">100</property>
|
||||||
<property name="step-increment">10</property>
|
<property name="step-increment">1</property>
|
||||||
<property name="page-increment">100</property>
|
<property name="page-increment">100</property>
|
||||||
</object>
|
</object>
|
||||||
</property>
|
</property>
|
||||||
|
|||||||
@@ -64,8 +64,8 @@
|
|||||||
<property name="adjustment">
|
<property name="adjustment">
|
||||||
<object class="GtkAdjustment" id="fire-animation-time">
|
<object class="GtkAdjustment" id="fire-animation-time">
|
||||||
<property name="upper">10000</property>
|
<property name="upper">10000</property>
|
||||||
<property name="lower">500</property>
|
<property name="lower">100</property>
|
||||||
<property name="step-increment">10</property>
|
<property name="step-increment">1</property>
|
||||||
<property name="page-increment">100</property>
|
<property name="page-increment">100</property>
|
||||||
</object>
|
</object>
|
||||||
</property>
|
</property>
|
||||||
|
|||||||
@@ -0,0 +1,284 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
|
<object class="GtkBox" id="hexagon-prefs">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkFrame">
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBox">
|
||||||
|
<property name="selection-mode">none</property>
|
||||||
|
<property name="show-separators">1</property>
|
||||||
|
<style>
|
||||||
|
<class name="rich-list" />
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">0</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">
|
||||||
|
<object class="GtkAdjustment" id="hexagon-animation-time">
|
||||||
|
<property name="upper">10000</property>
|
||||||
|
<property name="lower">100</property>
|
||||||
|
<property name="step-increment">1</property>
|
||||||
|
<property name="page-increment">100</property>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-animation-time">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Scale</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">2</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">
|
||||||
|
<object class="GtkAdjustment" id="hexagon-scale">
|
||||||
|
<property name="upper">10</property>
|
||||||
|
<property name="lower">0.1</property>
|
||||||
|
<property name="step-increment">0.01</property>
|
||||||
|
<property name="page-increment">0.1</property>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-scale">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Mesh Line Width</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">1</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">
|
||||||
|
<object class="GtkAdjustment" id="hexagon-line-width">
|
||||||
|
<property name="upper">10</property>
|
||||||
|
<property name="lower">0</property>
|
||||||
|
<property name="step-increment">0.1</property>
|
||||||
|
<property name="page-increment">1</property>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-line-width">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Line Color</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkColorButton" id="hexagon-line-color">
|
||||||
|
<property name="use_alpha">1</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-line-color">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Glow Color</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkColorButton" id="hexagon-glow-color">
|
||||||
|
<property name="use_alpha">1</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-glow-color">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="spacing">3</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Additive Blending</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">You may want to enable this for dark window themes.</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
<style>
|
||||||
|
<class name="dim-label" />
|
||||||
|
<class name="caption" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkSwitch" id="hexagon-additive-blending">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-additive-blending">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
@@ -0,0 +1,197 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
|
<object class="GtkBox" id="incinerate-prefs">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkFrame">
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBox">
|
||||||
|
<property name="selection-mode">none</property>
|
||||||
|
<property name="show-separators">1</property>
|
||||||
|
<style>
|
||||||
|
<class name="rich-list" />
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">0</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">
|
||||||
|
<object class="GtkAdjustment" id="incinerate-animation-time">
|
||||||
|
<property name="upper">10000</property>
|
||||||
|
<property name="lower">100</property>
|
||||||
|
<property name="step-increment">1</property>
|
||||||
|
<property name="page-increment">100</property>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-incinerate-animation-time">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Scale</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">2</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">
|
||||||
|
<object class="GtkAdjustment" id="incinerate-scale">
|
||||||
|
<property name="upper">10</property>
|
||||||
|
<property name="lower">0.1</property>
|
||||||
|
<property name="step-increment">0.01</property>
|
||||||
|
<property name="page-increment">0.1</property>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-incinerate-scale">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Turbulence</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">2</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">
|
||||||
|
<object class="GtkAdjustment" id="incinerate-turbulence">
|
||||||
|
<property name="upper">1</property>
|
||||||
|
<property name="lower">0</property>
|
||||||
|
<property name="step-increment">0.01</property>
|
||||||
|
<property name="page-increment">0.1</property>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-incinerate-turbulence">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Color</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkColorButton" id="incinerate-color">
|
||||||
|
<property name="use_alpha">0</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-incinerate-color">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user