Compare commits
82 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 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 | |||
| 1a84ad337d | |||
| 6a003f8bfb | |||
| adc906006b | |||
| 9b46b9b009 | |||
| d24dc6030d | |||
| 26e4a32fe4 | |||
| 376a3899e9 | |||
| 486f6b4c74 | |||
| c43579974d | |||
| fbd02bb22c | |||
| beddd689c7 | |||
| 77310f9e65 | |||
| 28c1cb6d72 | |||
| 9bdcea1dea | |||
| 5e737ffd3a | |||
| 474f6cff25 | |||
| 35c91cf925 | |||
| 0facae304b | |||
| 31fa0f54bd | |||
| 6c2f9d1553 | |||
| 81a0e18c79 | |||
| 3caf2a176d | |||
| b48b6bb39b | |||
| 69aadfd643 | |||
| 59c01999b2 | |||
| c431437c34 | |||
| 312be215a0 | |||
| e1fcfb5d25 | |||
| 4410aeac3b | |||
| f77aeded5e | |||
| 1d0dd3e8da | |||
| cc916886c5 | |||
| 41648f2496 | |||
| 8b79995723 | |||
| f35cda20a8 | |||
| 73c237aaa4 | |||
| 638613a190 | |||
| 9b59dd942c | |||
| 20dce532ae | |||
| 8e53dc6117 | |||
| 4e29c751ed | |||
| 58a8213233 |
@@ -1,4 +1,6 @@
|
||||
BasedOnStyle: Google
|
||||
AlignConsecutiveAssignments: true
|
||||
AlignAfterOpenBracket: Align
|
||||
ContinuationIndentWidth: 2
|
||||
KeepEmptyLinesAtTheStartOfBlocks: true
|
||||
ColumnLimit: 90
|
||||
@@ -6,7 +6,7 @@ open_collective: # Replace with a single Open Collective username
|
||||
ko_fi: # Replace with a single Ko-fi username
|
||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||
liberapay: Schneegans
|
||||
liberapay: # Schneegans
|
||||
issuehunt: # Replace with a single IssueHunt username
|
||||
otechie: # Replace with a single Otechie username
|
||||
custom: ['https://www.paypal.com/donate/?hosted_button_id=3F7UFL8KLVPXE']
|
||||
|
||||
@@ -19,7 +19,7 @@ jobs:
|
||||
echo "CODE_LINES=$(scripts/cloc.sh --loc)" >> $GITHUB_ENV
|
||||
echo "COMMENT_LINES=$(scripts/cloc.sh --percentage)%" >> $GITHUB_ENV
|
||||
- name: Create Lines-of-Code-Badge
|
||||
uses: schneegans/dynamic-badges-action@v1.1.0
|
||||
uses: schneegans/dynamic-badges-action@v1.2.0
|
||||
with:
|
||||
auth: ${{ secrets.GIST_SECRET }}
|
||||
gistID: 8cf45f23253ff09b21196e7271378762
|
||||
@@ -29,7 +29,7 @@ jobs:
|
||||
color: lightgrey
|
||||
labelColor: 303030
|
||||
- name: Create Comments-Badge
|
||||
uses: schneegans/dynamic-badges-action@v1.1.0
|
||||
uses: schneegans/dynamic-badges-action@v1.2.0
|
||||
with:
|
||||
auth: ${{ secrets.GIST_SECRET }}
|
||||
gistID: 8cf45f23253ff09b21196e7271378762
|
||||
|
||||
@@ -84,6 +84,7 @@ jobs:
|
||||
- '33'
|
||||
- '34'
|
||||
- '35'
|
||||
- '36'
|
||||
session:
|
||||
- 'gnome-xsession'
|
||||
- 'gnome-wayland-nested'
|
||||
|
||||
@@ -6,7 +6,7 @@ on:
|
||||
- '**'
|
||||
|
||||
jobs:
|
||||
source_code:
|
||||
extension_bundle:
|
||||
name: Extension Bundle
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@@ -20,10 +20,9 @@ jobs:
|
||||
run: |
|
||||
make zip
|
||||
- name: Upload Release
|
||||
uses: svenstaro/upload-release-action@v1-release
|
||||
uses: svenstaro/upload-release-action@2.2.1
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: burn-my-windows@schneegans.github.com.zip
|
||||
asset_name: burn-my-windows@schneegans.github.com.zip
|
||||
tag: ${{ github.ref }}
|
||||
overwrite: true
|
||||
|
||||
@@ -1,74 +1,111 @@
|
||||
SHELL := /bin/bash
|
||||
|
||||
JS_FILES = $(shell find -type f -and \( -name "*.js" \))
|
||||
UI_FILES = $(shell find -type f -and \( -name "*.ui" \))
|
||||
# We define these here to make the makefile easier to port to another extension.
|
||||
NAME := burn-my-windows
|
||||
DOMAIN := schneegans.github.com
|
||||
ZIP_NAME := $(NAME)@$(DOMAIN).zip
|
||||
|
||||
# Some of the recipes below depend on some of these files.
|
||||
JS_FILES = $(shell find -type f -and \( -name "*.js" \))
|
||||
UI_FILES = $(shell find -type f -and \( -name "*.ui" \))
|
||||
RESOURCE_FILES = $(shell find resources -mindepth 2 -type f)
|
||||
LOCALES_PO = $(wildcard po/*.po)
|
||||
LOCALES_MO = $(patsubst po/%.po,locale/%/LC_MESSAGES/$(NAME).mo,$(LOCALES_PO))
|
||||
|
||||
LOCALES_PO = $(wildcard po/*.po)
|
||||
LOCALES_MO = $(patsubst po/%.po,locale/%/LC_MESSAGES/burn-my-windows.mo,$(LOCALES_PO))
|
||||
# These files will be included in the extension zip file.
|
||||
ZIP_CONTENT = $(JS_FILES) $(LOCALES_MO) resources/$(NAME).gresource \
|
||||
schemas/gschemas.compiled metadata.json LICENSE
|
||||
|
||||
.PHONY: zip install uninstall all-po pot clean
|
||||
# These seven recipes can be invoked by the user.
|
||||
.PHONY: zip install uninstall pot clean test references
|
||||
|
||||
zip: burn-my-windows@schneegans.github.com.zip
|
||||
# The zip recipes only bundles the extension without installing it.
|
||||
zip: $(ZIP_NAME)
|
||||
|
||||
install: burn-my-windows@schneegans.github.com.zip
|
||||
gnome-extensions install "burn-my-windows@schneegans.github.com.zip" --force
|
||||
# The install recipes creates the extension zip and installs it.
|
||||
install: $(ZIP_NAME)
|
||||
gnome-extensions install "$(ZIP_NAME)" --force
|
||||
@echo "Extension installed successfully! Now restart the Shell ('Alt'+'F2', then 'r')."
|
||||
|
||||
# This uninstalls the previously installed extension.
|
||||
uninstall:
|
||||
gnome-extensions uninstall "burn-my-windows@schneegans.github.com"
|
||||
|
||||
all-po: $(LOCALES_PO)
|
||||
gnome-extensions uninstall "$(NAME)@$(DOMAIN)"
|
||||
|
||||
# Use gettext to generate a translation template file.
|
||||
pot: $(JS_FILES) $(UI_FILES)
|
||||
@echo "Generating 'burn-my-windows.pot'..."
|
||||
@echo "Generating '$(NAME).pot'..."
|
||||
@xgettext --from-code=UTF-8 \
|
||||
--add-comments=Translators \
|
||||
--copyright-holder="Simon Schneegans" \
|
||||
--package-name="Burn-My-Windows" \
|
||||
--output=po/burn-my-windows.pot \
|
||||
$(JS_FILES) $(UI_FILES)
|
||||
--add-comments=Translators \
|
||||
--copyright-holder="Simon Schneegans" \
|
||||
--package-name="$(NAME)" \
|
||||
--output=po/$(NAME).pot \
|
||||
$(JS_FILES) $(UI_FILES)
|
||||
|
||||
# This runs several tests in containerized versions of GNOME Shell.
|
||||
test:
|
||||
@ for version in 32 33 34 35 36 ; do \
|
||||
for session in "gnome-xsession" "gnome-wayland-nested" ; do \
|
||||
echo ; \
|
||||
echo "Running Tests on Fedora $$version ($$session)." ; \
|
||||
echo ; \
|
||||
./tests/run-test.sh -s $$session -v $$version ; \
|
||||
done \
|
||||
done
|
||||
|
||||
# This re-generates all reference images required by the tests.
|
||||
references:
|
||||
@ for version in 32 33 34 35 36 ; do \
|
||||
for session in "gnome-xsession" "gnome-wayland-nested" ; do \
|
||||
echo ; \
|
||||
echo "Generating References for Fedora $$version ($$session)." ; \
|
||||
echo ; \
|
||||
./tests/generate-references.sh -s $$session -v $$version ; \
|
||||
done \
|
||||
done
|
||||
|
||||
# This removes all temporary files created with the other recipes.
|
||||
clean:
|
||||
rm -rf \
|
||||
burn-my-windows@schneegans.github.com.zip \
|
||||
resources/burn-my-windows.gresource \
|
||||
resources/burn-my-windows.gresource.xml \
|
||||
schemas/gschemas.compiled \
|
||||
locale \
|
||||
ui/*.ui~ \
|
||||
po/*.po~
|
||||
rm -rf $(ZIP_NAME) \
|
||||
resources/$(NAME).gresource \
|
||||
resources/$(NAME).gresource.xml \
|
||||
schemas/gschemas.compiled \
|
||||
locale
|
||||
|
||||
burn-my-windows@schneegans.github.com.zip: schemas/gschemas.compiled resources/burn-my-windows.gresource $(JS_FILES) $(LOCALES_MO)
|
||||
# This bundles the extension and checks whether it is small enough to be uploaded to
|
||||
# extensions.gnome.org. We do not use "gnome-extensions pack" for this, as this is not
|
||||
# readily available on the GitHub runners.
|
||||
$(ZIP_NAME): $(ZIP_CONTENT)
|
||||
@echo "Packing zip file..."
|
||||
@rm --force burn-my-windows@schneegans.github.com.zip
|
||||
@zip -r burn-my-windows@schneegans.github.com.zip -- *.js src/*.js resources/burn-my-windows.gresource schemas/gschemas.compiled $(LOCALES_MO) metadata.json LICENSE
|
||||
|
||||
@rm --force $(ZIP_NAME)
|
||||
@zip $(ZIP_NAME) -- $(ZIP_CONTENT)
|
||||
|
||||
@#Check if the zip size is too big to be uploaded
|
||||
@if [[ "$$(stat -c %s burn-my-windows@schneegans.github.com.zip)" -gt 4096000 ]]; then \
|
||||
echo "ERROR! The extension is too big to be uploaded to the extensions website, keep it smaller than 4096 KB!"; exit 1; \
|
||||
fi
|
||||
@SIZE=$$(unzip -Zt $(ZIP_NAME) | awk '{print $$3}') ; \
|
||||
if [[ $$SIZE -gt 5242880 ]]; then \
|
||||
echo "ERROR! The extension is too big to be uploaded to" \
|
||||
"the extensions website, keep it smaller than 5 MB!"; \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
resources/burn-my-windows.gresource: resources/burn-my-windows.gresource.xml
|
||||
@echo "Compiling resources..."
|
||||
@glib-compile-resources --sourcedir="resources" --generate resources/burn-my-windows.gresource.xml
|
||||
|
||||
resources/burn-my-windows.gresource.xml: $(RESOURCE_FILES)
|
||||
@echo "Creating resources xml..."
|
||||
@FILES=$$(find "resources" -mindepth 2 -type f -printf "%P\n" | xargs -i echo "<file>{}</file>") ; \
|
||||
echo "<?xml version='1.0' encoding='UTF-8'?><gresources><gresource> $$FILES </gresource></gresources>" > resources/burn-my-windows.gresource.xml
|
||||
|
||||
schemas/gschemas.compiled: schemas/org.gnome.shell.extensions.burn-my-windows.gschema.xml
|
||||
# Compiles the gschemas.compiled file from the gschema.xml file.
|
||||
schemas/gschemas.compiled: schemas/org.gnome.shell.extensions.$(NAME).gschema.xml
|
||||
@echo "Compiling schemas..."
|
||||
@glib-compile-schemas schemas
|
||||
|
||||
locale/%/LC_MESSAGES/burn-my-windows.mo: po/%.po
|
||||
# Compiles the gresource file from the gresources.xml.
|
||||
resources/$(NAME).gresource: resources/$(NAME).gresource.xml
|
||||
@echo "Compiling resources..."
|
||||
@glib-compile-resources --sourcedir="resources" --generate resources/$(NAME).gresource.xml
|
||||
|
||||
# Generates the gresources.xml based on all files in the resources subdirectory.
|
||||
resources/$(NAME).gresource.xml: $(RESOURCE_FILES)
|
||||
@echo "Creating resources xml..."
|
||||
@FILES=$$(find "resources" -mindepth 2 -type f -printf "%P\n" | xargs -i echo "<file>{}</file>") ; \
|
||||
echo "<?xml version='1.0' encoding='UTF-8'?><gresources><gresource> $$FILES </gresource></gresources>" \
|
||||
> resources/$(NAME).gresource.xml
|
||||
|
||||
# Compiles all *.po files to *.mo files.
|
||||
locale/%/LC_MESSAGES/$(NAME).mo: po/%.po
|
||||
@echo "Compiling $@"
|
||||
@mkdir -p locale/$*/LC_MESSAGES
|
||||
@msgfmt -c -o $@ $<
|
||||
|
||||
po/%.po:
|
||||
@echo "Updating $@"
|
||||
msgmerge --previous --update $@ po/burn-my-windows.pot
|
||||
@# Output translation progress
|
||||
@msgfmt --check --verbose --output-file=/dev/null $@
|
||||
@@ -1,3 +1,7 @@
|
||||
<p align="center">
|
||||
<a href="https://www.youtube.com/watch?v=L2aaNF_rPHo"><img src ="docs/pics/teaser.jpg" /></a>
|
||||
</p>
|
||||
|
||||
<h1 align="center">🔥 Set GNOME Shell on Fire!</h1>
|
||||
|
||||
<p align="center">
|
||||
@@ -17,11 +21,14 @@ For a list of things changed in previous releases, you can have a look at the [c
|
||||
|
||||
Effect | Preview
|
||||
-----|--------
|
||||
**Apparition** <br> This effect hides your windows by violently sucking them into the void of magic! <br><br> _Only available in GNOME Shell 3.38+_ | <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! <br><br> _Only available in GNOME Shell 40+_ | <img src ="docs/pics/glass.gif" />
|
||||
**Energize A** <br> Beam your windows away! | <img src ="docs/pics/energizeA.gif" />
|
||||
**Energize B** <br> Using different transporter technology results in an alternative visual effect. | <img src ="docs/pics/energizeB.gif" />
|
||||
**Fire** <br> The classic effect inspired by Compiz. However, this is implemented using a GLSL shader and not with a particle system like in the old days. | <img src ="docs/pics/fire.gif" />
|
||||
**Hexagon** <br> With glowing lines and hexagon-shaped tiles, this effect looks very sci-fi. | <img src ="docs/pics/hexagon.gif" />
|
||||
**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" />
|
||||
**Snap of Disintegration** <br> Dissolve your windows into a cloud of dust. <br><br> _Only available in GNOME Shell 40+_ | <img src ="docs/pics/snap.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" />
|
||||
**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" />
|
||||
@@ -51,6 +58,7 @@ While [coding new features](docs/how-to-create-new-effects.md) or [translating t
|
||||
|
||||
<h3 align="center">🏅 Previous Sponsors and One-Time Donators</h3>
|
||||
<p align="center">
|
||||
<a href="https://github.com/MrTomRod">@MrTomRod</a><br>
|
||||
Pouhiou<br>
|
||||
DAPREMONT Christophe<br>
|
||||
<a href="https://github.com/manero6">@manero6</a><br>
|
||||
|
||||
|
After Width: | Height: | Size: 4.1 MiB |
@@ -1,8 +1,53 @@
|
||||
# Changelog of the Burn-My-Windows Extension
|
||||
|
||||
## [Burn My Window 12](https://github.com/schneegans/Burn-My-Windows/releases/tag/v12)
|
||||
## [Burn My Windows 15](https://github.com/schneegans/Burn-My-Windows/releases/tag/v15)
|
||||
|
||||
**Release Date:** TBD
|
||||
**Release Date:** 2022-04-06
|
||||
|
||||
#### New Features
|
||||
|
||||
* **New Effect: Apparition.** This effect hides the window by violently sucking it into the void of magic. This is available only for GNOME Shell 3.38 and newer.
|
||||
* **New Effect: Hexagon.** With glowing lines and hexagon-shaped tiles, this effect looks very sci-fi. This is available for GNOME Shell 3.36 and newer.
|
||||
* **New Effect: Snap of Disintegration.** This was requested quite frequently! Dissolve your windows into a cloud of dust. This is available only for GNOME Shell 40 and newer.
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
* Disabled the buggy "Shatter from pointer" option of the Broken Glass effect when opening windows (it only makes sense for closing windows).
|
||||
|
||||
## [Burn My Windows 14](https://github.com/schneegans/Burn-My-Windows/releases/tag/v14)
|
||||
|
||||
**Release Date:** 2022-03-29
|
||||
|
||||
#### Enhancements
|
||||
|
||||
* Reduced the lower animation time limits for all effects to 100 ms. This should now allow for very snappy animations!
|
||||
* A completely new Russian translation. Thank you, ANIGO R.!
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
* Fixed the version check for GNOME Shell `42.rc` (before it only worked on `42.alpha` and `42.beta`)
|
||||
|
||||
|
||||
## [Burn My Windows 13](https://github.com/schneegans/Burn-My-Windows/releases/tag/v13)
|
||||
|
||||
**Release Date:** 2022-03-27
|
||||
|
||||
#### Enhancements
|
||||
|
||||
* The continuous integration tests have been significantly enhanced. Now, all window-open and window-close animations are visually tested on all supported GNOME versions and on X11 / Wayland (summing up to a total of 136 test cases).
|
||||
* Many translation updates, including a completely new Turkish and Chinese translation. A BIG THANKS to all translators!
|
||||
|
||||
#### Other Changes
|
||||
|
||||
* Removed the Liberapay donation option as it does not work properly.
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
* Fixed the version check for GNOME Shell 42.
|
||||
|
||||
## [Burn My Windows 12](https://github.com/schneegans/Burn-My-Windows/releases/tag/v12)
|
||||
|
||||
**Release Date:** 2022-02-19
|
||||
|
||||
#### New Features
|
||||
|
||||
@@ -13,7 +58,7 @@
|
||||
|
||||
* 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
|
||||
|
||||
@@ -38,7 +83,7 @@
|
||||
|
||||
* 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
|
||||
|
||||
@@ -59,7 +104,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).
|
||||
* **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
|
||||
|
||||
@@ -68,7 +113,7 @@
|
||||
* Improved compatibility with [Show Application View When Workspace Empty ](https://extensions.gnome.org/extension/2036/show-application-view-when-workspace-empty/) (#54).
|
||||
* Fixed a crash which happened when the window-close icon in the overview was clicked twice (#49).
|
||||
|
||||
## [Burn My 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
|
||||
|
||||
@@ -94,7 +139,7 @@
|
||||
* 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
|
||||
|
||||
@@ -108,7 +153,7 @@
|
||||
* 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
|
||||
|
||||
@@ -116,7 +161,7 @@
|
||||
|
||||
* 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
|
||||
|
||||
@@ -134,7 +179,7 @@
|
||||
|
||||
* 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
|
||||
|
||||
@@ -148,7 +193,7 @@
|
||||
* Refactored the code a lot to make it easier to add new shader effects in the future.
|
||||
* Tweaked timing of the fire shader. Previously, the fire became invisible quite quickly. Due to this new animation timing, the default animation time has been reduced to 1500 ms.
|
||||
|
||||
## [Burn My 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
|
||||
|
||||
@@ -156,7 +201,7 @@
|
||||
|
||||
* 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
|
||||
|
||||
@@ -166,7 +211,7 @@
|
||||
* Added the possibility to adjust flame speed and scale.
|
||||
* Added some fire presets.
|
||||
|
||||
## [Burn My Window 1](https://github.com/schneegans/Burn-My-Windows/releases/tag/v1)
|
||||
## [Burn My Windows 1](https://github.com/schneegans/Burn-My-Windows/releases/tag/v1)
|
||||
|
||||
**Release Date:** 2021-12-14
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 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
|
||||
gifski --fps 30 -W 400 -H 225 -o effect.gif effect.mp4
|
||||
|
||||
|
After Width: | Height: | Size: 415 KiB |
|
After Width: | Height: | Size: 615 KiB |
|
After Width: | Height: | Size: 928 KiB |
|
After Width: | Height: | Size: 136 KiB |
@@ -33,11 +33,14 @@ const utils = Me.imports.src.utils;
|
||||
|
||||
// New effects must be registered here and in prefs.js.
|
||||
const ALL_EFFECTS = [
|
||||
Me.imports.src.Apparition.Apparition,
|
||||
Me.imports.src.BrokenGlass.BrokenGlass,
|
||||
Me.imports.src.EnergizeA.EnergizeA,
|
||||
Me.imports.src.EnergizeB.EnergizeB,
|
||||
Me.imports.src.Fire.Fire,
|
||||
Me.imports.src.Hexagon.Hexagon,
|
||||
Me.imports.src.Matrix.Matrix,
|
||||
Me.imports.src.BrokenGlass.BrokenGlass,
|
||||
Me.imports.src.SnapOfDisintegration.SnapOfDisintegration,
|
||||
Me.imports.src.TRexAttack.TRexAttack,
|
||||
Me.imports.src.TVEffect.TVEffect,
|
||||
Me.imports.src.Wisps.Wisps,
|
||||
@@ -101,26 +104,26 @@ class Extension {
|
||||
// anyways, we override the actors ease() method once - the next time it will be
|
||||
// called by the _mapWindow(), we will intercept it!
|
||||
this._windowCreatedConnection =
|
||||
global.display.connect('window-created', (d, metaWin) => {
|
||||
let actor = metaWin.get_compositor_private();
|
||||
global.display.connect('window-created', (d, metaWin) => {
|
||||
let actor = metaWin.get_compositor_private();
|
||||
|
||||
const orig = actor.ease;
|
||||
actor.ease = function(...params) {
|
||||
orig.apply(actor, params);
|
||||
actor.ease = orig;
|
||||
const orig = actor.ease;
|
||||
actor.ease = function(...params) {
|
||||
orig.apply(actor, params);
|
||||
actor.ease = orig;
|
||||
|
||||
// There are cases where the ease() is called prior to mapping the actor. If
|
||||
// the actor is not yet mapped, we defer the effect creation.
|
||||
if (actor.mapped) {
|
||||
// There are cases where the ease() is called prior to mapping the actor. If
|
||||
// the actor is not yet mapped, we defer the effect creation.
|
||||
if (actor.mapped) {
|
||||
extensionThis._setupEffect(actor, true);
|
||||
} else {
|
||||
const connectionID = actor.connect('notify::mapped', () => {
|
||||
extensionThis._setupEffect(actor, true);
|
||||
} else {
|
||||
const connectionID = actor.connect('notify::mapped', () => {
|
||||
extensionThis._setupEffect(actor, true);
|
||||
actor.disconnect(connectionID);
|
||||
});
|
||||
}
|
||||
};
|
||||
});
|
||||
actor.disconnect(connectionID);
|
||||
});
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
// Some of the effects require that the window's actor is enlarged to provide a bigger
|
||||
// canvas to draw the effects. Outside the overview we can simply increase the scale
|
||||
@@ -324,8 +327,8 @@ class Extension {
|
||||
// Only add effects to normal windows and dialog windows.
|
||||
const isNormalWindow = actor.meta_window.window_type == Meta.WindowType.NORMAL;
|
||||
const isDialogWindow =
|
||||
actor.meta_window.window_type == Meta.WindowType.MODAL_DIALOG ||
|
||||
actor.meta_window.window_type == Meta.WindowType.DIALOG;
|
||||
actor.meta_window.window_type == Meta.WindowType.MODAL_DIALOG ||
|
||||
actor.meta_window.window_type == Meta.WindowType.DIALOG;
|
||||
|
||||
if (!isNormalWindow && !isDialogWindow) {
|
||||
return;
|
||||
@@ -381,12 +384,17 @@ class Extension {
|
||||
|
||||
// ----------------------------------------------------------- tweak actor transitions
|
||||
|
||||
// If we are currently performing integration test, all animations are set to a fixed
|
||||
// duration and show a fixed frame from the middle of the animation.
|
||||
const testMode = this._settings.get_boolean('test-mode');
|
||||
|
||||
// The following is used to tweak the ongoing transitions of a window actor. Usually
|
||||
// windows are faded in / out scaled up / down slightly by GNOME Shell. Here, we allow
|
||||
// modifications to this behavior by the effects.
|
||||
const config = this._currentEffect.tweakTransition(actor, this._settings, forOpening);
|
||||
const duration =
|
||||
this._settings.get_int(this._currentEffect.getNick() + '-animation-time');
|
||||
const duration = testMode ?
|
||||
5000 :
|
||||
this._settings.get_int(this._currentEffect.getNick() + '-animation-time');
|
||||
|
||||
// All animations are relative to the window's center.
|
||||
actor.set_pivot_point(0.5, 0.5);
|
||||
@@ -416,9 +424,10 @@ class Extension {
|
||||
// Tweak the transition according to the config object. For some reason, there are
|
||||
// rare cases, where no transition is set up. This happens from time to time...
|
||||
if (transition) {
|
||||
const middle = (config[property].to + config[property].from) / 2;
|
||||
transition.set_duration(duration);
|
||||
transition.set_to(config[property].to);
|
||||
transition.set_from(config[property].from);
|
||||
transition.set_to(testMode ? middle : config[property].to);
|
||||
transition.set_from(testMode ? middle : config[property].from);
|
||||
transition.set_progress_mode(config[property].mode);
|
||||
}
|
||||
}
|
||||
@@ -454,8 +463,9 @@ class Extension {
|
||||
|
||||
// Update uniforms at each frame.
|
||||
transition.connect('new-frame', (t) => {
|
||||
shader.set_uniform_value('uProgress', t.get_progress());
|
||||
shader.set_uniform_value('uTime', 0.001 * t.get_elapsed_time());
|
||||
shader.set_uniform_value('uProgress', testMode ? 0.5 : t.get_progress());
|
||||
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);
|
||||
});
|
||||
@@ -484,10 +494,10 @@ class Extension {
|
||||
if (!forOpening) {
|
||||
if (isDialogWindow) {
|
||||
imports.ui.windowManager.DIALOG_DESTROY_WINDOW_ANIMATION_TIME =
|
||||
duration != null ? duration : this._origDialogTime;
|
||||
duration != null ? duration : this._origDialogTime;
|
||||
} else {
|
||||
imports.ui.windowManager.DESTROY_WINDOW_ANIMATION_TIME =
|
||||
duration != null ? duration : this._origWindowTime;
|
||||
duration != null ? duration : this._origWindowTime;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,5 +12,5 @@
|
||||
"42"
|
||||
],
|
||||
"url": "https://github.com/Schneegans/Burn-My-Windows",
|
||||
"version": 12
|
||||
}
|
||||
"version": 15
|
||||
}
|
||||
@@ -1,14 +1,14 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# 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.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Burn-My-Windows\n"
|
||||
"Project-Id-Version: burn-my-windows\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
|
||||
"POT-Creation-Date: 2022-04-05 09:22+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -17,15 +17,15 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: prefs.js:111
|
||||
#: prefs.js:112
|
||||
msgid "Effect Options"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:139
|
||||
#: prefs.js:140
|
||||
msgid "Go Back"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:181
|
||||
#: prefs.js:182
|
||||
msgid "General Options"
|
||||
msgstr ""
|
||||
|
||||
@@ -46,12 +46,12 @@ msgid "Past Sponsors"
|
||||
msgstr ""
|
||||
|
||||
#. Translators: %s will be replaced by the effect's name.
|
||||
#: prefs.js:512
|
||||
#: prefs.js:510
|
||||
#, javascript-format
|
||||
msgid "Preview for %s"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:534
|
||||
#: prefs.js:532
|
||||
msgid "Close this Window to Preview the Effect!"
|
||||
msgstr ""
|
||||
|
||||
@@ -67,6 +67,10 @@ msgstr ""
|
||||
msgid "T-Rex Attack"
|
||||
msgstr ""
|
||||
|
||||
#: src/SnapOfDisintegration.js:60
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr ""
|
||||
|
||||
#: src/Wisps.js:55
|
||||
msgid "Wisps"
|
||||
msgstr ""
|
||||
@@ -95,10 +99,18 @@ msgstr ""
|
||||
msgid "Santa is Coming"
|
||||
msgstr ""
|
||||
|
||||
#: src/Hexagon.js:53
|
||||
msgid "Hexagon"
|
||||
msgstr ""
|
||||
|
||||
#: src/EnergizeA.js:54
|
||||
msgid "Energize A"
|
||||
msgstr ""
|
||||
|
||||
#: src/Apparition.js:57
|
||||
msgid "Apparition"
|
||||
msgstr ""
|
||||
|
||||
#: src/EnergizeB.js:54
|
||||
msgid "Energize B"
|
||||
msgstr ""
|
||||
@@ -131,17 +143,20 @@ msgstr ""
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/main-menu.ui:45
|
||||
#: 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/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/EnergizeB.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/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
|
||||
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
|
||||
#: resources/ui/gtk3/EnergizeB.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 ""
|
||||
|
||||
@@ -159,29 +174,43 @@ msgstr ""
|
||||
#: 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/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/prefs.ui:166 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/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||
#: resources/ui/gtk4/prefs.ui:166 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/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/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/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
|
||||
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
|
||||
#: 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/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/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/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||
#: resources/ui/gtk3/Apparition.ui:112
|
||||
msgid "Randomness"
|
||||
msgstr ""
|
||||
|
||||
@@ -215,10 +244,11 @@ msgid ""
|
||||
"window."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
|
||||
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
|
||||
#: 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/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/Wisps.ui:139
|
||||
#: resources/ui/gtk3/TVEffect.ui:83 resources/ui/gtk3/EnergizeA.ui:139
|
||||
#: resources/ui/gtk3/EnergizeB.ui:139
|
||||
msgid "Color"
|
||||
msgstr ""
|
||||
|
||||
@@ -262,6 +292,26 @@ msgstr ""
|
||||
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 ""
|
||||
@@ -292,6 +342,18 @@ msgstr ""
|
||||
msgid "Also Add Effects to Dialogs"
|
||||
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 ""
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Burn-My-Windows\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
|
||||
"POT-Creation-Date: 2022-04-05 09:22+0200\n"
|
||||
"PO-Revision-Date: 2022-02-02 19:55+0000\n"
|
||||
"Last-Translator: Jiří Doubravský <jiri.doubravsky@gmail.com>\n"
|
||||
"Language-Team: Czech <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||
@@ -19,15 +19,15 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 4.11-dev\n"
|
||||
|
||||
#: prefs.js:111
|
||||
#: prefs.js:112
|
||||
msgid "Effect Options"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:139
|
||||
#: prefs.js:140
|
||||
msgid "Go Back"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:181
|
||||
#: prefs.js:182
|
||||
msgid "General Options"
|
||||
msgstr "Obecné možnosti"
|
||||
|
||||
@@ -48,12 +48,12 @@ msgid "Past Sponsors"
|
||||
msgstr ""
|
||||
|
||||
#. Translators: %s will be replaced by the effect's name.
|
||||
#: prefs.js:512
|
||||
#: prefs.js:510
|
||||
#, javascript-format
|
||||
msgid "Preview for %s"
|
||||
msgstr "Náhled %s"
|
||||
|
||||
#: prefs.js:534
|
||||
#: prefs.js:532
|
||||
msgid "Close this Window to Preview the Effect!"
|
||||
msgstr "Zavřete toto okno, pokud chcete vidět efekt!"
|
||||
|
||||
@@ -69,6 +69,10 @@ msgstr "Televize"
|
||||
msgid "T-Rex Attack"
|
||||
msgstr "Tyrannosaurus"
|
||||
|
||||
#: src/SnapOfDisintegration.js:60
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr ""
|
||||
|
||||
#: src/Wisps.js:55
|
||||
msgid "Wisps"
|
||||
msgstr "Obláčky"
|
||||
@@ -97,10 +101,18 @@ msgstr "Studený vánek"
|
||||
msgid "Santa is Coming"
|
||||
msgstr "Santa přichází"
|
||||
|
||||
#: src/Hexagon.js:53
|
||||
msgid "Hexagon"
|
||||
msgstr ""
|
||||
|
||||
#: src/EnergizeA.js:54
|
||||
msgid "Energize A"
|
||||
msgstr "Energizovat A"
|
||||
|
||||
#: src/Apparition.js:57
|
||||
msgid "Apparition"
|
||||
msgstr ""
|
||||
|
||||
#: src/EnergizeB.js:54
|
||||
msgid "Energize B"
|
||||
msgstr "Energizovat B"
|
||||
@@ -133,17 +145,20 @@ msgstr "Přeložit"
|
||||
msgid "Donate"
|
||||
msgstr "Přispět"
|
||||
|
||||
#: resources/ui/common/main-menu.ui:45
|
||||
#: 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/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/EnergizeB.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/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
|
||||
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
|
||||
#: resources/ui/gtk3/EnergizeB.ui:42
|
||||
#: resources/ui/gtk3/Hexagon.ui:49 resources/ui/gtk3/EnergizeB.ui:42
|
||||
#: resources/ui/gtk3/Apparition.ui:63
|
||||
msgid "Animation Time [ms]"
|
||||
msgstr "Délka animace [ms]"
|
||||
|
||||
@@ -161,29 +176,43 @@ msgstr "Délka animace [ms]"
|
||||
#: 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/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/prefs.ui:166 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/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||
#: resources/ui/gtk4/prefs.ui:166 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/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/Apparition.ui:89
|
||||
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||
msgid "Reset to Default Value"
|
||||
msgstr "Obnovit výchozí hodnoty"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
|
||||
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
|
||||
#: 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/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/Wisps.ui:91
|
||||
#: resources/ui/gtk3/Fire.ui:141 resources/ui/gtk3/EnergizeA.ui:91
|
||||
#: resources/ui/gtk3/Hexagon.ui:98 resources/ui/gtk3/EnergizeB.ui:91
|
||||
msgid "Scale"
|
||||
msgstr "Měřítko"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:116
|
||||
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||
#: resources/ui/gtk3/Apparition.ui:112
|
||||
msgid "Randomness"
|
||||
msgstr "Nahodilost"
|
||||
|
||||
@@ -218,10 +247,11 @@ msgid ""
|
||||
"window."
|
||||
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/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
|
||||
#: 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/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/Wisps.ui:139
|
||||
#: resources/ui/gtk3/TVEffect.ui:83 resources/ui/gtk3/EnergizeA.ui:139
|
||||
#: resources/ui/gtk3/EnergizeB.ui:139
|
||||
msgid "Color"
|
||||
msgstr "Barva"
|
||||
|
||||
@@ -265,6 +295,26 @@ msgstr "Barva blesku"
|
||||
msgid "Preview this Effect"
|
||||
msgstr "Náhled efektu"
|
||||
|
||||
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||
msgid "Mesh Line Width"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||
msgid "Line Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||
msgid "Glow Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||
msgid "Additive Blending"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||
msgid "You may want to enable this for dark window themes."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||
msgid "Welcome to Burn-My-Windows!"
|
||||
msgstr "Vítá Vás Burn-My-Windows!"
|
||||
@@ -295,6 +345,18 @@ msgstr "Animace při zavírání okna"
|
||||
msgid "Also Add Effects to Dialogs"
|
||||
msgstr "Použít efekt i na dialogová okna"
|
||||
|
||||
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||
msgid "Twirl Intensity"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||
msgid "Shake Intensity"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||
msgid "Suction Intensity"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk3/Fire.ui:63
|
||||
msgid "Choose a Preset"
|
||||
msgstr "Vyberte předvolbu"
|
||||
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Burn-My-Windows\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
|
||||
"PO-Revision-Date: 2022-02-18 19:40+0000\n"
|
||||
"POT-Creation-Date: 2022-04-05 09:22+0200\n"
|
||||
"PO-Revision-Date: 2022-04-05 18:37+0000\n"
|
||||
"Last-Translator: Simon Schneegans <code@simonschneegans.de>\n"
|
||||
"Language-Team: German <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||
"core/de/>\n"
|
||||
@@ -17,17 +17,17 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.11-dev\n"
|
||||
"X-Generator: Weblate 4.12-dev\n"
|
||||
|
||||
#: prefs.js:111
|
||||
#: prefs.js:112
|
||||
msgid "Effect Options"
|
||||
msgstr "Effektoptionen"
|
||||
|
||||
#: prefs.js:139
|
||||
#: prefs.js:140
|
||||
msgid "Go Back"
|
||||
msgstr "Zurück"
|
||||
|
||||
#: prefs.js:181
|
||||
#: prefs.js:182
|
||||
msgid "General Options"
|
||||
msgstr "Allgemeine Optionen"
|
||||
|
||||
@@ -48,12 +48,12 @@ msgid "Past Sponsors"
|
||||
msgstr "Ehemalige Sponsoren"
|
||||
|
||||
#. Translators: %s will be replaced by the effect's name.
|
||||
#: prefs.js:512
|
||||
#: prefs.js:510
|
||||
#, javascript-format
|
||||
msgid "Preview for %s"
|
||||
msgstr "Vorschau für %s"
|
||||
|
||||
#: prefs.js:534
|
||||
#: prefs.js:532
|
||||
msgid "Close this Window to Preview the Effect!"
|
||||
msgstr "Schließen Sie dieses Fenster, um eine Vorschau des Effekts anzuzeigen!"
|
||||
|
||||
@@ -69,6 +69,10 @@ msgstr "TV-Effekt"
|
||||
msgid "T-Rex Attack"
|
||||
msgstr "T-Rex-Angriff"
|
||||
|
||||
#: src/SnapOfDisintegration.js:60
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr "Fingerschnippen des Zerfalls"
|
||||
|
||||
#: src/Wisps.js:55
|
||||
msgid "Wisps"
|
||||
msgstr "Irrlichter"
|
||||
@@ -97,10 +101,18 @@ msgstr "Kalte Brise"
|
||||
msgid "Santa is Coming"
|
||||
msgstr "Weihnachtsgrüße"
|
||||
|
||||
#: src/Hexagon.js:53
|
||||
msgid "Hexagon"
|
||||
msgstr "Hexagon"
|
||||
|
||||
#: src/EnergizeA.js:54
|
||||
msgid "Energize A"
|
||||
msgstr "Energie A"
|
||||
|
||||
#: src/Apparition.js:57
|
||||
msgid "Apparition"
|
||||
msgstr "Apparieren"
|
||||
|
||||
#: src/EnergizeB.js:54
|
||||
msgid "Energize B"
|
||||
msgstr "Energie B"
|
||||
@@ -133,17 +145,20 @@ msgstr "Übersetzen"
|
||||
msgid "Donate"
|
||||
msgstr "Spenden"
|
||||
|
||||
#: resources/ui/common/main-menu.ui:45
|
||||
#: resources/ui/common/main-menu.ui:41
|
||||
msgid "About Burn-My-Windows"
|
||||
msgstr "Über Burn-My-Windows"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||
#: resources/ui/gtk4/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/EnergizeB.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/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
|
||||
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
|
||||
#: resources/ui/gtk3/EnergizeB.ui:42
|
||||
#: resources/ui/gtk3/Hexagon.ui:49 resources/ui/gtk3/EnergizeB.ui:42
|
||||
#: resources/ui/gtk3/Apparition.ui:63
|
||||
msgid "Animation Time [ms]"
|
||||
msgstr "Animationszeit [ms]"
|
||||
|
||||
@@ -161,29 +176,43 @@ msgstr "Animationszeit [ms]"
|
||||
#: 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/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/prefs.ui:166 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/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||
#: resources/ui/gtk4/prefs.ui:166 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/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/Apparition.ui:89
|
||||
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||
msgid "Reset to Default Value"
|
||||
msgstr "Auf Standardwert zurücksetzen"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
|
||||
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
|
||||
#: 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/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/Wisps.ui:91
|
||||
#: resources/ui/gtk3/Fire.ui:141 resources/ui/gtk3/EnergizeA.ui:91
|
||||
#: resources/ui/gtk3/Hexagon.ui:98 resources/ui/gtk3/EnergizeB.ui:91
|
||||
msgid "Scale"
|
||||
msgstr "Größe"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:116
|
||||
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||
#: resources/ui/gtk3/Apparition.ui:112
|
||||
msgid "Randomness"
|
||||
msgstr "Zufälligkeit"
|
||||
|
||||
@@ -219,10 +248,11 @@ msgstr ""
|
||||
"Die Scherben fliegen von der Stelle weg, an der sich Ihr Mauszeiger beim "
|
||||
"Schließen des Fensters befand."
|
||||
|
||||
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
|
||||
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
|
||||
#: 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/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/Wisps.ui:139
|
||||
#: resources/ui/gtk3/TVEffect.ui:83 resources/ui/gtk3/EnergizeA.ui:139
|
||||
#: resources/ui/gtk3/EnergizeB.ui:139
|
||||
msgid "Color"
|
||||
msgstr "Farbe"
|
||||
|
||||
@@ -266,6 +296,26 @@ msgstr "Blitzfarbe"
|
||||
msgid "Preview this Effect"
|
||||
msgstr "Vorschau dieses Effekts"
|
||||
|
||||
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||
msgid "Mesh Line Width"
|
||||
msgstr "Gitterlinienstärke"
|
||||
|
||||
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||
msgid "Line Color"
|
||||
msgstr "Linienfarbe"
|
||||
|
||||
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||
msgid "Glow Color"
|
||||
msgstr "Leuchtfarbe"
|
||||
|
||||
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||
msgid "Additive Blending"
|
||||
msgstr "Additives Mischen"
|
||||
|
||||
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||
msgid "You may want to enable this for dark window themes."
|
||||
msgstr "Für dunkle Fensterthemen sollten Sie diese Option aktivieren."
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||
msgid "Welcome to Burn-My-Windows!"
|
||||
msgstr "Willkommen bei Burn-My-Windows!"
|
||||
@@ -296,6 +346,18 @@ msgstr "Fenster-Schließen-Animation"
|
||||
msgid "Also Add Effects to Dialogs"
|
||||
msgstr "Effekte auch zu Dialogen hinzufügen"
|
||||
|
||||
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||
msgid "Twirl Intensity"
|
||||
msgstr "Wirbelintensität"
|
||||
|
||||
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||
msgid "Shake Intensity"
|
||||
msgstr "Wackelintensität"
|
||||
|
||||
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||
msgid "Suction Intensity"
|
||||
msgstr "Saugintensität"
|
||||
|
||||
#: resources/ui/gtk3/Fire.ui:63
|
||||
msgid "Choose a Preset"
|
||||
msgstr "Wählen Sie eine Voreinstellung"
|
||||
|
||||
@@ -7,9 +7,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Burn-My-Windows\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
|
||||
"PO-Revision-Date: 2022-02-09 18:53+0000\n"
|
||||
"Last-Translator: Ulices <ulicesah@gmail.com>\n"
|
||||
"POT-Creation-Date: 2022-04-05 09:22+0200\n"
|
||||
"PO-Revision-Date: 2022-03-15 06:54+0000\n"
|
||||
"Last-Translator: Adolfo Jayme Barrientos <fitojb@ubuntu.com>\n"
|
||||
"Language-Team: Spanish <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||
"core/es/>\n"
|
||||
"Language: es\n"
|
||||
@@ -17,17 +17,17 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.11-dev\n"
|
||||
"X-Generator: Weblate 4.12-dev\n"
|
||||
|
||||
#: prefs.js:111
|
||||
#: prefs.js:112
|
||||
msgid "Effect Options"
|
||||
msgstr ""
|
||||
msgstr "Opciones de efecto"
|
||||
|
||||
#: prefs.js:139
|
||||
#: prefs.js:140
|
||||
msgid "Go Back"
|
||||
msgstr ""
|
||||
msgstr "Volver"
|
||||
|
||||
#: prefs.js:181
|
||||
#: prefs.js:182
|
||||
msgid "General Options"
|
||||
msgstr "Opciones generales"
|
||||
|
||||
@@ -48,12 +48,12 @@ msgid "Past Sponsors"
|
||||
msgstr "Patrocinadores anteriores"
|
||||
|
||||
#. Translators: %s will be replaced by the effect's name.
|
||||
#: prefs.js:512
|
||||
#: prefs.js:510
|
||||
#, javascript-format
|
||||
msgid "Preview for %s"
|
||||
msgstr "Vista previa de %s"
|
||||
msgstr "Previsualización de %s"
|
||||
|
||||
#: prefs.js:534
|
||||
#: prefs.js:532
|
||||
msgid "Close this Window to Preview the Effect!"
|
||||
msgstr "¡Cierre esta ventana para ver el efecto!"
|
||||
|
||||
@@ -63,12 +63,16 @@ msgstr "Cristales rotos"
|
||||
|
||||
#: src/TVEffect.js:56
|
||||
msgid "TV Effect"
|
||||
msgstr "Efecto TV"
|
||||
msgstr "Efecto televisor"
|
||||
|
||||
#: src/TRexAttack.js:56
|
||||
msgid "T-Rex Attack"
|
||||
msgstr "Ataque de T-Rex"
|
||||
|
||||
#: src/SnapOfDisintegration.js:60
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr ""
|
||||
|
||||
#: src/Wisps.js:55
|
||||
msgid "Wisps"
|
||||
msgstr "Chispas"
|
||||
@@ -83,11 +87,11 @@ msgstr "Fuego predeterminado"
|
||||
|
||||
#: src/Fire.js:140
|
||||
msgid "Hell Fire"
|
||||
msgstr "Fuego del infierno"
|
||||
msgstr "Fuego infernal"
|
||||
|
||||
#: src/Fire.js:150
|
||||
msgid "Dark and Smutty"
|
||||
msgstr "Oscuro y obscuro"
|
||||
msgstr "Oscuro y obsceno"
|
||||
|
||||
#: src/Fire.js:160
|
||||
msgid "Cold Breeze"
|
||||
@@ -97,10 +101,18 @@ msgstr "Brisa fría"
|
||||
msgid "Santa is Coming"
|
||||
msgstr "Viene Papá Noel"
|
||||
|
||||
#: src/Hexagon.js:53
|
||||
msgid "Hexagon"
|
||||
msgstr ""
|
||||
|
||||
#: src/EnergizeA.js:54
|
||||
msgid "Energize A"
|
||||
msgstr "Energizar A"
|
||||
|
||||
#: src/Apparition.js:57
|
||||
msgid "Apparition"
|
||||
msgstr ""
|
||||
|
||||
#: src/EnergizeB.js:54
|
||||
msgid "Energize B"
|
||||
msgstr "Energizar B"
|
||||
@@ -133,17 +145,20 @@ msgstr "Traducir"
|
||||
msgid "Donate"
|
||||
msgstr "Donar"
|
||||
|
||||
#: resources/ui/common/main-menu.ui:45
|
||||
#: resources/ui/common/main-menu.ui:41
|
||||
msgid "About Burn-My-Windows"
|
||||
msgstr "Acerca de Burn-My-Windows"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||
#: resources/ui/gtk4/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/EnergizeB.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/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
|
||||
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
|
||||
#: resources/ui/gtk3/EnergizeB.ui:42
|
||||
#: resources/ui/gtk3/Hexagon.ui:49 resources/ui/gtk3/EnergizeB.ui:42
|
||||
#: resources/ui/gtk3/Apparition.ui:63
|
||||
msgid "Animation Time [ms]"
|
||||
msgstr "Tiempo de animación [ms]"
|
||||
|
||||
@@ -161,29 +176,43 @@ msgstr "Tiempo de animación [ms]"
|
||||
#: 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/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/prefs.ui:166 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/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||
#: resources/ui/gtk4/prefs.ui:166 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/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/Apparition.ui:89
|
||||
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||
msgid "Reset to Default Value"
|
||||
msgstr "Restablecer al valor predeterminado"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
|
||||
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
|
||||
#: 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/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/Wisps.ui:91
|
||||
#: resources/ui/gtk3/Fire.ui:141 resources/ui/gtk3/EnergizeA.ui:91
|
||||
#: resources/ui/gtk3/Hexagon.ui:98 resources/ui/gtk3/EnergizeB.ui:91
|
||||
msgid "Scale"
|
||||
msgstr "Escala"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:116
|
||||
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||
#: resources/ui/gtk3/Apparition.ui:112
|
||||
msgid "Randomness"
|
||||
msgstr "Aleatoriedad"
|
||||
|
||||
@@ -219,16 +248,17 @@ msgstr ""
|
||||
"Los fragmentos saldrán volando desde donde estaba el puntero del ratón al "
|
||||
"cerrar la ventana."
|
||||
|
||||
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
|
||||
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
|
||||
#: 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/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/Wisps.ui:139
|
||||
#: resources/ui/gtk3/TVEffect.ui:83 resources/ui/gtk3/EnergizeA.ui:139
|
||||
#: resources/ui/gtk3/EnergizeB.ui:139
|
||||
msgid "Color"
|
||||
msgstr "Color"
|
||||
|
||||
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
|
||||
msgid "Presets"
|
||||
msgstr "Plantillas"
|
||||
msgstr "Preselecciones"
|
||||
|
||||
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
|
||||
msgid "Speed"
|
||||
@@ -244,7 +274,7 @@ msgstr "Crea un fuego más dinámico pero requiere más potencia de la GPU."
|
||||
|
||||
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||
msgid "Gradient"
|
||||
msgstr "Gradiente"
|
||||
msgstr "Degradado"
|
||||
|
||||
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||
msgid "Claw Scratch Scale"
|
||||
@@ -264,15 +294,35 @@ msgstr "Color del flash"
|
||||
|
||||
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||
msgid "Preview this Effect"
|
||||
msgstr "Vista previa del efecto"
|
||||
msgstr "Previsualizar este efecto"
|
||||
|
||||
#: 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 "¡Bienvenido/a 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
|
||||
msgid "If you like this extension, recommend it to your friends :)"
|
||||
msgstr "Si le gusta esta extensión, recomiéndela a sus amigos :)"
|
||||
msgstr "Si le gusta esta extensión, recomiéndela a sus amistades :)"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
||||
msgid "Open Window Animation"
|
||||
@@ -296,9 +346,21 @@ msgstr "Animación al cerrar la ventana"
|
||||
msgid "Also Add Effects to Dialogs"
|
||||
msgstr "Añadir también efectos a los diálogos"
|
||||
|
||||
#: 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 "Elegir una plantilla"
|
||||
msgstr "Elija una preselección"
|
||||
|
||||
#~ msgid "Via PayPal"
|
||||
#~ msgstr "Vía PayPal"
|
||||
|
||||
@@ -7,9 +7,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Burn-My-Windows\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
|
||||
"PO-Revision-Date: 2022-02-05 12:53+0000\n"
|
||||
"Last-Translator: Reda <redxxiii@zaclys.net>\n"
|
||||
"POT-Creation-Date: 2022-04-05 09:22+0200\n"
|
||||
"PO-Revision-Date: 2022-02-21 11:58+0000\n"
|
||||
"Last-Translator: Nathan <bonnemainsnathan@gmail.com>\n"
|
||||
"Language-Team: French <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||
"core/fr/>\n"
|
||||
"Language: fr\n"
|
||||
@@ -19,15 +19,15 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.11-dev\n"
|
||||
|
||||
#: prefs.js:111
|
||||
#: prefs.js:112
|
||||
msgid "Effect Options"
|
||||
msgstr ""
|
||||
msgstr "Options de l'effet"
|
||||
|
||||
#: prefs.js:139
|
||||
#: prefs.js:140
|
||||
msgid "Go Back"
|
||||
msgstr ""
|
||||
msgstr "Retour"
|
||||
|
||||
#: prefs.js:181
|
||||
#: prefs.js:182
|
||||
msgid "General Options"
|
||||
msgstr "Options générales"
|
||||
|
||||
@@ -48,12 +48,12 @@ msgid "Past Sponsors"
|
||||
msgstr "Anciens Sponsors"
|
||||
|
||||
#. Translators: %s will be replaced by the effect's name.
|
||||
#: prefs.js:512
|
||||
#: prefs.js:510
|
||||
#, javascript-format
|
||||
msgid "Preview for %s"
|
||||
msgstr "Aperçu pour %s"
|
||||
|
||||
#: prefs.js:534
|
||||
#: prefs.js:532
|
||||
msgid "Close this Window to Preview the Effect!"
|
||||
msgstr "Fermez cette fenêtre pour un aperçu de l'effet !"
|
||||
|
||||
@@ -69,6 +69,10 @@ msgstr "Effet TV"
|
||||
msgid "T-Rex Attack"
|
||||
msgstr "Attaque de T-Rex"
|
||||
|
||||
#: src/SnapOfDisintegration.js:60
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr ""
|
||||
|
||||
#: src/Wisps.js:55
|
||||
msgid "Wisps"
|
||||
msgstr "Volutes"
|
||||
@@ -97,10 +101,18 @@ msgstr "Brise froide"
|
||||
msgid "Santa is Coming"
|
||||
msgstr "Le Père Noël arrive"
|
||||
|
||||
#: src/Hexagon.js:53
|
||||
msgid "Hexagon"
|
||||
msgstr ""
|
||||
|
||||
#: src/EnergizeA.js:54
|
||||
msgid "Energize A"
|
||||
msgstr "Énergie A"
|
||||
|
||||
#: src/Apparition.js:57
|
||||
msgid "Apparition"
|
||||
msgstr ""
|
||||
|
||||
#: src/EnergizeB.js:54
|
||||
msgid "Energize B"
|
||||
msgstr "Énergie B"
|
||||
@@ -133,17 +145,20 @@ msgstr "Traduire"
|
||||
msgid "Donate"
|
||||
msgstr "Faire un don"
|
||||
|
||||
#: resources/ui/common/main-menu.ui:45
|
||||
#: resources/ui/common/main-menu.ui:41
|
||||
msgid "About Burn-My-Windows"
|
||||
msgstr "À propos de Burn-My-Windows"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||
#: resources/ui/gtk4/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/EnergizeB.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/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
|
||||
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
|
||||
#: resources/ui/gtk3/EnergizeB.ui:42
|
||||
#: resources/ui/gtk3/Hexagon.ui:49 resources/ui/gtk3/EnergizeB.ui:42
|
||||
#: resources/ui/gtk3/Apparition.ui:63
|
||||
msgid "Animation Time [ms]"
|
||||
msgstr "Durée de l'animation (ms)"
|
||||
|
||||
@@ -161,29 +176,43 @@ msgstr "Durée de l'animation (ms)"
|
||||
#: 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/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/prefs.ui:166 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/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||
#: resources/ui/gtk4/prefs.ui:166 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/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/Apparition.ui:89
|
||||
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||
msgid "Reset to Default Value"
|
||||
msgstr "Réinitialiser à la valeur par défaut"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
|
||||
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
|
||||
#: 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/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/Wisps.ui:91
|
||||
#: resources/ui/gtk3/Fire.ui:141 resources/ui/gtk3/EnergizeA.ui:91
|
||||
#: resources/ui/gtk3/Hexagon.ui:98 resources/ui/gtk3/EnergizeB.ui:91
|
||||
msgid "Scale"
|
||||
msgstr "Échelle"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:116
|
||||
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||
#: resources/ui/gtk3/Apparition.ui:112
|
||||
msgid "Randomness"
|
||||
msgstr "Aléatoire"
|
||||
|
||||
@@ -219,10 +248,11 @@ msgstr ""
|
||||
"Les éclats s'envoleront de l'endroit où se trouvait le pointeur de votre "
|
||||
"souris lorsque vous fermez la fenêtre."
|
||||
|
||||
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
|
||||
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
|
||||
#: 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/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/Wisps.ui:139
|
||||
#: resources/ui/gtk3/TVEffect.ui:83 resources/ui/gtk3/EnergizeA.ui:139
|
||||
#: resources/ui/gtk3/EnergizeB.ui:139
|
||||
msgid "Color"
|
||||
msgstr "Couleur"
|
||||
|
||||
@@ -268,6 +298,26 @@ msgstr "Couleur du flash"
|
||||
msgid "Preview this Effect"
|
||||
msgstr "Voir l'aperçu de cet effet"
|
||||
|
||||
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||
msgid "Mesh Line Width"
|
||||
msgstr ""
|
||||
|
||||
#: 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 "Bienvenue dans Burn-My-Windows !"
|
||||
@@ -298,6 +348,18 @@ msgstr "Animation de fermeture de fenêtre"
|
||||
msgid "Also Add Effects to Dialogs"
|
||||
msgstr "Appliquer également les effets aux boîtes de dialogue"
|
||||
|
||||
#: 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 "Sélectionner un préréglage"
|
||||
|
||||
@@ -7,9 +7,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Burn-My-Windows\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
|
||||
"PO-Revision-Date: 2022-02-13 14:57+0000\n"
|
||||
"Last-Translator: Mario <mario03@gmail.com>\n"
|
||||
"POT-Creation-Date: 2022-04-05 09:22+0200\n"
|
||||
"PO-Revision-Date: 2022-02-28 12:56+0000\n"
|
||||
"Last-Translator: albanobattistella <albano_battistella@hotmail.com>\n"
|
||||
"Language-Team: Italian <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||
"core/it/>\n"
|
||||
"Language: it\n"
|
||||
@@ -17,17 +17,17 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.11-dev\n"
|
||||
"X-Generator: Weblate 4.11.1-dev\n"
|
||||
|
||||
#: prefs.js:111
|
||||
#: prefs.js:112
|
||||
msgid "Effect Options"
|
||||
msgstr ""
|
||||
msgstr "Opzioni effetto"
|
||||
|
||||
#: prefs.js:139
|
||||
#: prefs.js:140
|
||||
msgid "Go Back"
|
||||
msgstr ""
|
||||
msgstr "Indietro"
|
||||
|
||||
#: prefs.js:181
|
||||
#: prefs.js:182
|
||||
msgid "General Options"
|
||||
msgstr "Opzioni generali"
|
||||
|
||||
@@ -48,12 +48,12 @@ msgid "Past Sponsors"
|
||||
msgstr "Sponsor passati"
|
||||
|
||||
#. Translators: %s will be replaced by the effect's name.
|
||||
#: prefs.js:512
|
||||
#: prefs.js:510
|
||||
#, javascript-format
|
||||
msgid "Preview for %s"
|
||||
msgstr "Anteprima per %s"
|
||||
|
||||
#: prefs.js:534
|
||||
#: prefs.js:532
|
||||
msgid "Close this Window to Preview the Effect!"
|
||||
msgstr "Chiudi questa finestra per visualizzare in anteprima l'effetto!"
|
||||
|
||||
@@ -69,6 +69,10 @@ msgstr "Effetto TV"
|
||||
msgid "T-Rex Attack"
|
||||
msgstr "Attacco T-Rex"
|
||||
|
||||
#: src/SnapOfDisintegration.js:60
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr ""
|
||||
|
||||
#: src/Wisps.js:55
|
||||
msgid "Wisps"
|
||||
msgstr "Scintille"
|
||||
@@ -97,13 +101,21 @@ msgstr "Brezza Fredda"
|
||||
msgid "Santa is Coming"
|
||||
msgstr "Babbo Natale sta arrivando"
|
||||
|
||||
#: src/Hexagon.js:53
|
||||
msgid "Hexagon"
|
||||
msgstr ""
|
||||
|
||||
#: src/EnergizeA.js:54
|
||||
msgid "Energize A"
|
||||
msgstr "Energizzare A"
|
||||
msgstr "Energia A"
|
||||
|
||||
#: src/Apparition.js:57
|
||||
msgid "Apparition"
|
||||
msgstr ""
|
||||
|
||||
#: src/EnergizeB.js:54
|
||||
msgid "Energize B"
|
||||
msgstr "Energizzare B"
|
||||
msgstr "Energia B"
|
||||
|
||||
#: src/Matrix.js:58
|
||||
msgid "Matrix"
|
||||
@@ -133,17 +145,20 @@ msgstr "Traduci"
|
||||
msgid "Donate"
|
||||
msgstr "Donare"
|
||||
|
||||
#: resources/ui/common/main-menu.ui:45
|
||||
#: resources/ui/common/main-menu.ui:41
|
||||
msgid "About Burn-My-Windows"
|
||||
msgstr "Informazioni su Burn-My-Windows"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||
#: resources/ui/gtk4/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/EnergizeB.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/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
|
||||
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
|
||||
#: resources/ui/gtk3/EnergizeB.ui:42
|
||||
#: resources/ui/gtk3/Hexagon.ui:49 resources/ui/gtk3/EnergizeB.ui:42
|
||||
#: resources/ui/gtk3/Apparition.ui:63
|
||||
msgid "Animation Time [ms]"
|
||||
msgstr "Tempo animazione [ms]"
|
||||
|
||||
@@ -161,29 +176,43 @@ msgstr "Tempo animazione [ms]"
|
||||
#: 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/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/prefs.ui:166 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/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||
#: resources/ui/gtk4/prefs.ui:166 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/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/Apparition.ui:89
|
||||
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||
msgid "Reset to Default Value"
|
||||
msgstr "Ripristina valore predefinito"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
|
||||
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
|
||||
#: 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/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/Wisps.ui:91
|
||||
#: resources/ui/gtk3/Fire.ui:141 resources/ui/gtk3/EnergizeA.ui:91
|
||||
#: resources/ui/gtk3/Hexagon.ui:98 resources/ui/gtk3/EnergizeB.ui:91
|
||||
msgid "Scale"
|
||||
msgstr "Scala"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:116
|
||||
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||
#: resources/ui/gtk3/Apparition.ui:112
|
||||
msgid "Randomness"
|
||||
msgstr "Casuale"
|
||||
|
||||
@@ -219,10 +248,11 @@ msgstr ""
|
||||
"I frammenti voleranno fuori dal punto in cui si trovava il puntatore del "
|
||||
"mouse quando chiudi la finestra."
|
||||
|
||||
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
|
||||
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
|
||||
#: 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/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/Wisps.ui:139
|
||||
#: resources/ui/gtk3/TVEffect.ui:83 resources/ui/gtk3/EnergizeA.ui:139
|
||||
#: resources/ui/gtk3/EnergizeB.ui:139
|
||||
msgid "Color"
|
||||
msgstr "Colore"
|
||||
|
||||
@@ -266,6 +296,26 @@ msgstr "Colore Flash"
|
||||
msgid "Preview this Effect"
|
||||
msgstr "Anteprima di questo effetto"
|
||||
|
||||
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||
msgid "Mesh Line Width"
|
||||
msgstr ""
|
||||
|
||||
#: 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 "Benvenuto in Burn-My-Windows!"
|
||||
@@ -296,6 +346,18 @@ msgstr "Animazione alla chiusura della finestra"
|
||||
msgid "Also Add Effects to Dialogs"
|
||||
msgstr "Aggiungi anche effetti ai dialoghi"
|
||||
|
||||
#: 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 "Scegli un predefinito"
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Burn-My-Windows\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
|
||||
"POT-Creation-Date: 2022-04-05 09:22+0200\n"
|
||||
"PO-Revision-Date: 2022-01-29 12:30+0000\n"
|
||||
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
|
||||
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/burn-my-"
|
||||
@@ -19,15 +19,15 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.11-dev\n"
|
||||
|
||||
#: prefs.js:111
|
||||
#: prefs.js:112
|
||||
msgid "Effect Options"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:139
|
||||
#: prefs.js:140
|
||||
msgid "Go Back"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:181
|
||||
#: prefs.js:182
|
||||
msgid "General Options"
|
||||
msgstr ""
|
||||
|
||||
@@ -48,12 +48,12 @@ msgid "Past Sponsors"
|
||||
msgstr ""
|
||||
|
||||
#. Translators: %s will be replaced by the effect's name.
|
||||
#: prefs.js:512
|
||||
#: prefs.js:510
|
||||
#, javascript-format
|
||||
msgid "Preview for %s"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:534
|
||||
#: prefs.js:532
|
||||
msgid "Close this Window to Preview the Effect!"
|
||||
msgstr ""
|
||||
|
||||
@@ -69,6 +69,10 @@ msgstr ""
|
||||
msgid "T-Rex Attack"
|
||||
msgstr ""
|
||||
|
||||
#: src/SnapOfDisintegration.js:60
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr ""
|
||||
|
||||
#: src/Wisps.js:55
|
||||
msgid "Wisps"
|
||||
msgstr ""
|
||||
@@ -97,10 +101,18 @@ msgstr ""
|
||||
msgid "Santa is Coming"
|
||||
msgstr ""
|
||||
|
||||
#: src/Hexagon.js:53
|
||||
msgid "Hexagon"
|
||||
msgstr ""
|
||||
|
||||
#: src/EnergizeA.js:54
|
||||
msgid "Energize A"
|
||||
msgstr ""
|
||||
|
||||
#: src/Apparition.js:57
|
||||
msgid "Apparition"
|
||||
msgstr ""
|
||||
|
||||
#: src/EnergizeB.js:54
|
||||
msgid "Energize B"
|
||||
msgstr ""
|
||||
@@ -133,17 +145,20 @@ msgstr "Oversett"
|
||||
msgid "Donate"
|
||||
msgstr "Doner"
|
||||
|
||||
#: resources/ui/common/main-menu.ui:45
|
||||
#: 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/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/EnergizeB.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/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
|
||||
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
|
||||
#: resources/ui/gtk3/EnergizeB.ui:42
|
||||
#: resources/ui/gtk3/Hexagon.ui:49 resources/ui/gtk3/EnergizeB.ui:42
|
||||
#: resources/ui/gtk3/Apparition.ui:63
|
||||
msgid "Animation Time [ms]"
|
||||
msgstr "Animasjonstid [ms]"
|
||||
|
||||
@@ -161,29 +176,43 @@ msgstr "Animasjonstid [ms]"
|
||||
#: 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/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/prefs.ui:166 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/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||
#: resources/ui/gtk4/prefs.ui:166 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/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/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/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
|
||||
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
|
||||
#: 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/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/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/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||
#: resources/ui/gtk3/Apparition.ui:112
|
||||
msgid "Randomness"
|
||||
msgstr ""
|
||||
|
||||
@@ -217,10 +246,11 @@ msgid ""
|
||||
"window."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/Wisps.ui:116 resources/ui/gtk4/TVEffect.ui:70
|
||||
#: resources/ui/gtk4/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
|
||||
#: 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/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/Wisps.ui:139
|
||||
#: resources/ui/gtk3/TVEffect.ui:83 resources/ui/gtk3/EnergizeA.ui:139
|
||||
#: resources/ui/gtk3/EnergizeB.ui:139
|
||||
msgid "Color"
|
||||
msgstr ""
|
||||
|
||||
@@ -264,6 +294,26 @@ msgstr ""
|
||||
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 ""
|
||||
@@ -294,6 +344,18 @@ msgstr ""
|
||||
msgid "Also Add Effects to Dialogs"
|
||||
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 ""
|
||||
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Burn-My-Windows\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-02-18 20:33+0100\n"
|
||||
"PO-Revision-Date: 2022-02-05 12:53+0000\n"
|
||||
"POT-Creation-Date: 2022-04-05 09:22+0200\n"
|
||||
"PO-Revision-Date: 2022-04-05 18:37+0000\n"
|
||||
"Last-Translator: Heimen Stoffels <vistausss@fastmail.com>\n"
|
||||
"Language-Team: Dutch <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||
"core/nl/>\n"
|
||||
@@ -17,17 +17,17 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.11-dev\n"
|
||||
"X-Generator: Weblate 4.12-dev\n"
|
||||
|
||||
#: prefs.js:111
|
||||
#: prefs.js:112
|
||||
msgid "Effect Options"
|
||||
msgstr ""
|
||||
msgstr "Effectvoorkeuren"
|
||||
|
||||
#: prefs.js:139
|
||||
#: prefs.js:140
|
||||
msgid "Go Back"
|
||||
msgstr ""
|
||||
msgstr "Scherm sluiten"
|
||||
|
||||
#: prefs.js:181
|
||||
#: prefs.js:182
|
||||
msgid "General Options"
|
||||
msgstr "Algemene voorkeuren"
|
||||
|
||||
@@ -48,12 +48,12 @@ msgid "Past Sponsors"
|
||||
msgstr "Voormalige sponsoren"
|
||||
|
||||
#. Translators: %s will be replaced by the effect's name.
|
||||
#: prefs.js:512
|
||||
#: prefs.js:510
|
||||
#, javascript-format
|
||||
msgid "Preview for %s"
|
||||
msgstr "%s-voorvertoning"
|
||||
|
||||
#: prefs.js:534
|
||||
#: prefs.js:532
|
||||
msgid "Close this Window to Preview the Effect!"
|
||||
msgstr "Sluit dit venster om het effect voor te vertonen."
|
||||
|
||||
@@ -69,6 +69,10 @@ msgstr "Tv-effect"
|
||||
msgid "T-Rex Attack"
|
||||
msgstr "T-Rex-aanval"
|
||||
|
||||
#: src/SnapOfDisintegration.js:60
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr "Uiteenvallen"
|
||||
|
||||
#: src/Wisps.js:55
|
||||
msgid "Wisps"
|
||||
msgstr "Dwaallicht"
|
||||
@@ -97,10 +101,18 @@ msgstr "Koude wind"
|
||||
msgid "Santa is Coming"
|
||||
msgstr "Kerstmanvuur"
|
||||
|
||||
#: src/Hexagon.js:53
|
||||
msgid "Hexagon"
|
||||
msgstr "Hexagon"
|
||||
|
||||
#: src/EnergizeA.js:54
|
||||
msgid "Energize A"
|
||||
msgstr "Stimulatie A"
|
||||
|
||||
#: src/Apparition.js:57
|
||||
msgid "Apparition"
|
||||
msgstr "Verschijning"
|
||||
|
||||
#: src/EnergizeB.js:54
|
||||
msgid "Energize B"
|
||||
msgstr "Stimulatie B"
|
||||
@@ -133,17 +145,20 @@ msgstr "Vertalen"
|
||||
msgid "Donate"
|
||||
msgstr "Doneren"
|
||||
|
||||
#: resources/ui/common/main-menu.ui:45
|
||||
#: resources/ui/common/main-menu.ui:41
|
||||
msgid "About Burn-My-Windows"
|
||||
msgstr "Over Burn-My-Windows"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||
#: resources/ui/gtk4/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/EnergizeB.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/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
|
||||
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
|
||||
#: resources/ui/gtk3/EnergizeB.ui:42
|
||||
#: resources/ui/gtk3/Hexagon.ui:49 resources/ui/gtk3/EnergizeB.ui:42
|
||||
#: resources/ui/gtk3/Apparition.ui:63
|
||||
msgid "Animation Time [ms]"
|
||||
msgstr "Animatieduur [in ms]"
|
||||
|
||||
@@ -161,29 +176,43 @@ msgstr "Animatieduur [in ms]"
|
||||
#: 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/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/prefs.ui:166 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/EnergizeB.ui:68 resources/ui/gtk3/EnergizeB.ui:117
|
||||
#: resources/ui/gtk3/EnergizeB.ui:160 resources/ui/gtk3/prefs.ui:219
|
||||
#: resources/ui/gtk4/prefs.ui:166 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/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/Apparition.ui:89
|
||||
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||
msgid "Reset to Default Value"
|
||||
msgstr "Standaardwaarde herstellen"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||
#: resources/ui/gtk4/Wisps.ui:70 resources/ui/gtk4/Fire.ui:95
|
||||
#: resources/ui/gtk4/EnergizeA.ui:70 resources/ui/gtk4/EnergizeB.ui:70
|
||||
#: 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/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/Wisps.ui:91
|
||||
#: resources/ui/gtk3/Fire.ui:141 resources/ui/gtk3/EnergizeA.ui:91
|
||||
#: resources/ui/gtk3/Hexagon.ui:98 resources/ui/gtk3/EnergizeB.ui:91
|
||||
msgid "Scale"
|
||||
msgstr "Schaal"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:116
|
||||
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||
#: resources/ui/gtk3/Apparition.ui:112
|
||||
msgid "Randomness"
|
||||
msgstr "Willekeurigheid"
|
||||
|
||||
@@ -218,10 +247,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"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/EnergizeA.ui:116 resources/ui/gtk4/EnergizeB.ui:116
|
||||
#: 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/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/Wisps.ui:139
|
||||
#: resources/ui/gtk3/TVEffect.ui:83 resources/ui/gtk3/EnergizeA.ui:139
|
||||
#: resources/ui/gtk3/EnergizeB.ui:139
|
||||
msgid "Color"
|
||||
msgstr "Kleur"
|
||||
|
||||
@@ -265,6 +295,26 @@ msgstr "Flitskleur"
|
||||
msgid "Preview this Effect"
|
||||
msgstr "Voorvertonen"
|
||||
|
||||
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||
msgid "Mesh Line Width"
|
||||
msgstr "Gaaslijnbreedte"
|
||||
|
||||
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||
msgid "Line Color"
|
||||
msgstr "Lijnkleur"
|
||||
|
||||
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||
msgid "Glow Color"
|
||||
msgstr "Gloeikleur"
|
||||
|
||||
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||
msgid "Additive Blending"
|
||||
msgstr "Overvloeien"
|
||||
|
||||
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||
msgid "You may want to enable this for dark window themes."
|
||||
msgstr "Dit is mogelijk nuttig bij het gebruik van donkere thema's."
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||
msgid "Welcome to Burn-My-Windows!"
|
||||
msgstr "Welkom bij ‘Burn-My-Windows’!"
|
||||
@@ -297,6 +347,18 @@ msgstr "Animatie bij sluiten van vensters"
|
||||
msgid "Also Add Effects to Dialogs"
|
||||
msgstr "Dialoogvensters ook voorzien van effecten"
|
||||
|
||||
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||
msgid "Twirl Intensity"
|
||||
msgstr "Wervelintensiteit"
|
||||
|
||||
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||
msgid "Shake Intensity"
|
||||
msgstr "Schudintensiteit"
|
||||
|
||||
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||
msgid "Suction Intensity"
|
||||
msgstr "Zuigintensiteit"
|
||||
|
||||
#: resources/ui/gtk3/Fire.ui:63
|
||||
msgid "Choose a Preset"
|
||||
msgstr "Kies een voorinstelling"
|
||||
|
||||
@@ -0,0 +1,364 @@
|
||||
# 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-04-05 09:22+0200\n"
|
||||
"PO-Revision-Date: 2022-03-31 11:07+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:112
|
||||
msgid "Effect Options"
|
||||
msgstr "Параметры эффекта"
|
||||
|
||||
#: prefs.js:140
|
||||
msgid "Go Back"
|
||||
msgstr "Назад"
|
||||
|
||||
#: prefs.js:182
|
||||
msgid "General Options"
|
||||
msgstr "Общие настройки"
|
||||
|
||||
#: prefs.js:276
|
||||
msgid "Gold Sponsors"
|
||||
msgstr "Золотые спонсоры"
|
||||
|
||||
#: prefs.js:279
|
||||
msgid "Silver Sponsors"
|
||||
msgstr "Серебряные спонсоры"
|
||||
|
||||
#: prefs.js:282
|
||||
msgid "Bronze Sponsors"
|
||||
msgstr "Бронзовые спонсоры"
|
||||
|
||||
#: prefs.js:285
|
||||
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:57
|
||||
msgid "Broken Glass"
|
||||
msgstr "Разбитое стекло"
|
||||
|
||||
#: src/TVEffect.js:56
|
||||
msgid "TV Effect"
|
||||
msgstr "Эффект ЭЛТ"
|
||||
|
||||
#: src/TRexAttack.js:56
|
||||
msgid "T-Rex Attack"
|
||||
msgstr "Атака тираннозавра"
|
||||
|
||||
#: src/SnapOfDisintegration.js:60
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr ""
|
||||
|
||||
#: src/Wisps.js:55
|
||||
msgid "Wisps"
|
||||
msgstr "Огоньки"
|
||||
|
||||
#: src/Fire.js:58
|
||||
msgid "Fire"
|
||||
msgstr "Огонь"
|
||||
|
||||
#: src/Fire.js:130
|
||||
msgid "Default Fire"
|
||||
msgstr "Обычный огонь"
|
||||
|
||||
#: src/Fire.js:140
|
||||
msgid "Hell Fire"
|
||||
msgstr "Адское пламя"
|
||||
|
||||
#: src/Fire.js:150
|
||||
msgid "Dark and Smutty"
|
||||
msgstr "Тёмный и грязный"
|
||||
|
||||
#: src/Fire.js:160
|
||||
msgid "Cold Breeze"
|
||||
msgstr "Холодный бриз"
|
||||
|
||||
#: src/Fire.js:170
|
||||
msgid "Santa is Coming"
|
||||
msgstr "Дед Мороз идёт"
|
||||
|
||||
#: src/Hexagon.js:53
|
||||
msgid "Hexagon"
|
||||
msgstr ""
|
||||
|
||||
#: src/EnergizeA.js:54
|
||||
msgid "Energize A"
|
||||
msgstr "Энергия A"
|
||||
|
||||
#: src/Apparition.js:57
|
||||
msgid "Apparition"
|
||||
msgstr ""
|
||||
|
||||
#: src/EnergizeB.js:54
|
||||
msgid "Energize B"
|
||||
msgstr "Энергия B"
|
||||
|
||||
#: src/Matrix.js:58
|
||||
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/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/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/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/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/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/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/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/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/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/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/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,363 @@
|
||||
# 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-04-05 09:22+0200\n"
|
||||
"PO-Revision-Date: 2022-03-21 05:57+0000\n"
|
||||
"Last-Translator: Muha Aliss <muhaaliss@pm.me>\n"
|
||||
"Language-Team: Turkish <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||
"core/tr/>\n"
|
||||
"Language: tr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.12-dev\n"
|
||||
|
||||
#: prefs.js:112
|
||||
msgid "Effect Options"
|
||||
msgstr "Efekt Seçenekleri"
|
||||
|
||||
#: prefs.js:140
|
||||
msgid "Go Back"
|
||||
msgstr "Geri Dön"
|
||||
|
||||
#: prefs.js:182
|
||||
msgid "General Options"
|
||||
msgstr "Genel Ayarlar"
|
||||
|
||||
#: prefs.js:276
|
||||
msgid "Gold Sponsors"
|
||||
msgstr "Altın Sponsorlar"
|
||||
|
||||
#: prefs.js:279
|
||||
msgid "Silver Sponsors"
|
||||
msgstr "Gümüş Sponsorlar"
|
||||
|
||||
#: prefs.js:282
|
||||
msgid "Bronze Sponsors"
|
||||
msgstr "Bronz Sponsorlar"
|
||||
|
||||
#: prefs.js:285
|
||||
msgid "Past Sponsors"
|
||||
msgstr "Eski Sponsorlar"
|
||||
|
||||
#. Translators: %s will be replaced by the effect's name.
|
||||
#: prefs.js:510
|
||||
#, javascript-format
|
||||
msgid "Preview for %s"
|
||||
msgstr "%s ön izleme"
|
||||
|
||||
#: prefs.js:532
|
||||
msgid "Close this Window to Preview the Effect!"
|
||||
msgstr "Efekti Ön izlemek İçin Bu Pencereyi Kapatın!"
|
||||
|
||||
#: src/BrokenGlass.js:57
|
||||
msgid "Broken Glass"
|
||||
msgstr "Kırılan Cam"
|
||||
|
||||
#: src/TVEffect.js:56
|
||||
msgid "TV Effect"
|
||||
msgstr "TV Efekti"
|
||||
|
||||
#: src/TRexAttack.js:56
|
||||
msgid "T-Rex Attack"
|
||||
msgstr "T-Rex Saldırısı"
|
||||
|
||||
#: src/SnapOfDisintegration.js:60
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr ""
|
||||
|
||||
#: src/Wisps.js:55
|
||||
msgid "Wisps"
|
||||
msgstr ""
|
||||
|
||||
#: src/Fire.js:58
|
||||
msgid "Fire"
|
||||
msgstr "Ateş"
|
||||
|
||||
#: src/Fire.js:130
|
||||
msgid "Default Fire"
|
||||
msgstr "Varsayılan Ateş"
|
||||
|
||||
#: src/Fire.js:140
|
||||
msgid "Hell Fire"
|
||||
msgstr "Cehennem Ateşi"
|
||||
|
||||
#: src/Fire.js:150
|
||||
msgid "Dark and Smutty"
|
||||
msgstr "Karanlık ve Sürmeli"
|
||||
|
||||
#: src/Fire.js:160
|
||||
msgid "Cold Breeze"
|
||||
msgstr "Soğuk Esinti"
|
||||
|
||||
#: src/Fire.js:170
|
||||
msgid "Santa is Coming"
|
||||
msgstr "Noel Baba Geliyor"
|
||||
|
||||
#: src/Hexagon.js:53
|
||||
msgid "Hexagon"
|
||||
msgstr ""
|
||||
|
||||
#: src/EnergizeA.js:54
|
||||
msgid "Energize A"
|
||||
msgstr "Enerji A"
|
||||
|
||||
#: src/Apparition.js:57
|
||||
msgid "Apparition"
|
||||
msgstr ""
|
||||
|
||||
#: src/EnergizeB.js:54
|
||||
msgid "Energize B"
|
||||
msgstr "Enerji B"
|
||||
|
||||
#: src/Matrix.js:58
|
||||
msgid "Matrix"
|
||||
msgstr "Matrix"
|
||||
|
||||
#: resources/ui/common/main-menu.ui:6
|
||||
msgid "Visit Homepage"
|
||||
msgstr "Ana Sayfaya Git"
|
||||
|
||||
#: resources/ui/common/main-menu.ui:10
|
||||
msgid "View Changelog"
|
||||
msgstr "Değişim Günlüğü"
|
||||
|
||||
#: resources/ui/common/main-menu.ui:16
|
||||
msgid "Report a Bug"
|
||||
msgstr "Hata Bildir"
|
||||
|
||||
#: resources/ui/common/main-menu.ui:20
|
||||
msgid "Create an Effect"
|
||||
msgstr "Efekt Oluştur"
|
||||
|
||||
#: resources/ui/common/main-menu.ui:24
|
||||
msgid "Translate"
|
||||
msgstr "Çevir"
|
||||
|
||||
#: resources/ui/common/main-menu.ui:28
|
||||
msgid "Donate"
|
||||
msgstr "Bağış"
|
||||
|
||||
#: resources/ui/common/main-menu.ui:41
|
||||
msgid "About Burn-My-Windows"
|
||||
msgstr "Burn-My-Windows Hakkında"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||
#: resources/ui/gtk4/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/Wisps.ui:42 resources/ui/gtk3/Fire.ui:93
|
||||
#: resources/ui/gtk3/TVEffect.ui:35 resources/ui/gtk3/EnergizeA.ui:42
|
||||
#: resources/ui/gtk3/Hexagon.ui:49 resources/ui/gtk3/EnergizeB.ui:42
|
||||
#: resources/ui/gtk3/Apparition.ui:63
|
||||
msgid "Animation Time [ms]"
|
||||
msgstr "Animasyon Süresi [ms]"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
|
||||
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
|
||||
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
||||
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
||||
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
||||
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/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/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/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/Apparition.ui:89
|
||||
#: resources/ui/gtk3/Apparition.ui:138 resources/ui/gtk3/Apparition.ui:187
|
||||
#: resources/ui/gtk3/Apparition.ui:236 resources/ui/gtk3/Apparition.ui:285
|
||||
msgid "Reset to Default Value"
|
||||
msgstr "Varsayılan Değere Sıfırla"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:70 resources/ui/gtk4/BrokenGlass.ui:70
|
||||
#: resources/ui/gtk4/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/Wisps.ui:91
|
||||
#: resources/ui/gtk3/Fire.ui:141 resources/ui/gtk3/EnergizeA.ui:91
|
||||
#: resources/ui/gtk3/Hexagon.ui:98 resources/ui/gtk3/EnergizeB.ui:91
|
||||
msgid "Scale"
|
||||
msgstr "Ölçek"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||
#: resources/ui/gtk3/Apparition.ui:112
|
||||
msgid "Randomness"
|
||||
msgstr "Rastgelelik"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:162
|
||||
msgid "Vertical Overshooting"
|
||||
msgstr "Dikey Taşma"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:208
|
||||
msgid "Trail Color"
|
||||
msgstr "İz Rengi"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:242
|
||||
msgid "Tip Color"
|
||||
msgstr "Yazı Rengi"
|
||||
|
||||
#: resources/ui/gtk4/BrokenGlass.ui:116
|
||||
msgid "Gravity"
|
||||
msgstr "Yer Çekimi"
|
||||
|
||||
#: resources/ui/gtk4/BrokenGlass.ui:162
|
||||
msgid "Blow Force"
|
||||
msgstr "Darbe Kuvveti"
|
||||
|
||||
#: resources/ui/gtk4/BrokenGlass.ui:212
|
||||
msgid "Shatter From Pointer Location"
|
||||
msgstr "İşaretçi Konumundan Parçalanma"
|
||||
|
||||
#: resources/ui/gtk4/BrokenGlass.ui:221
|
||||
msgid ""
|
||||
"The shards will fly away from where your mouse pointer was when closing the "
|
||||
"window."
|
||||
msgstr ""
|
||||
"Parçalar, pencereyi kapatırken fare işaretçinizin bulunduğu yerden uzağa "
|
||||
"uçacaktır."
|
||||
|
||||
#: resources/ui/gtk4/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/Wisps.ui:139
|
||||
#: resources/ui/gtk3/TVEffect.ui:83 resources/ui/gtk3/EnergizeA.ui:139
|
||||
#: resources/ui/gtk3/EnergizeB.ui:139
|
||||
msgid "Color"
|
||||
msgstr "Renk"
|
||||
|
||||
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
|
||||
msgid "Presets"
|
||||
msgstr "Şablon"
|
||||
|
||||
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
|
||||
msgid "Speed"
|
||||
msgstr "Hız"
|
||||
|
||||
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
||||
msgid "3D Noise"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
|
||||
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||
msgstr "Daha dinamik bir ateş oluşturur ancak daha fazla GPU gücü gerektirir."
|
||||
|
||||
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||
msgid "Gradient"
|
||||
msgstr "Gradyan"
|
||||
|
||||
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||
msgid "Claw Scratch Scale"
|
||||
msgstr "Pençe Çizik Ölçeği"
|
||||
|
||||
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||
msgid "Claw Scratch Count"
|
||||
msgstr "Pençe Çizik Sayısı"
|
||||
|
||||
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||
msgid "Warp Effect"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/TRexAttack.ui:208
|
||||
msgid "Flash Color"
|
||||
msgstr "Flaş Rengi"
|
||||
|
||||
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||
msgid "Preview this Effect"
|
||||
msgstr "Bu Efekti Önizle"
|
||||
|
||||
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||
msgid "Mesh Line Width"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||
msgid "Line Color"
|
||||
msgstr ""
|
||||
|
||||
#: 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'a Hoş Geldiniz!"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
|
||||
msgid "If you like this extension, recommend it to your friends :)"
|
||||
msgstr "Bu uzantıyı beğendiyseniz, arkadaşlarınıza tavsiye edin :)"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
||||
msgid "Open Window Animation"
|
||||
msgstr "Pencere Animasyonunu Aç"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
|
||||
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
|
||||
msgid "If multiple are selected, one is chosen randomly."
|
||||
msgstr "Birden fazla seçilirse, rastgele biri uygulanır."
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
|
||||
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
|
||||
msgid "Choose Effects"
|
||||
msgstr "Efektleri Seçin"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
|
||||
msgid "Close Window Animation"
|
||||
msgstr "Pencere Animasyonunu Kapat"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
|
||||
msgid "Also Add Effects to Dialogs"
|
||||
msgstr "Ayrıca Diyaloglara Efektler Ekle"
|
||||
|
||||
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||
msgid "Twirl Intensity"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||
msgid "Shake Intensity"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||
msgid "Suction Intensity"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk3/Fire.ui:63
|
||||
msgid "Choose a Preset"
|
||||
msgstr "Bir Şablon Seçin"
|
||||
@@ -0,0 +1,384 @@
|
||||
# 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-04-05 09:22+0200\n"
|
||||
"PO-Revision-Date: 2022-03-01 15:05+0000\n"
|
||||
"Last-Translator: 刘韬 <lyuutau@outlook.com>\n"
|
||||
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
|
||||
"burn-my-windows/core/zh_Hans/>\n"
|
||||
"Language: zh_Hans\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 4.11.1-dev\n"
|
||||
|
||||
#: prefs.js:112
|
||||
#, fuzzy
|
||||
msgid "Effect Options"
|
||||
msgstr "效果选项"
|
||||
|
||||
#: prefs.js:140
|
||||
msgid "Go Back"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:182
|
||||
#, fuzzy
|
||||
msgid "General Options"
|
||||
msgstr "一般选项"
|
||||
|
||||
#: prefs.js:276
|
||||
#, fuzzy
|
||||
msgid "Gold Sponsors"
|
||||
msgstr "金牌赞助商"
|
||||
|
||||
#: prefs.js:279
|
||||
#, fuzzy
|
||||
msgid "Silver Sponsors"
|
||||
msgstr "银牌赞助商"
|
||||
|
||||
#: prefs.js:282
|
||||
#, fuzzy
|
||||
msgid "Bronze Sponsors"
|
||||
msgstr "铜牌赞助商"
|
||||
|
||||
#: prefs.js:285
|
||||
#, fuzzy
|
||||
msgid "Past Sponsors"
|
||||
msgstr "往届赞助商"
|
||||
|
||||
#. Translators: %s will be replaced by the effect's name.
|
||||
#: prefs.js:510
|
||||
#, fuzzy, javascript-format
|
||||
msgid "Preview for %s"
|
||||
msgstr "%s 的预览"
|
||||
|
||||
#: prefs.js:532
|
||||
#, fuzzy
|
||||
msgid "Close this Window to Preview the Effect!"
|
||||
msgstr "关闭此窗口,预览效果!"
|
||||
|
||||
#: src/BrokenGlass.js:57
|
||||
#, fuzzy
|
||||
msgid "Broken Glass"
|
||||
msgstr "破碎的玻璃"
|
||||
|
||||
#: src/TVEffect.js:56
|
||||
#, fuzzy
|
||||
msgid "TV Effect"
|
||||
msgstr "电视效果"
|
||||
|
||||
#: src/TRexAttack.js:56
|
||||
#, fuzzy
|
||||
msgid "T-Rex Attack"
|
||||
msgstr "霸王龙攻击"
|
||||
|
||||
#: src/SnapOfDisintegration.js:60
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr ""
|
||||
|
||||
#: src/Wisps.js:55
|
||||
msgid "Wisps"
|
||||
msgstr ""
|
||||
|
||||
#: src/Fire.js:58
|
||||
msgid "Fire"
|
||||
msgstr ""
|
||||
|
||||
#: src/Fire.js:130
|
||||
msgid "Default Fire"
|
||||
msgstr ""
|
||||
|
||||
#: src/Fire.js:140
|
||||
#, fuzzy
|
||||
msgid "Hell Fire"
|
||||
msgstr "地狱之火"
|
||||
|
||||
#: src/Fire.js:150
|
||||
#, fuzzy
|
||||
msgid "Dark and Smutty"
|
||||
msgstr "黑暗和污秽"
|
||||
|
||||
#: src/Fire.js:160
|
||||
#, fuzzy
|
||||
msgid "Cold Breeze"
|
||||
msgstr "寒风"
|
||||
|
||||
#: src/Fire.js:170
|
||||
#, fuzzy
|
||||
msgid "Santa is Coming"
|
||||
msgstr "圣诞老人来了"
|
||||
|
||||
#: src/Hexagon.js:53
|
||||
msgid "Hexagon"
|
||||
msgstr ""
|
||||
|
||||
#: src/EnergizeA.js:54
|
||||
msgid "Energize A"
|
||||
msgstr ""
|
||||
|
||||
#: src/Apparition.js:57
|
||||
msgid "Apparition"
|
||||
msgstr ""
|
||||
|
||||
#: src/EnergizeB.js:54
|
||||
msgid "Energize B"
|
||||
msgstr ""
|
||||
|
||||
#: src/Matrix.js:58
|
||||
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
|
||||
#, fuzzy
|
||||
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/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/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
|
||||
#, fuzzy
|
||||
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/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/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/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/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/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/Wisps.ui:91
|
||||
#: resources/ui/gtk3/Fire.ui:141 resources/ui/gtk3/EnergizeA.ui:91
|
||||
#: resources/ui/gtk3/Hexagon.ui:98 resources/ui/gtk3/EnergizeB.ui:91
|
||||
#, fuzzy
|
||||
msgid "Scale"
|
||||
msgstr "规模"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||
#: resources/ui/gtk3/Apparition.ui:112
|
||||
#, fuzzy
|
||||
msgid "Randomness"
|
||||
msgstr "随机性"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:162
|
||||
#, fuzzy
|
||||
msgid "Vertical Overshooting"
|
||||
msgstr "垂直过冲"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:208
|
||||
#, fuzzy
|
||||
msgid "Trail Color"
|
||||
msgstr "尾迹颜色"
|
||||
|
||||
#: resources/ui/gtk4/Matrix.ui:242
|
||||
#, fuzzy
|
||||
msgid "Tip Color"
|
||||
msgstr "提示颜色"
|
||||
|
||||
#: resources/ui/gtk4/BrokenGlass.ui:116
|
||||
msgid "Gravity"
|
||||
msgstr "重力"
|
||||
|
||||
#: resources/ui/gtk4/BrokenGlass.ui:162
|
||||
#, fuzzy
|
||||
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/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/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
|
||||
#, fuzzy
|
||||
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 ""
|
||||
|
||||
#: 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/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 ""
|
||||
@@ -32,11 +32,14 @@ const utils = Me.imports.src.utils;
|
||||
|
||||
// New effects must be registered here and in extension.js.
|
||||
const ALL_EFFECTS = [
|
||||
Me.imports.src.Apparition.Apparition,
|
||||
Me.imports.src.BrokenGlass.BrokenGlass,
|
||||
Me.imports.src.EnergizeA.EnergizeA,
|
||||
Me.imports.src.EnergizeB.EnergizeB,
|
||||
Me.imports.src.Fire.Fire,
|
||||
Me.imports.src.Hexagon.Hexagon,
|
||||
Me.imports.src.Matrix.Matrix,
|
||||
Me.imports.src.BrokenGlass.BrokenGlass,
|
||||
Me.imports.src.SnapOfDisintegration.SnapOfDisintegration,
|
||||
Me.imports.src.TRexAttack.TRexAttack,
|
||||
Me.imports.src.TVEffect.TVEffect,
|
||||
Me.imports.src.Wisps.Wisps,
|
||||
@@ -64,13 +67,11 @@ var PreferencesDialog = class PreferencesDialog {
|
||||
const styleProvider = Gtk.CssProvider.new();
|
||||
styleProvider.load_from_resource('/css/gtk.css');
|
||||
if (utils.isGTK4()) {
|
||||
Gtk.StyleContext.add_provider_for_display(
|
||||
Gdk.Display.get_default(), styleProvider,
|
||||
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
Gtk.StyleContext.add_provider_for_display(Gdk.Display.get_default(), styleProvider,
|
||||
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
} else {
|
||||
Gtk.StyleContext.add_provider_for_screen(
|
||||
Gdk.Screen.get_default(), styleProvider,
|
||||
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(), styleProvider,
|
||||
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
}
|
||||
|
||||
// Make sure custom icons are found.
|
||||
@@ -241,14 +242,13 @@ var PreferencesDialog = class PreferencesDialog {
|
||||
};
|
||||
|
||||
// clang-format off
|
||||
addURIAction('homepage', 'https://github.com/Schneegans/Burn-My-Windows');
|
||||
addURIAction('changelog', 'https://github.com/Schneegans/Burn-My-Windows/blob/main/docs/changelog.md');
|
||||
addURIAction('bugs', 'https://github.com/Schneegans/Burn-My-Windows/issues');
|
||||
addURIAction('new-effect', 'https://github.com/Schneegans/Burn-My-Windows/blob/main/docs/how-to-create-new-effects.md');
|
||||
addURIAction('translate', 'https://hosted.weblate.org/engage/burn-my-windows/');
|
||||
addURIAction('donate-paypal', 'https://www.paypal.com/donate/?hosted_button_id=3F7UFL8KLVPXE');
|
||||
addURIAction('donate-github', 'https://github.com/sponsors/Schneegans');
|
||||
addURIAction('donate-liberapay', 'https://liberapay.com/Schneegans');
|
||||
addURIAction('homepage', 'https://github.com/Schneegans/Burn-My-Windows');
|
||||
addURIAction('changelog', 'https://github.com/Schneegans/Burn-My-Windows/blob/main/docs/changelog.md');
|
||||
addURIAction('bugs', 'https://github.com/Schneegans/Burn-My-Windows/issues');
|
||||
addURIAction('new-effect', 'https://github.com/Schneegans/Burn-My-Windows/blob/main/docs/how-to-create-new-effects.md');
|
||||
addURIAction('translate', 'https://hosted.weblate.org/engage/burn-my-windows/');
|
||||
addURIAction('donate-paypal', 'https://www.paypal.com/donate/?hosted_button_id=3F7UFL8KLVPXE');
|
||||
addURIAction('donate-github', 'https://github.com/sponsors/Schneegans');
|
||||
// clang-format on
|
||||
|
||||
// Add the about dialog.
|
||||
@@ -481,80 +481,77 @@ var PreferencesDialog = class PreferencesDialog {
|
||||
|
||||
// Each effect page is based on a template widget. This template contains the title
|
||||
// and the preview button.
|
||||
// clang-format off
|
||||
if (GObject.type_from_name('BurnMyWindowsEffectPage') == null) {
|
||||
BurnMyWindowsEffectPage =
|
||||
GObject.registerClass({
|
||||
GTypeName: 'BurnMyWindowsEffectPage',
|
||||
Template: `resource:///ui/${utils.getGTKString()}/effectPage.ui`,
|
||||
InternalChildren: ['label', 'button'],
|
||||
},
|
||||
class BurnMyWindowsEffectPage extends Gtk.Box {
|
||||
_init(Effect, dialog) {
|
||||
super._init();
|
||||
BurnMyWindowsEffectPage = GObject.registerClass(
|
||||
{
|
||||
GTypeName: 'BurnMyWindowsEffectPage',
|
||||
Template: `resource:///ui/${utils.getGTKString()}/effectPage.ui`,
|
||||
InternalChildren: ['label', 'button'],
|
||||
},
|
||||
class BurnMyWindowsEffectPage extends Gtk.Box { // ------------------------------
|
||||
_init(Effect, dialog) {
|
||||
super._init();
|
||||
|
||||
// Set the effect's name as label.
|
||||
this._label.label = Effect.getLabel();
|
||||
// Set the effect's name as label.
|
||||
this._label.label = Effect.getLabel();
|
||||
|
||||
// Open the preview window once the preview button is clicked.
|
||||
this._button.connect('clicked', () => {
|
||||
// Open the preview window once the preview button is clicked.
|
||||
this._button.connect('clicked', () => {
|
||||
// Set the to-be-previewed effect.
|
||||
dialog.getSettings().set_string('open-preview-effect', Effect.getNick());
|
||||
dialog.getSettings().set_string('close-preview-effect', Effect.getNick());
|
||||
|
||||
// Set the to-be-previewed effect.
|
||||
dialog.getSettings().set_string('open-preview-effect', Effect.getNick());
|
||||
dialog.getSettings().set_string('close-preview-effect', Effect.getNick());
|
||||
// Make sure that the window.show() firther below "sees" this change.
|
||||
Gio.Settings.sync();
|
||||
|
||||
// Make sure that the window.show() firther below "sees" this change.
|
||||
Gio.Settings.sync();
|
||||
// Create the preview-window.
|
||||
const window = new Gtk.Window({
|
||||
// Translators: %s will be replaced by the effect's name.
|
||||
title: _('Preview for %s').replace('%s', Effect.getLabel()),
|
||||
default_width: 800,
|
||||
default_height: 450,
|
||||
modal: true,
|
||||
transient_for: utils.isGTK4() ? this._button.get_root() :
|
||||
this._button.get_toplevel()
|
||||
});
|
||||
|
||||
// Create the preview-window.
|
||||
const window = new Gtk.Window({
|
||||
// Translators: %s will be replaced by the effect's name.
|
||||
title: _('Preview for %s').replace("%s", Effect.getLabel()),
|
||||
default_width: 800,
|
||||
default_height: 450,
|
||||
modal: true,
|
||||
transient_for: utils.isGTK4() ? this._button.get_root() :
|
||||
this._button.get_toplevel()
|
||||
// Add a header bar to the window.
|
||||
if (utils.isGTK4()) {
|
||||
const header = Gtk.HeaderBar.new();
|
||||
window.set_titlebar(header);
|
||||
}
|
||||
|
||||
const box = new Gtk.Box({
|
||||
orientation: Gtk.Orientation.VERTICAL,
|
||||
valign: Gtk.Align.CENTER,
|
||||
spacing: 10,
|
||||
margin_start: 50,
|
||||
margin_end: 50
|
||||
});
|
||||
|
||||
const label = Gtk.Label.new(_('Close this Window to Preview the Effect!'));
|
||||
label.wrap = true;
|
||||
label.justify = Gtk.Justification.CENTER;
|
||||
label.get_style_context().add_class('large-title');
|
||||
|
||||
const image = new Gtk.Image({
|
||||
icon_name: 'burn-my-windows-symbolic',
|
||||
pixel_size: 128,
|
||||
});
|
||||
|
||||
dialog.gtkBoxAppend(box, image);
|
||||
dialog.gtkBoxAppend(box, label);
|
||||
|
||||
if (utils.isGTK4()) {
|
||||
window.set_child(box);
|
||||
window.show();
|
||||
} else {
|
||||
window.add(box);
|
||||
window.show_all();
|
||||
}
|
||||
});
|
||||
|
||||
// Add a header bar to the window.
|
||||
if (utils.isGTK4()) {
|
||||
const header = Gtk.HeaderBar.new();
|
||||
window.set_titlebar(header);
|
||||
}
|
||||
|
||||
const box = new Gtk.Box({
|
||||
orientation: Gtk.Orientation.VERTICAL,
|
||||
valign: Gtk.Align.CENTER,
|
||||
spacing: 10,
|
||||
margin_start:50,
|
||||
margin_end:50
|
||||
});
|
||||
|
||||
const label = Gtk.Label.new(_('Close this Window to Preview the Effect!'));
|
||||
label.wrap = true;
|
||||
label.justify = Gtk.Justification.CENTER;
|
||||
label.get_style_context().add_class('large-title');
|
||||
|
||||
const image = new Gtk.Image({
|
||||
icon_name: 'burn-my-windows-symbolic',
|
||||
pixel_size: 128,
|
||||
});
|
||||
|
||||
dialog.gtkBoxAppend(box, image);
|
||||
dialog.gtkBoxAppend(box, label);
|
||||
|
||||
if (utils.isGTK4()) {
|
||||
window.set_child(box);
|
||||
window.show();
|
||||
} else {
|
||||
window.add(box);
|
||||
window.show_all();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
// clang-format on
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
"<a href='https://github.com/danielheadbang'>@danielheadbang</a>"
|
||||
],
|
||||
"past": [
|
||||
"<a href='https://github.com/MrTomRod'>@MrTomRod</a>",
|
||||
"Pouhiou",
|
||||
"DAPREMONT Christophe",
|
||||
"<a href='https://github.com/manero6'>@manero6</a>",
|
||||
|
||||
@@ -17,6 +17,15 @@
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Russian": [
|
||||
[
|
||||
"franigoyt@gmail.com",
|
||||
"ANIGO R. (AR)",
|
||||
59
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Czech": [
|
||||
[
|
||||
@@ -26,6 +35,15 @@
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Turkish": [
|
||||
[
|
||||
"muhaaliss@pm.me",
|
||||
"Muha Aliss",
|
||||
57
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Italian": [
|
||||
[
|
||||
@@ -36,7 +54,16 @@
|
||||
[
|
||||
"albano_battistella@hotmail.com",
|
||||
"albanobattistella",
|
||||
59
|
||||
63
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Chinese (Simplified)": [
|
||||
[
|
||||
"lyuutau@outlook.com",
|
||||
"\u5218\u97ec",
|
||||
36
|
||||
]
|
||||
]
|
||||
},
|
||||
@@ -64,7 +91,7 @@
|
||||
[
|
||||
"bonnemainsnathan@gmail.com",
|
||||
"Nathan",
|
||||
40
|
||||
42
|
||||
]
|
||||
]
|
||||
},
|
||||
@@ -73,7 +100,12 @@
|
||||
[
|
||||
"ulicesah@gmail.com",
|
||||
"Ulices",
|
||||
5
|
||||
7
|
||||
],
|
||||
[
|
||||
"fitojb@ubuntu.com",
|
||||
"Adolfo Jayme Barrientos",
|
||||
11
|
||||
],
|
||||
[
|
||||
"oscfdezdz@tuta.io",
|
||||
|
||||
|
After Width: | Height: | Size: 434 KiB |
@@ -34,10 +34,6 @@
|
||||
<attribute name="label">GitHub</attribute>
|
||||
<attribute name="action">prefs.donate-github</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name="label">Liberapay</attribute>
|
||||
<attribute name="action">prefs.donate-liberapay</attribute>
|
||||
</item>
|
||||
</submenu>
|
||||
</section>
|
||||
<section>
|
||||
|
||||
@@ -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">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">500</property>
|
||||
<property name="step-increment">10</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
<object class="GtkAdjustment" id="energize-b-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">500</property>
|
||||
<property name="step-increment">10</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
<object class="GtkAdjustment" id="fire-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">500</property>
|
||||
<property name="step-increment">10</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</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>
|
||||
@@ -2,9 +2,9 @@
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkAdjustment" id="tv-animation-time">
|
||||
<property name="upper">5000</property>
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">10</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
<object class="GtkAdjustment" id="wisps-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">500</property>
|
||||
<property name="step-increment">10</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</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">
|
||||
<object class="GtkAdjustment" id="broken-glass-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">500</property>
|
||||
<property name="step-increment">10</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
|
||||
@@ -39,8 +39,8 @@
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="energize-a-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">500</property>
|
||||
<property name="step-increment">10</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
|
||||
@@ -39,8 +39,8 @@
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="energize-b-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">500</property>
|
||||
<property name="step-increment">10</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
|
||||
@@ -64,8 +64,8 @@
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="fire-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">500</property>
|
||||
<property name="step-increment">10</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</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>
|
||||
@@ -39,8 +39,8 @@
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="matrix-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">500</property>
|
||||
<property name="step-increment">10</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
|
||||
@@ -0,0 +1,151 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
|
||||
<object class="GtkBox" id="snap-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="snap-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">500</property>
|
||||
<property name="step-increment">10</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-snap-animation-time">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text">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="snap-scale">
|
||||
<property name="upper">20</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-snap-scale">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text">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="snap-color">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-snap-color">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text">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">
|
||||
<object class="GtkAdjustment" id="trex-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">500</property>
|
||||
<property name="step-increment">10</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
|
||||
@@ -38,9 +38,9 @@
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="tv-animation-time">
|
||||
<property name="upper">5000</property>
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">10</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
|
||||
@@ -39,8 +39,8 @@
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="wisps-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">500</property>
|
||||
<property name="step-increment">10</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
|
||||
@@ -25,6 +25,58 @@
|
||||
<description>The effect with this nick will be used for the next window-open animation.</description>
|
||||
</key>
|
||||
|
||||
<key name="test-mode" type="b">
|
||||
<default>false</default>
|
||||
<summary>Test Mode</summary>
|
||||
<description>If set to true, all animations will show only one still frame to allow for continuous integration tests.</description>
|
||||
</key>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
<!-- Apparition Effect Options -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<key name="apparition-open-effect" type="b">
|
||||
<default>false</default>
|
||||
<summary>Apparition Open Effect</summary>
|
||||
<description>Use the apparition effect for window openeing.</description>
|
||||
</key>
|
||||
|
||||
<key name="apparition-close-effect" type="b">
|
||||
<default>false</default>
|
||||
<summary>Apparition Close Effect</summary>
|
||||
<description>Use the apparition effect for window closing.</description>
|
||||
</key>
|
||||
|
||||
<key name="apparition-animation-time" type="i">
|
||||
<default>300</default>
|
||||
<summary>Apparition Animation Time</summary>
|
||||
<description>The time the apparition effect takes.</description>
|
||||
</key>
|
||||
|
||||
<key name="apparition-randomness" type="d">
|
||||
<default>0.5</default>
|
||||
<summary>Apparition Randomness</summary>
|
||||
<description>The amount of randomness of the apparition effect.</description>
|
||||
</key>
|
||||
|
||||
<key name="apparition-twirl-intensity" type="d">
|
||||
<default>5.0</default>
|
||||
<summary>Apparition Twirl Intensity</summary>
|
||||
<description>The amount of twirling of the apparition effect.</description>
|
||||
</key>
|
||||
|
||||
<key name="apparition-shake-intensity" type="d">
|
||||
<default>3.0</default>
|
||||
<summary>Apparition Shake Intensity</summary>
|
||||
<description>The amount of shaking of the apparition effect.</description>
|
||||
</key>
|
||||
|
||||
<key name="apparition-suction-intensity" type="d">
|
||||
<default>0.75</default>
|
||||
<summary>Apparition Suction Intensity</summary>
|
||||
<description>The amount of suction of the apparition effect.</description>
|
||||
</key>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
<!-- Fire Options -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
@@ -221,6 +273,58 @@
|
||||
<description>Number of claw scratches drawn on top of each other.</description>
|
||||
</key>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
<!-- Hexagon Options -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<key name="hexagon-close-effect" type="b">
|
||||
<default>false</default>
|
||||
<summary>Hexagon Close Effect</summary>
|
||||
<description>Use the Hexagon effect for window closing.</description>
|
||||
</key>
|
||||
|
||||
<key name="hexagon-open-effect" type="b">
|
||||
<default>false</default>
|
||||
<summary>Hexagon Open Effect</summary>
|
||||
<description>Use the Hexagon effect for window opening.</description>
|
||||
</key>
|
||||
|
||||
<key name="hexagon-animation-time" type="i">
|
||||
<default>1500</default>
|
||||
<summary>Hexagon Animation Time</summary>
|
||||
<description>The time the Hexagon effect takes.</description>
|
||||
</key>
|
||||
|
||||
<key name="hexagon-scale" type="d">
|
||||
<default>3.0</default>
|
||||
<summary>Hexagon Scale</summary>
|
||||
<description>The size of the effect.</description>
|
||||
</key>
|
||||
|
||||
<key name="hexagon-line-width" type="d">
|
||||
<default>2.0</default>
|
||||
<summary>Hexagon Line Width</summary>
|
||||
<description>The width of the lines.</description>
|
||||
</key>
|
||||
|
||||
<key name="hexagon-line-color" type="s">
|
||||
<default>"rgba(200, 255, 255, 0.5)"</default>
|
||||
<summary>Hexagon Line Color</summary>
|
||||
<description>The color of the lines.</description>
|
||||
</key>
|
||||
|
||||
<key name="hexagon-glow-color" type="s">
|
||||
<default>"rgba(20, 80, 255, 0.5)"</default>
|
||||
<summary>Hexagon Glow Color</summary>
|
||||
<description>The color of the glow effect.</description>
|
||||
</key>
|
||||
|
||||
<key name="hexagon-additive-blending" type="b">
|
||||
<default>true</default>
|
||||
<summary>Hexagon Additive Blending</summary>
|
||||
<description>Use additive blending for the line and the glow.</description>
|
||||
</key>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
<!-- Energize A Options -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
@@ -369,6 +473,40 @@
|
||||
<description>Use the pointer location for the broken glass effect.</description>
|
||||
</key>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
<!-- Snap of Disintegration Effect Options -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<key name="snap-open-effect" type="b">
|
||||
<default>false</default>
|
||||
<summary>Snap Open Effect</summary>
|
||||
<description>Use the snap effect for window openeing.</description>
|
||||
</key>
|
||||
|
||||
<key name="snap-close-effect" type="b">
|
||||
<default>false</default>
|
||||
<summary>Snap Close Effect</summary>
|
||||
<description>Use the snap effect for window closing.</description>
|
||||
</key>
|
||||
|
||||
<key name="snap-animation-time" type="i">
|
||||
<default>1500</default>
|
||||
<summary>Snap Animation Time</summary>
|
||||
<description>The time the snap effect takes.</description>
|
||||
</key>
|
||||
|
||||
<key name="snap-scale" type="d">
|
||||
<default>3.0</default>
|
||||
<summary>Snap Scale</summary>
|
||||
<description>The size of the snap effect.</description>
|
||||
</key>
|
||||
|
||||
<key name="snap-color" type="s">
|
||||
<default>"rgb(50, 40, 35)"</default>
|
||||
<summary>Snap Effect Color</summary>
|
||||
<description>The color of the dust.</description>
|
||||
</key>
|
||||
|
||||
</schema>
|
||||
|
||||
</schemalist>
|
||||
@@ -0,0 +1,172 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// ) ( //
|
||||
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||
// |__/ //
|
||||
// Copyright (c) 2021 Simon Schneegans //
|
||||
// Released under the GPLv3 or later. See LICENSE file for details. //
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
'use strict';
|
||||
|
||||
const GObject = imports.gi.GObject;
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
||||
const utils = Me.imports.src.utils;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// This effect hides the actor by violently sucking it into the void of magic. //
|
||||
// towards the middle and then hiding the resulting line from left and right towards //
|
||||
// the center. //
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// The shader class for this effect is registered further down in this file.
|
||||
let Shader = null;
|
||||
|
||||
// The effect class is completely static. It can be used to get some metadata (like the
|
||||
// effect's name or supported GNOME Shell versions), to initialize the respective page of
|
||||
// the settings dialog, as well as to create the actual shader for the effect.
|
||||
var Apparition = class Apparition {
|
||||
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// The effect is not available on GNOME Shell 3.36 as it requires scaling of the window
|
||||
// actor.
|
||||
static getMinShellVersion() {
|
||||
return [3, 38];
|
||||
}
|
||||
|
||||
// This will be called in various places where a unique identifier for this effect is
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-close-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
static getNick() {
|
||||
return 'apparition';
|
||||
}
|
||||
|
||||
// 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.
|
||||
static getLabel() {
|
||||
return _('Apparition');
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------- API for prefs.js
|
||||
|
||||
// This is called by the preferences dialog. It loads the settings page for this effect,
|
||||
// binds all properties to the settings and appends the page to the main stack of the
|
||||
// preferences dialog.
|
||||
static getPreferences(dialog) {
|
||||
|
||||
// Add the settings page to the builder.
|
||||
dialog.getBuilder().add_from_resource(`/ui/${utils.getGTKString()}/Apparition.ui`);
|
||||
|
||||
// Bind all properties.
|
||||
dialog.bindAdjustment('apparition-randomness');
|
||||
dialog.bindAdjustment('apparition-animation-time');
|
||||
dialog.bindAdjustment('apparition-twirl-intensity');
|
||||
dialog.bindAdjustment('apparition-shake-intensity');
|
||||
dialog.bindAdjustment('apparition-suction-intensity');
|
||||
|
||||
// Finally, return the new settings page.
|
||||
return dialog.getBuilder().get_object('apparition-prefs');
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------- API for extension.js
|
||||
|
||||
// This is called from extension.js whenever a window is closed with this effect.
|
||||
static createShader(actor, settings, forOpening) {
|
||||
return new Shader(actor, settings, forOpening);
|
||||
}
|
||||
|
||||
// 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 are set to twice their original size, so that we have
|
||||
// some space to draw the animation. We also set the animation mode to "Linear".
|
||||
static tweakTransition(actor, settings, forOpening) {
|
||||
return {
|
||||
'opacity': {from: 255, to: 255, mode: 1},
|
||||
'scale-x': {from: 2.0, to: 2.0, mode: 1},
|
||||
'scale-y': {from: 2.0, to: 2.0, mode: 1}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// 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(actor, settings, forOpening) {
|
||||
super._init({shader_type: Clutter.ShaderType.FRAGMENT_SHADER});
|
||||
|
||||
// If we are currently performing integration test, the animation uses a fixed seed.
|
||||
const testMode = settings.get_boolean('test-mode');
|
||||
|
||||
// The math for the whirling is inspired by this post:
|
||||
// http://www.geeks3d.com/20110428/shader-library-swirl-post-processing-filter-in-glsl
|
||||
this.set_shader_source(`
|
||||
|
||||
// Inject some common shader snippets.
|
||||
${shaderSnippets.standardUniforms()}
|
||||
|
||||
const vec2 SEED = vec2(${testMode ? 0 : Math.random()},
|
||||
${testMode ? 0 : Math.random()});
|
||||
const float SHAKE = ${settings.get_double('apparition-shake-intensity')};
|
||||
const float TWIRL = ${settings.get_double('apparition-twirl-intensity')};
|
||||
const float SUCTION = ${settings.get_double('apparition-suction-intensity')};
|
||||
const float RANDOMNESS = ${settings.get_double('apparition-randomness')};
|
||||
const float ACTOR_SCALE = 2.0;
|
||||
const float PADDING = ACTOR_SCALE / 2.0 - 0.5;
|
||||
|
||||
void main() {
|
||||
|
||||
// We simply inverse the progress for opening windows.
|
||||
float progress = ${forOpening ? '1.0-uProgress' : 'uProgress'};
|
||||
|
||||
// Choose a random suction center.
|
||||
vec2 center = SEED * RANDOMNESS + 0.5 * (1.0 - RANDOMNESS);
|
||||
vec2 coords = cogl_tex_coord_in[0].st * ACTOR_SCALE - PADDING - center;
|
||||
|
||||
// Add some shaking.
|
||||
coords.x += progress * 0.05 * SHAKE * sin((progress + SEED.x) * (1.0 + SEED.x) * SHAKE);
|
||||
coords.y += progress * 0.05 * SHAKE * cos((progress + SEED.y) * (1.0 + SEED.y) * SHAKE);
|
||||
|
||||
// "Suck" the texture into the center.
|
||||
float dist = length(coords) / sqrt(2);
|
||||
coords += progress * coords / dist * 0.5 * SUCTION;
|
||||
|
||||
// Apply some whirling.
|
||||
float angle = pow(1.0 - dist, 2.0) * TWIRL * 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.
|
||||
cogl_color_out = texture2D(uTexture, coords + center) * (1.0 - progress);
|
||||
}
|
||||
`);
|
||||
};
|
||||
});
|
||||
}
|
||||
@@ -134,22 +134,27 @@ if (utils.isInShellProcess()) {
|
||||
// this texture is also re-created each time. This could be improved in the future!
|
||||
const shardData = GdkPixbuf.Pixbuf.new_from_resource('/img/shards.png');
|
||||
this._shardTexture = new Clutter.Image();
|
||||
this._shardTexture.set_data(
|
||||
shardData.get_pixels(), Cogl.PixelFormat.RGB_888, shardData.width,
|
||||
shardData.height, shardData.rowstride);
|
||||
this._shardTexture.set_data(shardData.get_pixels(), Cogl.PixelFormat.RGB_888,
|
||||
shardData.width, shardData.height, shardData.rowstride);
|
||||
|
||||
// Usually, the shards fly away from the center of the window.
|
||||
let epicenterX = 0.5;
|
||||
let epicenterY = 0.5;
|
||||
|
||||
// However, if this option is set, we use the mouse pointer position.
|
||||
if (settings.get_boolean('broken-glass-use-pointer')) {
|
||||
if (!forOpening && settings.get_boolean('broken-glass-use-pointer')) {
|
||||
const [x, y] = global.get_pointer();
|
||||
const [ok, localX, localY] = actor.transform_stage_point(x, y);
|
||||
epicenterX = localX / actor.width;
|
||||
epicenterY = localY / actor.height;
|
||||
|
||||
if (ok) {
|
||||
epicenterX = localX / actor.width;
|
||||
epicenterY = localY / actor.height;
|
||||
}
|
||||
}
|
||||
|
||||
// If we are currently performing integration test, the animation uses a fixed seed.
|
||||
const testMode = settings.get_boolean('test-mode');
|
||||
|
||||
this.set_shader_source(`
|
||||
|
||||
// Inject some common shader snippets.
|
||||
@@ -157,7 +162,8 @@ if (utils.isInShellProcess()) {
|
||||
|
||||
uniform sampler2D uShardTexture;
|
||||
|
||||
const vec2 SEED = vec2(${Math.random()}, ${Math.random()});
|
||||
const vec2 SEED = vec2(${testMode ? 0 : Math.random()},
|
||||
${testMode ? 0 : Math.random()});
|
||||
const float SHARD_SCALE = ${settings.get_double('broken-glass-scale')};
|
||||
const float SHARD_LAYERS = 5;
|
||||
const float BLOW_FORCE = ${settings.get_double('broken-glass-blow-force')};
|
||||
@@ -228,8 +234,8 @@ if (utils.isInShellProcess()) {
|
||||
const pipeline = this.get_pipeline();
|
||||
|
||||
// Use linear filtering for the window texture.
|
||||
pipeline.set_layer_filters(
|
||||
0, Cogl.PipelineFilter.LINEAR, Cogl.PipelineFilter.LINEAR);
|
||||
pipeline.set_layer_filters(0, Cogl.PipelineFilter.LINEAR,
|
||||
Cogl.PipelineFilter.LINEAR);
|
||||
|
||||
// Bind the shard texture.
|
||||
pipeline.set_layer_texture(1, this._shardTexture.get_texture());
|
||||
|
||||
@@ -117,6 +117,9 @@ if (utils.isInShellProcess()) {
|
||||
|
||||
const color = Clutter.Color.from_string(settings.get_string('energize-a-color'))[1];
|
||||
|
||||
// If we are currently performing integration test, the animation uses a fixed seed.
|
||||
const testMode = settings.get_boolean('test-mode');
|
||||
|
||||
this.set_shader_source(`
|
||||
|
||||
// Inject some common shader snippets.
|
||||
@@ -124,7 +127,8 @@ if (utils.isInShellProcess()) {
|
||||
${shaderSnippets.noise()}
|
||||
${shaderSnippets.edgeMask()}
|
||||
|
||||
const vec2 SEED = vec2(${Math.random()}, ${Math.random()});
|
||||
const vec2 SEED = vec2(${testMode ? 0 : Math.random()},
|
||||
${testMode ? 0 : Math.random()});
|
||||
const float FADE_IN_TIME = 0.3;
|
||||
const float FADE_OUT_TIME = 0.6;
|
||||
const float HEART_FADE_TIME = 0.3;
|
||||
|
||||
@@ -117,6 +117,9 @@ if (utils.isInShellProcess()) {
|
||||
|
||||
const color = Clutter.Color.from_string(settings.get_string('energize-b-color'))[1];
|
||||
|
||||
// If we are currently performing integration test, the animation uses a fixed seed.
|
||||
const testMode = settings.get_boolean('test-mode');
|
||||
|
||||
this.set_shader_source(`
|
||||
|
||||
// Inject some common shader snippets.
|
||||
@@ -124,7 +127,8 @@ if (utils.isInShellProcess()) {
|
||||
${shaderSnippets.noise()}
|
||||
${shaderSnippets.edgeMask()}
|
||||
|
||||
const vec2 SEED = vec2(${Math.random()}, ${Math.random()});
|
||||
const vec2 SEED = vec2(${testMode ? 0 : Math.random()},
|
||||
${testMode ? 0 : Math.random()});
|
||||
const float SHOWER_TIME = 0.3;
|
||||
const float SHOWER_WIDTH = 0.3;
|
||||
const float STREAK_TIME = 0.6;
|
||||
|
||||
@@ -233,9 +233,9 @@ if (utils.isInShellProcess()) {
|
||||
const gradient = [];
|
||||
for (let i = 1; i <= 5; i++) {
|
||||
const color =
|
||||
Clutter.Color.from_string(settings.get_string('fire-color-' + i))[1];
|
||||
Clutter.Color.from_string(settings.get_string('fire-color-' + i))[1];
|
||||
gradient.push(`vec4(${color.red / 255}, ${color.green / 255}, ${
|
||||
color.blue / 255}, ${color.alpha / 255})`);
|
||||
color.blue / 255}, ${color.alpha / 255})`);
|
||||
}
|
||||
|
||||
this.set_shader_source(`
|
||||
|
||||
@@ -0,0 +1,250 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// ) ( //
|
||||
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||
// |__/ //
|
||||
// Copyright (c) 2021 Simon Schneegans //
|
||||
// Released under the GPLv3 or later. See LICENSE file for details. //
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
'use strict';
|
||||
|
||||
const GObject = imports.gi.GObject;
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
||||
const utils = Me.imports.src.utils;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// This effect overlays a glowing hexagonal grid over the window. The grid cells then //
|
||||
// gradually shrink until the window is fully dissolved. //
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// The shader class for this effect is registered further down in this file.
|
||||
let Shader = null;
|
||||
|
||||
// The effect class is completely static. It can be used to get some metadata (like the
|
||||
// effect's name or supported GNOME Shell versions), to initialize the respective page of
|
||||
// the settings dialog, as well as to create the actual shader for the effect.
|
||||
var Hexagon = class Hexagon {
|
||||
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||
static getMinShellVersion() {
|
||||
return [3, 36];
|
||||
}
|
||||
|
||||
// This will be called in various places where a unique identifier for this effect is
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-close-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
static getNick() {
|
||||
return 'hexagon';
|
||||
}
|
||||
|
||||
// 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.
|
||||
static getLabel() {
|
||||
return _('Hexagon');
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------- API for prefs.js
|
||||
|
||||
// This is called by the preferences dialog. It loads the settings page for this effect,
|
||||
// binds all properties to the settings and appends the page to the main stack of the
|
||||
// preferences dialog.
|
||||
static getPreferences(dialog) {
|
||||
|
||||
// Add the settings page to the builder.
|
||||
dialog.getBuilder().add_from_resource(`/ui/${utils.getGTKString()}/Hexagon.ui`);
|
||||
|
||||
// Bind all properties.
|
||||
dialog.bindAdjustment('hexagon-animation-time');
|
||||
dialog.bindAdjustment('hexagon-scale');
|
||||
dialog.bindAdjustment('hexagon-line-width');
|
||||
dialog.bindColorButton('hexagon-line-color');
|
||||
dialog.bindColorButton('hexagon-glow-color');
|
||||
dialog.bindSwitch('hexagon-additive-blending');
|
||||
|
||||
// Finally, return the new settings page.
|
||||
return dialog.getBuilder().get_object('hexagon-prefs');
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------- API for extension.js
|
||||
|
||||
// This is called from extension.js whenever a window is closed with this effect.
|
||||
static createShader(actor, settings, forOpening) {
|
||||
return new Shader(settings, forOpening);
|
||||
}
|
||||
|
||||
// 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: 1},
|
||||
'scale-x': {from: 1.0, to: 1.0, mode: 1},
|
||||
'scale-y': {from: 1.0, to: 1.0, mode: 1}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// 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});
|
||||
|
||||
// Get the two configurable colors. They are directly injected into the shader code
|
||||
// below.
|
||||
const glowColor =
|
||||
Clutter.Color.from_string(settings.get_string('hexagon-glow-color'))[1];
|
||||
const lineColor =
|
||||
Clutter.Color.from_string(settings.get_string('hexagon-line-color'))[1];
|
||||
|
||||
// If we are currently performing integration test, the animation uses a fixed seed.
|
||||
const testMode = settings.get_boolean('test-mode');
|
||||
|
||||
// Feel free to read the inline comments below to learn how this shader works.
|
||||
this.set_shader_source(`
|
||||
|
||||
// Inject some common shader snippets.
|
||||
${shaderSnippets.standardUniforms()}
|
||||
${shaderSnippets.noise()}
|
||||
|
||||
const vec2 SEED = vec2(${testMode ? 0 : Math.random()},
|
||||
${testMode ? 0 : Math.random()});
|
||||
const float SCALE = 10.0 * ${settings.get_double('hexagon-scale')};
|
||||
const float LINE_WIDTH = 0.02 * ${settings.get_double('hexagon-line-width')};
|
||||
|
||||
// This methods 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.
|
||||
const float edgeLength = sqrt(4.0 / 3.0);
|
||||
|
||||
// The hexgrid repeats after this distance.
|
||||
const 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 = ${forOpening ? '1.0-uProgress' : 'uProgress'};
|
||||
|
||||
// Add some smooth noise to the progress so that not every tile behaves the
|
||||
// same.
|
||||
float noise = simplex2D(cogl_tex_coord_in[0].st + SEED);
|
||||
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, 1, clamp(progress / 0.5, 0, 1));
|
||||
float tileProgress = smoothstep(0, 1, clamp((progress - 0.5) / 0.5, 0, 1));
|
||||
|
||||
vec2 texScale = vec2(uSizeX, uSizeY) / SCALE;
|
||||
vec4 hex = getHexagons(cogl_tex_coord_in[0].st * texScale);
|
||||
|
||||
if (tileProgress > hex.z) {
|
||||
|
||||
// Crop outer parts of the shrinking tiles.
|
||||
cogl_color_out *= vec4(0.0);
|
||||
|
||||
} else {
|
||||
|
||||
// Make the tiles shrink by offsetting the texture lookup towards the edge
|
||||
// of the cell.
|
||||
vec2 lookupOffset = tileProgress * hex.xy / texScale / (1.0 - tileProgress);
|
||||
cogl_color_out = texture2D(uTexture, cogl_tex_coord_in[0].st + lookupOffset);
|
||||
|
||||
vec4 glow = vec4(${glowColor.red / 255}, ${glowColor.green / 255},
|
||||
${glowColor.blue / 255}, ${glowColor.alpha / 255});
|
||||
vec4 line = vec4(${lineColor.red / 255}, ${lineColor.green / 255},
|
||||
${lineColor.blue / 255}, ${lineColor.alpha / 255});
|
||||
|
||||
// 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(LINE_WIDTH, hex.z) would be simpler, but the below creates some
|
||||
// fake antialiasing.
|
||||
line.a *= 1.0 - smoothstep(LINE_WIDTH*0.5, LINE_WIDTH, 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 *= cogl_color_out.a;
|
||||
line *= cogl_color_out.a;
|
||||
|
||||
if (${settings.get_boolean('hexagon-additive-blending')}) {
|
||||
cogl_color_out.rgb += glow.rgb * glow.a;
|
||||
cogl_color_out.rgb += line.rgb * line.a;
|
||||
} else {
|
||||
cogl_color_out.rgb = mix(cogl_color_out.rgb, glow.rgb, glow.a);
|
||||
cogl_color_out.rgb = mix(cogl_color_out.rgb, line.rgb, line.a);
|
||||
}
|
||||
}
|
||||
}
|
||||
`);
|
||||
};
|
||||
});
|
||||
}
|
||||
@@ -129,14 +129,14 @@ if (utils.isInShellProcess()) {
|
||||
const fontData = GdkPixbuf.Pixbuf.new_from_resource('/img/matrixFont.png');
|
||||
this._fontTexture = new Clutter.Image();
|
||||
this._fontTexture.set_data(
|
||||
fontData.get_pixels(),
|
||||
fontData.has_alpha ? Cogl.PixelFormat.RGBA_8888 : Cogl.PixelFormat.RGB_888,
|
||||
fontData.width, fontData.height, fontData.rowstride);
|
||||
fontData.get_pixels(),
|
||||
fontData.has_alpha ? Cogl.PixelFormat.RGBA_8888 : Cogl.PixelFormat.RGB_888,
|
||||
fontData.width, fontData.height, fontData.rowstride);
|
||||
|
||||
const trailColor =
|
||||
Clutter.Color.from_string(settings.get_string('matrix-trail-color'))[1];
|
||||
Clutter.Color.from_string(settings.get_string('matrix-trail-color'))[1];
|
||||
const tipColor =
|
||||
Clutter.Color.from_string(settings.get_string('matrix-tip-color'))[1];
|
||||
Clutter.Color.from_string(settings.get_string('matrix-tip-color'))[1];
|
||||
|
||||
// The technique for this effect was inspired by
|
||||
// https://www.shadertoy.com/view/ldccW4, however the implementation is quite
|
||||
|
||||
@@ -0,0 +1,243 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// ) ( //
|
||||
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||
// |__/ //
|
||||
// Copyright (c) 2021 Simon Schneegans //
|
||||
// Released under the GPLv3 or later. See LICENSE file for details. //
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
'use strict';
|
||||
|
||||
const GObject = imports.gi.GObject;
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
||||
const utils = Me.imports.src.utils;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// This effects dissolves your windows into a cloud of dust. For this, it uses an //
|
||||
// approach similar to the Broken Glass effect. A dust texture is used to segment the //
|
||||
// window texture into a set of layers. Each layer is then moved, sheared and scaled //
|
||||
// randomly. Just a few layers are sufficient to create the illusion of many individual //
|
||||
// dust particles. //
|
||||
// This effect is not available on GNOME 3.3x, due to the limitation described in the //
|
||||
// documentation of vfunc_paint_target further down in this file. //
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// The shader class for this effect is registered further down in this file.
|
||||
let Shader = null;
|
||||
|
||||
// The effect class is completely static. It can be used to get some metadata (like the
|
||||
// effect's name or supported GNOME Shell versions), to initialize the respective page of
|
||||
// the settings dialog, as well as to create the actual shader for the effect.
|
||||
var SnapOfDisintegration = class SnapOfDisintegration {
|
||||
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// This effect is only available on GNOME Shell 40+.
|
||||
static getMinShellVersion() {
|
||||
return [40, 0];
|
||||
}
|
||||
|
||||
// This will be called in various places where a unique identifier for this effect is
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-close-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
static getNick() {
|
||||
return 'snap';
|
||||
}
|
||||
|
||||
// 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.
|
||||
static getLabel() {
|
||||
return _('Snap of Disintegration');
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------- API for prefs.js
|
||||
|
||||
// This is called by the preferences dialog. It loads the settings page for this effect,
|
||||
// binds all properties to the settings and appends the page to the main stack of the
|
||||
// preferences dialog.
|
||||
static getPreferences(dialog) {
|
||||
|
||||
// Add the settings page to the builder.
|
||||
dialog.getBuilder().add_from_resource('/ui/gtk4/SnapOfDisintegration.ui');
|
||||
|
||||
// Bind all properties.
|
||||
dialog.bindAdjustment('snap-animation-time');
|
||||
dialog.bindAdjustment('snap-scale');
|
||||
dialog.bindColorButton('snap-color');
|
||||
|
||||
// Finally, return the new settings page.
|
||||
return dialog.getBuilder().get_object('snap-prefs');
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------- API for extension.js
|
||||
|
||||
// This is called from extension.js whenever a window is closed with this effect.
|
||||
static createShader(actor, settings, forOpening) {
|
||||
return new Shader(actor, settings, forOpening);
|
||||
}
|
||||
|
||||
// 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 are set to 1.2 times their original size, so that we have
|
||||
// some space to draw the dust particles. We also set the animation mode to "Linear".
|
||||
static tweakTransition(actor, settings, forOpening) {
|
||||
return {
|
||||
'opacity': {from: 255, to: 255, mode: 1},
|
||||
'scale-x': {from: 1.2, to: 1.2, mode: 1},
|
||||
'scale-y': {from: 1.2, to: 1.2, mode: 1}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// 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, GdkPixbuf, Cogl} = imports.gi;
|
||||
const shaderSnippets = Me.imports.src.shaderSnippets;
|
||||
|
||||
Shader = GObject.registerClass({}, class Shader extends Clutter.ShaderEffect {
|
||||
_init(actor, settings, forOpening) {
|
||||
super._init({shader_type: Clutter.ShaderType.FRAGMENT_SHADER});
|
||||
|
||||
// Load the dust texture. As the shader is re-created for each window animation,
|
||||
// this texture is also re-created each time. This could be improved in the future!
|
||||
const dustData = GdkPixbuf.Pixbuf.new_from_resource('/img/dust.png');
|
||||
this._dustTexture = new Clutter.Image();
|
||||
this._dustTexture.set_data(dustData.get_pixels(), Cogl.PixelFormat.RGB_888,
|
||||
dustData.width, dustData.height, dustData.rowstride);
|
||||
|
||||
// The dust particles will fade to this color over time.
|
||||
const color = Clutter.Color.from_string(settings.get_string('snap-color'))[1];
|
||||
|
||||
// If we are currently performing integration test, the animation uses a fixed seed.
|
||||
const testMode = settings.get_boolean('test-mode');
|
||||
|
||||
this.set_shader_source(`
|
||||
|
||||
// Inject some common shader snippets.
|
||||
${shaderSnippets.standardUniforms()}
|
||||
${shaderSnippets.noise()}
|
||||
${shaderSnippets.math2D()}
|
||||
|
||||
uniform sampler2D uDustTexture;
|
||||
|
||||
const vec2 SEED = vec2(${testMode ? 0 : Math.random()},
|
||||
${testMode ? 0 : Math.random()});
|
||||
const float DUST_SCALE = ${settings.get_double('snap-scale')};
|
||||
const float DUST_LAYERS = 4;
|
||||
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;
|
||||
const vec4 DUST_COLOR = vec4(${color.red / 255}, ${color.green / 255},
|
||||
${color.blue / 255}, ${color.alpha / 255});
|
||||
void main() {
|
||||
|
||||
// We simply inverse the progress for opening windows.
|
||||
float progress = ${forOpening ? 'uProgress' : '1.0 - uProgress'};
|
||||
|
||||
float gradient = cogl_tex_coord_in[0].t * ACTOR_SCALE - PADDING;
|
||||
progress = 2.0 - gradient - 2.0 * progress;
|
||||
progress = progress + 0.25 - 0.5 * simplex2D((cogl_tex_coord_in[0].st + SEED) * 2.0);
|
||||
progress = pow(max(0, progress), 2.0);
|
||||
|
||||
// This may help you to understand how this effect works.
|
||||
// cogl_color_out = vec4(progress, 0, 0, 0);
|
||||
// return;
|
||||
|
||||
cogl_color_out = vec4(0, 0, 0, 0);
|
||||
|
||||
for (float i=0; i<DUST_LAYERS; ++i) {
|
||||
|
||||
// Create a random direction.
|
||||
float factor = DUST_LAYERS == 1 ? 0 : i/(DUST_LAYERS-1);
|
||||
float angle = 123.123 * (SEED.x + factor);
|
||||
vec2 direction = vec2(1.0, 0.0);
|
||||
direction = rotate(direction, angle);
|
||||
|
||||
// Flip direction for one side of the window.
|
||||
vec2 coords = cogl_tex_coord_in[0].st * ACTOR_SCALE - PADDING - 0.5;
|
||||
if (getWinding(direction, coords) > 0) {
|
||||
direction *= -1;
|
||||
}
|
||||
|
||||
// Flip direction for half the layers.
|
||||
if (factor > 0.5) {
|
||||
direction *= -1;
|
||||
}
|
||||
|
||||
// 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, GROW_INTENSITY, progress);
|
||||
vec2 shrink = vec2(direction.y, -direction.x) * dist * mix(0, SHRINK_INTENSITY, progress);
|
||||
float scale = mix(1.0, 1.05, factor * progress);
|
||||
coords = (coords + grow + shrink) / scale;
|
||||
|
||||
// Add some wind.
|
||||
coords.x = coords.x ${forOpening ? ' + ' : ' - '} progress * WIND_INTENSITY;
|
||||
|
||||
// Now check wether there is actually something in the current dust layer at
|
||||
// the coords position.
|
||||
vec2 dustCoords = (coords + SEED) * vec2(uSizeX, uSizeY) / DUST_SCALE / 100.0;
|
||||
vec2 dustMap = texture2D(uDustTexture, dustCoords).rg;
|
||||
float dustGroup = floor(dustMap.g * DUST_LAYERS * 0.999);
|
||||
|
||||
if (dustGroup == i) {
|
||||
|
||||
// Fade the window color to DUST_COLOR.
|
||||
vec4 windowColor = texture2D(uTexture, coords + 0.5);
|
||||
vec3 dustColor = mix(windowColor.rgb, DUST_COLOR.rgb, DUST_COLOR.a);
|
||||
windowColor.rgb = mix(windowColor.rgb, dustColor*windowColor.a, progress);
|
||||
|
||||
// Dissolve the dust particles.
|
||||
float dissolve = (dustMap.x - progress) > 0 ? 1 : 0;
|
||||
windowColor *= dissolve;
|
||||
|
||||
// Blend the layers.
|
||||
cogl_color_out = mix(cogl_color_out, windowColor, windowColor.a);
|
||||
}
|
||||
}
|
||||
}
|
||||
`);
|
||||
};
|
||||
|
||||
// This is overridden to bind the dust texture for drawing. Sadly, this seems to be
|
||||
// impossible under GNOME 3.3x as this.get_pipeline() is not available. It was called
|
||||
// get_target() back then but this is not wrapped in GJS.
|
||||
// https://gitlab.gnome.org/GNOME/mutter/-/blob/gnome-3-36/clutter/clutter/clutter-offscreen-effect.c#L598
|
||||
vfunc_paint_target(node, paint_context) {
|
||||
const pipeline = this.get_pipeline();
|
||||
pipeline.set_layer_filters(0, Cogl.PipelineFilter.LINEAR,
|
||||
Cogl.PipelineFilter.LINEAR);
|
||||
pipeline.set_layer_texture(1, this._dustTexture.get_texture());
|
||||
pipeline.set_layer_wrap_mode(1, Cogl.PipelineWrapMode.REPEAT);
|
||||
this.set_uniform_value('uDustTexture', 1);
|
||||
super.vfunc_paint_target(node, paint_context);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -125,12 +125,14 @@ if (utils.isInShellProcess()) {
|
||||
// See assets/README.md for how this texture was created.
|
||||
const clawData = GdkPixbuf.Pixbuf.new_from_resource('/img/claws.png');
|
||||
this._clawTexture = new Clutter.Image();
|
||||
this._clawTexture.set_data(
|
||||
clawData.get_pixels(), Cogl.PixelFormat.RGB_888, clawData.width,
|
||||
clawData.height, clawData.rowstride);
|
||||
this._clawTexture.set_data(clawData.get_pixels(), Cogl.PixelFormat.RGB_888,
|
||||
clawData.width, clawData.height, clawData.rowstride);
|
||||
|
||||
const color =
|
||||
Clutter.Color.from_string(settings.get_string('claw-scratch-color'))[1];
|
||||
Clutter.Color.from_string(settings.get_string('claw-scratch-color'))[1];
|
||||
|
||||
// If we are currently performing integration test, the animation uses a fixed seed.
|
||||
const testMode = settings.get_boolean('test-mode');
|
||||
|
||||
this.set_shader_source(`
|
||||
|
||||
@@ -141,7 +143,8 @@ if (utils.isInShellProcess()) {
|
||||
// See assets/README.md for how this texture was created.
|
||||
uniform sampler2D uClawTexture;
|
||||
|
||||
const vec2 SEED = vec2(${Math.random()}, ${Math.random()});
|
||||
const vec2 SEED = vec2(${testMode ? 0 : Math.random()},
|
||||
${testMode ? 0 : Math.random()});
|
||||
const float CLAW_SIZE = ${settings.get_double('claw-scratch-scale')};
|
||||
const float NUM_CLAWS = ${settings.get_int('claw-scratch-count')};
|
||||
const float WARP_INTENSITY = 1.0 + ${settings.get_double('claw-scratch-warp')};
|
||||
|
||||
@@ -118,6 +118,9 @@ if (utils.isInShellProcess()) {
|
||||
|
||||
const color = Clutter.Color.from_string(settings.get_string('wisps-color'))[1];
|
||||
|
||||
// If we are currently performing integration test, the animation uses a fixed seed.
|
||||
const testMode = settings.get_boolean('test-mode');
|
||||
|
||||
this.set_shader_source(`
|
||||
|
||||
// Inject some common shader snippets.
|
||||
@@ -125,7 +128,8 @@ if (utils.isInShellProcess()) {
|
||||
${shaderSnippets.noise()}
|
||||
${shaderSnippets.edgeMask()}
|
||||
|
||||
const vec2 SEED = vec2(${Math.random()}, ${Math.random()});
|
||||
const vec2 SEED = vec2(${testMode ? 0 : Math.random()},
|
||||
${testMode ? 0 : Math.random()});
|
||||
const float WISPS_RADIUS = 20.0;
|
||||
const float WISPS_SPEED = 10.0;
|
||||
const float WISPS_SPACING = 40 + WISPS_RADIUS;
|
||||
|
||||
@@ -33,6 +33,24 @@ function standardUniforms() {
|
||||
`;
|
||||
}
|
||||
|
||||
function math2D() {
|
||||
return `
|
||||
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));
|
||||
}
|
||||
`;
|
||||
}
|
||||
|
||||
// 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.
|
||||
|
||||
@@ -15,8 +15,22 @@
|
||||
|
||||
const {Gtk} = imports.gi;
|
||||
|
||||
// Returns the given argument, except for "alpha", "beta", and "rc". In these cases -3,
|
||||
// -2, and -1 are returned respectively.
|
||||
function toNumericVersion(x) {
|
||||
switch (x) {
|
||||
case 'alpha':
|
||||
return -3;
|
||||
case 'beta':
|
||||
return -2;
|
||||
case 'rc':
|
||||
return -1;
|
||||
}
|
||||
return x;
|
||||
}
|
||||
|
||||
const Config = imports.misc.config;
|
||||
const [GS_MAJOR, GS_MINOR] = Config.PACKAGE_VERSION.split('.');
|
||||
const [GS_MAJOR, GS_MINOR] = Config.PACKAGE_VERSION.split('.').map(toNumericVersion);
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
||||
@@ -60,22 +74,18 @@ function isInShellProcess() {
|
||||
// This method returns true if the current GNOME Shell version matches the given
|
||||
// arguments.
|
||||
function shellVersionIs(major, minor) {
|
||||
return GS_MAJOR == major && GS_MINOR == minor;
|
||||
return GS_MAJOR == major && GS_MINOR == toNumericVersion(minor);
|
||||
}
|
||||
|
||||
// This method returns true if the current GNOME Shell version is at least as high as the
|
||||
// given arguments.
|
||||
// given arguments. Supports "alpha" and "beta" for the minor version number.
|
||||
function shellVersionIsAtLeast(major, minor) {
|
||||
if (GS_MAJOR > major) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (GS_MAJOR == major) {
|
||||
if (minor == 'alpha') return true;
|
||||
if (minor == 'beta' && GS_MINOR == 'alpha') return false;
|
||||
if (minor == 'beta' && GS_MINOR == 'beta') return true;
|
||||
|
||||
return GS_MINOR >= minor;
|
||||
return GS_MINOR >= toNumericVersion(minor);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
@@ -0,0 +1,189 @@
|
||||
#!/bin/bash
|
||||
|
||||
# -------------------------------------------------------------------------------------- #
|
||||
# ) ( #
|
||||
# ( /( ( ( ) ( ( ( ( )\ ) ( ( #
|
||||
# )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( #
|
||||
# ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ #
|
||||
# | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) #
|
||||
# | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< #
|
||||
# |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ #
|
||||
# |__/ #
|
||||
# Copyright (c) 2021 Simon Schneegans #
|
||||
# Released under the GPLv3 or later. See LICENSE file for details. #
|
||||
# -------------------------------------------------------------------------------------- #
|
||||
|
||||
# This script is used to generate the reference images required for the run-tests.sh
|
||||
# script. To do this, it installs the extension in a fedora-based container running GNOME
|
||||
# Shell on xvfb. It requires the burn-my-windows@schneegans.github.com.zip file which is
|
||||
# expected to be present in the repository root. Therefore you have to call "make" before
|
||||
# this script.
|
||||
#
|
||||
# The scripts supports two arguments:
|
||||
#
|
||||
# -v fedora_version: This determines the version of GNOME Shell to test agains.
|
||||
# -v 32: GNOME Shell 3.36
|
||||
# -v 33: GNOME Shell 3.38
|
||||
# -v 34: GNOME Shell 40
|
||||
# -v 35: GNOME Shell 41
|
||||
# -s session: This can either be "gnome-xsession" or "gnome-wayland-nested".
|
||||
|
||||
# Exit on error.
|
||||
set -e
|
||||
|
||||
usage() {
|
||||
echo "Usage: $0 -v fedora_version -s session" >&2
|
||||
}
|
||||
|
||||
FEDORA_VERSION=33
|
||||
SESSION="gnome-xsession"
|
||||
|
||||
while getopts "v:s:h" opt; do
|
||||
case $opt in
|
||||
v) FEDORA_VERSION="${OPTARG}";;
|
||||
s) SESSION="${OPTARG}";;
|
||||
h) usage; exit 0;;
|
||||
*) usage; exit 1;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Go to the repo root.
|
||||
cd "$( cd "$( dirname "$0" )" && pwd )/.." || \
|
||||
{ echo "ERROR: Could not find the repo root."; exit 1; }
|
||||
|
||||
IMAGE="ghcr.io/schneegans/gnome-shell-pod-${FEDORA_VERSION}"
|
||||
EXTENSION="burn-my-windows@schneegans.github.com"
|
||||
|
||||
# All references images of the effects are captured at & cropped to this region
|
||||
# in the center of the screen. This is kind of arbitrary, but has been choosen so that
|
||||
# something is visible from each effect.
|
||||
CROP="100x100+910+480"
|
||||
|
||||
# Run the container. For more info, visit https://github.com/Schneegans/gnome-shell-pod.
|
||||
POD=$(podman run --rm --cap-add=SYS_NICE --cap-add=IPC_LOCK -td "${IMAGE}")
|
||||
|
||||
# Properly shutdown podman when this script is exited.
|
||||
quit() {
|
||||
podman kill "${POD}"
|
||||
wait
|
||||
}
|
||||
|
||||
trap quit INT TERM EXIT
|
||||
|
||||
# -------------------------------------------------------------------------------- methods
|
||||
|
||||
# This function is used below to execute any shell command inside the running container.
|
||||
do_in_pod() {
|
||||
podman exec --user gnomeshell --workdir /home/gnomeshell "${POD}" set-env.sh "$@"
|
||||
}
|
||||
|
||||
# This simulates the given keystroke in the container. Simply calling "xdotool key $1"
|
||||
# sometimes fails to be recognized. Maybe the default 12ms between key-down and key-up
|
||||
# are too short for xvfb...
|
||||
send_keystroke() {
|
||||
do_in_pod xdotool keydown "${1}"
|
||||
sleep 0.5
|
||||
do_in_pod xdotool keyup "${1}"
|
||||
}
|
||||
|
||||
# This can be used to set a gsettings key of the extension.
|
||||
set_setting() {
|
||||
do_in_pod gsettings --schemadir /home/gnomeshell/.local/share/gnome-shell/extensions/burn-my-windows@schneegans.github.com/schemas \
|
||||
set org.gnome.shell.extensions.burn-my-windows "${1}" "${2}"
|
||||
}
|
||||
|
||||
# This makes a screen capture (cropped to $CROP) inside the container and stores it
|
||||
# on the host relative to this script with the given file name.
|
||||
capture() {
|
||||
do_in_pod import -window root -crop $CROP out.png
|
||||
podman cp "${POD}":/home/gnomeshell/out.png "${1}"
|
||||
}
|
||||
|
||||
# This opens the extensions preferences dialog and captures two images: One during the
|
||||
# window-open animation, and one during the window-close animation. The sleeps are a bit
|
||||
# excessive, but it's difficult to get consistent results with shorter sleeps. The
|
||||
# animations are shown for five seconds, so we also have to make sure that one animation
|
||||
# is finished before starting the next one.
|
||||
capture_effect() {
|
||||
echo "Capturing ${1} effect."
|
||||
|
||||
set_setting "open-preview-effect" "${1}"
|
||||
set_setting "close-preview-effect" "${1}"
|
||||
|
||||
sleep 2
|
||||
do_in_pod gnome-extensions prefs "${EXTENSION}"
|
||||
sleep 2
|
||||
capture "tests/references/${1}-open-${SESSION}-${FEDORA_VERSION}.png"
|
||||
send_keystroke "Alt+F4"
|
||||
sleep 2
|
||||
capture "tests/references/${1}-close-${SESSION}-${FEDORA_VERSION}.png"
|
||||
sleep 2
|
||||
}
|
||||
|
||||
# ----------------------------------------------------- wait for the container to start up
|
||||
|
||||
echo "Waiting for D-Bus."
|
||||
do_in_pod wait-user-bus.sh > /dev/null 2>&1
|
||||
|
||||
|
||||
# ----------------------------------------------------- install the to-be-tested extension
|
||||
|
||||
echo "Installing extension."
|
||||
podman cp "tests/references" "${POD}:/home/gnomeshell/references"
|
||||
podman cp "${EXTENSION}.zip" "${POD}:/home/gnomeshell"
|
||||
do_in_pod gnome-extensions install "${EXTENSION}.zip"
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------- start GNOME Shell
|
||||
|
||||
# Starting with GNOME 40, there is a "Welcome Tour" dialog popping up at first launch.
|
||||
# We disable this beforehand.
|
||||
if [[ "${FEDORA_VERSION}" -gt 33 ]]; then
|
||||
echo "Disabling welcome tour."
|
||||
do_in_pod gsettings set org.gnome.shell welcome-dialog-last-shown-version "999" || true
|
||||
fi
|
||||
|
||||
echo "Starting $(do_in_pod gnome-shell --version)."
|
||||
do_in_pod systemctl --user start "${SESSION}@:99"
|
||||
sleep 10
|
||||
|
||||
# Enable the extension.
|
||||
do_in_pod gnome-extensions enable "${EXTENSION}"
|
||||
|
||||
# Starting with GNOME 40, the overview is the default mode. We close this here by hitting
|
||||
# the super key.
|
||||
if [[ "${FEDORA_VERSION}" -gt 33 ]]; then
|
||||
echo "Closing Overview."
|
||||
send_keystroke "super"
|
||||
fi
|
||||
|
||||
# Wait until the extension is enabled and the overview closed.
|
||||
sleep 3
|
||||
|
||||
|
||||
# --------------------------------------------------------------------- capture the images
|
||||
|
||||
# The test mode ensures that the animations are "frozen" and do not change in time.
|
||||
echo "Entering test mode."
|
||||
set_setting "test-mode" true
|
||||
do_in_pod gsettings set org.gnome.mutter center-new-windows true
|
||||
|
||||
capture_effect "energize-a"
|
||||
capture_effect "energize-b"
|
||||
capture_effect "fire"
|
||||
capture_effect "hexagon"
|
||||
capture_effect "tv"
|
||||
capture_effect "wisps"
|
||||
|
||||
if [[ "${FEDORA_VERSION}" -gt 32 ]]; then
|
||||
capture_effect "apparition"
|
||||
fi
|
||||
|
||||
if [[ "${FEDORA_VERSION}" -gt 33 ]]; then
|
||||
capture_effect "trex"
|
||||
capture_effect "broken-glass"
|
||||
capture_effect "matrix"
|
||||
capture_effect "snap"
|
||||
fi
|
||||
|
||||
echo "All reference images generated successfully."
|
||||
|
After Width: | Height: | Size: 815 B |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 967 B |
|
After Width: | Height: | Size: 815 B |
|
After Width: | Height: | Size: 685 B |
|
After Width: | Height: | Size: 685 B |
|
After Width: | Height: | Size: 1021 B |
|
After Width: | Height: | Size: 815 B |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 967 B |
|
After Width: | Height: | Size: 815 B |
|
After Width: | Height: | Size: 685 B |
|
After Width: | Height: | Size: 685 B |
|
After Width: | Height: | Size: 1021 B |
|
After Width: | Height: | Size: 752 B |
|
After Width: | Height: | Size: 767 B |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 721 B |
|
After Width: | Height: | Size: 724 B |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |