Compare commits
465 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9ed471a1c6 | |||
| badd1fd2c3 | |||
| 2f4d9ade01 | |||
| 2d386e3620 | |||
| b7306b9feb | |||
| 020fbc9332 | |||
| 20b9086464 | |||
| 703f990f7f | |||
| 8d8779130c | |||
| 83658510af | |||
| 76aa003d99 | |||
| 1a14b8bd56 | |||
| de190b4fd9 | |||
| 812fa6612a | |||
| 18a43390b6 | |||
| 6af87f727d | |||
| 8dbfa5fdb1 | |||
| e0d9ed5677 | |||
| 6e65f29bb3 | |||
| eb597cffbe | |||
| be88a682b9 | |||
| fa09a1f40a | |||
| 1262089e82 | |||
| 0da73cf675 | |||
| a228dc7b2e | |||
| e6a6a0d831 | |||
| 0fb05c66eb | |||
| e1017b7707 | |||
| cb4b87811e | |||
| 1ccc34f766 | |||
| 1fe20971f8 | |||
| 7ee6e2c58c | |||
| 7b8d6e18b2 | |||
| 84d5ad9caf | |||
| 46cc997e2a | |||
| 829cc49e3c | |||
| a134449706 | |||
| 5b89db0c4b | |||
| 351838b121 | |||
| f59d354729 | |||
| 9d7d912261 | |||
| 77d5de7b8e | |||
| 2238a744f3 | |||
| 539fd59e9b | |||
| a42e2736db | |||
| 2eca2c7374 | |||
| 2bd897fe0e | |||
| 1347fc4d11 | |||
| afaeebd0ab | |||
| 7e33e1ce4a | |||
| 2f1c38afc2 | |||
| 295aa1e362 | |||
| d224d14db1 | |||
| 478ba77288 | |||
| 3175c289b5 | |||
| 78679ef139 | |||
| fa8e3a17c1 | |||
| 88a56998d6 | |||
| 6555a8f02c | |||
| a28e406da4 | |||
| 317eaa2969 | |||
| 61bea04018 | |||
| 6ebc975a20 | |||
| 9f8f2afead | |||
| 472317612c | |||
| e9b82d0b78 | |||
| 07929e1775 | |||
| e20bcd46d7 | |||
| 3b0be6236c | |||
| 27d2a43c99 | |||
| 06aa705f43 | |||
| fa9941ce5b | |||
| c0b1115b23 | |||
| 2ba7b181da | |||
| e2e3425720 | |||
| b7d72d35ed | |||
| 256e6db158 | |||
| e0aebca055 | |||
| cde4e73645 | |||
| 83b583dd13 | |||
| c459d06f53 | |||
| c49615a504 | |||
| 6605fd0cae | |||
| 6bf5970b90 | |||
| 57e8e0384b | |||
| c82f5dabd8 | |||
| 7cecc9e160 | |||
| 9b2e57cba0 | |||
| 2dac407959 | |||
| 9c1139b3af | |||
| ab990b1a05 | |||
| d0f624ab5f | |||
| b2a4aec1c3 | |||
| 999b6800a9 | |||
| 77505c5aa9 | |||
| 1a1e952804 | |||
| de5ddc8622 | |||
| 08ffdef229 | |||
| d7e56483c0 | |||
| 6a2f72f406 | |||
| 9809d7b0d6 | |||
| 359f61e1f4 | |||
| 74a3cc281d | |||
| 26ac1dce6c | |||
| 82be8aa32f | |||
| bebe7d95b0 | |||
| 1b3d76d35e | |||
| 2282f44dfa | |||
| dc849112b8 | |||
| b6a419a0d7 | |||
| e802f41d44 | |||
| b29598643d | |||
| eb4b6d72e3 | |||
| d38e6b6e7a | |||
| ba52acebc9 | |||
| b6a3e5d941 | |||
| f11d36d295 | |||
| cf1721bae1 | |||
| 0603540315 | |||
| 4de12d426c | |||
| c8cf476501 | |||
| a7aef913fc | |||
| 7d0a75cd59 | |||
| a166072168 | |||
| 47f8222349 | |||
| 4942418120 | |||
| a0d087be33 | |||
| dd80db09e9 | |||
| 653d680347 | |||
| ee584ab15e | |||
| 82e2738f33 | |||
| 45d52842cf | |||
| f738f648d8 | |||
| 0cf53c5a5d | |||
| 6f5bcc6681 | |||
| 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 | |||
| 2cc1c9655e | |||
| e47c85e365 | |||
| b8a0a158d8 | |||
| 29ea1de206 | |||
| 2637390557 | |||
| 9b513f7e2b | |||
| 97fe06a98f | |||
| 1a3568e80d | |||
| 62363d7bd9 | |||
| ecdb6d605f | |||
| 41fcaf04ff | |||
| 0886007e98 | |||
| 4a82e7f580 | |||
| 78d30e82c6 | |||
| 664bd3b5dc | |||
| 737e88a23b | |||
| 6d10c6f031 | |||
| 1fb5e8584a | |||
| 563d72531e | |||
| 39baed1b29 | |||
| 318558240c | |||
| bda68175a0 | |||
| 3a37aa3dce | |||
| ef2bef9f87 | |||
| c99ea6617e | |||
| c7c4f18af6 | |||
| ff1490f8c6 | |||
| 0be73d8b2f | |||
| 9266655493 | |||
| 513bbd8b85 | |||
| 6c891a60e7 | |||
| 2115c31359 | |||
| 855f8870e3 | |||
| 16d7e3c195 | |||
| 5133f82041 | |||
| 91a60e9813 | |||
| 511e447f24 | |||
| 31e8cf9405 | |||
| 0fd8832b36 | |||
| f111a6c3bb | |||
| eb1d8f6ac6 | |||
| d05635b9c2 | |||
| dad19c5505 | |||
| 5406c88a7b | |||
| 39f79507ac | |||
| 78ff080dce | |||
| 6d85ce893b | |||
| f9b82c6086 | |||
| 432a0a7998 | |||
| e22eb79ccd | |||
| d92183eff4 | |||
| 92fe4d0179 | |||
| 6e1a643e22 | |||
| 207d79c66c | |||
| 88c9dacb31 | |||
| a9493a6765 | |||
| fdea3cd148 | |||
| 79851e9eca | |||
| c993e02447 | |||
| ee12f50d85 | |||
| 784e2f3d9e | |||
| 1128370b83 | |||
| 289bf81046 | |||
| 11030d4552 | |||
| 013d2fbcdf | |||
| 98724af986 | |||
| bd05a3c6b6 | |||
| 28916e4901 | |||
| 3ad2ddd516 | |||
| 3f41dd0f94 | |||
| fa6c7b566a | |||
| 531dfdb162 | |||
| 571af02170 | |||
| 4aaf6a1823 | |||
| 086f17f8b6 | |||
| 7d1e175f54 | |||
| 321df91031 | |||
| e9e34c4984 | |||
| d627048146 | |||
| e56a56d11c | |||
| 5a858b3270 | |||
| 58a97d03a3 | |||
| 87b6fb7bd2 | |||
| 47580a5935 | |||
| 50c86229c0 | |||
| 805680b4e5 | |||
| 4e0c7a312d | |||
| c3949f961d | |||
| 3b164d5128 | |||
| 27305238df | |||
| 3894e4c97a | |||
| 0c4ed02e26 | |||
| 95d7e4932b | |||
| 1dadccd9b5 | |||
| 57960ef0c8 | |||
| fea441000d | |||
| 65969ce7a6 | |||
| e92ab9fe18 | |||
| b92c4613c1 | |||
| 59cf2f89ca | |||
| 58244cfbb4 | |||
| 9d324bfff3 | |||
| 357c506370 | |||
| b95fbac409 | |||
| a3fa8254f7 | |||
| f9b6f1ffbc | |||
| fc902f2a73 | |||
| 1692be778c | |||
| d014ec2841 | |||
| 6ff16dc693 | |||
| c41bef6413 | |||
| bcb7619d37 | |||
| f87a0a649b | |||
| 51ba0d06ab | |||
| dcaa28c200 | |||
| 765cf6d54c | |||
| 7b7b5cbb46 | |||
| bc2f39fac8 | |||
| c9000fcad7 | |||
| 6914771bb5 | |||
| e2d9015490 | |||
| acff1da6c2 | |||
| 68712fb842 | |||
| 5ff2632499 | |||
| 1b79cd4aa4 | |||
| a8d75de4c9 | |||
| 38458e4a4c | |||
| c107083cde | |||
| f5e58b100f | |||
| bf95e349da | |||
| f1b764062b | |||
| 6b218d049f | |||
| b6cb78330d | |||
| 28754a93c2 | |||
| ba79b5b611 | |||
| 638613a190 | |||
| 9b59dd942c | |||
| 20dce532ae | |||
| 8e53dc6117 | |||
| 7875060375 | |||
| 14ba603f22 | |||
| 982a2c76c3 | |||
| 799e1e6b24 | |||
| 3c046bd2ef | |||
| 0f9103d1f0 | |||
| 783f5c695d | |||
| 8475ae29ba | |||
| 242625ee9f | |||
| b2f11f494d | |||
| fd5871b924 | |||
| a5f7769e58 | |||
| 4e29c751ed | |||
| 58a8213233 | |||
| 55727f7c2b | |||
| 33ac6fa80c | |||
| 07cbe89ffd | |||
| 61fbdcbc49 | |||
| 8bdfb822a1 | |||
| ff97d7292c | |||
| c998896cc1 | |||
| 98fc36d039 | |||
| cf0b268019 | |||
| e2153bece1 | |||
| c7001de666 | |||
| 3985697573 | |||
| 8f8f4dc7c0 | |||
| 156cefcd1d | |||
| 0b9c2a252f | |||
| 627b1c5bfe | |||
| 4409337cc3 | |||
| c91a1203fb | |||
| 458731e391 | |||
| 5c0d6afddc | |||
| 69bec85d76 | |||
| 3d9b0b7560 | |||
| e0f1e13e9c | |||
| b8db5daa12 | |||
| c21313dd34 | |||
| 0c0547f4dd | |||
| 6c73574edc | |||
| afae41694c | |||
| 70ce055b0c | |||
| 8fae06ea14 | |||
| 333b60bf4e | |||
| 07220fa2b9 | |||
| 8714de6269 | |||
| 8effb279a6 | |||
| 6b90b944bc | |||
| c01d775289 | |||
| 4cc2d4b68f | |||
| 06e0d5340d | |||
| 85629bb55e | |||
| c4a1d7a113 | |||
| 87b765c60f | |||
| f363ec4b41 | |||
| 382097f7e6 | |||
| ee37015d6d | |||
| 5244ac65f3 | |||
| b873772419 | |||
| 5287ac2614 | |||
| 6b2e67a9ec | |||
| 5a800c14a7 | |||
| bb9f57fe83 | |||
| e48da54b82 | |||
| c55b3712a4 | |||
| d2de984354 | |||
| 7271141623 | |||
| e273b309f1 | |||
| d75a3a0881 | |||
| 4349a3246a | |||
| b6fc32ee0d | |||
| de67afb711 | |||
| c478a0f6c6 | |||
| 5bade13636 | |||
| 76c79ea0f3 | |||
| 0beea22d20 | |||
| c78a21d2b9 | |||
| c7c28184eb | |||
| 04b8d1060a | |||
| 264ed8e720 | |||
| 4baf45c2b1 | |||
| 82a55211e8 | |||
| eeca6cb06e | |||
| adacc616a0 | |||
| 3cf99ec2bb | |||
| e545ba11a7 | |||
| 5358e8907a | |||
| 5c79220504 | |||
| b3d26649a6 | |||
| 3228106ddf | |||
| 286b47e69c | |||
| 8a240766ed | |||
| 314090e0d0 | |||
| 466365fcc7 | |||
| 0772dfab90 | |||
| 5782aded97 | |||
| b74f307fa9 | |||
| f3b2417496 | |||
| 70a15dec53 | |||
| 5b588aa9e0 | |||
| 7e1e1e2e67 | |||
| 9c07f4ef3d | |||
| 458a382f16 | |||
| 63515a3d8d | |||
| 67186eb37d | |||
| 871cb8489f | |||
| 3e61368087 | |||
| 03c10308f9 | |||
| f04295b32b | |||
| 9cd43a9c56 | |||
| 46887df950 | |||
| b726064e65 | |||
| f8b17eadea | |||
| 578063f8f8 | |||
| 9e230d4df7 | |||
| a99b682bf9 | |||
| 7ec9609d7a | |||
| e3f0288eaf | |||
| c81316bfe9 | |||
| d6fed235c2 | |||
| 875ef391a7 | |||
| 1af87cd5e3 | |||
| 93bdd8c1a1 | |||
| 088290f8ba | |||
| db80b34fad | |||
| 8c1157f808 | |||
| 5396e1f18d | |||
| c154115192 | |||
| 91daabd791 | |||
| a3571e3879 | |||
| 3dd5ff1b36 | |||
| 564ba8ed28 | |||
| 3c582755f3 | |||
| fddbaffeb3 | |||
| 8dd1d70f86 | |||
| 2e9cb26086 | |||
| b5f911802d | |||
| 935e922707 | |||
| aeec220a5e | |||
| 17fae262c5 | |||
| a331736eb3 | |||
| c439727ddd | |||
| 2b073d34bd | |||
| 15b0237e54 | |||
| 466d449dc4 | |||
| f92b8d058a | |||
| 0a9e04ce09 | |||
| 022fc8f77e | |||
| 820b3f75ea | |||
| d5f20f32ca | |||
| 2ffb9c9717 | |||
| 719540d020 | |||
| e479b86664 | |||
| 6b68fd6715 |
@@ -1,4 +1,7 @@
|
|||||||
BasedOnStyle: Google
|
BasedOnStyle: Google
|
||||||
AlignConsecutiveAssignments: true
|
AlignConsecutiveAssignments: true
|
||||||
|
AlignAfterOpenBracket: Align
|
||||||
|
ContinuationIndentWidth: 2
|
||||||
KeepEmptyLinesAtTheStartOfBlocks: true
|
KeepEmptyLinesAtTheStartOfBlocks: true
|
||||||
|
SortIncludes: false
|
||||||
ColumnLimit: 90
|
ColumnLimit: 90
|
||||||
@@ -6,7 +6,7 @@ open_collective: # Replace with a single Open Collective username
|
|||||||
ko_fi: # Replace with a single Ko-fi username
|
ko_fi: # Replace with a single Ko-fi username
|
||||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||||
liberapay: # Replace with a single Liberapay username
|
liberapay: # Schneegans
|
||||||
issuehunt: # Replace with a single IssueHunt username
|
issuehunt: # Replace with a single IssueHunt username
|
||||||
otechie: # Replace with a single Otechie username
|
otechie: # Replace with a single Otechie username
|
||||||
custom: ['https://www.paypal.com/donate/?hosted_button_id=3F7UFL8KLVPXE']
|
custom: ['https://www.paypal.com/donate/?hosted_button_id=3F7UFL8KLVPXE']
|
||||||
|
|||||||
@@ -17,14 +17,13 @@ Steps to reproduce the behavior:
|
|||||||
4. See error
|
4. See error
|
||||||
|
|
||||||
You may also check the output of GNOME Shell for any error messages.
|
You may also check the output of GNOME Shell for any error messages.
|
||||||
This can be done with the following terminal command:
|
This can be done with the following terminal command.
|
||||||
|
Execute this in a terminal and observe the output while reproducing the bug.
|
||||||
|
|
||||||
|
```bash
|
||||||
journalctl -f -o cat | grep -E 'burn-my-windows|'
|
journalctl -f -o cat | grep -E 'burn-my-windows|'
|
||||||
```
|
```
|
||||||
|
|
||||||
## Expected Behavior
|
|
||||||
A clear and concise description of what you expected to happen.
|
|
||||||
|
|
||||||
## System
|
## System
|
||||||
_Please complete the following information:_
|
_Please complete the following information:_
|
||||||
- Linux distribution [e.g. Ubuntu 21.04]
|
- Linux distribution [e.g. Ubuntu 21.04]
|
||||||
|
|||||||
@@ -1,16 +1,14 @@
|
|||||||
---
|
---
|
||||||
name: Feature Request
|
name: General Feature Request
|
||||||
about: Suggest an idea for the Burn-My-Windows Extension.
|
about: Suggest an idea for the Burn-My-Windows Extension.
|
||||||
title: ''
|
title: ''
|
||||||
labels: enhancement
|
labels: 'feature request'
|
||||||
assignees: ''
|
assignees: ''
|
||||||
---
|
---
|
||||||
|
|
||||||
## The Motivation
|
## The Idea
|
||||||
A clear and concise description of use-case.
|
A clear and concise description of your idea.
|
||||||
|
If applicable, feel free to add screenshots or mock-ups to illustrate your idea!
|
||||||
## The Solution
|
|
||||||
A clear and concise description of what you want to happen.
|
|
||||||
|
|
||||||
## The Alternatives
|
## The Alternatives
|
||||||
A clear and concise description of any alternative solutions or features you've considered.
|
Are there alternative solutions or features you've considered?
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
name: New Effect
|
||||||
|
about: Suggest a new effect for the Burn-My-Windows Extension.
|
||||||
|
title: ''
|
||||||
|
labels: 'new effect'
|
||||||
|
assignees: ''
|
||||||
|
---
|
||||||
|
|
||||||
|
## The Idea
|
||||||
|
Please describe your idea as detailed as possible.
|
||||||
|
It would be great if you could add a drawing or any other kind of mock-up to illustrate your idea!
|
||||||
|
|
||||||
|
## Window Closing vs. Window Opening
|
||||||
|
Make sure to describe how the effect could be reversed, so how should a window disappear and how should it appear.
|
||||||
|
|
||||||
|
## References
|
||||||
|
It would be great if you could provide some video references (e.g. YouTube links) if your idea is based on something which - for example - exists in movies.
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
name: Badges
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-badges:
|
||||||
|
name: Update Badges
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout Repository
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Download cloc
|
||||||
|
run: sudo apt-get update -y && sudo apt-get install -y cloc
|
||||||
|
- name: Get the Numbers
|
||||||
|
run: |
|
||||||
|
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.3.0
|
||||||
|
with:
|
||||||
|
auth: ${{ secrets.GIST_SECRET }}
|
||||||
|
gistID: 8cf45f23253ff09b21196e7271378762
|
||||||
|
filename: loc.json
|
||||||
|
label: Lines of Code
|
||||||
|
message: ${{ env.CODE_LINES }}
|
||||||
|
color: lightgrey
|
||||||
|
labelColor: 303030
|
||||||
|
- name: Create Comments-Badge
|
||||||
|
uses: schneegans/dynamic-badges-action@v1.3.0
|
||||||
|
with:
|
||||||
|
auth: ${{ secrets.GIST_SECRET }}
|
||||||
|
gistID: 8cf45f23253ff09b21196e7271378762
|
||||||
|
filename: comments.json
|
||||||
|
label: Comments
|
||||||
|
message: ${{ env.COMMENT_LINES }}%
|
||||||
|
valColorRange: ${{ env.COMMENT_LINES }}
|
||||||
|
maxColorRange: 50
|
||||||
|
minColorRange: 0
|
||||||
|
labelColor: 303030
|
||||||
@@ -76,7 +76,35 @@ jobs:
|
|||||||
( contains(github.ref, 'main') && !contains(github.event.head_commit.message, '[no-ci]') ) ||
|
( contains(github.ref, 'main') && !contains(github.event.head_commit.message, '[no-ci]') ) ||
|
||||||
( contains(github.ref, 'develop') && !contains(github.event.head_commit.message, '[no-ci]') ) ||
|
( contains(github.ref, 'develop') && !contains(github.event.head_commit.message, '[no-ci]') ) ||
|
||||||
contains(github.event.head_commit.message, '[run-ci]')
|
contains(github.event.head_commit.message, '[run-ci]')
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
version:
|
||||||
|
- '32'
|
||||||
|
- '33'
|
||||||
|
- '34'
|
||||||
|
- '35'
|
||||||
|
- '36'
|
||||||
|
session:
|
||||||
|
#- 'gnome-xsession' Disabled for now as it miraculously fails on GitHub. Locally, all tests pass...
|
||||||
|
- 'gnome-wayland-nested'
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
- name: Download Dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt update -qq
|
||||||
|
sudo apt install gettext -qq
|
||||||
- name: Build Burn-My-Windows
|
- name: Build Burn-My-Windows
|
||||||
run: make
|
run: make
|
||||||
|
- name: Test Burn-My-Windows
|
||||||
|
run: sudo $GITHUB_WORKSPACE/tests/run-test.sh -v ${{ matrix.version }} -s ${{ matrix.session }}
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
if: failure()
|
||||||
|
with:
|
||||||
|
name: log_${{ matrix.version }}_${{ matrix.session }}
|
||||||
|
path: fail.log
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
if: failure()
|
||||||
|
with:
|
||||||
|
name: screen_${{ matrix.version }}_${{ matrix.session }}
|
||||||
|
path: fail.png
|
||||||
@@ -6,7 +6,7 @@ on:
|
|||||||
- '**'
|
- '**'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
source_code:
|
extension_bundle:
|
||||||
name: Extension Bundle
|
name: Extension Bundle
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
@@ -20,10 +20,9 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
make zip
|
make zip
|
||||||
- name: Upload Release
|
- name: Upload Release
|
||||||
uses: svenstaro/upload-release-action@v1-release
|
uses: svenstaro/upload-release-action@2.2.1
|
||||||
with:
|
with:
|
||||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
file: burn-my-windows@schneegans.github.com.zip
|
file: burn-my-windows@schneegans.github.com.zip
|
||||||
asset_name: burn-my-windows@schneegans.github.com.zip
|
|
||||||
tag: ${{ github.ref }}
|
tag: ${{ github.ref }}
|
||||||
overwrite: true
|
overwrite: true
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
*~
|
*~
|
||||||
*.zip
|
*.zip
|
||||||
|
*.blend1
|
||||||
|
*.blend2
|
||||||
|
*.blend3
|
||||||
|
/locale
|
||||||
/schemas/gschemas.compiled
|
/schemas/gschemas.compiled
|
||||||
/resources/burn-my-windows.gresource
|
/resources/burn-my-windows.gresource
|
||||||
/resources/burn-my-windows.gresource.xml
|
/resources/burn-my-windows.gresource.xml
|
||||||
@@ -1,51 +1,111 @@
|
|||||||
SHELL := /bin/bash
|
SHELL := /bin/bash
|
||||||
|
|
||||||
|
# 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" \))
|
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)
|
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))
|
||||||
|
|
||||||
.PHONY: zip install uninstall clean
|
# 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
|
||||||
|
|
||||||
zip: burn-my-windows@schneegans.github.com.zip
|
# These seven recipes can be invoked by the user.
|
||||||
|
.PHONY: zip install uninstall pot clean test references
|
||||||
|
|
||||||
install: burn-my-windows@schneegans.github.com.zip
|
# The zip recipes only bundles the extension without installing it.
|
||||||
gnome-extensions install "burn-my-windows@schneegans.github.com.zip" --force
|
zip: $(ZIP_NAME)
|
||||||
|
|
||||||
|
# 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')."
|
@echo "Extension installed successfully! Now restart the Shell ('Alt'+'F2', then 'r')."
|
||||||
|
|
||||||
|
# This uninstalls the previously installed extension.
|
||||||
uninstall:
|
uninstall:
|
||||||
gnome-extensions uninstall "burn-my-windows@schneegans.github.com"
|
gnome-extensions uninstall "$(NAME)@$(DOMAIN)"
|
||||||
|
|
||||||
|
# Use gettext to generate a translation template file.
|
||||||
|
pot: $(JS_FILES) $(UI_FILES)
|
||||||
|
@echo "Generating '$(NAME).pot'..."
|
||||||
|
@xgettext --from-code=UTF-8 \
|
||||||
|
--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:
|
clean:
|
||||||
rm -rf \
|
rm -rf $(ZIP_NAME) \
|
||||||
burn-my-windows@schneegans.github.com.zip \
|
resources/$(NAME).gresource \
|
||||||
resources/burn-my-windows.gresource \
|
resources/$(NAME).gresource.xml \
|
||||||
resources/burn-my-windows.gresource.xml \
|
schemas/gschemas.compiled \
|
||||||
schemas/gschemas.compiled
|
locale
|
||||||
|
|
||||||
burn-my-windows@schneegans.github.com.zip: schemas/gschemas.compiled resources/burn-my-windows.gresource $(JS_FILES)
|
|
||||||
@# Check if the VERSION variable was passed and set version to it
|
|
||||||
@if [[ "$(VERSION)" != "" ]]; then \
|
|
||||||
sed -i "s| \"version\":.*| \"version\": $(VERSION)|g" metadata.json; \
|
|
||||||
fi
|
|
||||||
@# TODO Maybe echo version number of the release that was built, in order to facilitate double-checking before publishing it?
|
|
||||||
|
|
||||||
|
# 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..."
|
@echo "Packing zip file..."
|
||||||
@rm --force burn-my-windows@schneegans.github.com.zip
|
@rm --force $(ZIP_NAME)
|
||||||
@zip -r burn-my-windows@schneegans.github.com.zip -- *.js src/*/*.js resources/burn-my-windows.gresource schemas/gschemas.compiled metadata.json LICENSE
|
@zip $(ZIP_NAME) -- $(ZIP_CONTENT)
|
||||||
|
|
||||||
@#Check if the zip size is too big to be uploaded
|
@#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 \
|
@SIZE=$$(unzip -Zt $(ZIP_NAME) | awk '{print $$3}') ; \
|
||||||
echo "ERROR! The extension is too big to be uploaded to the extensions website, keep it smaller than 4096 KB!"; exit 1; \
|
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
|
fi
|
||||||
|
|
||||||
resources/burn-my-windows.gresource: resources/burn-my-windows.gresource.xml
|
# Compiles the gschemas.compiled file from the gschema.xml file.
|
||||||
@echo "Compiling resources..."
|
schemas/gschemas.compiled: schemas/org.gnome.shell.extensions.$(NAME).gschema.xml
|
||||||
@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
|
|
||||||
@echo "Compiling schemas..."
|
@echo "Compiling schemas..."
|
||||||
@glib-compile-schemas schemas
|
@glib-compile-schemas schemas
|
||||||
|
|
||||||
|
# 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 $@ $<
|
||||||
|
|||||||
@@ -1,22 +1,76 @@
|
|||||||
# Set GNOME Shell on Fire!
|
<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">
|
||||||
|
<a href="https://extensions.gnome.org/extension/4679/burn-my-windows/"><img src="https://img.shields.io/badge/Download-extensions.gnome.org-e67f4d.svg?logo=gnome&logoColor=lightgrey&labelColor=303030" /></a><br/>
|
||||||
<a href="https://github.com/Schneegans/Burn-My-Windows/actions"><img src="https://github.com/Schneegans/Burn-My-Windows/workflows/Checks/badge.svg?branch=main" /></a>
|
<a href="https://github.com/Schneegans/Burn-My-Windows/actions"><img src="https://github.com/Schneegans/Burn-My-Windows/workflows/Checks/badge.svg?branch=main" /></a>
|
||||||
<a href="LICENSE"><img src="https://img.shields.io/badge/License-GPLv3-blue.svg?labelColor=303030" /></a>
|
<a href="LICENSE"><img src="https://img.shields.io/badge/License-GPLv3-blue.svg?labelColor=303030" /></a>
|
||||||
<a href="https://extensions.gnome.org/extension/4679/burn-my-windows/"><img src="https://img.shields.io/badge/Download-extensions.gnome.org-e67f4d.svg?logo=gnome&logoColor=lightgrey&labelColor=303030" /></a>
|
<a href="https://hosted.weblate.org/engage/burn-my-windows/"><img src="https://img.shields.io/weblate/progress/burn-my-windows?label=Translated&logo=weblate&logoColor=lightgray&labelColor=303030" /></a>
|
||||||
|
<a href="scripts/cloc.sh"><img src="https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Schneegans/8cf45f23253ff09b21196e7271378762/raw/loc.json" /></a>
|
||||||
|
<a href="scripts/cloc.sh"><img src="https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Schneegans/8cf45f23253ff09b21196e7271378762/raw/comments.json" /></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
When I released the [Desktop Cube Extension](https://github.com/Schneegans/Desktop-Cube/), many people requested to revive one of the most useless features of Linux desktop history: Setting windows on fire!
|
When I released the [Desktop Cube Extension](https://github.com/Schneegans/Desktop-Cube/), many people requested to revive one of the most useless features of Linux desktop history: Setting windows on fire!
|
||||||
This extension is not only more useless than the cube, but it is also much more hacky. So I expect some bug! [Let's incinerate them all](https://github.com/Schneegans/Burn-My-Windows/issues)!
|
This extension is not only more useless than the cube, but it is also much more hacky. So I expect some bug! [Let's incinerate them all](https://github.com/Schneegans/Burn-My-Windows/issues)!
|
||||||
|
|
||||||
## Included Effects
|
For a list of things changed in previous releases, you can have a look at the [changelog](docs/changelog.md)!
|
||||||
|
|
||||||
Name | Preview
|
|
||||||
|
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" />
|
**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" />
|
**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" />
|
**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" />
|
**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" />
|
||||||
|
**Your Effect!** <br> The extension is very modular and with a bit of creativity and GLSL knowledge, [you can easily create your own effects](docs/how-to-create-new-effects.md). | [](docs/how-to-create-new-effects.md)
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
## 💞 These People _love_ this Extension
|
||||||
|
|
||||||
|
While [coding new features](docs/how-to-create-new-effects.md) or [translating the extension](https://hosted.weblate.org/engage/burn-my-windows/) are the most awesome ways to contribute, providing financial support will help me stay motivated to invest my spare time to keep the project alive in the future.
|
||||||
|
|
||||||
|
<h3 align="center">🥇 Current Gold Sponsors</h3>
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://github.com/dennis1248">Dennis ten Hoove</a><br>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3 align="center">🥈 Current Silver Sponsors</h3>
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://github.com/danielheadbang">@danielheadbang</a><br>
|
||||||
|
<a href="https://twitter.com/tjiiik">tj3k</a><br>
|
||||||
|
<a href="https://github.com/MRR-dev">@MRR-dev</a><br>
|
||||||
|
<a href="https://github.com/castrojo">Jorge Castro</a><br>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3 align="center">🥉 Current Bronze Sponsors</h3>
|
||||||
|
<p align="center">
|
||||||
|
<a href='https://github.com/AngelBrielez'>Angel Brielez</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
<a href="https://github.com/RickStanley">@RickStanley</a><br>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
Do you want to show that you love it too? You may <a href="https://github.com/sponsors/Schneegans">become a sponsor for as little as 1$ / month</a>!
|
||||||
|
If you like this extension, you may also want to try one of my other extensions: [🧊 Desktop-Cube](https://github.com/Schneegans/Desktop-Cube) or [🍰 Fly-Pie](https://github.com/Schneegans/Fly-Pie/)!
|
||||||
|
|
||||||
|
## ⬇️ Installation
|
||||||
|
|
||||||
You can either install the Burn-My-Windows extension from extensions.gnome.org (a), download a stable release
|
You can either install the Burn-My-Windows extension from extensions.gnome.org (a), download a stable release
|
||||||
from GitHub (b) or clone the latest version directly with `git` (c).
|
from GitHub (b) or clone the latest version directly with `git` (c).
|
||||||
@@ -78,7 +132,8 @@ gnome-extensions enable burn-my-windows@schneegans.github.com
|
|||||||
## :octocat: I want to contribute!
|
## :octocat: I want to contribute!
|
||||||
|
|
||||||
That's great!
|
That's great!
|
||||||
Here are some basic rulles to get you started:
|
Most likely, you want to [create a new effect](docs/how-to-create-new-effects.md) or to [translate the extension](https://hosted.weblate.org/engage/burn-my-windows/)?
|
||||||
|
Here are some basic rules to get you started:
|
||||||
Commits should start with a Capital letter and should be written in present tense (e.g. __:tada: Add cool new feature__ instead of __:tada: Added cool new feature__).
|
Commits should start with a Capital letter and should be written in present tense (e.g. __:tada: Add cool new feature__ instead of __:tada: Added cool new feature__).
|
||||||
You should also start your commit message with **one** applicable emoji.
|
You should also start your commit message with **one** applicable emoji.
|
||||||
This does not only look great but also makes you rethink what to add to a commit. Make many but small commits!
|
This does not only look great but also makes you rethink what to add to a commit. Make many but small commits!
|
||||||
|
|||||||
|
After Width: | Height: | Size: 968 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 4.1 MiB |
@@ -1,8 +1,186 @@
|
|||||||
# Changelog of the Burn-My-Windows Extension
|
# Changelog of the Burn-My-Windows Extension
|
||||||
|
|
||||||
## [Burn My Window 5](https://github.com/schneegans/Burn-My-Windows/releases/tag/v5)
|
## [Burn My Windows 16](https://github.com/schneegans/Burn-My-Windows/releases/tag/v16)
|
||||||
|
|
||||||
**Release Date:** TBD
|
**Release Date:** 2022-05-21
|
||||||
|
|
||||||
|
#### Enhancements
|
||||||
|
|
||||||
|
* Many translation updates, including a completely new Arabic, Finnish, Korean, and Swedish translation. A BIG THANKS to all translators!
|
||||||
|
* The shaders are now aware of the actual window size (e.g. excluding the area where the shadow is drawn). For instance, this **fixes the drawing of the effects outside the window bounds** for `libadwaita` apps.
|
||||||
|
* Refactored how the size and opacity transitions of the window actors are set up. Effects can now only specify a desired actor scale which will not change during the animation. All dynamic scaling and fading must be implemented in the shaders now.
|
||||||
|
* The standard uniforms of all shaders have been updated: The window size is now passed as a `vec2` and there is a new `bool uForOpening` which is set to `true` if a window-open animation is ongoing, to `false` otherwise.
|
||||||
|
|
||||||
|
#### Bug Fixes
|
||||||
|
|
||||||
|
* **Fixed a major memory leak**. Now, shaders are not re-created anymore whenever a window is opened or closed. Instead, previously created shaders are re-used as often as possible. This requires that all settings are set as uniform values (previously they were injected into the shader source) which in turn requires that `Shell.GLSLEffect` is used instead of `Clutter.ShaderEffect`. This change also requires that all shaders now work with straight instead of premultiplied alpha. Anyways, a lot needed to be refactored for this fix and I hope that it did not bring too many visual changes.
|
||||||
|
* Fixed the window-close animation of windows which were opened before the session was started (e.g. before GNOME Shell has been restarted).
|
||||||
|
* There seem to be cases were `libadwaita` is not available on GNOME 42 (e.g. Pop!_OS 22.04 beta). The preferences dialog now tries to fallback to the GTK4-only variant if `libadwaita` is not available.
|
||||||
|
|
||||||
|
## [Burn My Windows 15](https://github.com/schneegans/Burn-My-Windows/releases/tag/v15)
|
||||||
|
|
||||||
|
**Release Date:** 2022-04-06
|
||||||
|
|
||||||
|
#### New Features
|
||||||
|
|
||||||
|
* **New Effect: Apparition.** This effect hides the window by violently sucking it into the void of magic. This is available only for GNOME Shell 3.38 and newer.
|
||||||
|
* **New Effect: Hexagon.** With glowing lines and hexagon-shaped tiles, this effect looks very sci-fi. This is available for GNOME Shell 3.36 and newer.
|
||||||
|
* **New Effect: Snap of Disintegration.** This was requested quite frequently! Dissolve your windows into a cloud of dust. This is available only for GNOME Shell 40 and newer.
|
||||||
|
|
||||||
|
#### Bug Fixes
|
||||||
|
|
||||||
|
* Disabled the buggy "Shatter from pointer" option of the Broken Glass effect when opening windows (it only makes sense for closing windows).
|
||||||
|
|
||||||
|
## [Burn My Windows 14](https://github.com/schneegans/Burn-My-Windows/releases/tag/v14)
|
||||||
|
|
||||||
|
**Release Date:** 2022-03-29
|
||||||
|
|
||||||
|
#### Enhancements
|
||||||
|
|
||||||
|
* Reduced the lower animation time limits for all effects to 100 ms. This should now allow for very snappy animations!
|
||||||
|
* A completely new Russian translation. Thank you, ANIGO R.!
|
||||||
|
|
||||||
|
#### Bug Fixes
|
||||||
|
|
||||||
|
* Fixed the version check for GNOME Shell `42.rc` (before it only worked on `42.alpha` and `42.beta`)
|
||||||
|
|
||||||
|
|
||||||
|
## [Burn My Windows 13](https://github.com/schneegans/Burn-My-Windows/releases/tag/v13)
|
||||||
|
|
||||||
|
**Release Date:** 2022-03-27
|
||||||
|
|
||||||
|
#### 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
|
||||||
|
|
||||||
|
* Added initial support for GNOME Shell 42.
|
||||||
|
* The preferences dialog now uses libadwaita on GNOME Shell 42.
|
||||||
|
|
||||||
|
#### Enhancements
|
||||||
|
|
||||||
|
* Added [Liberapay](https://liberapay.com/Schneegans) to the sponsorship options.
|
||||||
|
|
||||||
|
## [Burn My Windows 11](https://github.com/schneegans/Burn-My-Windows/releases/tag/v11)
|
||||||
|
|
||||||
|
**Release Date:** 2022-02-03
|
||||||
|
|
||||||
|
#### New Features
|
||||||
|
|
||||||
|
* Added an about-dialog which shows all translators and sponsors.
|
||||||
|
|
||||||
|
#### Enhancements
|
||||||
|
|
||||||
|
* There are several new translations! Thanks a lot to all the translators! We now have translations for:
|
||||||
|
* German
|
||||||
|
* English
|
||||||
|
* Czech
|
||||||
|
* Dutch
|
||||||
|
* French
|
||||||
|
* Italian
|
||||||
|
* Norwegian Bokmål
|
||||||
|
* Spanish
|
||||||
|
* A new issue template for suggesting new effects has been added.
|
||||||
|
|
||||||
|
#### Fixes
|
||||||
|
|
||||||
|
* Fixed an issue which caused corrupted windows when trying to maximize windows while the window-open animation was still running (#82, #86, #91).
|
||||||
|
|
||||||
|
## [Burn My Windows 10](https://github.com/schneegans/Burn-My-Windows/releases/tag/v10)
|
||||||
|
|
||||||
|
**Release Date:** 2022-01-31
|
||||||
|
|
||||||
|
#### New Features
|
||||||
|
|
||||||
|
<a href="https://youtu.be/L2aaNF_rPHo"><img align="right" src ="pics/bmw10.jpg" /></a>
|
||||||
|
|
||||||
|
* **Effects for Window Opening.** You can now select effects which are applied on newly opened windows! I expect that there are some bugs left, so please [report any issue you find](https://github.com/Schneegans/Burn-My-Windows/issues)!
|
||||||
|
* **New Effect: Broken Glass.** Shatter your windows into a shower sharp shards! This effect can be configured so that the shards fly away from your mouse pointer position!
|
||||||
|
* **Preview Buttons** have been added to the effect-configuration pages of the preferences dialog. These can be used to, well, preview the current settings (without having to enable the effect first).
|
||||||
|
* **Translations!** It is now possible to [translate the preferences dialog](https://hosted.weblate.org/engage/burn-my-windows/). There is already a finished German translation, and in-progress translations to Italian and Norwegian Bokmål.
|
||||||
|
* **A "Vertical Overshooting" option** was added to the Matrix Effect: This can add some vertical variation to the start and end position of the letter drops.
|
||||||
|
|
||||||
|
#### Other Enhancements
|
||||||
|
|
||||||
|
* Added a menu entry with a link to the guide for creating new effect types.
|
||||||
|
* Thanks to improved timing, the default animation time of several effects could be reduced.
|
||||||
|
* The README now shows the current lines of code and the current comment percentage using my [dynamic-badges-action](https://github.com/Schneegans/dynamic-badges-action).
|
||||||
|
* **Add advanced CI tests:** For each commit to `main`, it is now tested whether the extension can be installed and if the preferences dialog can be shown on GNOME Shell 3.36, 3.38, 40, and 41. Both, X11 and Wayland are checked.
|
||||||
|
|
||||||
|
## [Burn My Windows 9](https://github.com/schneegans/Burn-My-Windows/releases/tag/v9)
|
||||||
|
|
||||||
|
**Release Date:** 2022-01-18
|
||||||
|
|
||||||
|
#### Fixes
|
||||||
|
|
||||||
|
* Improved compatibility with [Show Application View When Workspace Empty ](https://extensions.gnome.org/extension/2036/show-application-view-when-workspace-empty/) (#54).
|
||||||
|
* Fixed a crash which happened when the window-close icon in the overview was clicked twice (#49).
|
||||||
|
|
||||||
|
## [Burn My Windows 8](https://github.com/schneegans/Burn-My-Windows/releases/tag/v8)
|
||||||
|
|
||||||
|
**Release Date:** 2022-01-17
|
||||||
|
|
||||||
|
#### New Features
|
||||||
|
|
||||||
|
* **Random effects!** You can now select a set of effects of which one will be chosen randomly whenever you close a window. **This changes how effects are selected, so you will have to re-select your desired effect(s)**.
|
||||||
|
* **New Effect: Energize A.** Beam your windows away!
|
||||||
|
* **New Effect: Energize B.** Using different transporter technology results in an alternative visual effect.
|
||||||
|
* **New Effect: Wisps.** These little fairies carry your windows to the realm of dreams!
|
||||||
|
* Each effect has its own "Animation Time" setting now. The global animation time has been replaced by those, so **you may have to adjust the sliders to match your previous settings**.
|
||||||
|
|
||||||
|
#### Other Enhancements
|
||||||
|
|
||||||
|
* A [guide for creating new effects](how-to-create-new-effects.md) has been added.
|
||||||
|
* The source code has received a **major refactoring**. This will make the addition of new effects much easier in the future.
|
||||||
|
* The **layout of the settings dialog** has been reworked to make it easier to expand it in the future.
|
||||||
|
* The lower limit of the **animation time of the TV Effect** has been reduced.
|
||||||
|
* The T-Rex-Attack effect is not shown in fully transparent regions of a window any more.
|
||||||
|
* The shaders now use a different noise implementation which produces better 3D noise.
|
||||||
|
|
||||||
|
#### Fixes
|
||||||
|
|
||||||
|
* The extension now works even if GNOME Shell's animations are disabled globally.
|
||||||
|
|
||||||
|
|
||||||
|
## [Burn My Windows 7](https://github.com/schneegans/Burn-My-Windows/releases/tag/v7)
|
||||||
|
|
||||||
|
**Release Date:** 2022-01-03
|
||||||
|
|
||||||
|
#### New Features
|
||||||
|
|
||||||
|
* An option to use a 3D noise for the fire shader has been added. This will add some more temporal variation to the flames at the cost of slightly decreased rendering performance.
|
||||||
|
* A changelog entry has been added to the menu of the preferences dialog.
|
||||||
|
|
||||||
|
#### Fixes
|
||||||
|
|
||||||
|
* Resolve copyright issues by using a MIT-licensed noise implementation.
|
||||||
|
|
||||||
|
|
||||||
|
## [Burn My Windows 6](https://github.com/schneegans/Burn-My-Windows/releases/tag/v6)
|
||||||
|
|
||||||
|
**Release Date:** 2022-01-02
|
||||||
|
|
||||||
|
#### Fixes
|
||||||
|
|
||||||
|
* Removed a debug log message.
|
||||||
|
|
||||||
|
## [Burn My Windows 5](https://github.com/schneegans/Burn-My-Windows/releases/tag/v5)
|
||||||
|
|
||||||
|
**Release Date:** 2022-01-02
|
||||||
|
|
||||||
#### New Features
|
#### New Features
|
||||||
|
|
||||||
@@ -18,7 +196,7 @@
|
|||||||
|
|
||||||
* Fixed a bug which messed up the overview of GNOME Shell 3.36.
|
* Fixed a bug which messed up the overview of GNOME Shell 3.36.
|
||||||
|
|
||||||
## [Burn My Window 4](https://github.com/schneegans/Burn-My-Windows/releases/tag/v4)
|
## [Burn My Windows 4](https://github.com/schneegans/Burn-My-Windows/releases/tag/v4)
|
||||||
|
|
||||||
**Release Date:** 2021-12-25
|
**Release Date:** 2021-12-25
|
||||||
|
|
||||||
@@ -32,7 +210,7 @@
|
|||||||
* Refactored the code a lot to make it easier to add new shader effects in the future.
|
* Refactored the code a lot to make it easier to add new shader effects in the future.
|
||||||
* Tweaked timing of the fire shader. Previously, the fire became invisible quite quickly. Due to this new animation timing, the default animation time has been reduced to 1500 ms.
|
* Tweaked timing of the fire shader. Previously, the fire became invisible quite quickly. Due to this new animation timing, the default animation time has been reduced to 1500 ms.
|
||||||
|
|
||||||
## [Burn My Window 3](https://github.com/schneegans/Burn-My-Windows/releases/tag/v3)
|
## [Burn My Windows 3](https://github.com/schneegans/Burn-My-Windows/releases/tag/v3)
|
||||||
|
|
||||||
**Release Date:** 2021-12-20
|
**Release Date:** 2021-12-20
|
||||||
|
|
||||||
@@ -40,7 +218,7 @@
|
|||||||
|
|
||||||
* Add support for GNOME 3.36 and GNOME 3.38.
|
* Add support for GNOME 3.36 and GNOME 3.38.
|
||||||
|
|
||||||
## [Burn My Window 2](https://github.com/schneegans/Burn-My-Windows/releases/tag/v2)
|
## [Burn My Windows 2](https://github.com/schneegans/Burn-My-Windows/releases/tag/v2)
|
||||||
|
|
||||||
**Release Date:** 2021-12-16
|
**Release Date:** 2021-12-16
|
||||||
|
|
||||||
@@ -50,7 +228,7 @@
|
|||||||
* Added the possibility to adjust flame speed and scale.
|
* Added the possibility to adjust flame speed and scale.
|
||||||
* Added some fire presets.
|
* Added some fire presets.
|
||||||
|
|
||||||
## [Burn My Window 1](https://github.com/schneegans/Burn-My-Windows/releases/tag/v1)
|
## [Burn My Windows 1](https://github.com/schneegans/Burn-My-Windows/releases/tag/v1)
|
||||||
|
|
||||||
**Release Date:** 2021-12-14
|
**Release Date:** 2021-12-14
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,570 @@
|
|||||||
|
# 🔥 Creating a new Effect for Burn-My-Windows
|
||||||
|
|
||||||
|
The extension is very modular and with a bit of creativity and GLSL knowledge, you can easily create your own effects.
|
||||||
|
If you are happy with your results, please open a pull request so that we can include your effect in the next version of Burn-My-Windows!
|
||||||
|
|
||||||
|
### Before you Start
|
||||||
|
|
||||||
|
First you should [fork the repository](https://github.com/Schneegans/Burn-My-Windows/fork) and clone it to your PC.
|
||||||
|
Afterwards, use a terminal in the directory of the cloned repository to install the extension.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make install
|
||||||
|
```
|
||||||
|
|
||||||
|
_:information_source: Whenever you changed something in the source code, you will have to call this command and restart GNOME Shell with <kbd>Alt</kbd> + <kbd>F2</kbd>, <kbd>r</kbd> + <kbd>Enter</kbd>.
|
||||||
|
Or logout / login if you are on Wayland to see the changes._
|
||||||
|
|
||||||
|
### Debugging
|
||||||
|
|
||||||
|
Debugging GNOME Shell extensions is a bit difficult.
|
||||||
|
Most of the time, you will print messages to a log in order to understand what is going on.
|
||||||
|
To make this a bit more convenient, Burn-My-Windows includes the method `utils.debug("Hello World")`.
|
||||||
|
With this, each line will be prefixed with the extension's name, which will make spotting log messages more easy. You can use the following command to watch the log output; it will highlight all messages from Burn-My-Windows:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
journalctl -f -o cat | grep -E 'burn-my-windows|'
|
||||||
|
```
|
||||||
|
|
||||||
|
## Adding a new Effect
|
||||||
|
|
||||||
|
For the sake of this tutorial, we will create a **"Simple Fade"** effect.
|
||||||
|
Of course, you can replace any occurrence of this name and its nick `simple-fade` with your custom effect name.
|
||||||
|
|
||||||
|
Three simple steps are required to create a new effect.
|
||||||
|
You will have to ...
|
||||||
|
|
||||||
|
1. add preferences keys for enabling the effect,
|
||||||
|
2. create an additional effects class, and finally
|
||||||
|
3. register the new effect in two places.
|
||||||
|
|
||||||
|
### 1. Expanding the Schema
|
||||||
|
|
||||||
|
For enabling the new effect, the boolean settings keys `simple-fade-open-effect`, `simple-fade-close-effect`, and `simple-fade-animation-time` are required.
|
||||||
|
In this example, we also add a floating point value for storing another property of the effect - we will use them later in the tutorial.
|
||||||
|
Just copy the XML code below to the file [`schemas/org.gnome.shell.extensions.burn-my-windows.gschema.xml`](../schemas/org.gnome.shell.extensions.burn-my-windows.gschema.xml).
|
||||||
|
Just remember to replace `simple-fade` with your custom name!
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
<!-- Simple Fade Effect Options -->
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
|
||||||
|
<key name="simple-fade-close-effect" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<summary>Simple Fade Close Effect</summary>
|
||||||
|
<description>Use the Simple Fade effect for window closing.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="simple-fade-open-effect" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<summary>Simple Fade Open Effect</summary>
|
||||||
|
<description>Use the Simple Fade effect for window opening.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="simple-fade-animation-time" type="i">
|
||||||
|
<default>1500</default>
|
||||||
|
<summary>Simple Fade Animation Time</summary>
|
||||||
|
<description>The time the Simple Fade effect takes.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="simple-fade-width" type="d">
|
||||||
|
<default>0.1</default>
|
||||||
|
<summary>Simple Fade Width</summary>
|
||||||
|
<description>Width of the fading effect.</description>
|
||||||
|
</key>
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Creating the Effect Class
|
||||||
|
|
||||||
|
You will have to create a new GLSL file called `resources/shaders/simple-fade.glsl` and a new JavaScript source file called `src/SimpleFade.js`.
|
||||||
|
Simply paste the following source code to the respective file.
|
||||||
|
Please study this code carefully, all of it is explained with inline comments.
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Expand this to show the GLSL code.</summary>
|
||||||
|
|
||||||
|
```glsl
|
||||||
|
// The code below injects some standard uniforms which will be updated during the
|
||||||
|
// animation. This includes:
|
||||||
|
// bool uForOpening: True if a window-open animation is ongoing, false otherwise.
|
||||||
|
// sampler2D uTexture: Contains the texture of the window.
|
||||||
|
// float uProgress: A value which transitions from 0 to 1 during the entire animation.
|
||||||
|
// float uTime: A steadily increasing value in seconds.
|
||||||
|
// vec2 uSize: The size of uTexture in pixels.
|
||||||
|
// float uPadding: The empty area around the actual window (e.g. where the shadow is drawn).
|
||||||
|
#include "common/uniforms.glsl"
|
||||||
|
|
||||||
|
// The width of the fading effect is loaded from the settings.
|
||||||
|
uniform float uFadeWidth;
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
// Get the color from the window texture.
|
||||||
|
cogl_color_out = texture2D(uTexture, cogl_tex_coord_in[0].st);
|
||||||
|
|
||||||
|
// Shell.GLSLEffect uses straight alpha. So we have to convert from premultiplied.
|
||||||
|
if (cogl_color_out.a > 0) {
|
||||||
|
cogl_color_out.rgb /= cogl_color_out.a;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Radial distance from window edge to the window's center.
|
||||||
|
float dist = length(cogl_tex_coord_in[0].st - 0.5) * 2.0 / sqrt(2.0);
|
||||||
|
|
||||||
|
// This gradually dissolves from [1..0] from the outside to the center. We
|
||||||
|
// switch the direction for opening and closing.
|
||||||
|
float progress = uForOpening ? 1.0 - uProgress : uProgress;
|
||||||
|
float mask = (1.0 - progress * (1.0 + uFadeWidth) - dist + uFadeWidth) / uFadeWidth;
|
||||||
|
|
||||||
|
// Make the mask smoother.
|
||||||
|
mask = smoothstep(0, 1, mask);
|
||||||
|
|
||||||
|
// Apply the mask to the output.
|
||||||
|
cogl_color_out.a *= mask;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Expand this to show the JavaScript code.</summary>
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// ) ( //
|
||||||
|
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||||
|
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||||
|
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||||
|
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||||
|
// | '_ \ || | '_| ' \)) | ' \()| || | \ 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;
|
||||||
|
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// This effect ... //
|
||||||
|
// <- Please add a description of your effect here -> //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// The effect class 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 SimpleFade = class {
|
||||||
|
|
||||||
|
// The constructor creates a ShaderFactory which will be used by extension.js to create
|
||||||
|
// shader instances for this effect. The shaders will be automagically created using the
|
||||||
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
|
// newly created shader instance.
|
||||||
|
constructor() {
|
||||||
|
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
||||||
|
// We import Clutter in this function as it is not available in the preferences
|
||||||
|
// process. This creator function of the ShaderFactory is only called within GNOME
|
||||||
|
// Shell's process.
|
||||||
|
const Clutter = imports.gi.Clutter;
|
||||||
|
|
||||||
|
// Store uniform locations of newly created shaders.
|
||||||
|
shader._uForOpening = shader.get_uniform_location('uForOpening');
|
||||||
|
shader._uFadeWidth = shader.get_uniform_location('uFadeWidth');
|
||||||
|
|
||||||
|
// Write all uniform values at the start of each animation.
|
||||||
|
shader.connect('begin-animation', (shader, settings) => {
|
||||||
|
shader.set_uniform_float(shader._uForOpening, 1, [forOpening]);
|
||||||
|
shader.set_uniform_float(shader._uFadeWidth, 1, [settings.get_double('simple-fade-width')]);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
|
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||||
|
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').
|
||||||
|
getNick() {
|
||||||
|
return 'simple-fade';
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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.
|
||||||
|
getLabel() {
|
||||||
|
return _('Simple Fade Effect');
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------- 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.
|
||||||
|
getPreferences(dialog) {
|
||||||
|
// Empty for now... Code is added here later in the tutorial!
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------- API for extension.js
|
||||||
|
|
||||||
|
// The getActorScale() is called from extension.js to adjust the actor's size during the
|
||||||
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
|
// bounds of the actor. This only works for GNOME 3.38+.
|
||||||
|
getActorScale(settings) {
|
||||||
|
return {x: 1.0, y: 1.0};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
### 3. Registering the new Effect
|
||||||
|
|
||||||
|
You will have to register the new effect in two files.
|
||||||
|
Both, [`extension.js`](../extension.js) and [`prefs.js`](../prefs.js) define an array in the beginning where you have to add an import to your new effect.
|
||||||
|
Like this:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
const ALL_EFFECTS = [
|
||||||
|
...
|
||||||
|
new Me.imports.src.SimpleFade.SimpleFade(),
|
||||||
|
...
|
||||||
|
];
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Testing your Effect
|
||||||
|
|
||||||
|
Now you can call `make install` and restart GNOME Shell with <kbd>Alt</kbd> + <kbd>F2</kbd>, <kbd>r</kbd> + <kbd>Enter</kbd>.
|
||||||
|
Or logout / login if you are on Wayland.
|
||||||
|
You can open the extension's preferences and choose the new effect!
|
||||||
|
However, there are no configuration options yet.
|
||||||
|
It is also not possible to adjust the animation time setting.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
gnome-extensions prefs burn-my-windows@schneegans.github.com
|
||||||
|
```
|
||||||
|
|
||||||
|
## Adding a Preferences Page
|
||||||
|
|
||||||
|
There should be two sliders in this example: The animation duration and the width of the fading gradient.
|
||||||
|
|
||||||
|
If your effect supports GNOME Shell 3.3x _and_ GNOME Shell 40+, you will have to provide two `*.ui` files for this.
|
||||||
|
This is because starting with GNOME Shell 40, the preference dialog uses GTK4, before it used to use GTK3.
|
||||||
|
Usually, there are only a few minor differences between the two files.
|
||||||
|
We will load the respective file in the `getPreferences()` method of your new effect class.
|
||||||
|
|
||||||
|
Just save the code below to `resources/ui/gtk3/SimpleFade.ui` and `resources/ui/gtk4/SimpleFade.ui` respectively.
|
||||||
|
Remember to replace any occurrence of `simple-fade` with your effect's nick-name!
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Expand this to show the GTK3 code.</summary>
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface>
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="simple-fade-animation-time">
|
||||||
|
<property name="upper">5000</property>
|
||||||
|
<property name="lower">100</property>
|
||||||
|
<property name="step-increment">10</property>
|
||||||
|
<property name="page-increment">100</property>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="simple-fade-width">
|
||||||
|
<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="simple-fade-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">
|
||||||
|
<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">simple-fade-animation-time</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-simple-fade-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">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Fade 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">2</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">simple-fade-width</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-simple-fade-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>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Expand this to show the GTK4 code.</summary>
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface>
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="simple-fade-animation-time">
|
||||||
|
<property name="upper">5000</property>
|
||||||
|
<property name="lower">100</property>
|
||||||
|
<property name="step-increment">10</property>
|
||||||
|
<property name="page-increment">100</property>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="simple-fade-width">
|
||||||
|
<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="simple-fade-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">simple-fade-animation-time</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-simple-fade-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">Fade 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">2</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">simple-fade-width</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-simple-fade-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>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
### Loading the Preferences Page
|
||||||
|
|
||||||
|
In order to load the above `*.ui` files, add the following code to your effect's `getPreferences()` method.
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
static getPreferences(dialog) {
|
||||||
|
|
||||||
|
// Add the settings page to the builder.
|
||||||
|
dialog.getBuilder().add_from_resource(`/ui/${utils.getGTKString()}/SimpleFade.ui`);
|
||||||
|
|
||||||
|
// These connect the settings to the UI elements. Have a look at prefs.js
|
||||||
|
// on how to bind other types of UI elements.
|
||||||
|
dialog.bindAdjustment('simple-fade-animation-time');
|
||||||
|
dialog.bindAdjustment('simple-fade-width');
|
||||||
|
|
||||||
|
// Finally, return the new settings page.
|
||||||
|
return dialog.getBuilder().get_object('simple-fade-prefs');
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Once this is in place, you can kill the extension-preferences process and re-open the settings.
|
||||||
|
It is not required to reload GNOME Shell for developing the preferences dialog!
|
||||||
|
Here's a handy one-liner to do this:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make install && pkill -f '.Extensions' && sleep 2 ; gnome-extensions prefs burn-my-windows@schneegans.github.com
|
||||||
|
```
|
||||||
|
|
||||||
|
## Summing Up
|
||||||
|
|
||||||
|
That's it!
|
||||||
|
If you have any questions, feel free to [ask them on the discussions board](https://github.com/Schneegans/Burn-My-Windows/discussions).
|
||||||
|
If you are happy with your effect, submit a pull request, and it may get included in the next version!
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
# Preview GIFs
|
||||||
|
|
||||||
|
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: 15 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 958 KiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 615 KiB |
|
After Width: | Height: | Size: 928 KiB |
|
After Width: | Height: | Size: 136 KiB |
|
After Width: | Height: | Size: 821 KiB |
@@ -15,26 +15,29 @@
|
|||||||
|
|
||||||
const {Clutter, Gio, Meta} = imports.gi;
|
const {Clutter, Gio, Meta} = imports.gi;
|
||||||
|
|
||||||
const Config = imports.misc.config;
|
const Main = imports.ui.main;
|
||||||
const [GS_MAJOR, GS_MINOR] = Config.PACKAGE_VERSION.split('.');
|
|
||||||
|
|
||||||
const Workspace = imports.ui.workspace.Workspace;
|
const Workspace = imports.ui.workspace.Workspace;
|
||||||
const WindowManager = imports.ui.windowManager.WindowManager;
|
const WindowManager = imports.ui.windowManager.WindowManager;
|
||||||
const WINDOW_REPOSITIONING_DELAY = imports.ui.workspace.WINDOW_REPOSITIONING_DELAY;
|
|
||||||
|
// The WindowPreview class is only available on GNOME Shell 3.38+;
|
||||||
|
let WindowPreview = null;
|
||||||
|
try {
|
||||||
|
WindowPreview = imports.ui.windowPreview.WindowPreview;
|
||||||
|
} catch (error) {
|
||||||
|
// Nothing to be done, we are on GNOME Shell 3.36.
|
||||||
|
}
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
||||||
const utils = Me.imports.src.common.utils;
|
const utils = Me.imports.src.utils;
|
||||||
const FireShader = Me.imports.src.extension.FireShader.FireShader;
|
|
||||||
const MatrixShader = Me.imports.src.extension.MatrixShader.MatrixShader;
|
|
||||||
const TVEffectShader = Me.imports.src.extension.TVEffectShader.TVEffectShader;
|
|
||||||
const TRexShader = Me.imports.src.extension.TRexShader.TRexShader;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This extensions modifies the window-close animation to look like the window was set //
|
// This extensions modifies the window-close and window-open animations with all kinds //
|
||||||
// on fire. While this is definitely a homage to the good old Compiz plugin, it is //
|
// of effects. The effects are implemented using GLSL shaders which are applied to the //
|
||||||
// implemented differently. While Compiz used a particle system, this extension uses a //
|
// window's Clutter.Actor. The extension is actually very simple, much of the //
|
||||||
// perlin noise shader. //
|
// complexity comes from the fact that GNOME Shell usually does not show an animation //
|
||||||
|
// when a window is closed in the overview. Several methods need to be monkey-patched //
|
||||||
|
// to get this working. For more details, read the other comments in this file... //
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
class Extension {
|
class Extension {
|
||||||
@@ -45,6 +48,21 @@ class Extension {
|
|||||||
// from GNOME Tweaks, when you log in or when the screen is unlocked.
|
// from GNOME Tweaks, when you log in or when the screen is unlocked.
|
||||||
enable() {
|
enable() {
|
||||||
|
|
||||||
|
// New effects must be registered here and in prefs.js.
|
||||||
|
this._ALL_EFFECTS = [
|
||||||
|
new Me.imports.src.Apparition.Apparition(),
|
||||||
|
new Me.imports.src.BrokenGlass.BrokenGlass(),
|
||||||
|
new Me.imports.src.EnergizeA.EnergizeA(),
|
||||||
|
new Me.imports.src.EnergizeB.EnergizeB(),
|
||||||
|
new Me.imports.src.Fire.Fire(),
|
||||||
|
new Me.imports.src.Hexagon.Hexagon(),
|
||||||
|
new Me.imports.src.Matrix.Matrix(),
|
||||||
|
new Me.imports.src.SnapOfDisintegration.SnapOfDisintegration(),
|
||||||
|
new Me.imports.src.TRexAttack.TRexAttack(),
|
||||||
|
new Me.imports.src.TVEffect.TVEffect(),
|
||||||
|
new Me.imports.src.Wisps.Wisps(),
|
||||||
|
];
|
||||||
|
|
||||||
// Load all of our resources.
|
// Load all of our resources.
|
||||||
this._resources = Gio.Resource.load(Me.path + '/resources/burn-my-windows.gresource');
|
this._resources = Gio.Resource.load(Me.path + '/resources/burn-my-windows.gresource');
|
||||||
Gio.resources_register(this._resources);
|
Gio.resources_register(this._resources);
|
||||||
@@ -52,176 +70,471 @@ class Extension {
|
|||||||
// Store a reference to the settings object.
|
// Store a reference to the settings object.
|
||||||
this._settings = ExtensionUtils.getSettings();
|
this._settings = ExtensionUtils.getSettings();
|
||||||
|
|
||||||
// We will monkey-patch these three methods. Let's store the original ones.
|
// We will use extensionThis to refer to the extension inside the patched methods.
|
||||||
|
const extensionThis = this;
|
||||||
|
|
||||||
|
// We will monkey-patch these methods. Let's store the original ones.
|
||||||
|
this._origAddWindowClone = Workspace.prototype._addWindowClone;
|
||||||
this._origWindowRemoved = Workspace.prototype._windowRemoved;
|
this._origWindowRemoved = Workspace.prototype._windowRemoved;
|
||||||
this._origDoRemoveWindow = Workspace.prototype._doRemoveWindow;
|
this._origDoRemoveWindow = Workspace.prototype._doRemoveWindow;
|
||||||
this._origAddWindowClone = Workspace.prototype._addWindowClone;
|
|
||||||
this._origShouldAnimateActor = WindowManager.prototype._shouldAnimateActor;
|
this._origShouldAnimateActor = WindowManager.prototype._shouldAnimateActor;
|
||||||
|
this._origWaitForOverviewToHide = WindowManager.prototype._waitForOverviewToHide;
|
||||||
|
this._origDestroyWindowDone = WindowManager.prototype._destroyWindowDone;
|
||||||
|
|
||||||
// We may also override these animation times.
|
// We will also override these animation times.
|
||||||
this._origWindowTime = imports.ui.windowManager.DESTROY_WINDOW_ANIMATION_TIME;
|
this._origWindowTime = imports.ui.windowManager.DESTROY_WINDOW_ANIMATION_TIME;
|
||||||
this._origDialogTime = imports.ui.windowManager.DIALOG_DESTROY_WINDOW_ANIMATION_TIME;
|
this._origDialogTime = imports.ui.windowManager.DIALOG_DESTROY_WINDOW_ANIMATION_TIME;
|
||||||
|
|
||||||
// Update animation times if the respective settings are changed.
|
|
||||||
const loadAnimationTimes = () => {
|
|
||||||
imports.ui.windowManager.DESTROY_WINDOW_ANIMATION_TIME =
|
|
||||||
this._settings.get_int('destroy-animation-time');
|
|
||||||
|
|
||||||
imports.ui.windowManager.DIALOG_DESTROY_WINDOW_ANIMATION_TIME =
|
// ------------------------------------------------ patching the window-open animation
|
||||||
this._settings.get_boolean('destroy-dialogs') ?
|
|
||||||
this._settings.get_int('destroy-animation-time') :
|
// Here we add an effect to the window-open animation. This is done whenever a new
|
||||||
this._origDialogTime;
|
// window is created. Usually, there is no real window animation for opening windows
|
||||||
|
// in the overview - only the window's clone is animated - but thanks to the hacks
|
||||||
|
// below, we can show the real animations in the overview.
|
||||||
|
|
||||||
|
// If a window is created the transitions are set up in the async _mapWindow of the
|
||||||
|
// WindowManager:
|
||||||
|
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1452
|
||||||
|
// AFAIK, overriding this method is not possible as it's called by a signal to
|
||||||
|
// which it is bound via the bind() method. To tweak the async transition
|
||||||
|
// anyways, we override the actors ease() method once - the next time it will be
|
||||||
|
// called by the _mapWindow(), we will intercept it!
|
||||||
|
this._windowCreatedConnection =
|
||||||
|
global.display.connect('window-created', (d, metaWin) => {
|
||||||
|
let actor = metaWin.get_compositor_private();
|
||||||
|
|
||||||
|
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) {
|
||||||
|
extensionThis._setupEffect(actor, true);
|
||||||
|
} else {
|
||||||
|
const connectionID = actor.connect('notify::mapped', () => {
|
||||||
|
extensionThis._setupEffect(actor, true);
|
||||||
|
actor.disconnect(connectionID);
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
});
|
||||||
|
|
||||||
this._settings.connect('changed::destroy-animation-time', loadAnimationTimes);
|
// Some of the effects require that the window's actor is enlarged to provide a bigger
|
||||||
this._settings.connect('changed::destroy-dialogs', loadAnimationTimes);
|
// canvas to draw the effects. Outside the overview we can simply increase the scale
|
||||||
loadAnimationTimes();
|
// of the actor. However, if we are in the overview, we have to enlarge the clone of
|
||||||
|
// the window as well.
|
||||||
// We will use extensionThis to refer to the extension inside the patched methods of
|
|
||||||
// the WorkspacesView.
|
|
||||||
const extensionThis = this;
|
|
||||||
|
|
||||||
// On GNOME 3.36, the window clone's 'destroy' handler only calls _removeWindowClone
|
|
||||||
// but not _doRemoveWindow. The latter is required to trigger the repositioning of the
|
|
||||||
// overview window layout. Therefore we call this method in addition.
|
|
||||||
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/gnome-3-36/js/ui/workspace.js#L1877
|
|
||||||
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1415
|
|
||||||
if (GS_MAJOR == 3 && GS_MINOR == 36) {
|
|
||||||
Workspace.prototype._addWindowClone = function(...params) {
|
Workspace.prototype._addWindowClone = function(...params) {
|
||||||
const [clone, overlay] = extensionThis._origAddWindowClone.apply(this, params);
|
const result = extensionThis._origAddWindowClone.apply(this, params);
|
||||||
clone.connect('destroy', () => this._doRemoveWindow(clone.metaWindow));
|
|
||||||
return [clone, overlay];
|
// The parameters of this method changed a bit through the versions...
|
||||||
};
|
let realWindow, clone;
|
||||||
|
|
||||||
|
if (utils.shellVersionIs(3, 36)) {
|
||||||
|
clone = result[0];
|
||||||
|
realWindow = clone.realWindow;
|
||||||
|
} else if (utils.shellVersionIs(3, 38)) {
|
||||||
|
clone = result._windowContainer;
|
||||||
|
realWindow = params[0].get_compositor_private();
|
||||||
|
} else {
|
||||||
|
clone = result.window_container;
|
||||||
|
realWindow = params[0].get_compositor_private();
|
||||||
}
|
}
|
||||||
|
|
||||||
// These three method overrides are mega-hacky! They are only required to make the
|
// Syncing the real window's scale with the scale of its clone only works on GNOME
|
||||||
// fire animation work in the overview. Usually, windows are not faded when closed
|
// Shell 3.38+. So effects cannot scale windows in the overview of GNOME 3.36...
|
||||||
// from the overview (why?). With these overrides we make sure that they are actually
|
if (utils.shellVersionIsAtLeast(3, 38)) {
|
||||||
// faded out. To do this, _windowRemoved and _doRemoveWindow now check whether there
|
const xID = realWindow.connect('notify::scale-x', () => {
|
||||||
// is a transition ongoing (via extensionThis._shouldDestroy). If that's the case,
|
if (realWindow.scale_x > 0 && clone.allocation.get_size()[0] > 0) {
|
||||||
// these methods do nothing. Are the actors removed in the end? I hope so. The
|
clone.scale_x = realWindow.scale_x;
|
||||||
// _destroyWindow of the WindowManager sets the transitions up and should take care of
|
}
|
||||||
// removing the actors at the end of the transitions.
|
});
|
||||||
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1299
|
|
||||||
|
const yID = realWindow.connect('notify::scale-y', () => {
|
||||||
|
if (realWindow.scale_y > 0 && clone.allocation.get_size()[1] > 0) {
|
||||||
|
clone.scale_y = realWindow.scale_y;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
clone.connect('destroy', () => {
|
||||||
|
realWindow.disconnect(xID);
|
||||||
|
realWindow.disconnect(yID);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// This is actually needed for the window-close animation on GNOME Shell 3.36.
|
||||||
|
// On GNOME 3.36, the window clone's 'destroy' handler only calls _removeWindowClone
|
||||||
|
// but not _doRemoveWindow. The latter is required to trigger the repositioning of
|
||||||
|
// the overview window layout. Therefore we call this method in addition.
|
||||||
|
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/gnome-3-36/js/ui/workspace.js#L1877
|
||||||
|
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1405
|
||||||
|
if (utils.shellVersionIs(3, 36)) {
|
||||||
|
clone.connect('destroy', () => this._doRemoveWindow(clone.metaWindow));
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Usually, windows are faded in after the overview is completely hidden. We enable
|
||||||
|
// window-open animations by not waiting for this.
|
||||||
|
WindowManager.prototype._waitForOverviewToHide = async function() {
|
||||||
|
return Promise.resolve();
|
||||||
|
};
|
||||||
|
|
||||||
|
// Here comes the ULTRA-HACK: The method below is called (amongst others) by the
|
||||||
|
// _destroyWindow and _mapWindow methods of the WindowManager. Usually, it returns
|
||||||
|
// false when we are in the overview. This prevents the window animations. As we
|
||||||
|
// cannot monkey-patch the _destroyWindow or _mapWindow methods themselves, we check
|
||||||
|
// inside the method below whether it was called by either of those. If so, we return
|
||||||
|
// true. Let's see if this breaks stuff left and right...
|
||||||
|
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1124
|
||||||
|
WindowManager.prototype._shouldAnimateActor = function(...params) {
|
||||||
|
const caller = (new Error()).stack.split('\n')[1];
|
||||||
|
if (caller.includes('_destroyWindow@') || caller.includes('_mapWindow@')) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return extensionThis._origShouldAnimateActor.apply(this, params);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ----------------------------------------------- patching the window-close animation
|
||||||
|
|
||||||
|
// The signal handler below and the following patch are all which is required outside
|
||||||
|
// of the overview. All other hacks further below are just required to defer the
|
||||||
|
// window-hiding in the overview until the effect is finished.
|
||||||
|
|
||||||
|
// The close animation is set up in WindowManager's _destroyWindow:
|
||||||
|
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1541
|
||||||
|
// As we cannot monkey-patch the _destroyWindow itself, we connect to the 'destroy'
|
||||||
|
// signal of the window manager and tweak the animation to our needs.
|
||||||
|
this._destroyConnection = global.window_manager.connect('destroy', (wm, actor) => {
|
||||||
|
this._setupEffect(actor, false);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Once the window-close animation is is finished, the window manager's
|
||||||
|
// _destroyWindowDone is called. We use this to free the effect so that it can be
|
||||||
|
// re-used in future.
|
||||||
|
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1541
|
||||||
|
WindowManager.prototype._destroyWindowDone = function(shellwm, actor) {
|
||||||
|
if (this._destroying.has(actor)) {
|
||||||
|
const shader = actor.get_effect('burn-my-windows-effect');
|
||||||
|
if (shader) {
|
||||||
|
actor.remove_effect(shader);
|
||||||
|
shader.returnToFactory();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Call the original method.
|
||||||
|
extensionThis._origDestroyWindowDone.apply(this, [shellwm, actor]);
|
||||||
|
};
|
||||||
|
|
||||||
|
// These three method overrides are mega-hacky! Usually, windows are not faded when
|
||||||
|
// closed from the overview (why?). With these overrides we make sure that they are
|
||||||
|
// actually faded out. To do this, _windowRemoved and _doRemoveWindow now check
|
||||||
|
// whether there is a transition ongoing (via extensionThis._shouldDestroy). If that's
|
||||||
|
// the case, these methods do nothing. Are the actors removed in the end? I hope so.
|
||||||
|
// The _destroyWindow of the WindowManager sets the transitions up and should take
|
||||||
|
// care of removing the actors at the end of the transitions.
|
||||||
|
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1301
|
||||||
Workspace.prototype._windowRemoved = function(ws, metaWin) {
|
Workspace.prototype._windowRemoved = function(ws, metaWin) {
|
||||||
if (extensionThis._shouldDestroy(this, metaWin)) {
|
if (extensionThis._shouldDestroy(this, metaWin)) {
|
||||||
extensionThis._origWindowRemoved.apply(this, [ws, metaWin]);
|
extensionThis._origWindowRemoved.apply(this, [ws, metaWin]);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1178
|
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/workspace.js#L1180
|
||||||
Workspace.prototype._doRemoveWindow = function(metaWin) {
|
Workspace.prototype._doRemoveWindow = function(metaWin) {
|
||||||
if (extensionThis._shouldDestroy(this, metaWin)) {
|
if (extensionThis._shouldDestroy(this, metaWin)) {
|
||||||
utils.debug((new Error()).stack);
|
|
||||||
extensionThis._origDoRemoveWindow.apply(this, [metaWin]);
|
extensionThis._origDoRemoveWindow.apply(this, [metaWin]);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Here comes the ULTRA-HACK: The method below is called (amongst others) by the
|
// With the code below, we hide the window-overlay (icon, label, close button) in the
|
||||||
// _destroyWindow method of the WindowManager. Usually, it returns false when we are
|
// overview once the close-animation is running. As the WindowPreview class is only
|
||||||
// in the overview. This prevents the window-close animation. As we cannot
|
// available on GNOME 3.38 and beyond, we cannot hide the overlay on GNOME 3.36.
|
||||||
// monkey-patch the _destroyWindow method itself, we check inside the method below
|
if (WindowPreview) {
|
||||||
// whether it was called by _destroyWindow. If so, we return true. Let's see if this
|
|
||||||
// breaks stuff left and right...
|
// We will monkey-patch these methods.
|
||||||
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1125
|
this._origDeleteAll = WindowPreview.prototype._deleteAll;
|
||||||
WindowManager.prototype._shouldAnimateActor = function(...params) {
|
this._origRestack = WindowPreview.prototype._restack;
|
||||||
if ((new Error()).stack.split('\n')[1].includes('_destroyWindow@')) {
|
this._origInit = WindowPreview.prototype._init;
|
||||||
return true;
|
|
||||||
|
// Whenever a WindowPreview is created, we connect to the referenced Meta.Window's
|
||||||
|
// 'unmanaged' signal to hide the overlay.
|
||||||
|
WindowPreview.prototype._init = function(...params) {
|
||||||
|
extensionThis._origInit.apply(this, params);
|
||||||
|
|
||||||
|
// Hide the window's icon, name, and close button.
|
||||||
|
const connectionID = this.metaWindow.connect('unmanaged', () => {
|
||||||
|
if (this.window_container) {
|
||||||
|
this.overlayEnabled = false;
|
||||||
|
this._icon.visible = false;
|
||||||
}
|
}
|
||||||
return extensionThis._origShouldAnimateActor.apply(this, params);
|
});
|
||||||
|
|
||||||
|
// Make sure to not call the callback above if the Meta.Window was not unmanaged
|
||||||
|
// before leaving the overview.
|
||||||
|
this.connect('destroy', () => {
|
||||||
|
this.metaWindow.disconnect(connectionID);
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
// The close animation is set up in WindowManager's _destroyWindow:
|
// The _deleteAll is called when the user clicks the X in the overview. We should
|
||||||
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1549
|
// not attempt to close windows twice. Due to the animation in the overview, the
|
||||||
// As we cannot monkey-patch the _destroyWindow itself, we connect to the 'destroy'
|
// close button can be clicked twice which normally would lead to a crash.
|
||||||
// signal of the window manager and tweak the animation to our needs.
|
WindowPreview.prototype._deleteAll = function() {
|
||||||
this._destroyConnection = global.window_manager.connect('destroy', (wm, actor) => {
|
if (!this._closeRequested) {
|
||||||
// The _destroyWindow method of WindowManager, which was called right before this
|
extensionThis._origDeleteAll.apply(this);
|
||||||
// one, set up the window close animation. This usually fades-out the window and
|
|
||||||
// scales it a bit down. If no transition is in progress, something unexpected
|
|
||||||
// happened. We rather try not to burn the window!
|
|
||||||
const transition = actor.get_transition('scale-y');
|
|
||||||
if (!transition) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// We do nothing if a dialog got closed and we should not burn them.
|
|
||||||
if (!this._settings.get_boolean('destroy-dialogs') &&
|
|
||||||
(actor.meta_window.window_type == Meta.WindowType.MODAL_DIALOG ||
|
|
||||||
actor.meta_window.window_type == Meta.WindowType.DIALOG)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If there's a transition in progress, we re-target these transitions so that the
|
|
||||||
// window is neither scaled nor faded.
|
|
||||||
const tweakTransition = (property, value) => {
|
|
||||||
const transition = actor.get_transition(property);
|
|
||||||
if (transition) {
|
|
||||||
transition.set_to(value);
|
|
||||||
transition.set_progress_mode(Clutter.AnimationMode.EASE_OUT_QUAD);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
tweakTransition('opacity', 255);
|
// This is required, else WindowPreview's _restack() which is called by the
|
||||||
tweakTransition('scale-x', 1);
|
// "this.overlayEnabled = false", sometimes tries to access an already delete
|
||||||
tweakTransition('scale-y', 1);
|
// WindowPreview.
|
||||||
|
WindowPreview.prototype._restack = function() {
|
||||||
let shader = null;
|
if (!this._closeRequested) {
|
||||||
|
extensionThis._origRestack.apply(this);
|
||||||
// Add a cool shader to our window actor!
|
|
||||||
const mode = this._settings.get_enum('close-animation');
|
|
||||||
if (mode == 1) {
|
|
||||||
shader = new FireShader(this._settings);
|
|
||||||
} else if (mode == 2) {
|
|
||||||
shader = new MatrixShader(this._settings);
|
|
||||||
} else if (mode == 3) {
|
|
||||||
shader = new TVEffectShader(this._settings);
|
|
||||||
tweakTransition('scale-y', 0.5);
|
|
||||||
} else if (mode == 4) {
|
|
||||||
shader = new TRexShader(this._settings);
|
|
||||||
|
|
||||||
const warp = 0.5 * this._settings.get_double('claw-scratch-warp');
|
|
||||||
tweakTransition('scale-x', 1.0 + warp);
|
|
||||||
tweakTransition('scale-y', 1.0 + warp);
|
|
||||||
}
|
}
|
||||||
|
};
|
||||||
if (shader) {
|
|
||||||
actor.add_effect(shader);
|
|
||||||
|
|
||||||
// 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('uSizeX', actor.width);
|
|
||||||
shader.set_uniform_value('uSizeY', actor.height);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function could be called after the extension is uninstalled, disabled in GNOME
|
// This function could be called after the extension is uninstalled, disabled in GNOME
|
||||||
// Tweaks, when you log out or when the screen locks.
|
// Tweaks, when you log out or when the screen locks.
|
||||||
disable() {
|
disable() {
|
||||||
|
|
||||||
|
// Free all effect resources.
|
||||||
|
this._ALL_EFFECTS = [];
|
||||||
|
|
||||||
// Unregister our resources.
|
// Unregister our resources.
|
||||||
Gio.resources_unregister(this._resources);
|
Gio.resources_unregister(this._resources);
|
||||||
|
|
||||||
// Restore the original behavior.
|
// Restore the original window-open and window-close animations.
|
||||||
global.window_manager.disconnect(this._destroyConnection);
|
global.window_manager.disconnect(this._destroyConnection);
|
||||||
|
global.display.disconnect(this._windowCreatedConnection);
|
||||||
|
|
||||||
|
Workspace.prototype._addWindowClone = this._origAddWindowClone;
|
||||||
Workspace.prototype._windowRemoved = this._origWindowRemoved;
|
Workspace.prototype._windowRemoved = this._origWindowRemoved;
|
||||||
Workspace.prototype._doRemoveWindow = this._origDoRemoveWindow;
|
Workspace.prototype._doRemoveWindow = this._origDoRemoveWindow;
|
||||||
Workspace.prototype._addWindowClone = this._origAddWindowClone;
|
|
||||||
WindowManager.prototype._shouldAnimateActor = this._origShouldAnimateActor;
|
WindowManager.prototype._shouldAnimateActor = this._origShouldAnimateActor;
|
||||||
|
WindowManager.prototype._waitForOverviewToHide = this._origWaitForOverviewToHide;
|
||||||
|
WindowManager.prototype._destroyWindowDone = this._origDestroyWindowDone;
|
||||||
|
|
||||||
imports.ui.windowManager.DESTROY_WINDOW_ANIMATION_TIME = this._origWindowTime;
|
imports.ui.windowManager.DESTROY_WINDOW_ANIMATION_TIME = this._origWindowTime;
|
||||||
imports.ui.windowManager.DIALOG_DESTROY_WINDOW_ANIMATION_TIME = this._origDialogTime;
|
imports.ui.windowManager.DIALOG_DESTROY_WINDOW_ANIMATION_TIME = this._origDialogTime;
|
||||||
|
|
||||||
|
if (WindowPreview) {
|
||||||
|
WindowPreview.prototype._deleteAll = this._origDeleteAll;
|
||||||
|
WindowPreview.prototype._restack = this._origRestack;
|
||||||
|
WindowPreview.prototype._init = this._origInit;
|
||||||
|
}
|
||||||
|
|
||||||
this._settings = null;
|
this._settings = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------- private stuff
|
// ----------------------------------------------------------------------- private stuff
|
||||||
|
|
||||||
|
// This method adds one of the configured effects to the given actor. If forOpening is
|
||||||
|
// set to true, a effect from the enabled window-open animations is chosen, else an
|
||||||
|
// enabled window-close animation is used. This will also tweak the transitions of the
|
||||||
|
// given actor (e.g. scale it up if required).
|
||||||
|
_setupEffect(actor, forOpening) {
|
||||||
|
|
||||||
|
// 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;
|
||||||
|
|
||||||
|
if (!isNormalWindow && !isDialogWindow) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// We do nothing if a dialog got closed and we should not burn them.
|
||||||
|
const shouldDestroyDialogs = this._settings.get_boolean('destroy-dialogs');
|
||||||
|
|
||||||
|
// If an effect is to be previewed, we have to affect dialogs es well. This is
|
||||||
|
// because the preview window is a dialog window...
|
||||||
|
const action = forOpening ? 'open' : 'close';
|
||||||
|
const previewNick = this._settings.get_string(action + '-preview-effect');
|
||||||
|
|
||||||
|
if (isDialogWindow && !shouldDestroyDialogs && previewNick == '') {
|
||||||
|
this._fixAnimationTimes(isDialogWindow, forOpening, null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// There is the weird case where an animation is already ongoing. This happens when a
|
||||||
|
// window is closed which has been created before the session was started (e.g. when
|
||||||
|
// GNOME Shell has been restarted in the meantime).
|
||||||
|
const oldShader = actor.get_effect('burn-my-windows-effect');
|
||||||
|
if (oldShader) {
|
||||||
|
actor.remove_effect(oldShader);
|
||||||
|
oldShader.returnToFactory();
|
||||||
|
}
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------ choose an effect
|
||||||
|
|
||||||
|
// Now we chose a random effect from all enabled effects.
|
||||||
|
let effect = null;
|
||||||
|
|
||||||
|
// First we check if an effect is to be previewed.
|
||||||
|
if (previewNick != '') {
|
||||||
|
effect = this._ALL_EFFECTS.find(effect => effect.getNick() == previewNick);
|
||||||
|
|
||||||
|
// Only preview the effect once.
|
||||||
|
this._settings.set_string(action + '-preview-effect', '');
|
||||||
|
|
||||||
|
}
|
||||||
|
// Else we choose a random effect from all enabled effects.
|
||||||
|
else {
|
||||||
|
|
||||||
|
// Therefore, we first create a list of all currently enabled effects.
|
||||||
|
const enabled = this._ALL_EFFECTS.filter(effect => {
|
||||||
|
return this._settings.get_boolean(`${effect.getNick()}-${action}-effect`);
|
||||||
|
});
|
||||||
|
|
||||||
|
// And then choose a random effect.
|
||||||
|
if (enabled.length > 0) {
|
||||||
|
effect = enabled[Math.floor(Math.random() * enabled.length)];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If nothing was enabled, we have to do nothing :)
|
||||||
|
if (effect == null) {
|
||||||
|
this._fixAnimationTimes(isDialogWindow, forOpening, null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------- 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 tweak
|
||||||
|
// the transitions so that nothing changes. The window stays opaque and is scaled to
|
||||||
|
// actorScale.
|
||||||
|
const actorScale = effect.getActorScale(this._settings);
|
||||||
|
|
||||||
|
// To make things deterministic during testing, we set the effect duration to 5
|
||||||
|
// seconds.
|
||||||
|
const duration =
|
||||||
|
testMode ? 5000 : this._settings.get_int(effect.getNick() + '-animation-time');
|
||||||
|
|
||||||
|
// All animations are relative to the window's center.
|
||||||
|
actor.set_pivot_point(0.5, 0.5);
|
||||||
|
|
||||||
|
|
||||||
|
// We tweak the opacity and scale of the actor. If there is no ongoing transition for
|
||||||
|
// a property, a new one is set up.
|
||||||
|
const config = {'opacity': 255, 'scale-x': actorScale.x, 'scale-y': actorScale.y};
|
||||||
|
|
||||||
|
for (const property in config) {
|
||||||
|
let transition = actor.get_transition(property);
|
||||||
|
|
||||||
|
// If there is currently no ongoing transition, we create a new one. Clutter does
|
||||||
|
// not like to create transitions with the same start and end value - however, we
|
||||||
|
// need at least one transition for our progress value in the shader. So we trick
|
||||||
|
// Clutter by creating an arbitrary transition first and then modifying the start
|
||||||
|
// and end values according to our config object.
|
||||||
|
if (!transition) {
|
||||||
|
actor.set_property(property, 0);
|
||||||
|
actor.save_easing_state();
|
||||||
|
actor.set_easing_duration(1000);
|
||||||
|
actor.set_property(property, 1);
|
||||||
|
actor.restore_easing_state();
|
||||||
|
|
||||||
|
// Now there should be a transition!
|
||||||
|
transition = actor.get_transition(property);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Tweak the transition according to the config object. For some reason, there are
|
||||||
|
// rare cases, where no transition is set up. This happens from time to time...
|
||||||
|
if (transition) {
|
||||||
|
transition.set_duration(duration);
|
||||||
|
transition.set_to(config[property]);
|
||||||
|
transition.set_from(config[property]);
|
||||||
|
transition.set_progress_mode(Clutter.AnimationMode.LINEAR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Once the transitions are finished, we restore the original actor size.
|
||||||
|
if (forOpening) {
|
||||||
|
const connectionID = actor.connect('transitions-completed', () => {
|
||||||
|
actor.scale_x = 1.0;
|
||||||
|
actor.scale_y = 1.0;
|
||||||
|
actor.disconnect(connectionID);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------- add the shader
|
||||||
|
|
||||||
|
// Now add a cool shader to our window actor!
|
||||||
|
const shader = effect.shaderFactory.getShader();
|
||||||
|
|
||||||
|
// There should always be an opacity transition going on...
|
||||||
|
const transition = actor.get_transition('opacity');
|
||||||
|
|
||||||
|
if (!transition) {
|
||||||
|
this._fixAnimationTimes(isDialogWindow, forOpening, null);
|
||||||
|
utils.debug('Cannot setup shader without opacity transition.')
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Assign the effect to the window actor!
|
||||||
|
actor.add_effect_with_name('burn-my-windows-effect', shader);
|
||||||
|
|
||||||
|
// Set one-time uniforms.
|
||||||
|
shader.beginAnimation(this._settings, forOpening, actor);
|
||||||
|
|
||||||
|
// Set other uniforms each frame.
|
||||||
|
transition.connect('new-frame', (t) => {
|
||||||
|
if (testMode) {
|
||||||
|
shader.updateAnimation(0.5, 0.001 * duration * 0.5);
|
||||||
|
} else {
|
||||||
|
shader.updateAnimation(t.get_progress(), 0.001 * t.get_elapsed_time());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Remove the effect if the animation finished or was interrupted.
|
||||||
|
if (forOpening) {
|
||||||
|
transition.connect('stopped', () => {
|
||||||
|
const oldShader = actor.get_effect('burn-my-windows-effect');
|
||||||
|
if (oldShader) {
|
||||||
|
actor.remove_effect(oldShader);
|
||||||
|
oldShader.returnToFactory();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Finally, ensure that all animation times are set properly so that other extensions
|
||||||
|
// may guess how long it will take until windows are gone :)
|
||||||
|
this._fixAnimationTimes(isDialogWindow, forOpening, duration);
|
||||||
|
}
|
||||||
|
|
||||||
|
// The code below is not necessary for Burn-My-Windows to function. However, there
|
||||||
|
// are some extensions such as "Show Application View When Workspace Empty"
|
||||||
|
// https://extensions.gnome.org/extension/2036/show-application-view-when-workspace-empty/
|
||||||
|
// which do something *after* a window was closed. As the window-close animation
|
||||||
|
// duration depends on the used effect, this may vary each time a window is
|
||||||
|
// closed. We set the currently used time here, so that others can get an idea how
|
||||||
|
// long this will take...
|
||||||
|
_fixAnimationTimes(isDialogWindow, forOpening, duration) {
|
||||||
|
if (!forOpening) {
|
||||||
|
if (isDialogWindow) {
|
||||||
|
imports.ui.windowManager.DIALOG_DESTROY_WINDOW_ANIMATION_TIME =
|
||||||
|
duration != null ? duration : this._origDialogTime;
|
||||||
|
} else {
|
||||||
|
imports.ui.windowManager.DESTROY_WINDOW_ANIMATION_TIME =
|
||||||
|
duration != null ? duration : this._origWindowTime;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// This is required to enable window-close animations in the overview. See the comment
|
// This is required to enable window-close animations in the overview. See the comment
|
||||||
// for Workspace.prototype._windowRemoved above for an explanation.
|
// for Workspace.prototype._windowRemoved above for an explanation.
|
||||||
_shouldDestroy(workspace, metaWindow) {
|
_shouldDestroy(workspace, metaWindow) {
|
||||||
@@ -231,8 +544,8 @@ class Extension {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// This was called "realWindow" in GNOME 3.36.
|
// This was called "realWindow" in GNOME 3.36.
|
||||||
const GS_336 = GS_MAJOR == 3 && GS_MINOR == 36;
|
const propertyName = utils.shellVersionIs(3, 36) ? 'realWindow' : '_windowActor';
|
||||||
const actor = workspace._windows[index][GS_336 ? 'realWindow' : '_windowActor'];
|
const actor = workspace._windows[index][propertyName];
|
||||||
if (!actor.get_transition('scale-y')) {
|
if (!actor.get_transition('scale-y')) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"uuid": "burn-my-windows@schneegans.github.com",
|
"uuid": "burn-my-windows@schneegans.github.com",
|
||||||
"description": "Disintegrate your apps with style.",
|
"description": "Disintegrate your windows with style.",
|
||||||
"name": "Burn My Windows",
|
"name": "Burn My Windows",
|
||||||
"gettext-domain": "burn-my-windows",
|
"gettext-domain": "burn-my-windows",
|
||||||
"settings-schema": "org.gnome.shell.extensions.burn-my-windows",
|
"settings-schema": "org.gnome.shell.extensions.burn-my-windows",
|
||||||
@@ -8,8 +8,9 @@
|
|||||||
"3.36",
|
"3.36",
|
||||||
"3.38",
|
"3.38",
|
||||||
"40",
|
"40",
|
||||||
"41"
|
"41",
|
||||||
|
"42"
|
||||||
],
|
],
|
||||||
"url": "https://github.com/Schneegans/Burn-My-Windows",
|
"url": "https://github.com/Schneegans/Burn-My-Windows",
|
||||||
"version": 5
|
"version": 16
|
||||||
}
|
}
|
||||||
@@ -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-05-17 19:18+0000\n"
|
||||||
|
"Last-Translator: fawaz006 <fawaz27000@hotmail.com>\n"
|
||||||
|
"Language-Team: Arabic <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
|
"core/ar/>\n"
|
||||||
|
"Language: ar\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
||||||
|
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
|
||||||
|
"X-Generator: Weblate 4.13-dev\n"
|
||||||
|
|
||||||
|
#: prefs.js: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 "تنشيط أ"
|
||||||
|
|
||||||
|
#: 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 "مشاهدة ملف Changelog"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:16
|
||||||
|
msgid "Report a Bug"
|
||||||
|
msgstr "الإبلاغ عن خلل"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:20
|
||||||
|
msgid "Create an Effect"
|
||||||
|
msgstr "انشاء تأثير"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:24
|
||||||
|
msgid "Translate"
|
||||||
|
msgstr "ترجم"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:28
|
||||||
|
msgid "Donate"
|
||||||
|
msgstr "تبرع"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:41
|
||||||
|
msgid "About Burn-My-Windows"
|
||||||
|
msgstr "حول Burn-My-Windows"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
|
#: resources/ui/gtk4/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 "ضوضاء ثلاثية الأبعاد"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
|
||||||
|
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||||
|
msgstr ""
|
||||||
|
"يُنشئ حريقًا أكثر ديناميكية ولكنه يتطلب المزيد من طاقة وحدة معالجة الرسومات."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||||
|
msgid "Gradient"
|
||||||
|
msgstr "ميل"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
|
msgid "Claw Scratch Scale"
|
||||||
|
msgstr "حجم خدش المخلب"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||||
|
msgid "Claw Scratch Count"
|
||||||
|
msgstr "عدد خدوش المخلب"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
|
msgid "Warp Effect"
|
||||||
|
msgstr "تأثير الاعوجاج"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:208
|
||||||
|
msgid "Flash Color"
|
||||||
|
msgstr "ألوان مضيئة"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||||
|
msgid "Preview this Effect"
|
||||||
|
msgstr "معاينة هذا التأثير"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr "عرض خط الشبكة"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr "لون السطر"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr "توهج اللون"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr "مزج مضاف"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr "قد ترغب في تمكين هذا لسمات النوافذ المظلمة."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
|
msgstr "مرحبًا بك في Burn-My-Windows!"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
|
||||||
|
msgid "If you like this extension, recommend it to your friends :)"
|
||||||
|
msgstr "إذا كنت تحب هذا الامتداد، فوصي به لأصدقائك :)"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
||||||
|
msgid "Open Window Animation"
|
||||||
|
msgstr "افتح نافذة التأثيرات"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
|
||||||
|
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
|
||||||
|
msgid "If multiple are selected, one is chosen randomly."
|
||||||
|
msgstr "إذا تم تحديد عدة خيارات، يتم اختيار واحد بشكل عشوائي."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
|
||||||
|
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
|
||||||
|
msgid "Choose Effects"
|
||||||
|
msgstr "اختر التأثيرات"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
|
||||||
|
msgid "Close Window Animation"
|
||||||
|
msgstr "إغلاق التأثيرات للنافذة"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
|
||||||
|
msgid "Also Add Effects to Dialogs"
|
||||||
|
msgstr "أضف أيضًا تأثيرات إلى الحوارات"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/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,359 @@
|
|||||||
|
# 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.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
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: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"Language: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=CHARSET\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\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 ""
|
||||||
|
|
||||||
|
#: 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 ""
|
||||||
|
|
||||||
|
#: 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
|
||||||
|
msgid "Create an Effect"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:24
|
||||||
|
msgid "Translate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:28
|
||||||
|
msgid "Donate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:41
|
||||||
|
msgid "About Burn-My-Windows"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
|
#: resources/ui/gtk4/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 ""
|
||||||
|
|
||||||
|
#: 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 ""
|
||||||
@@ -0,0 +1,368 @@
|
|||||||
|
# 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-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/"
|
||||||
|
"core/cs/>\n"
|
||||||
|
"Language: cs\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||||
|
"X-Generator: Weblate 4.11-dev\n"
|
||||||
|
|
||||||
|
#: prefs.js:112
|
||||||
|
msgid "Effect Options"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: prefs.js:140
|
||||||
|
msgid "Go Back"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: prefs.js:182
|
||||||
|
msgid "General Options"
|
||||||
|
msgstr "Obecné možnosti"
|
||||||
|
|
||||||
|
#: 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 "Náhled %s"
|
||||||
|
|
||||||
|
#: prefs.js:532
|
||||||
|
msgid "Close this Window to Preview the Effect!"
|
||||||
|
msgstr "Zavřete toto okno, pokud chcete vidět efekt!"
|
||||||
|
|
||||||
|
#: src/BrokenGlass.js:57
|
||||||
|
msgid "Broken Glass"
|
||||||
|
msgstr "Střepy"
|
||||||
|
|
||||||
|
#: src/TVEffect.js:56
|
||||||
|
msgid "TV Effect"
|
||||||
|
msgstr "Televize"
|
||||||
|
|
||||||
|
#: src/TRexAttack.js:56
|
||||||
|
msgid "T-Rex Attack"
|
||||||
|
msgstr "Tyrannosaurus"
|
||||||
|
|
||||||
|
#: src/SnapOfDisintegration.js:60
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Wisps.js:55
|
||||||
|
msgid "Wisps"
|
||||||
|
msgstr "Obláčky"
|
||||||
|
|
||||||
|
#: src/Fire.js:58
|
||||||
|
msgid "Fire"
|
||||||
|
msgstr "Oheň"
|
||||||
|
|
||||||
|
#: src/Fire.js:130
|
||||||
|
msgid "Default Fire"
|
||||||
|
msgstr "Výchozí oheň"
|
||||||
|
|
||||||
|
#: src/Fire.js:140
|
||||||
|
msgid "Hell Fire"
|
||||||
|
msgstr "Pekelný oheň"
|
||||||
|
|
||||||
|
#: src/Fire.js:150
|
||||||
|
msgid "Dark and Smutty"
|
||||||
|
msgstr "Temný"
|
||||||
|
|
||||||
|
#: src/Fire.js:160
|
||||||
|
msgid "Cold Breeze"
|
||||||
|
msgstr "Studený vánek"
|
||||||
|
|
||||||
|
#: src/Fire.js:170
|
||||||
|
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"
|
||||||
|
|
||||||
|
#: src/Matrix.js:58
|
||||||
|
msgid "Matrix"
|
||||||
|
msgstr "Matrix"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:6
|
||||||
|
msgid "Visit Homepage"
|
||||||
|
msgstr "Navštívit web"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:10
|
||||||
|
msgid "View Changelog"
|
||||||
|
msgstr "Zobrazit historii změn"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:16
|
||||||
|
msgid "Report a Bug"
|
||||||
|
msgstr "Ohlásit chybu"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:20
|
||||||
|
msgid "Create an Effect"
|
||||||
|
msgstr "Vytvořit efekt"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:24
|
||||||
|
msgid "Translate"
|
||||||
|
msgstr "Přeložit"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:28
|
||||||
|
msgid "Donate"
|
||||||
|
msgstr "Přispět"
|
||||||
|
|
||||||
|
#: 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/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 "Délka animace [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 "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/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/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
|
msgid "Randomness"
|
||||||
|
msgstr "Nahodilost"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:162
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Vertical Overshooting"
|
||||||
|
msgstr "Vertikální přestřelení"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:208
|
||||||
|
msgid "Trail Color"
|
||||||
|
msgstr "Barva ohonu"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:242
|
||||||
|
msgid "Tip Color"
|
||||||
|
msgstr "Barva hrotu"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:116
|
||||||
|
msgid "Gravity"
|
||||||
|
msgstr "Gravitace"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:162
|
||||||
|
msgid "Blow Force"
|
||||||
|
msgstr "Síla úderu"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:212
|
||||||
|
msgid "Shatter From Pointer Location"
|
||||||
|
msgstr "Roztříštění od místa ukazatele"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:221
|
||||||
|
msgid ""
|
||||||
|
"The shards will fly away from where your mouse pointer was when closing the "
|
||||||
|
"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/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"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
|
||||||
|
msgid "Presets"
|
||||||
|
msgstr "Předvolby"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "Rychlost"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
||||||
|
msgid "3D Noise"
|
||||||
|
msgstr "3D šum"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
|
||||||
|
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||||
|
msgstr "Vytvoří dynamičtejší efekt, ale potřebuje k tomu silnější GPU"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||||
|
msgid "Gradient"
|
||||||
|
msgstr "Přechod"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
|
msgid "Claw Scratch Scale"
|
||||||
|
msgstr "Velikost škrábanců od drápů"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||||
|
msgid "Claw Scratch Count"
|
||||||
|
msgstr "Počet škrábanců"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
|
msgid "Warp Effect"
|
||||||
|
msgstr "Efekt zakřivení"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:208
|
||||||
|
msgid "Flash Color"
|
||||||
|
msgstr "Barva blesku"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||||
|
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!"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
|
||||||
|
msgid "If you like this extension, recommend it to your friends :)"
|
||||||
|
msgstr "Pokud se vám líbí tento doplňek, doporučte jej přátelům :-)"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
||||||
|
msgid "Open Window Animation"
|
||||||
|
msgstr "Animace při otevírání okna"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
|
||||||
|
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
|
||||||
|
msgid "If multiple are selected, one is chosen randomly."
|
||||||
|
msgstr "Pokud vyberete více, budou se střídat náhodně."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
|
||||||
|
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
|
||||||
|
msgid "Choose Effects"
|
||||||
|
msgstr "Vyberte efekty"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
|
||||||
|
msgid "Close Window Animation"
|
||||||
|
msgstr "Animace při zavírání okna"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
|
||||||
|
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"
|
||||||
|
|
||||||
|
#~ msgid "Via PayPal"
|
||||||
|
#~ msgstr "skrze PayPal"
|
||||||
|
|
||||||
|
#~ msgid "Via GitHub"
|
||||||
|
#~ msgstr "skrze GitHub"
|
||||||
@@ -0,0 +1,372 @@
|
|||||||
|
# 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-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"
|
||||||
|
"Language: de\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 "Effektoptionen"
|
||||||
|
|
||||||
|
#: prefs.js:140
|
||||||
|
msgid "Go Back"
|
||||||
|
msgstr "Zurück"
|
||||||
|
|
||||||
|
#: prefs.js:182
|
||||||
|
msgid "General Options"
|
||||||
|
msgstr "Allgemeine Optionen"
|
||||||
|
|
||||||
|
#: prefs.js:276
|
||||||
|
msgid "Gold Sponsors"
|
||||||
|
msgstr "Gold-Sponsoren"
|
||||||
|
|
||||||
|
#: prefs.js:279
|
||||||
|
msgid "Silver Sponsors"
|
||||||
|
msgstr "Silber-Sponsoren"
|
||||||
|
|
||||||
|
#: prefs.js:282
|
||||||
|
msgid "Bronze Sponsors"
|
||||||
|
msgstr "Bronze-Sponsoren"
|
||||||
|
|
||||||
|
#: prefs.js:285
|
||||||
|
msgid "Past Sponsors"
|
||||||
|
msgstr "Ehemalige Sponsoren"
|
||||||
|
|
||||||
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
|
#: prefs.js:510
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Preview for %s"
|
||||||
|
msgstr "Vorschau für %s"
|
||||||
|
|
||||||
|
#: prefs.js:532
|
||||||
|
msgid "Close this Window to Preview the Effect!"
|
||||||
|
msgstr "Schließen Sie dieses Fenster, um eine Vorschau des Effekts anzuzeigen!"
|
||||||
|
|
||||||
|
#: src/BrokenGlass.js:57
|
||||||
|
msgid "Broken Glass"
|
||||||
|
msgstr "Glassplitter"
|
||||||
|
|
||||||
|
#: src/TVEffect.js:56
|
||||||
|
msgid "TV Effect"
|
||||||
|
msgstr "TV-Effekt"
|
||||||
|
|
||||||
|
#: src/TRexAttack.js:56
|
||||||
|
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"
|
||||||
|
|
||||||
|
#: src/Fire.js:58
|
||||||
|
msgid "Fire"
|
||||||
|
msgstr "Feuer"
|
||||||
|
|
||||||
|
#: src/Fire.js:130
|
||||||
|
msgid "Default Fire"
|
||||||
|
msgstr "Standardfeuer"
|
||||||
|
|
||||||
|
#: src/Fire.js:140
|
||||||
|
msgid "Hell Fire"
|
||||||
|
msgstr "Höllenfeuer"
|
||||||
|
|
||||||
|
#: src/Fire.js:150
|
||||||
|
msgid "Dark and Smutty"
|
||||||
|
msgstr "Dunkel und schmutzig"
|
||||||
|
|
||||||
|
#: src/Fire.js:160
|
||||||
|
msgid "Cold Breeze"
|
||||||
|
msgstr "Kalte Brise"
|
||||||
|
|
||||||
|
#: src/Fire.js:170
|
||||||
|
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"
|
||||||
|
|
||||||
|
#: src/Matrix.js:58
|
||||||
|
msgid "Matrix"
|
||||||
|
msgstr "Matrix"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:6
|
||||||
|
msgid "Visit Homepage"
|
||||||
|
msgstr "Homepage besuchen"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:10
|
||||||
|
msgid "View Changelog"
|
||||||
|
msgstr "Changelog anzeigen"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:16
|
||||||
|
msgid "Report a Bug"
|
||||||
|
msgstr "Fehler melden"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:20
|
||||||
|
msgid "Create an Effect"
|
||||||
|
msgstr "Einen Effekt hinzufügen"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:24
|
||||||
|
msgid "Translate"
|
||||||
|
msgstr "Übersetzen"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:28
|
||||||
|
msgid "Donate"
|
||||||
|
msgstr "Spenden"
|
||||||
|
|
||||||
|
#: 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/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 "Animationszeit [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 "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/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/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
|
msgid "Randomness"
|
||||||
|
msgstr "Zufälligkeit"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:162
|
||||||
|
msgid "Vertical Overshooting"
|
||||||
|
msgstr "Vertikales Überschießen"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:208
|
||||||
|
msgid "Trail Color"
|
||||||
|
msgstr "Farbe der Spur"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:242
|
||||||
|
msgid "Tip Color"
|
||||||
|
msgstr "Farbe der Spitze"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:116
|
||||||
|
msgid "Gravity"
|
||||||
|
msgstr "Schwerkraft"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:162
|
||||||
|
msgid "Blow Force"
|
||||||
|
msgstr "Schlagkraft"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:212
|
||||||
|
msgid "Shatter From Pointer Location"
|
||||||
|
msgstr "Von Mauszeigerposition zerbrechen"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:221
|
||||||
|
msgid ""
|
||||||
|
"The shards will fly away from where your mouse pointer was when closing the "
|
||||||
|
"window."
|
||||||
|
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/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"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
|
||||||
|
msgid "Presets"
|
||||||
|
msgstr "Voreinstellungen"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "Geschwindigkeit"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
||||||
|
msgid "3D Noise"
|
||||||
|
msgstr "3D-Rauschen"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
|
||||||
|
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||||
|
msgstr "Erzeugt ein dynamischeres Feuer, erfordert jedoch mehr GPU-Leistung."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||||
|
msgid "Gradient"
|
||||||
|
msgstr "Farbverlauf"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
|
msgid "Claw Scratch Scale"
|
||||||
|
msgstr "Kratzergröße"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||||
|
msgid "Claw Scratch Count"
|
||||||
|
msgstr "Kratzeranzahl"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
|
msgid "Warp Effect"
|
||||||
|
msgstr "Warp-Effekt"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:208
|
||||||
|
msgid "Flash Color"
|
||||||
|
msgstr "Blitzfarbe"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||||
|
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!"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
|
||||||
|
msgid "If you like this extension, recommend it to your friends :)"
|
||||||
|
msgstr "Wenn Sie diese Erweiterung mögen, empfehlen Sie sie Ihren Freunden :)"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
||||||
|
msgid "Open Window Animation"
|
||||||
|
msgstr "Fenster-Öffnen-Animation"
|
||||||
|
|
||||||
|
#: 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 "Wenn mehrere ausgewählt sind, wird eine zufällig ausgewählt."
|
||||||
|
|
||||||
|
#: 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 "Effekte auswählen"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
|
||||||
|
msgid "Close Window Animation"
|
||||||
|
msgstr "Fenster-Schließen-Animation"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
|
||||||
|
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"
|
||||||
|
|
||||||
|
#~ msgid "Via PayPal"
|
||||||
|
#~ msgstr "Mit PayPal"
|
||||||
|
|
||||||
|
#~ msgid "Via GitHub"
|
||||||
|
#~ msgstr "Mit GitHub"
|
||||||
|
|
||||||
|
#~ msgid "Create a Custom Effect"
|
||||||
|
#~ msgstr "Einen neuen Effekt erstellen"
|
||||||
@@ -0,0 +1,369 @@
|
|||||||
|
# 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-04-08 07:11+0000\n"
|
||||||
|
"Last-Translator: Óscar Fernández Díaz <oscfdezdz@tuta.io>\n"
|
||||||
|
"Language-Team: Spanish <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
|
"core/es/>\n"
|
||||||
|
"Language: es\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 "Opciones de efecto"
|
||||||
|
|
||||||
|
#: prefs.js:140
|
||||||
|
msgid "Go Back"
|
||||||
|
msgstr "Volver"
|
||||||
|
|
||||||
|
#: prefs.js:182
|
||||||
|
msgid "General Options"
|
||||||
|
msgstr "Opciones generales"
|
||||||
|
|
||||||
|
#: prefs.js:276
|
||||||
|
msgid "Gold Sponsors"
|
||||||
|
msgstr "Patrocinadores de oro"
|
||||||
|
|
||||||
|
#: prefs.js:279
|
||||||
|
msgid "Silver Sponsors"
|
||||||
|
msgstr "Patrocinadores de plata"
|
||||||
|
|
||||||
|
#: prefs.js:282
|
||||||
|
msgid "Bronze Sponsors"
|
||||||
|
msgstr "Patrocinadores de bronce"
|
||||||
|
|
||||||
|
#: prefs.js:285
|
||||||
|
msgid "Past Sponsors"
|
||||||
|
msgstr "Patrocinadores anteriores"
|
||||||
|
|
||||||
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
|
#: prefs.js:510
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Preview for %s"
|
||||||
|
msgstr "Previsualización de %s"
|
||||||
|
|
||||||
|
#: prefs.js:532
|
||||||
|
msgid "Close this Window to Preview the Effect!"
|
||||||
|
msgstr "¡Cierre esta ventana para ver el efecto!"
|
||||||
|
|
||||||
|
#: src/BrokenGlass.js:57
|
||||||
|
msgid "Broken Glass"
|
||||||
|
msgstr "Cristales rotos"
|
||||||
|
|
||||||
|
#: src/TVEffect.js:56
|
||||||
|
msgid "TV Effect"
|
||||||
|
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 "Chasquido de desintegración"
|
||||||
|
|
||||||
|
#: src/Wisps.js:55
|
||||||
|
msgid "Wisps"
|
||||||
|
msgstr "Chispas"
|
||||||
|
|
||||||
|
#: src/Fire.js:58
|
||||||
|
msgid "Fire"
|
||||||
|
msgstr "Fuego"
|
||||||
|
|
||||||
|
#: src/Fire.js:130
|
||||||
|
msgid "Default Fire"
|
||||||
|
msgstr "Fuego predeterminado"
|
||||||
|
|
||||||
|
#: src/Fire.js:140
|
||||||
|
msgid "Hell Fire"
|
||||||
|
msgstr "Fuego infernal"
|
||||||
|
|
||||||
|
#: src/Fire.js:150
|
||||||
|
msgid "Dark and Smutty"
|
||||||
|
msgstr "Oscuro y obsceno"
|
||||||
|
|
||||||
|
#: src/Fire.js:160
|
||||||
|
msgid "Cold Breeze"
|
||||||
|
msgstr "Brisa fría"
|
||||||
|
|
||||||
|
#: src/Fire.js:170
|
||||||
|
msgid "Santa is Coming"
|
||||||
|
msgstr "Viene Papá Noel"
|
||||||
|
|
||||||
|
#: src/Hexagon.js:53
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "Hexágonos"
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:54
|
||||||
|
msgid "Energize A"
|
||||||
|
msgstr "Energizar A"
|
||||||
|
|
||||||
|
#: src/Apparition.js:57
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr "Aparición"
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:54
|
||||||
|
msgid "Energize B"
|
||||||
|
msgstr "Energizar B"
|
||||||
|
|
||||||
|
#: src/Matrix.js:58
|
||||||
|
msgid "Matrix"
|
||||||
|
msgstr "Matrix"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:6
|
||||||
|
msgid "Visit Homepage"
|
||||||
|
msgstr "Visitar la página web"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:10
|
||||||
|
msgid "View Changelog"
|
||||||
|
msgstr "Ver registro de cambios"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:16
|
||||||
|
msgid "Report a Bug"
|
||||||
|
msgstr "Informar de un error"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:20
|
||||||
|
msgid "Create an Effect"
|
||||||
|
msgstr "Crear un efecto"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:24
|
||||||
|
msgid "Translate"
|
||||||
|
msgstr "Traducir"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:28
|
||||||
|
msgid "Donate"
|
||||||
|
msgstr "Donar"
|
||||||
|
|
||||||
|
#: 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/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 "Tiempo de animación [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 "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/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/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
|
msgid "Randomness"
|
||||||
|
msgstr "Aleatoriedad"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:162
|
||||||
|
msgid "Vertical Overshooting"
|
||||||
|
msgstr "Superposición vertical"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:208
|
||||||
|
msgid "Trail Color"
|
||||||
|
msgstr "Color de la estela"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:242
|
||||||
|
msgid "Tip Color"
|
||||||
|
msgstr "Color de la punta"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:116
|
||||||
|
msgid "Gravity"
|
||||||
|
msgstr "Gravedad"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:162
|
||||||
|
msgid "Blow Force"
|
||||||
|
msgstr "Fuerza del golpe"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:212
|
||||||
|
msgid "Shatter From Pointer Location"
|
||||||
|
msgstr "Fragmentar desde la ubicación del puntero"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:221
|
||||||
|
msgid ""
|
||||||
|
"The shards will fly away from where your mouse pointer was when closing the "
|
||||||
|
"window."
|
||||||
|
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/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 "Preselecciones"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "Velocidad"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
||||||
|
msgid "3D Noise"
|
||||||
|
msgstr "Ruido 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 "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 "Degradado"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
|
msgid "Claw Scratch Scale"
|
||||||
|
msgstr "Escala de arañazos de garras"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||||
|
msgid "Claw Scratch Count"
|
||||||
|
msgstr "Número de arañazos de garras"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
|
msgid "Warp Effect"
|
||||||
|
msgstr "Efecto distorsión"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:208
|
||||||
|
msgid "Flash Color"
|
||||||
|
msgstr "Color del flash"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||||
|
msgid "Preview this Effect"
|
||||||
|
msgstr "Previsualizar este efecto"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr "Ancho de la línea de malla"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr "Color de línea"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr "Color del brillo"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr "Fundido activo"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr "Puede ser que necesites activar esto para temas oscuros de ventana."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
|
msgid "Welcome to 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 amistades :)"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
||||||
|
msgid "Open Window Animation"
|
||||||
|
msgstr "Animación al abrir la ventana"
|
||||||
|
|
||||||
|
#: 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 "Si se seleccionan varios, se elige uno al azar."
|
||||||
|
|
||||||
|
#: 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 "Elegir efectos"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
|
||||||
|
msgid "Close Window Animation"
|
||||||
|
msgstr "Animación al cerrar la ventana"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
|
||||||
|
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 "Intensidad del giro"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr "Intensidad del temblor"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr "Intensidad de la succión"
|
||||||
|
|
||||||
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
|
msgid "Choose a Preset"
|
||||||
|
msgstr "Elija una preselección"
|
||||||
|
|
||||||
|
#~ msgid "Via PayPal"
|
||||||
|
#~ msgstr "Vía PayPal"
|
||||||
|
|
||||||
|
#~ msgid "Via GitHub"
|
||||||
|
#~ msgstr "Vía GitHub"
|
||||||
@@ -0,0 +1,362 @@
|
|||||||
|
# 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-04-08 07:11+0000\n"
|
||||||
|
"Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n"
|
||||||
|
"Language-Team: Finnish <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
|
"core/fi/>\n"
|
||||||
|
"Language: fi\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 4.12-dev\n"
|
||||||
|
|
||||||
|
#: prefs.js:112
|
||||||
|
msgid "Effect Options"
|
||||||
|
msgstr "Tehostevalinnat"
|
||||||
|
|
||||||
|
#: prefs.js:140
|
||||||
|
msgid "Go Back"
|
||||||
|
msgstr "Takaisin"
|
||||||
|
|
||||||
|
#: prefs.js:182
|
||||||
|
msgid "General Options"
|
||||||
|
msgstr "Yleiset asetukset"
|
||||||
|
|
||||||
|
#: prefs.js:276
|
||||||
|
msgid "Gold Sponsors"
|
||||||
|
msgstr "Kultasponsorit"
|
||||||
|
|
||||||
|
#: prefs.js:279
|
||||||
|
msgid "Silver Sponsors"
|
||||||
|
msgstr "Hopeasponsorit"
|
||||||
|
|
||||||
|
#: prefs.js:282
|
||||||
|
msgid "Bronze Sponsors"
|
||||||
|
msgstr "Pronssisponsorit"
|
||||||
|
|
||||||
|
#: prefs.js:285
|
||||||
|
msgid "Past Sponsors"
|
||||||
|
msgstr "Aiemmat sponsorit"
|
||||||
|
|
||||||
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
|
#: prefs.js:510
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Preview for %s"
|
||||||
|
msgstr "Esikatselu tehosteelle %s"
|
||||||
|
|
||||||
|
#: prefs.js:532
|
||||||
|
msgid "Close this Window to Preview the Effect!"
|
||||||
|
msgstr "Sulje tämä ikkuna esikatsellaksesi tehosteen!"
|
||||||
|
|
||||||
|
#: src/BrokenGlass.js:57
|
||||||
|
msgid "Broken Glass"
|
||||||
|
msgstr "Rikkoutunut lasi"
|
||||||
|
|
||||||
|
#: src/TVEffect.js:56
|
||||||
|
msgid "TV Effect"
|
||||||
|
msgstr "TV-tehoste"
|
||||||
|
|
||||||
|
#: src/TRexAttack.js:56
|
||||||
|
msgid "T-Rex Attack"
|
||||||
|
msgstr "T-Rexin hyökkäys"
|
||||||
|
|
||||||
|
#: src/SnapOfDisintegration.js:60
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr "Hajoamisen napsahdus"
|
||||||
|
|
||||||
|
#: src/Wisps.js:55
|
||||||
|
msgid "Wisps"
|
||||||
|
msgstr "Häiveet"
|
||||||
|
|
||||||
|
#: src/Fire.js:58
|
||||||
|
msgid "Fire"
|
||||||
|
msgstr "Tuli"
|
||||||
|
|
||||||
|
#: src/Fire.js:130
|
||||||
|
msgid "Default Fire"
|
||||||
|
msgstr "Oletustuli"
|
||||||
|
|
||||||
|
#: src/Fire.js:140
|
||||||
|
msgid "Hell Fire"
|
||||||
|
msgstr "Helvetintuli"
|
||||||
|
|
||||||
|
#: src/Fire.js:150
|
||||||
|
msgid "Dark and Smutty"
|
||||||
|
msgstr "Tumma ja likainen"
|
||||||
|
|
||||||
|
#: src/Fire.js:160
|
||||||
|
msgid "Cold Breeze"
|
||||||
|
msgstr "Kylmän tuulahdus"
|
||||||
|
|
||||||
|
#: src/Fire.js:170
|
||||||
|
msgid "Santa is Coming"
|
||||||
|
msgstr "Pukki saapuu"
|
||||||
|
|
||||||
|
#: src/Hexagon.js:53
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "Kuusikulmio"
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:54
|
||||||
|
msgid "Energize A"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Apparition.js:57
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr "Ilmestys"
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:54
|
||||||
|
msgid "Energize B"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Matrix.js:58
|
||||||
|
msgid "Matrix"
|
||||||
|
msgstr "Matriisi"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:6
|
||||||
|
msgid "Visit Homepage"
|
||||||
|
msgstr "Käy verkkosivulla"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:10
|
||||||
|
msgid "View Changelog"
|
||||||
|
msgstr "Näytä muutosloki"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:16
|
||||||
|
msgid "Report a Bug"
|
||||||
|
msgstr "Ilmoita ongelmasta"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:20
|
||||||
|
msgid "Create an Effect"
|
||||||
|
msgstr "Luo tehoste"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:24
|
||||||
|
msgid "Translate"
|
||||||
|
msgstr "Käännä"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:28
|
||||||
|
msgid "Donate"
|
||||||
|
msgstr "Lahjoita"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:41
|
||||||
|
msgid "About Burn-My-Windows"
|
||||||
|
msgstr "Tietoja - Burn-My-Windows"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
|
#: resources/ui/gtk4/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 "Animaatioaika [ms]"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/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 "Palauta oletusarvoon"
|
||||||
|
|
||||||
|
#: 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 "Skaala"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
|
msgid "Randomness"
|
||||||
|
msgstr "Satunnaisuus"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:162
|
||||||
|
msgid "Vertical Overshooting"
|
||||||
|
msgstr "Pystysuora ylitys"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:208
|
||||||
|
msgid "Trail Color"
|
||||||
|
msgstr "Polun väri"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:242
|
||||||
|
msgid "Tip Color"
|
||||||
|
msgstr "Vihjeen väri"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:116
|
||||||
|
msgid "Gravity"
|
||||||
|
msgstr "Painovoima"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:162
|
||||||
|
msgid "Blow Force"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:212
|
||||||
|
msgid "Shatter From Pointer Location"
|
||||||
|
msgstr "Särkyminen osoittimen sijainnista"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:221
|
||||||
|
msgid ""
|
||||||
|
"The shards will fly away from where your mouse pointer was when closing the "
|
||||||
|
"window."
|
||||||
|
msgstr ""
|
||||||
|
"Sirpaleet lentävät kauas hiiren osoittimen sijainnista kun suljet ikkunan."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/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 "Väri"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
|
||||||
|
msgid "Presets"
|
||||||
|
msgstr "Esiasetukset"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "Nopeus"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
||||||
|
msgid "3D Noise"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
|
||||||
|
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||||
|
msgid "Gradient"
|
||||||
|
msgstr "Liukuväri"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
|
msgid "Claw Scratch Scale"
|
||||||
|
msgstr "Kynnenraapaisun skaala"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||||
|
msgid "Claw Scratch Count"
|
||||||
|
msgstr "Kynnenraapaisujen määrä"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
|
msgid "Warp Effect"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:208
|
||||||
|
msgid "Flash Color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||||
|
msgid "Preview this Effect"
|
||||||
|
msgstr "Esikatsele tämä tehoste"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr "Viivan väri"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr "Hehkun väri"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
|
msgstr "Tervetuloa, tämä on Burn-My-Windows!"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
|
||||||
|
msgid "If you like this extension, recommend it to your friends :)"
|
||||||
|
msgstr "Jos pidä tästä laajennuksesta, suosittele sitä kavereillesi :)"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
||||||
|
msgid "Open Window Animation"
|
||||||
|
msgstr "Ikkunan avaamisen animaatio"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
|
||||||
|
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
|
||||||
|
msgid "If multiple are selected, one is chosen randomly."
|
||||||
|
msgstr "Jos useita on valittu, yksi valitaan satunnaisesti."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
|
||||||
|
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
|
||||||
|
msgid "Choose Effects"
|
||||||
|
msgstr "Valitse tehosteet"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
|
||||||
|
msgid "Close Window Animation"
|
||||||
|
msgstr "Ikkunan sulkemisen animaatio"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
|
||||||
|
msgid "Also Add Effects to Dialogs"
|
||||||
|
msgstr "Lisää tehosteet myös dialogi-ikkunoihin"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||||
|
msgid "Twirl Intensity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
|
msgid "Choose a Preset"
|
||||||
|
msgstr "Valitse esiasetus"
|
||||||
@@ -0,0 +1,371 @@
|
|||||||
|
# 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-05-01 23:10+0000\n"
|
||||||
|
"Last-Translator: matb <perso@mathieu-bousquet.fr>\n"
|
||||||
|
"Language-Team: French <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
|
"core/fr/>\n"
|
||||||
|
"Language: fr\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
|
"X-Generator: Weblate 4.12.1\n"
|
||||||
|
|
||||||
|
#: prefs.js:112
|
||||||
|
msgid "Effect Options"
|
||||||
|
msgstr "Options de l'effet"
|
||||||
|
|
||||||
|
#: prefs.js:140
|
||||||
|
msgid "Go Back"
|
||||||
|
msgstr "Retour"
|
||||||
|
|
||||||
|
#: prefs.js:182
|
||||||
|
msgid "General Options"
|
||||||
|
msgstr "Options générales"
|
||||||
|
|
||||||
|
#: prefs.js:276
|
||||||
|
msgid "Gold Sponsors"
|
||||||
|
msgstr "Sponsors Or"
|
||||||
|
|
||||||
|
#: prefs.js:279
|
||||||
|
msgid "Silver Sponsors"
|
||||||
|
msgstr "Sponsors Argent"
|
||||||
|
|
||||||
|
#: prefs.js:282
|
||||||
|
msgid "Bronze Sponsors"
|
||||||
|
msgstr "Sponsors Bronze"
|
||||||
|
|
||||||
|
#: prefs.js:285
|
||||||
|
msgid "Past Sponsors"
|
||||||
|
msgstr "Anciens Sponsors"
|
||||||
|
|
||||||
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
|
#: prefs.js:510
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Preview for %s"
|
||||||
|
msgstr "Aperçu pour %s"
|
||||||
|
|
||||||
|
#: prefs.js:532
|
||||||
|
msgid "Close this Window to Preview the Effect!"
|
||||||
|
msgstr "Fermez cette fenêtre pour un aperçu de l'effet !"
|
||||||
|
|
||||||
|
#: src/BrokenGlass.js:57
|
||||||
|
msgid "Broken Glass"
|
||||||
|
msgstr "Verre brisé"
|
||||||
|
|
||||||
|
#: src/TVEffect.js:56
|
||||||
|
msgid "TV Effect"
|
||||||
|
msgstr "Effet TV"
|
||||||
|
|
||||||
|
#: src/TRexAttack.js:56
|
||||||
|
msgid "T-Rex Attack"
|
||||||
|
msgstr "Attaque de T-Rex"
|
||||||
|
|
||||||
|
#: src/SnapOfDisintegration.js:60
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr "Désintégration"
|
||||||
|
|
||||||
|
#: src/Wisps.js:55
|
||||||
|
msgid "Wisps"
|
||||||
|
msgstr "Feux follets"
|
||||||
|
|
||||||
|
#: src/Fire.js:58
|
||||||
|
msgid "Fire"
|
||||||
|
msgstr "Feu"
|
||||||
|
|
||||||
|
#: src/Fire.js:130
|
||||||
|
msgid "Default Fire"
|
||||||
|
msgstr "Feu par défaut"
|
||||||
|
|
||||||
|
#: src/Fire.js:140
|
||||||
|
msgid "Hell Fire"
|
||||||
|
msgstr "Feu de l'enfer"
|
||||||
|
|
||||||
|
#: src/Fire.js:150
|
||||||
|
msgid "Dark and Smutty"
|
||||||
|
msgstr "Sombre et ténébreux"
|
||||||
|
|
||||||
|
#: src/Fire.js:160
|
||||||
|
msgid "Cold Breeze"
|
||||||
|
msgstr "Brise froide"
|
||||||
|
|
||||||
|
#: src/Fire.js:170
|
||||||
|
msgid "Santa is Coming"
|
||||||
|
msgstr "Le Père Noël arrive"
|
||||||
|
|
||||||
|
#: src/Hexagon.js:53
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "Hexagone"
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:54
|
||||||
|
msgid "Energize A"
|
||||||
|
msgstr "Énergie A"
|
||||||
|
|
||||||
|
#: src/Apparition.js:57
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr "Apparition"
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:54
|
||||||
|
msgid "Energize B"
|
||||||
|
msgstr "Énergie B"
|
||||||
|
|
||||||
|
#: src/Matrix.js:58
|
||||||
|
msgid "Matrix"
|
||||||
|
msgstr "Matrix"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:6
|
||||||
|
msgid "Visit Homepage"
|
||||||
|
msgstr "Visiter la page d'accueil"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:10
|
||||||
|
msgid "View Changelog"
|
||||||
|
msgstr "Voir le journal des modifications"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:16
|
||||||
|
msgid "Report a Bug"
|
||||||
|
msgstr "Signaler un bogue"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:20
|
||||||
|
msgid "Create an Effect"
|
||||||
|
msgstr "Créer un effet"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:24
|
||||||
|
msgid "Translate"
|
||||||
|
msgstr "Traduire"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:28
|
||||||
|
msgid "Donate"
|
||||||
|
msgstr "Faire un don"
|
||||||
|
|
||||||
|
#: 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/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 "Durée de l'animation (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 "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/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/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
|
msgid "Randomness"
|
||||||
|
msgstr "Aléatoire"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:162
|
||||||
|
msgid "Vertical Overshooting"
|
||||||
|
msgstr "Dépassement vertical"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:208
|
||||||
|
msgid "Trail Color"
|
||||||
|
msgstr "Couleur de la traîne"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:242
|
||||||
|
msgid "Tip Color"
|
||||||
|
msgstr "Couleur de la pointe"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:116
|
||||||
|
msgid "Gravity"
|
||||||
|
msgstr "Gravité"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:162
|
||||||
|
msgid "Blow Force"
|
||||||
|
msgstr "Force d'explosion"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:212
|
||||||
|
msgid "Shatter From Pointer Location"
|
||||||
|
msgstr "Briser à partir de la position du curseur"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:221
|
||||||
|
msgid ""
|
||||||
|
"The shards will fly away from where your mouse pointer was when closing the "
|
||||||
|
"window."
|
||||||
|
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/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"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
|
||||||
|
msgid "Presets"
|
||||||
|
msgstr "Préréglages"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "Vitesse"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
||||||
|
msgid "3D Noise"
|
||||||
|
msgstr "Bruit 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 ""
|
||||||
|
"Crée un feu plus dynamique mais demande plus de puissance de la carte "
|
||||||
|
"graphique."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||||
|
msgid "Gradient"
|
||||||
|
msgstr "Gradient"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
|
msgid "Claw Scratch Scale"
|
||||||
|
msgstr "Taille de la griffe"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||||
|
msgid "Claw Scratch Count"
|
||||||
|
msgstr "Nombre de griffures"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
|
msgid "Warp Effect"
|
||||||
|
msgstr "Effet de distorsion"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:208
|
||||||
|
msgid "Flash Color"
|
||||||
|
msgstr "Couleur du flash"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||||
|
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 "Largeur des lignes du maillage"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr "Couleur de ligne"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr "Couleur de la lueur"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr "Mélange additif"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr "Vous voudrez peut-être l'activer pour les thèmes de fenêtre sombre."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
|
msgstr "Bienvenue dans 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 vous aimez cette extension, recommandez-la à vos amis :)"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
||||||
|
msgid "Open Window Animation"
|
||||||
|
msgstr "Animation d'ouverture de fenêtre"
|
||||||
|
|
||||||
|
#: 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 "Si plusieurs effets sont sélectionnés, un est choisi au hasard."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
|
||||||
|
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
|
||||||
|
msgid "Choose Effects"
|
||||||
|
msgstr "Choisir les effets"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
|
||||||
|
msgid "Close Window Animation"
|
||||||
|
msgstr "Animation de fermeture de fenêtre"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
|
||||||
|
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 "Intensité du tournoiement"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr "Intensité de la secousse"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr "Intensité de la succion"
|
||||||
|
|
||||||
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
|
msgid "Choose a Preset"
|
||||||
|
msgstr "Sélectionner un préréglage"
|
||||||
|
|
||||||
|
#~ msgid "Via PayPal"
|
||||||
|
#~ msgstr "Via PayPal"
|
||||||
|
|
||||||
|
#~ msgid "Via GitHub"
|
||||||
|
#~ msgstr "Via GitHub"
|
||||||
@@ -0,0 +1,369 @@
|
|||||||
|
# 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-04-16 11:14+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"
|
||||||
|
"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 "Opzioni effetto"
|
||||||
|
|
||||||
|
#: prefs.js:140
|
||||||
|
msgid "Go Back"
|
||||||
|
msgstr "Indietro"
|
||||||
|
|
||||||
|
#: prefs.js:182
|
||||||
|
msgid "General Options"
|
||||||
|
msgstr "Opzioni generali"
|
||||||
|
|
||||||
|
#: prefs.js:276
|
||||||
|
msgid "Gold Sponsors"
|
||||||
|
msgstr "Sponsor d'oro"
|
||||||
|
|
||||||
|
#: prefs.js:279
|
||||||
|
msgid "Silver Sponsors"
|
||||||
|
msgstr "Sponsor d'argento"
|
||||||
|
|
||||||
|
#: prefs.js:282
|
||||||
|
msgid "Bronze Sponsors"
|
||||||
|
msgstr "Sponsor di bronzo"
|
||||||
|
|
||||||
|
#: prefs.js:285
|
||||||
|
msgid "Past Sponsors"
|
||||||
|
msgstr "Sponsor passati"
|
||||||
|
|
||||||
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
|
#: prefs.js:510
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Preview for %s"
|
||||||
|
msgstr "Anteprima per %s"
|
||||||
|
|
||||||
|
#: prefs.js:532
|
||||||
|
msgid "Close this Window to Preview the Effect!"
|
||||||
|
msgstr "Chiudi questa finestra per visualizzare in anteprima l'effetto!"
|
||||||
|
|
||||||
|
#: src/BrokenGlass.js:57
|
||||||
|
msgid "Broken Glass"
|
||||||
|
msgstr "Vetro rotto"
|
||||||
|
|
||||||
|
#: src/TVEffect.js:56
|
||||||
|
msgid "TV Effect"
|
||||||
|
msgstr "Effetto TV"
|
||||||
|
|
||||||
|
#: src/TRexAttack.js:56
|
||||||
|
msgid "T-Rex Attack"
|
||||||
|
msgstr "Attacco T-Rex"
|
||||||
|
|
||||||
|
#: src/SnapOfDisintegration.js:60
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr "Scatto di disintegrazione"
|
||||||
|
|
||||||
|
#: src/Wisps.js:55
|
||||||
|
msgid "Wisps"
|
||||||
|
msgstr "Scintille"
|
||||||
|
|
||||||
|
#: src/Fire.js:58
|
||||||
|
msgid "Fire"
|
||||||
|
msgstr "Fuoco"
|
||||||
|
|
||||||
|
#: src/Fire.js:130
|
||||||
|
msgid "Default Fire"
|
||||||
|
msgstr "Fuoco predefinito"
|
||||||
|
|
||||||
|
#: src/Fire.js:140
|
||||||
|
msgid "Hell Fire"
|
||||||
|
msgstr "Fuoco Infernale"
|
||||||
|
|
||||||
|
#: src/Fire.js:150
|
||||||
|
msgid "Dark and Smutty"
|
||||||
|
msgstr "Scuro e Tenebroso"
|
||||||
|
|
||||||
|
#: src/Fire.js:160
|
||||||
|
msgid "Cold Breeze"
|
||||||
|
msgstr "Brezza Fredda"
|
||||||
|
|
||||||
|
#: src/Fire.js:170
|
||||||
|
msgid "Santa is Coming"
|
||||||
|
msgstr "Babbo Natale sta arrivando"
|
||||||
|
|
||||||
|
#: src/Hexagon.js:53
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "Esagono"
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:54
|
||||||
|
msgid "Energize A"
|
||||||
|
msgstr "Energia A"
|
||||||
|
|
||||||
|
#: src/Apparition.js:57
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr "Apparizione"
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:54
|
||||||
|
msgid "Energize B"
|
||||||
|
msgstr "Energia B"
|
||||||
|
|
||||||
|
#: src/Matrix.js:58
|
||||||
|
msgid "Matrix"
|
||||||
|
msgstr "Matrix"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:6
|
||||||
|
msgid "Visit Homepage"
|
||||||
|
msgstr "Visita la home page"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:10
|
||||||
|
msgid "View Changelog"
|
||||||
|
msgstr "Visualizza Changelog"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:16
|
||||||
|
msgid "Report a Bug"
|
||||||
|
msgstr "Segnala un bug"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:20
|
||||||
|
msgid "Create an Effect"
|
||||||
|
msgstr "Crea un effetto"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:24
|
||||||
|
msgid "Translate"
|
||||||
|
msgstr "Traduci"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:28
|
||||||
|
msgid "Donate"
|
||||||
|
msgstr "Donare"
|
||||||
|
|
||||||
|
#: 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/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 "Tempo animazione [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 "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/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/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
|
msgid "Randomness"
|
||||||
|
msgstr "Casuale"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:162
|
||||||
|
msgid "Vertical Overshooting"
|
||||||
|
msgstr "Sovrapposizione Verticale"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:208
|
||||||
|
msgid "Trail Color"
|
||||||
|
msgstr "Colore della pista"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:242
|
||||||
|
msgid "Tip Color"
|
||||||
|
msgstr "Colore della Punta"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:116
|
||||||
|
msgid "Gravity"
|
||||||
|
msgstr "Gravità"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:162
|
||||||
|
msgid "Blow Force"
|
||||||
|
msgstr "Forza Esplosiva"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:212
|
||||||
|
msgid "Shatter From Pointer Location"
|
||||||
|
msgstr "Frammento dalla posizione del puntatore"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:221
|
||||||
|
msgid ""
|
||||||
|
"The shards will fly away from where your mouse pointer was when closing the "
|
||||||
|
"window."
|
||||||
|
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/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"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
|
||||||
|
msgid "Presets"
|
||||||
|
msgstr "Preimpostazioni"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "Velocità"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
||||||
|
msgid "3D Noise"
|
||||||
|
msgstr "Rumore 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 "Crea un fuoco più dinamico ma richiede più potenza della GPU."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||||
|
msgid "Gradient"
|
||||||
|
msgstr "Gradiente"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
|
msgid "Claw Scratch Scale"
|
||||||
|
msgstr "Scala ad Artiglio"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||||
|
msgid "Claw Scratch Count"
|
||||||
|
msgstr "Numero di colpi"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
|
msgid "Warp Effect"
|
||||||
|
msgstr "Effetto Distorsione"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:208
|
||||||
|
msgid "Flash Color"
|
||||||
|
msgstr "Colore Flash"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||||
|
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 "Larghezza linea mesh"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr "Colore della linea"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr "Colore bagliore"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr "Miscelazione aggiuntiva"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr "Potresti abilitarlo per i temi delle finestre scure."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
|
msgstr "Benvenuto in 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 "Se ti piace questa estensione, consigliala ai tuoi amici :)"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
||||||
|
msgid "Open Window Animation"
|
||||||
|
msgstr "Animazione all'apertura della finestra"
|
||||||
|
|
||||||
|
#: 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 "Se ne vengono selezionati multipli, uno viene scelto a caso."
|
||||||
|
|
||||||
|
#: 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 "Scegli Effetti"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
|
||||||
|
msgid "Close Window Animation"
|
||||||
|
msgstr "Animazione alla chiusura della finestra"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
|
||||||
|
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 "Intensità di rotazione"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr "Intensità di scuotimento"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr "Intensità di aspirazione"
|
||||||
|
|
||||||
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
|
msgid "Choose a Preset"
|
||||||
|
msgstr "Scegli un predefinito"
|
||||||
|
|
||||||
|
#~ msgid "Via PayPal"
|
||||||
|
#~ msgstr "Tramite PayPal"
|
||||||
|
|
||||||
|
#~ msgid "Via GitHub"
|
||||||
|
#~ msgstr "Tramite GitHub"
|
||||||
@@ -0,0 +1,361 @@
|
|||||||
|
# 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-05-21 10:15+0000\n"
|
||||||
|
"Last-Translator: Seong-ho Cho <darkcircle.0426@gmail.com>\n"
|
||||||
|
"Language-Team: Korean <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
|
"core/ko/>\n"
|
||||||
|
"Language: ko\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
"X-Generator: Weblate 4.13-dev\n"
|
||||||
|
|
||||||
|
#: prefs.js: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 "TV 효과"
|
||||||
|
|
||||||
|
#: 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 "애니메이션 시간 [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 "기본값으로 초기화"
|
||||||
|
|
||||||
|
#: 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 "3차원 잡티"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
|
||||||
|
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||||
|
msgstr "좀 더 역동적인 화염을 만들지만 더 많은 GPU 성능이 필요합니다."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||||
|
msgid "Gradient"
|
||||||
|
msgstr "그레디언트"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
|
msgid "Claw Scratch Scale"
|
||||||
|
msgstr "발톱 자국 크기 비율"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||||
|
msgid "Claw Scratch Count"
|
||||||
|
msgstr "발톱 자국 갯수"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
|
msgid "Warp Effect"
|
||||||
|
msgstr "왜곡 효과"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:208
|
||||||
|
msgid "Flash Color"
|
||||||
|
msgstr "번쩍임 색상"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||||
|
msgid "Preview this Effect"
|
||||||
|
msgstr "이 효과 미리 보기"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr "도형 선 굵기"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr "선 색상"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr "불빛 색상"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr "혼합 효과"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr "어두운 창 테마에서 사용하시면 좋습니다."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
|
msgstr "Burn-My-Windows 사용을 환영해요!"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
|
||||||
|
msgid "If you like this extension, recommend it to your friends :)"
|
||||||
|
msgstr "이 확장이 맘에 든다면 친구에게 추천해주세요 :)"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
||||||
|
msgid "Open Window Animation"
|
||||||
|
msgstr "창 열기 애니메이션"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
|
||||||
|
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
|
||||||
|
msgid "If multiple are selected, one is chosen randomly."
|
||||||
|
msgstr "여러 항목을 선택하면 그 중 하나를 임의로 선택합니다."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
|
||||||
|
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
|
||||||
|
msgid "Choose Effects"
|
||||||
|
msgstr "효과 선택"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
|
||||||
|
msgid "Close Window Animation"
|
||||||
|
msgstr "창 닫기 애니메이션"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
|
||||||
|
msgid "Also Add Effects to Dialogs"
|
||||||
|
msgstr "대화상자에도 효과 추가"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/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,369 @@
|
|||||||
|
# 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-04-11 12:07+0000\n"
|
||||||
|
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
|
||||||
|
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
|
||||||
|
"burn-my-windows/core/nb_NO/>\n"
|
||||||
|
"Language: nb_NO\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 "Effektalternativer"
|
||||||
|
|
||||||
|
#: prefs.js:140
|
||||||
|
msgid "Go Back"
|
||||||
|
msgstr "Gå tilbake"
|
||||||
|
|
||||||
|
#: prefs.js:182
|
||||||
|
msgid "General Options"
|
||||||
|
msgstr "Generelle innstillinger"
|
||||||
|
|
||||||
|
#: prefs.js:276
|
||||||
|
msgid "Gold Sponsors"
|
||||||
|
msgstr "Gullsponsorer"
|
||||||
|
|
||||||
|
#: prefs.js:279
|
||||||
|
msgid "Silver Sponsors"
|
||||||
|
msgstr "Sølvsponsorer"
|
||||||
|
|
||||||
|
#: prefs.js:282
|
||||||
|
msgid "Bronze Sponsors"
|
||||||
|
msgstr "Bronsesponsorer"
|
||||||
|
|
||||||
|
#: prefs.js:285
|
||||||
|
msgid "Past Sponsors"
|
||||||
|
msgstr "Tidligere sponsorer"
|
||||||
|
|
||||||
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
|
#: prefs.js:510
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Preview for %s"
|
||||||
|
msgstr "Forhåndsvisning for %s"
|
||||||
|
|
||||||
|
#: prefs.js:532
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Close this Window to Preview the Effect!"
|
||||||
|
msgstr "Lukk dette vinduet for å forhåndsvise effekten"
|
||||||
|
|
||||||
|
#: src/BrokenGlass.js:57
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Broken Glass"
|
||||||
|
msgstr "Knust glass"
|
||||||
|
|
||||||
|
#: src/TVEffect.js:56
|
||||||
|
msgid "TV Effect"
|
||||||
|
msgstr "TV-effekt"
|
||||||
|
|
||||||
|
#: src/TRexAttack.js:56
|
||||||
|
msgid "T-Rex Attack"
|
||||||
|
msgstr "T-rex-angrep"
|
||||||
|
|
||||||
|
#: src/SnapOfDisintegration.js:60
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Wisps.js:55
|
||||||
|
msgid "Wisps"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Fire.js:58
|
||||||
|
msgid "Fire"
|
||||||
|
msgstr "Brann"
|
||||||
|
|
||||||
|
#: src/Fire.js:130
|
||||||
|
msgid "Default Fire"
|
||||||
|
msgstr "Forvalgt brann"
|
||||||
|
|
||||||
|
#: 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 "Kald bris"
|
||||||
|
|
||||||
|
#: src/Fire.js:170
|
||||||
|
msgid "Santa is Coming"
|
||||||
|
msgstr "Julenissen kommer"
|
||||||
|
|
||||||
|
#: src/Hexagon.js:53
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "Heksagon"
|
||||||
|
|
||||||
|
#: 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 "Besøk hjemmesiden"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:10
|
||||||
|
msgid "View Changelog"
|
||||||
|
msgstr "Vis endringslogg"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:16
|
||||||
|
msgid "Report a Bug"
|
||||||
|
msgstr "Rapporter en feil"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:20
|
||||||
|
msgid "Create an Effect"
|
||||||
|
msgstr "Opprett en effekt"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:24
|
||||||
|
msgid "Translate"
|
||||||
|
msgstr "Oversett"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:28
|
||||||
|
msgid "Donate"
|
||||||
|
msgstr "Doner"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:41
|
||||||
|
msgid "About Burn-My-Windows"
|
||||||
|
msgstr "Om"
|
||||||
|
|
||||||
|
#: 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 "Animasjonstid [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 "Tilbakestill til forvalgt verdi"
|
||||||
|
|
||||||
|
#: 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 "Størrelse"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
|
msgid "Randomness"
|
||||||
|
msgstr "Tilfeldighet"
|
||||||
|
|
||||||
|
#: 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 "Tyngdekraft"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:162
|
||||||
|
msgid "Blow Force"
|
||||||
|
msgstr "Slagkraft"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:212
|
||||||
|
msgid "Shatter From Pointer Location"
|
||||||
|
msgstr "Knus fra pekerposisjon"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:221
|
||||||
|
msgid ""
|
||||||
|
"The shards will fly away from where your mouse pointer was when closing the "
|
||||||
|
"window."
|
||||||
|
msgstr "Skårene flyr fra der musepekeren var da du lukket vinduet."
|
||||||
|
|
||||||
|
#: 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 "Farge"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
|
||||||
|
msgid "Presets"
|
||||||
|
msgstr "Forhåndsinnstillinger"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "Hastighet"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
||||||
|
msgid "3D Noise"
|
||||||
|
msgstr "3D-støy"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
|
||||||
|
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||||
|
msgstr "Mer dynamisk ild, men krever mer GPU-kraft."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||||
|
msgid "Gradient"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
|
msgid "Claw Scratch Scale"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||||
|
msgid "Claw Scratch Count"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
|
msgid "Warp Effect"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: 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 "Forhåndsvis denne effekten"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr "Linjefarge"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr "Glødefarge"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: 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 "Hvis du liker denne utvidelsen kan du anbefale den til vennene dine :)"
|
||||||
|
|
||||||
|
#: 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 "Hvis flere blir valgt, velges én tilfeldig."
|
||||||
|
|
||||||
|
#: 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 "Velg effekter"
|
||||||
|
|
||||||
|
#: 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 "Hvirvelintensitet"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr "Ristingsintensitet"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr "Sugeintensitet"
|
||||||
|
|
||||||
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
|
msgid "Choose a Preset"
|
||||||
|
msgstr "Velg en forhåndsinnstilling"
|
||||||
|
|
||||||
|
#~ msgid "Via PayPal"
|
||||||
|
#~ msgstr "med PayPal"
|
||||||
|
|
||||||
|
#~ msgid "Via GitHub"
|
||||||
|
#~ msgstr "på GitHub"
|
||||||
@@ -0,0 +1,370 @@
|
|||||||
|
# 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-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"
|
||||||
|
"Language: nl\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 "Effectvoorkeuren"
|
||||||
|
|
||||||
|
#: prefs.js:140
|
||||||
|
msgid "Go Back"
|
||||||
|
msgstr "Scherm sluiten"
|
||||||
|
|
||||||
|
#: prefs.js:182
|
||||||
|
msgid "General Options"
|
||||||
|
msgstr "Algemene voorkeuren"
|
||||||
|
|
||||||
|
#: prefs.js:276
|
||||||
|
msgid "Gold Sponsors"
|
||||||
|
msgstr "Gouden sponsoren"
|
||||||
|
|
||||||
|
#: prefs.js:279
|
||||||
|
msgid "Silver Sponsors"
|
||||||
|
msgstr "Zilveren sponsoren"
|
||||||
|
|
||||||
|
#: prefs.js:282
|
||||||
|
msgid "Bronze Sponsors"
|
||||||
|
msgstr "Bronzen sponsoren"
|
||||||
|
|
||||||
|
#: prefs.js:285
|
||||||
|
msgid "Past Sponsors"
|
||||||
|
msgstr "Voormalige sponsoren"
|
||||||
|
|
||||||
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
|
#: prefs.js:510
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Preview for %s"
|
||||||
|
msgstr "%s-voorvertoning"
|
||||||
|
|
||||||
|
#: prefs.js:532
|
||||||
|
msgid "Close this Window to Preview the Effect!"
|
||||||
|
msgstr "Sluit dit venster om het effect voor te vertonen."
|
||||||
|
|
||||||
|
#: src/BrokenGlass.js:57
|
||||||
|
msgid "Broken Glass"
|
||||||
|
msgstr "Gebroken glas"
|
||||||
|
|
||||||
|
#: src/TVEffect.js:56
|
||||||
|
msgid "TV Effect"
|
||||||
|
msgstr "Tv-effect"
|
||||||
|
|
||||||
|
#: src/TRexAttack.js:56
|
||||||
|
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"
|
||||||
|
|
||||||
|
#: src/Fire.js:58
|
||||||
|
msgid "Fire"
|
||||||
|
msgstr "Vuur"
|
||||||
|
|
||||||
|
#: src/Fire.js:130
|
||||||
|
msgid "Default Fire"
|
||||||
|
msgstr "Normaal vuur"
|
||||||
|
|
||||||
|
#: src/Fire.js:140
|
||||||
|
msgid "Hell Fire"
|
||||||
|
msgstr "Hellevuur"
|
||||||
|
|
||||||
|
#: src/Fire.js:150
|
||||||
|
msgid "Dark and Smutty"
|
||||||
|
msgstr "Donker en zwart"
|
||||||
|
|
||||||
|
#: src/Fire.js:160
|
||||||
|
msgid "Cold Breeze"
|
||||||
|
msgstr "Koude wind"
|
||||||
|
|
||||||
|
#: src/Fire.js:170
|
||||||
|
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"
|
||||||
|
|
||||||
|
#: src/Matrix.js:58
|
||||||
|
msgid "Matrix"
|
||||||
|
msgstr "Matrix"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:6
|
||||||
|
msgid "Visit Homepage"
|
||||||
|
msgstr "Website openen"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:10
|
||||||
|
msgid "View Changelog"
|
||||||
|
msgstr "Wijzigingslog bekijken"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:16
|
||||||
|
msgid "Report a Bug"
|
||||||
|
msgstr "Bug melden"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:20
|
||||||
|
msgid "Create an Effect"
|
||||||
|
msgstr "Effect creëren"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:24
|
||||||
|
msgid "Translate"
|
||||||
|
msgstr "Vertalen"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:28
|
||||||
|
msgid "Donate"
|
||||||
|
msgstr "Doneren"
|
||||||
|
|
||||||
|
#: 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/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 "Animatieduur [in 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 "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/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/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
|
msgid "Randomness"
|
||||||
|
msgstr "Willekeurigheid"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:162
|
||||||
|
msgid "Vertical Overshooting"
|
||||||
|
msgstr "Verticale verspringing"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:208
|
||||||
|
msgid "Trail Color"
|
||||||
|
msgstr "Sleepspoorkleur"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:242
|
||||||
|
msgid "Tip Color"
|
||||||
|
msgstr "Piekkleur"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:116
|
||||||
|
msgid "Gravity"
|
||||||
|
msgstr "Zwaartekracht"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:162
|
||||||
|
msgid "Blow Force"
|
||||||
|
msgstr "Windkracht"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:212
|
||||||
|
msgid "Shatter From Pointer Location"
|
||||||
|
msgstr "Uiteenvallen bij cursorpositie"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:221
|
||||||
|
msgid ""
|
||||||
|
"The shards will fly away from where your mouse pointer was when closing the "
|
||||||
|
"window."
|
||||||
|
msgstr ""
|
||||||
|
"De stukken vliegen weg vanaf de cursorpositie na het sluiten van een venster."
|
||||||
|
|
||||||
|
#: 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"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
|
||||||
|
msgid "Presets"
|
||||||
|
msgstr "Voorinstellingen"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "Snelheid"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
||||||
|
msgid "3D Noise"
|
||||||
|
msgstr "3D-ruis"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
|
||||||
|
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||||
|
msgstr "Zorgt voor een speels vuur, maar vereist meer computerkracht."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||||
|
msgid "Gradient"
|
||||||
|
msgstr "Verloop"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
|
msgid "Claw Scratch Scale"
|
||||||
|
msgstr "Schaal van pootkrabben"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||||
|
msgid "Claw Scratch Count"
|
||||||
|
msgstr "Aantal pootkrabben"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
|
msgid "Warp Effect"
|
||||||
|
msgstr "Vervormingseffect"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:208
|
||||||
|
msgid "Flash Color"
|
||||||
|
msgstr "Flitskleur"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||||
|
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’!"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
|
||||||
|
msgid "If you like this extension, recommend it to your friends :)"
|
||||||
|
msgstr ""
|
||||||
|
"Als u deze uitbreiding leuk vindt, deel hem dan met vrienden en kennissen. :)"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
||||||
|
msgid "Open Window Animation"
|
||||||
|
msgstr "Animatie bij openen van vensters"
|
||||||
|
|
||||||
|
#: 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 ""
|
||||||
|
"Als er meerdere effecten zijn geselecteerd, dan wordt er willekeurig gekozen."
|
||||||
|
|
||||||
|
#: 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 "Kies de effecten"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
|
||||||
|
msgid "Close Window Animation"
|
||||||
|
msgstr "Animatie bij sluiten van vensters"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
|
||||||
|
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"
|
||||||
|
|
||||||
|
#~ msgid "Via PayPal"
|
||||||
|
#~ msgstr "Via PayPal"
|
||||||
|
|
||||||
|
#~ msgid "Via GitHub"
|
||||||
|
#~ msgstr "Via GitHub"
|
||||||
@@ -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-04-13 13:09+0000\n"
|
||||||
|
"Last-Translator: Егор Ермаков <eg.ermakov2016@gmail.com>\n"
|
||||||
|
"Language-Team: Russian <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
|
"core/ru/>\n"
|
||||||
|
"Language: ru\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||||
|
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||||
|
"X-Generator: Weblate 4.12-dev\n"
|
||||||
|
|
||||||
|
#: prefs.js: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-05-11 12:17+0000\n"
|
||||||
|
"Last-Translator: obslsessed <obslsessed@duck.com>\n"
|
||||||
|
"Language-Team: Swedish <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
|
"core/sv/>\n"
|
||||||
|
"Language: sv\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 4.12.1\n"
|
||||||
|
|
||||||
|
#: prefs.js:112
|
||||||
|
msgid "Effect Options"
|
||||||
|
msgstr "Effektalternativ"
|
||||||
|
|
||||||
|
#: prefs.js:140
|
||||||
|
msgid "Go Back"
|
||||||
|
msgstr "Gå tillbaka"
|
||||||
|
|
||||||
|
#: prefs.js:182
|
||||||
|
msgid "General Options"
|
||||||
|
msgstr "Generella alternativ"
|
||||||
|
|
||||||
|
#: prefs.js:276
|
||||||
|
msgid "Gold Sponsors"
|
||||||
|
msgstr "Guldsponsorer"
|
||||||
|
|
||||||
|
#: prefs.js:279
|
||||||
|
msgid "Silver Sponsors"
|
||||||
|
msgstr "Silversponsorer"
|
||||||
|
|
||||||
|
#: prefs.js:282
|
||||||
|
msgid "Bronze Sponsors"
|
||||||
|
msgstr "Bronssponsorer"
|
||||||
|
|
||||||
|
#: prefs.js:285
|
||||||
|
msgid "Past Sponsors"
|
||||||
|
msgstr "Sponsorer från förr"
|
||||||
|
|
||||||
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
|
#: prefs.js:510
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Preview for %s"
|
||||||
|
msgstr "Förhandsgranskning för %s"
|
||||||
|
|
||||||
|
#: prefs.js:532
|
||||||
|
msgid "Close this Window to Preview the Effect!"
|
||||||
|
msgstr "Stäng det här fönstret för att förhandsgranska effekten!"
|
||||||
|
|
||||||
|
#: src/BrokenGlass.js:57
|
||||||
|
msgid "Broken Glass"
|
||||||
|
msgstr "Trasigt glas"
|
||||||
|
|
||||||
|
#: src/TVEffect.js:56
|
||||||
|
msgid "TV Effect"
|
||||||
|
msgstr "TV-effekt"
|
||||||
|
|
||||||
|
#: src/TRexAttack.js:56
|
||||||
|
msgid "T-Rex Attack"
|
||||||
|
msgstr "T-Rexattack"
|
||||||
|
|
||||||
|
#: src/SnapOfDisintegration.js:60
|
||||||
|
msgid "Snap of Disintegration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Wisps.js:55
|
||||||
|
msgid "Wisps"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Fire.js:58
|
||||||
|
msgid "Fire"
|
||||||
|
msgstr "Eld"
|
||||||
|
|
||||||
|
#: src/Fire.js:130
|
||||||
|
msgid "Default Fire"
|
||||||
|
msgstr "Standardeld"
|
||||||
|
|
||||||
|
#: src/Fire.js:140
|
||||||
|
msgid "Hell Fire"
|
||||||
|
msgstr "Helveteseld"
|
||||||
|
|
||||||
|
#: src/Fire.js:150
|
||||||
|
msgid "Dark and Smutty"
|
||||||
|
msgstr "Mörk och smutsig"
|
||||||
|
|
||||||
|
#: src/Fire.js:160
|
||||||
|
msgid "Cold Breeze"
|
||||||
|
msgstr "Kall bris"
|
||||||
|
|
||||||
|
#: src/Fire.js:170
|
||||||
|
msgid "Santa is Coming"
|
||||||
|
msgstr "Jultomten kommer"
|
||||||
|
|
||||||
|
#: src/Hexagon.js:53
|
||||||
|
msgid "Hexagon"
|
||||||
|
msgstr "Sexhörning"
|
||||||
|
|
||||||
|
#: src/EnergizeA.js:54
|
||||||
|
msgid "Energize A"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Apparition.js:57
|
||||||
|
msgid "Apparition"
|
||||||
|
msgstr "Uppenbarelse"
|
||||||
|
|
||||||
|
#: src/EnergizeB.js:54
|
||||||
|
msgid "Energize B"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Matrix.js:58
|
||||||
|
msgid "Matrix"
|
||||||
|
msgstr "Matris"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:6
|
||||||
|
msgid "Visit Homepage"
|
||||||
|
msgstr "Besök hemsida"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:10
|
||||||
|
msgid "View Changelog"
|
||||||
|
msgstr "Visa ändringslogg"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:16
|
||||||
|
msgid "Report a Bug"
|
||||||
|
msgstr "Rapportera en bugg"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:20
|
||||||
|
msgid "Create an Effect"
|
||||||
|
msgstr "Skapa en effekt"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:24
|
||||||
|
msgid "Translate"
|
||||||
|
msgstr "Översätt"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:28
|
||||||
|
msgid "Donate"
|
||||||
|
msgstr "Donera"
|
||||||
|
|
||||||
|
#: resources/ui/common/main-menu.ui:41
|
||||||
|
msgid "About Burn-My-Windows"
|
||||||
|
msgstr "Om Bränn-mitt-Windows"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:24 resources/ui/gtk4/BrokenGlass.ui:24
|
||||||
|
#: resources/ui/gtk4/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 "Animationens tid [ms]"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:52 resources/ui/gtk4/Matrix.ui:98
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:144 resources/ui/gtk4/Matrix.ui:190
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:224 resources/ui/gtk4/Matrix.ui:258
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:52 resources/ui/gtk4/BrokenGlass.ui:98
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:144 resources/ui/gtk4/BrokenGlass.ui:190
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:244 resources/ui/gtk4/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 "Återställ till standardvärde"
|
||||||
|
|
||||||
|
#: 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 "Skala"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:116 resources/ui/gtk4/Apparition.ui:70
|
||||||
|
#: resources/ui/gtk3/Apparition.ui:112
|
||||||
|
msgid "Randomness"
|
||||||
|
msgstr "Slumpmässighet"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:162
|
||||||
|
msgid "Vertical Overshooting"
|
||||||
|
msgstr "Vertikal överskjutning"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:208
|
||||||
|
msgid "Trail Color"
|
||||||
|
msgstr "Spårets färg"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Matrix.ui:242
|
||||||
|
msgid "Tip Color"
|
||||||
|
msgstr "Färg på dricksen"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:116
|
||||||
|
msgid "Gravity"
|
||||||
|
msgstr "Tyngdkraft"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:162
|
||||||
|
msgid "Blow Force"
|
||||||
|
msgstr "Blåskraft"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:212
|
||||||
|
msgid "Shatter From Pointer Location"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/BrokenGlass.ui:221
|
||||||
|
msgid ""
|
||||||
|
"The shards will fly away from where your mouse pointer was when closing the "
|
||||||
|
"window."
|
||||||
|
msgstr ""
|
||||||
|
"Skärvorna kommer att flyga iväg från där din muspekare befann sig när rutan "
|
||||||
|
"stängdes."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/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 "Färg"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:25 resources/ui/gtk3/Fire.ui:49
|
||||||
|
msgid "Presets"
|
||||||
|
msgstr "Förinställningar"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:141 resources/ui/gtk3/Fire.ui:189
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "Hastighet"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:191 resources/ui/gtk3/Fire.ui:241
|
||||||
|
msgid "3D Noise"
|
||||||
|
msgstr "3D-ljud"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:200 resources/ui/gtk3/Fire.ui:250
|
||||||
|
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||||
|
msgstr "Skapar en mer dynamisk eld, men kräver mer GPU-kraft."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||||
|
msgid "Gradient"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
|
msgid "Claw Scratch Scale"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:116
|
||||||
|
msgid "Claw Scratch Count"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:162
|
||||||
|
msgid "Warp Effect"
|
||||||
|
msgstr "Warp-effekt"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:208
|
||||||
|
msgid "Flash Color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/effectPage.ui:37 resources/ui/gtk3/effectPage.ui:37
|
||||||
|
msgid "Preview this Effect"
|
||||||
|
msgstr "Förhandsgranska den här effekten"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:116 resources/ui/gtk3/Hexagon.ui:147
|
||||||
|
msgid "Mesh Line Width"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:162 resources/ui/gtk3/Hexagon.ui:195
|
||||||
|
msgid "Line Color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr "Tillsatsblandning"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr "Du kan behöva aktivera det här för mörka fönsterteman."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
|
msgid "Welcome to Burn-My-Windows!"
|
||||||
|
msgstr "Välkommen till Bränn-mitt-Windows!"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:39 resources/ui/gtk3/prefs.ui:46
|
||||||
|
msgid "If you like this extension, recommend it to your friends :)"
|
||||||
|
msgstr "Rekommendera det här tillägget till dina vänner om du gillar det :)"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:66 resources/ui/gtk3/prefs.ui:74
|
||||||
|
msgid "Open Window Animation"
|
||||||
|
msgstr "Öppna fönsteranimation"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:75 resources/ui/gtk4/prefs.ui:119
|
||||||
|
#: resources/ui/gtk3/prefs.ui:83 resources/ui/gtk3/prefs.ui:147
|
||||||
|
msgid "If multiple are selected, one is chosen randomly."
|
||||||
|
msgstr "Om flera val är gjorda så väljs ett slumpvist."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:90 resources/ui/gtk4/prefs.ui:134
|
||||||
|
#: resources/ui/gtk3/prefs.ui:104 resources/ui/gtk3/prefs.ui:168
|
||||||
|
msgid "Choose Effects"
|
||||||
|
msgstr "Välj effekter"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:110 resources/ui/gtk3/prefs.ui:138
|
||||||
|
msgid "Close Window Animation"
|
||||||
|
msgstr "Stäng fönsteranimation"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:150 resources/ui/gtk3/prefs.ui:198
|
||||||
|
msgid "Also Add Effects to Dialogs"
|
||||||
|
msgstr "Lägg också till effekter till dialogrutor"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:116 resources/ui/gtk3/Apparition.ui:161
|
||||||
|
msgid "Twirl Intensity"
|
||||||
|
msgstr "Virvelns intensitet"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:162 resources/ui/gtk3/Apparition.ui:210
|
||||||
|
msgid "Shake Intensity"
|
||||||
|
msgstr "Skakningens intensitet"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Apparition.ui:208 resources/ui/gtk3/Apparition.ui:259
|
||||||
|
msgid "Suction Intensity"
|
||||||
|
msgstr "Sugningens intensitet"
|
||||||
|
|
||||||
|
#: resources/ui/gtk3/Fire.ui:63
|
||||||
|
msgid "Choose a Preset"
|
||||||
|
msgstr "Välj en förinställning"
|
||||||
@@ -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-05-11 12:17+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.1\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 "Altıgen"
|
||||||
|
|
||||||
|
#: 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 "Çözgü Etkisi"
|
||||||
|
|
||||||
|
#: 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 "Çizgi rengi"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:196 resources/ui/gtk3/Hexagon.ui:238
|
||||||
|
msgid "Glow Color"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:234 resources/ui/gtk3/Hexagon.ui:285
|
||||||
|
msgid "Additive Blending"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Hexagon.ui:243 resources/ui/gtk3/Hexagon.ui:294
|
||||||
|
msgid "You may want to enable this for dark window themes."
|
||||||
|
msgstr "Bunu koyu temalı pencereler için etkinleştirmek isteyebilirsiniz."
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/prefs.ui:28 resources/ui/gtk3/prefs.ui:35
|
||||||
|
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,368 @@
|
|||||||
|
# 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-04-08 07:11+0000\n"
|
||||||
|
"Last-Translator: merelymyself <poonsters6@gmail.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.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
|
||||||
|
#, fuzzy
|
||||||
|
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
|
||||||
|
#, fuzzy
|
||||||
|
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
|
||||||
|
#, fuzzy
|
||||||
|
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
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||||
|
msgstr "火会更像真但显卡功耗会增加。"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/Fire.ui:240 resources/ui/gtk3/Fire.ui:300
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Gradient"
|
||||||
|
msgstr "渐变"
|
||||||
|
|
||||||
|
#: resources/ui/gtk4/TRexAttack.ui:70
|
||||||
|
#, fuzzy
|
||||||
|
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
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Choose a Preset"
|
||||||
|
msgstr "选一个预设配置"
|
||||||
@@ -13,96 +13,333 @@
|
|||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const {Gio, Gtk, Gdk} = imports.gi;
|
const {Gio, Gtk, Gdk, GLib, GObject} = imports.gi;
|
||||||
|
const ByteArray = imports.byteArray;
|
||||||
|
|
||||||
|
// libadwaita is available starting with GNOME Shell 42.
|
||||||
|
let Adw = null;
|
||||||
|
try {
|
||||||
|
Adw = imports.gi.Adw;
|
||||||
|
} catch (e) {
|
||||||
|
// Nothing to do.
|
||||||
|
}
|
||||||
|
|
||||||
|
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
||||||
const utils = Me.imports.src.common.utils;
|
const utils = Me.imports.src.utils;
|
||||||
|
|
||||||
|
// This template widget class is defined at the bottom of this file.
|
||||||
|
var BurnMyWindowsEffectPage = null;
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// For now, the preferences dialog of this extension is very simple. In the future, if //
|
// The preferences dialog is organized in pages, each of which is loaded from a //
|
||||||
// we might consider to improve its layout... //
|
// separate ui file. There's one page with general options, all other paged are loaded //
|
||||||
|
// from the respective effects. //
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
var PreferencesDialog = class PreferencesDialog {
|
var PreferencesDialog = class PreferencesDialog {
|
||||||
|
|
||||||
// ------------------------------------------------------------ constructor / destructor
|
// ------------------------------------------------------------ constructor / destructor
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
|
|
||||||
|
// New effects must be registered here and in extension.js.
|
||||||
|
this._ALL_EFFECTS = [
|
||||||
|
new Me.imports.src.Apparition.Apparition(),
|
||||||
|
new Me.imports.src.BrokenGlass.BrokenGlass(),
|
||||||
|
new Me.imports.src.EnergizeA.EnergizeA(),
|
||||||
|
new Me.imports.src.EnergizeB.EnergizeB(),
|
||||||
|
new Me.imports.src.Fire.Fire(),
|
||||||
|
new Me.imports.src.Hexagon.Hexagon(),
|
||||||
|
new Me.imports.src.Matrix.Matrix(),
|
||||||
|
new Me.imports.src.SnapOfDisintegration.SnapOfDisintegration(),
|
||||||
|
new Me.imports.src.TRexAttack.TRexAttack(),
|
||||||
|
new Me.imports.src.TVEffect.TVEffect(),
|
||||||
|
new Me.imports.src.Wisps.Wisps(),
|
||||||
|
];
|
||||||
|
|
||||||
// Load all of our resources.
|
// Load all of our resources.
|
||||||
this._resources = Gio.Resource.load(Me.path + '/resources/burn-my-windows.gresource');
|
this._resources = Gio.Resource.load(Me.path + '/resources/burn-my-windows.gresource');
|
||||||
Gio.resources_register(this._resources);
|
Gio.resources_register(this._resources);
|
||||||
|
|
||||||
// Load the user interface file.
|
// Load the CSS file for the settings dialog.
|
||||||
this._builder = new Gtk.Builder();
|
const styleProvider = Gtk.CssProvider.new();
|
||||||
this._builder.add_from_resource(`/ui/${utils.isGTK4() ? 'gtk4' : 'gtk3'}.ui`);
|
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);
|
||||||
|
} else {
|
||||||
|
Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(), styleProvider,
|
||||||
|
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||||
|
}
|
||||||
|
|
||||||
// This is our top-level widget which we will return later.
|
// Make sure custom icons are found.
|
||||||
this._widget = this._builder.get_object('settings-widget');
|
if (utils.isGTK4()) {
|
||||||
|
Gtk.IconTheme.get_for_display(Gdk.Display.get_default()).add_resource_path('/img');
|
||||||
|
} else {
|
||||||
|
Gtk.IconTheme.get_default().add_resource_path('/img');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Register the template widgets used in the settings dialog.
|
||||||
|
this._registerCustomClasses();
|
||||||
|
|
||||||
// Store a reference to the settings object.
|
// Store a reference to the settings object.
|
||||||
this._settings = ExtensionUtils.getSettings();
|
this._settings = ExtensionUtils.getSettings();
|
||||||
|
|
||||||
// Bind all properties.
|
// Load the general user interface files.
|
||||||
this._bindCombobox('close-animation');
|
this._builder = new Gtk.Builder();
|
||||||
this._bindAdjustment('destroy-animation-time');
|
this._builder.add_from_resource(`/ui/common/main-menu.ui`);
|
||||||
this._bindSwitch('destroy-dialogs');
|
this._builder.add_from_resource(`/ui/${utils.getGTKString()}/prefs.ui`);
|
||||||
this._bindAdjustment('flame-movement-speed');
|
|
||||||
this._bindAdjustment('flame-scale');
|
|
||||||
this._bindColorButton('fire-color-1');
|
|
||||||
this._bindColorButton('fire-color-2');
|
|
||||||
this._bindColorButton('fire-color-3');
|
|
||||||
this._bindColorButton('fire-color-4');
|
|
||||||
this._bindColorButton('fire-color-5');
|
|
||||||
this._bindAdjustment('matrix-scale');
|
|
||||||
this._bindAdjustment('matrix-randomness');
|
|
||||||
this._bindColorButton('matrix-trail-color');
|
|
||||||
this._bindColorButton('matrix-tip-color');
|
|
||||||
this._bindColorButton('tv-effect-color');
|
|
||||||
this._bindColorButton('claw-scratch-color');
|
|
||||||
this._bindAdjustment('claw-scratch-scale');
|
|
||||||
this._bindAdjustment('claw-scratch-count');
|
|
||||||
this._bindAdjustment('claw-scratch-warp');
|
|
||||||
|
|
||||||
// The fire-gradient-reset button needs to be bound explicitly.
|
// Bind general options properties.
|
||||||
this._builder.get_object('reset-fire-colors').connect('clicked', () => {
|
this.bindSwitch('destroy-dialogs');
|
||||||
this._settings.reset('fire-color-1');
|
|
||||||
this._settings.reset('fire-color-2');
|
|
||||||
this._settings.reset('fire-color-3');
|
// Starting with GNOME Shell 42, the settings dialog uses libadwaita (at least most of
|
||||||
this._settings.reset('fire-color-4');
|
// the time - it seems that pop!_OS does not support libadwaita even on GNOME 42). We
|
||||||
this._settings.reset('fire-color-5');
|
// have to use a different layout, as the stack sidebar looks pretty ugly with the
|
||||||
|
// included Adw.Clamp...
|
||||||
|
if (Adw && utils.shellVersionIsAtLeast(42, 'beta')) {
|
||||||
|
|
||||||
|
// This is our top-level widget which we will return later.
|
||||||
|
this._widget = new Gtk.Box({orientation: Gtk.Orientation.VERTICAL});
|
||||||
|
|
||||||
|
// Add the general options page to the settings dialog.
|
||||||
|
const generalPrefs = this._builder.get_object('general-prefs');
|
||||||
|
this.gtkBoxAppend(this._widget, generalPrefs);
|
||||||
|
|
||||||
|
// Then add a preferences group with action rows to open the effect subpages.
|
||||||
|
const group = new Adw.PreferencesGroup({title: _('Effect Options')});
|
||||||
|
this.gtkBoxAppend(this._widget, group);
|
||||||
|
|
||||||
|
this._ALL_EFFECTS.forEach(effect => {
|
||||||
|
const [minMajor, minMinor] = effect.getMinShellVersion();
|
||||||
|
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
|
||||||
|
|
||||||
|
const row = new Adw.ActionRow({title: effect.getLabel(), activatable: true});
|
||||||
|
row.add_suffix(new Gtk.Image({icon_name: 'go-next-symbolic'}));
|
||||||
|
|
||||||
|
// Open a subpage with the effect's settings.
|
||||||
|
row.connect('activated', () => {
|
||||||
|
const page = new BurnMyWindowsEffectPage(effect, this);
|
||||||
|
page.valign = Gtk.Align.CENTER;
|
||||||
|
page.margin_top = 10;
|
||||||
|
page.margin_bottom = 10;
|
||||||
|
page.margin_start = 10;
|
||||||
|
page.margin_end = 10;
|
||||||
|
|
||||||
|
// Add the effect's preferences (if any).
|
||||||
|
const preferences = effect.getPreferences(this);
|
||||||
|
if (preferences) {
|
||||||
|
this.gtkBoxAppend(page, preferences);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add a button for back navigation.
|
||||||
|
const backButton = new Gtk.Button({
|
||||||
|
halign: Gtk.Align.CENTER,
|
||||||
|
label: _('Go Back'),
|
||||||
|
});
|
||||||
|
backButton.add_css_class('suggested-action');
|
||||||
|
backButton.add_css_class('pill-button');
|
||||||
|
backButton.connect('clicked', () => {
|
||||||
|
row.get_root().close_subpage();
|
||||||
});
|
});
|
||||||
|
|
||||||
// Initialize the fire-preset dropdown.
|
this.gtkBoxAppend(page, backButton);
|
||||||
this._createFirePresets();
|
|
||||||
|
|
||||||
// Add a menu to the title bar of the preferences dialog.
|
// Wrap the preferences group in an Adw.Clamp.
|
||||||
|
const clamp = new Adw.Clamp({
|
||||||
|
child: page,
|
||||||
|
maximum_size: 600,
|
||||||
|
tightening_threshold: 400,
|
||||||
|
});
|
||||||
|
|
||||||
|
// Open the subpage on click.
|
||||||
|
row.get_root().present_subpage(clamp);
|
||||||
|
});
|
||||||
|
|
||||||
|
group.add(row);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
// On older GNOME versions, we use a StackSidebar.
|
||||||
|
else {
|
||||||
|
|
||||||
|
// This is our top-level widget which we will return later.
|
||||||
|
this._widget = new Gtk.Box({
|
||||||
|
orientation: Gtk.Orientation.HORIZONTAL,
|
||||||
|
});
|
||||||
|
|
||||||
|
const stack = new Gtk.Stack({
|
||||||
|
transition_type: Gtk.StackTransitionType.SLIDE_UP_DOWN,
|
||||||
|
});
|
||||||
|
|
||||||
|
// Add the general options page.
|
||||||
|
const generalPage = this._builder.get_object('general-prefs');
|
||||||
|
generalPage.margin_start = 60;
|
||||||
|
generalPage.margin_end = 60;
|
||||||
|
stack.add_titled(generalPage, 'general', _('General Options'));
|
||||||
|
|
||||||
|
this.gtkBoxAppend(this._widget, new Gtk.StackSidebar({stack: stack}));
|
||||||
|
this.gtkBoxAppend(this._widget, stack);
|
||||||
|
|
||||||
|
// Add all other effect pages.
|
||||||
|
this._ALL_EFFECTS.forEach(effect => {
|
||||||
|
const [minMajor, minMinor] = effect.getMinShellVersion();
|
||||||
|
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
|
||||||
|
|
||||||
|
const page = new BurnMyWindowsEffectPage(effect, this);
|
||||||
|
page.margin_start = 60;
|
||||||
|
page.margin_end = 60;
|
||||||
|
page.margin_top = 60;
|
||||||
|
page.margin_bottom = 60;
|
||||||
|
|
||||||
|
// Add the effect's preferences (if any).
|
||||||
|
const preferences = effect.getPreferences(this);
|
||||||
|
if (preferences) {
|
||||||
|
this.gtkBoxAppend(page, preferences);
|
||||||
|
}
|
||||||
|
|
||||||
|
stack.add_titled(page, effect.getNick(), effect.getLabel());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Some things can only be done once the widget is shown as we do not have access to
|
||||||
|
// the toplevel widget before.
|
||||||
this._widget.connect('realize', (widget) => {
|
this._widget.connect('realize', (widget) => {
|
||||||
const window = utils.isGTK4() ? widget.get_root() : widget.get_toplevel();
|
const window = utils.isGTK4() ? widget.get_root() : widget.get_toplevel();
|
||||||
|
|
||||||
// Show the version number in the title bar.
|
// Show the version number in the title bar.
|
||||||
window.set_title(`Burn-My-Windows ${Me.metadata.version}`);
|
window.set_title(`Burn-My-Windows ${Me.metadata.version}`);
|
||||||
|
|
||||||
// Add the menu.
|
// Add the main menu to the title bar.
|
||||||
|
{
|
||||||
|
// Add the menu button to the title bar.
|
||||||
const menu = this._builder.get_object('menu-button');
|
const menu = this._builder.get_object('menu-button');
|
||||||
|
|
||||||
|
// Starting with GNOME Shell 42, we have to hack our way through the widget tree
|
||||||
|
// of the Adw.PreferencesWindow...
|
||||||
|
if (Adw && utils.shellVersionIsAtLeast(42, 'beta')) {
|
||||||
|
const header = this._findWidgetByType(window.get_content(), Adw.HeaderBar);
|
||||||
|
header.pack_end(menu);
|
||||||
|
|
||||||
|
// Allow closing of the sub pages.
|
||||||
|
window.can_navigate_back = true;
|
||||||
|
} else {
|
||||||
window.get_titlebar().pack_end(menu);
|
window.get_titlebar().pack_end(menu);
|
||||||
|
}
|
||||||
|
|
||||||
// Populate the actions.
|
// Populate the menu with actions.
|
||||||
const group = Gio.SimpleActionGroup.new();
|
const group = Gio.SimpleActionGroup.new();
|
||||||
|
window.insert_action_group('prefs', group);
|
||||||
|
|
||||||
const addAction = (name, uri) => {
|
const addURIAction = (name, uri) => {
|
||||||
const action = Gio.SimpleAction.new(name, null);
|
const action = Gio.SimpleAction.new(name, null);
|
||||||
action.connect('activate', () => Gtk.show_uri(null, uri, Gdk.CURRENT_TIME));
|
action.connect('activate', () => Gtk.show_uri(null, uri, Gdk.CURRENT_TIME));
|
||||||
group.add_action(action);
|
group.add_action(action);
|
||||||
};
|
};
|
||||||
|
|
||||||
addAction('homepage', 'https://github.com/Schneegans/Burn-My-Windows');
|
// clang-format off
|
||||||
addAction('bugs', 'https://github.com/Schneegans/Burn-My-Windows/issues');
|
addURIAction('homepage', 'https://github.com/Schneegans/Burn-My-Windows');
|
||||||
addAction(
|
addURIAction('changelog', 'https://github.com/Schneegans/Burn-My-Windows/blob/main/docs/changelog.md');
|
||||||
'donate-paypal',
|
addURIAction('bugs', 'https://github.com/Schneegans/Burn-My-Windows/issues');
|
||||||
'https://www.paypal.com/donate/?hosted_button_id=3F7UFL8KLVPXE');
|
addURIAction('new-effect', 'https://github.com/Schneegans/Burn-My-Windows/blob/main/docs/how-to-create-new-effects.md');
|
||||||
addAction('donate-github', 'https://github.com/sponsors/Schneegans');
|
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
|
||||||
|
|
||||||
window.insert_action_group('prefs', group);
|
// Add the about dialog.
|
||||||
|
const aboutAction = Gio.SimpleAction.new('about', null);
|
||||||
|
aboutAction.connect('activate', () => {
|
||||||
|
// The JSON report format from weblate is a bit weird. Here we extract all
|
||||||
|
// unique names from the translation report.
|
||||||
|
const translators = new Set();
|
||||||
|
this._getJSONResource('/credits/translators.json').forEach(i => {
|
||||||
|
for (const j of Object.values(i)) {
|
||||||
|
j.forEach(k => translators.add(k[1]));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const sponsors = this._getJSONResource('/credits/sponsors.json');
|
||||||
|
|
||||||
|
const dialog = new Gtk.AboutDialog({transient_for: window, modal: true});
|
||||||
|
dialog.set_logo_icon_name('burn-my-windows-symbolic');
|
||||||
|
dialog.set_program_name(`Burn-My-Windows ${Me.metadata.version}`);
|
||||||
|
dialog.set_website('https://github.com/Schneegans/Burn-My-Windows');
|
||||||
|
dialog.set_authors(['Simon Schneegans']);
|
||||||
|
dialog.set_copyright('© 2022 Simon Schneegans');
|
||||||
|
dialog.set_translator_credits([...translators].join('\n'));
|
||||||
|
if (sponsors.gold.length > 0) {
|
||||||
|
dialog.add_credit_section(_('Gold Sponsors'), sponsors.gold);
|
||||||
|
}
|
||||||
|
if (sponsors.silver.length > 0) {
|
||||||
|
dialog.add_credit_section(_('Silver Sponsors'), sponsors.silver);
|
||||||
|
}
|
||||||
|
if (sponsors.bronze.length > 0) {
|
||||||
|
dialog.add_credit_section(_('Bronze Sponsors'), sponsors.bronze);
|
||||||
|
}
|
||||||
|
if (sponsors.past.length > 0) {
|
||||||
|
dialog.add_credit_section(_('Past Sponsors'), sponsors.past);
|
||||||
|
}
|
||||||
|
dialog.set_license_type(Gtk.License.GPL_3_0);
|
||||||
|
|
||||||
|
if (utils.isGTK4()) {
|
||||||
|
dialog.show();
|
||||||
|
} else {
|
||||||
|
dialog.show_all();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
group.add_action(aboutAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Populate the open-effects drop-down menu.
|
||||||
|
{
|
||||||
|
const menu = this._builder.get_object('open-effect-menu');
|
||||||
|
const group = Gio.SimpleActionGroup.new();
|
||||||
|
window.insert_action_group('open-effects', group);
|
||||||
|
|
||||||
|
this._ALL_EFFECTS.forEach(effect => {
|
||||||
|
const [minMajor, minMinor] = effect.getMinShellVersion();
|
||||||
|
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
|
||||||
|
const nick = effect.getNick();
|
||||||
|
const label = effect.getLabel();
|
||||||
|
const actionName = nick + '-open-effect';
|
||||||
|
const fullName = 'open-effects.' + actionName;
|
||||||
|
|
||||||
|
const action = this._settings.create_action(actionName);
|
||||||
|
group.add_action(action);
|
||||||
|
|
||||||
|
menu.append_item(Gio.MenuItem.new(label, fullName));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Populate the close-effects drop-down menu.
|
||||||
|
{
|
||||||
|
const menu = this._builder.get_object('close-effect-menu');
|
||||||
|
const group = Gio.SimpleActionGroup.new();
|
||||||
|
window.insert_action_group('close-effects', group);
|
||||||
|
|
||||||
|
this._ALL_EFFECTS.forEach(effect => {
|
||||||
|
const [minMajor, minMinor] = effect.getMinShellVersion();
|
||||||
|
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
|
||||||
|
const nick = effect.getNick();
|
||||||
|
const label = effect.getLabel();
|
||||||
|
const actionName = nick + '-close-effect';
|
||||||
|
const fullName = 'close-effects.' + actionName;
|
||||||
|
|
||||||
|
const action = this._settings.create_action(actionName);
|
||||||
|
group.add_action(action);
|
||||||
|
|
||||||
|
menu.append_item(Gio.MenuItem.new(label, fullName));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// As we do not have something like a destructor, we just listen for the destroy
|
// As we do not have something like a destructor, we just listen for the destroy
|
||||||
@@ -120,35 +357,44 @@ var PreferencesDialog = class PreferencesDialog {
|
|||||||
|
|
||||||
// -------------------------------------------------------------------- public interface
|
// -------------------------------------------------------------------- public interface
|
||||||
|
|
||||||
|
// Returns the internally used Gtk.Builder. Effects can use this to modify the UI of the
|
||||||
|
// preferences dialog.
|
||||||
|
getBuilder() {
|
||||||
|
return this._builder;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns a Gio.Settings object for this extension.
|
||||||
|
getSettings() {
|
||||||
|
return this._settings;
|
||||||
|
}
|
||||||
|
|
||||||
// Returns the widget used for the settings of this extension.
|
// Returns the widget used for the settings of this extension.
|
||||||
getWidget() {
|
getWidget() {
|
||||||
return this._widget;
|
return this._widget;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------- private stuff
|
|
||||||
|
|
||||||
// Connects a Gtk.ComboBox (or anything else which has an 'active-id' property) to a
|
// Connects a Gtk.ComboBox (or anything else which has an 'active-id' property) to a
|
||||||
// settings key. It also binds the corresponding reset button.
|
// settings key. It also binds the corresponding reset button.
|
||||||
_bindCombobox(settingsKey) {
|
bindCombobox(settingsKey) {
|
||||||
this._bind(settingsKey, 'active-id');
|
this._bind(settingsKey, 'active-id');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Connects a Gtk.Adjustment (or anything else which has a 'value' property) to a
|
// Connects a Gtk.Adjustment (or anything else which has a 'value' property) to a
|
||||||
// settings key. It also binds the corresponding reset button.
|
// settings key. It also binds the corresponding reset button.
|
||||||
_bindAdjustment(settingsKey) {
|
bindAdjustment(settingsKey) {
|
||||||
this._bind(settingsKey, 'value');
|
this._bind(settingsKey, 'value');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Connects a Gtk.Switch (or anything else which has an 'active' property) to a settings
|
// Connects a Gtk.Switch (or anything else which has an 'active' property) to a settings
|
||||||
// key. It also binds the corresponding reset button.
|
// key. It also binds the corresponding reset button.
|
||||||
_bindSwitch(settingsKey) {
|
bindSwitch(settingsKey) {
|
||||||
this._bind(settingsKey, 'active');
|
this._bind(settingsKey, 'active');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Colors are stored as strings like 'rgb(1, 0.5, 0)'. As Gio.Settings.bind_with_mapping
|
// Colors are stored as strings like 'rgb(1, 0.5, 0)'. As Gio.Settings.bind_with_mapping
|
||||||
// is not available yet, we need to do the color conversion manually. It also binds the
|
// is not available yet, we need to do the color conversion manually. It also binds the
|
||||||
// corresponding reset button.
|
// corresponding reset button.
|
||||||
_bindColorButton(settingsKey) {
|
bindColorButton(settingsKey) {
|
||||||
|
|
||||||
const button = this._builder.get_object(settingsKey);
|
const button = this._builder.get_object(settingsKey);
|
||||||
|
|
||||||
@@ -175,17 +421,18 @@ var PreferencesDialog = class PreferencesDialog {
|
|||||||
this._bindResetButton(settingsKey);
|
this._bindResetButton(settingsKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Connects any widget's property to a settings key. The widget must have the same ID as
|
// ----------------------------------------------------------------- GTK3 / GTK4 helpers
|
||||||
// the settings key. It also binds the corresponding reset button.
|
|
||||||
_bind(settingsKey, property) {
|
|
||||||
const object = this._builder.get_object(settingsKey);
|
|
||||||
|
|
||||||
if (object) {
|
// Appends the given child widget to the given Gtk.Box.
|
||||||
this._settings.bind(settingsKey, object, property, Gio.SettingsBindFlags.DEFAULT);
|
gtkBoxAppend(box, child) {
|
||||||
|
if (utils.isGTK4()) {
|
||||||
|
box.append(child);
|
||||||
|
} else {
|
||||||
|
box.pack_start(child, false, false, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this._bindResetButton(settingsKey);
|
// ----------------------------------------------------------------------- private stuff
|
||||||
}
|
|
||||||
|
|
||||||
// Searches for a reset button for the given settings key and make it reset the settings
|
// Searches for a reset button for the given settings key and make it reset the settings
|
||||||
// key when clicked.
|
// key when clicked.
|
||||||
@@ -198,96 +445,123 @@ var PreferencesDialog = class PreferencesDialog {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// This populates the preset dropdown menu for the fire options.
|
// Connects any widget's property to a settings key. The widget must have the same ID as
|
||||||
_createFirePresets() {
|
// the settings key. It also binds the corresponding reset button.
|
||||||
this._widget.connect('realize', (widget) => {
|
_bind(settingsKey, property) {
|
||||||
const presets = [
|
const object = this._builder.get_object(settingsKey);
|
||||||
{
|
|
||||||
name: 'Default Fire',
|
if (object) {
|
||||||
scale: 1.0,
|
this._settings.bind(settingsKey, object, property, Gio.SettingsBindFlags.DEFAULT);
|
||||||
speed: 0.5,
|
|
||||||
color1: 'rgba(76, 51, 25, 0.0)',
|
|
||||||
color2: 'rgba(180, 55, 30, 0.7)',
|
|
||||||
color3: 'rgba(255, 76, 38, 0.9)',
|
|
||||||
color4: 'rgba(255, 166, 25, 1)',
|
|
||||||
color5: 'rgba(255, 255, 255, 1)'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Hell Fire',
|
|
||||||
scale: 1.5,
|
|
||||||
speed: 0.2,
|
|
||||||
color1: 'rgba(0,0,0,0)',
|
|
||||||
color2: 'rgba(103,7,80,0.5)',
|
|
||||||
color3: 'rgba(150,0,24,0.9)',
|
|
||||||
color4: 'rgb(255,200,0)',
|
|
||||||
color5: 'rgba(255, 255, 255, 1)'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Dark and Smutty',
|
|
||||||
scale: 1.0,
|
|
||||||
speed: 0.5,
|
|
||||||
color1: 'rgba(0,0,0,0)',
|
|
||||||
color2: 'rgba(36,3,0,0.5)',
|
|
||||||
color3: 'rgba(150,0,24,0.9)',
|
|
||||||
color4: 'rgb(255,177,21)',
|
|
||||||
color5: 'rgb(255,238,166)'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Cold Breeze',
|
|
||||||
scale: 1.5,
|
|
||||||
speed: -0.1,
|
|
||||||
color1: 'rgba(0,110,255,0)',
|
|
||||||
color2: 'rgba(30,111,180,0.24)',
|
|
||||||
color3: 'rgba(38,181,255,0.54)',
|
|
||||||
color4: 'rgba(34,162,255,0.84)',
|
|
||||||
color5: 'rgb(97,189,255)'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Santa is Coming',
|
|
||||||
scale: 0.4,
|
|
||||||
speed: -0.5,
|
|
||||||
color1: 'rgba(0,110,255,0)',
|
|
||||||
color2: 'rgba(208,233,255,0.24)',
|
|
||||||
color3: 'rgba(207,235,255,0.84)',
|
|
||||||
color4: 'rgb(208,243,255)',
|
|
||||||
color5: 'rgb(255,255,255)'
|
|
||||||
}
|
}
|
||||||
];
|
|
||||||
|
|
||||||
const menu = Gio.Menu.new();
|
this._bindResetButton(settingsKey);
|
||||||
const group = Gio.SimpleActionGroup.new();
|
}
|
||||||
const groupName = 'presets';
|
|
||||||
|
|
||||||
// Add all presets.
|
// Reads the contents of a JSON file contained in the global resources archive. The data
|
||||||
presets.forEach((preset, i) => {
|
// is parsed and returned as a JavaScript object / array.
|
||||||
const actionName = 'fire' + i;
|
_getJSONResource(path) {
|
||||||
menu.append(preset.name, groupName + '.' + actionName);
|
const data = Gio.resources_lookup_data(path, 0);
|
||||||
let action = Gio.SimpleAction.new(actionName, null);
|
const string = ByteArray.toString(ByteArray.fromGBytes(data));
|
||||||
|
return JSON.parse(string);
|
||||||
|
}
|
||||||
|
|
||||||
// Load the preset on activation.
|
// This traverses the widget tree below the given parent recursively and returns the
|
||||||
action.connect('activate', () => {
|
// first widget of the given type.
|
||||||
this._settings.set_double('flame-movement-speed', preset.speed);
|
_findWidgetByType(parent, type) {
|
||||||
this._settings.set_double('flame-scale', preset.scale);
|
for (const child of [...parent]) {
|
||||||
this._settings.set_string('fire-color-1', preset.color1);
|
if (child instanceof type) return child;
|
||||||
this._settings.set_string('fire-color-2', preset.color2);
|
|
||||||
this._settings.set_string('fire-color-3', preset.color3);
|
const match = this._findWidgetByType(child, type);
|
||||||
this._settings.set_string('fire-color-4', preset.color4);
|
if (match) return match;
|
||||||
this._settings.set_string('fire-color-5', preset.color5);
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Initializes template widgets used by the preferences dialog.
|
||||||
|
_registerCustomClasses() {
|
||||||
|
|
||||||
|
// Each effect page is based on a template widget. This template contains the title
|
||||||
|
// and the preview button.
|
||||||
|
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();
|
||||||
|
|
||||||
|
// 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', () => {
|
||||||
|
// 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();
|
||||||
|
|
||||||
|
// 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()
|
||||||
});
|
});
|
||||||
|
|
||||||
group.add_action(action);
|
// 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
|
||||||
});
|
});
|
||||||
|
|
||||||
this._builder.get_object('fire-preset-button').set_menu_model(menu);
|
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 root = utils.isGTK4() ? widget.get_root() : widget.get_toplevel();
|
const image = new Gtk.Image({
|
||||||
root.insert_action_group(groupName, group);
|
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();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Nothing to do for now...
|
// This is used for setting up the translations.
|
||||||
function init() {}
|
function init() {
|
||||||
|
ExtensionUtils.initTranslations();
|
||||||
|
}
|
||||||
|
|
||||||
// This function is called when the preferences window is created to build and return a
|
// This function is called when the preferences window is created to build and return a
|
||||||
// Gtk widget. We create a new instance of the PreferencesDialog class each time this
|
// Gtk widget. We create a new instance of the PreferencesDialog class each time this
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
The `translators.json` file is directly exported from weblate.
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"gold": [
|
||||||
|
"<a href='https://github.com/dennis1248'>Dennis ten Hoove</a>"
|
||||||
|
],
|
||||||
|
"silver": [
|
||||||
|
"<a href='https://github.com/danielheadbang'>@danielheadbang</a>",
|
||||||
|
"<a href='https://twitter.com/tjiiik'>tj3k</a>",
|
||||||
|
"<a href='https://github.com/MRR-dev'>@MRR-dev</a>",
|
||||||
|
"<a href='https://github.com/castrojo'>Jorge Castro</a>"
|
||||||
|
],
|
||||||
|
"bronze": [
|
||||||
|
"<a href='https://github.com/AngelBrielez'>Angel Brielez</a>"
|
||||||
|
],
|
||||||
|
"past": [
|
||||||
|
"<a href='https://github.com/MrTomRod'>@MrTomRod</a>",
|
||||||
|
"Pouhiou",
|
||||||
|
"DAPREMONT Christophe",
|
||||||
|
"<a href='https://github.com/manero6'>@manero6</a>",
|
||||||
|
"<a href='https://github.com/RickStanley'>@RickStanley</a>"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,178 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"Norwegian Bokm\u00e5l": [
|
||||||
|
[
|
||||||
|
"epost@anotheragency.no",
|
||||||
|
"Allan Nordh\u00f8y",
|
||||||
|
50
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Dutch": [
|
||||||
|
[
|
||||||
|
"vistausss@fastmail.com",
|
||||||
|
"Heimen Stoffels",
|
||||||
|
76
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Swedish": [
|
||||||
|
[
|
||||||
|
"obslsessed@duck.com",
|
||||||
|
"obslsessed",
|
||||||
|
1
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"swedishsailfishosuser@tutanota.com",
|
||||||
|
"Kristoffer Grundstr\u00f6m",
|
||||||
|
57
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Finnish": [
|
||||||
|
[
|
||||||
|
"jiri.gronroos@iki.fi",
|
||||||
|
"Jiri Gr\u00f6nroos",
|
||||||
|
57
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Russian": [
|
||||||
|
[
|
||||||
|
"eg.ermakov2016@yandex.ru",
|
||||||
|
"\u0415\u0433\u043e\u0440 \u0415\u0440\u043c\u0430\u043a\u043e\u0432",
|
||||||
|
31
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"franigoyt@gmail.com",
|
||||||
|
"ANIGO R. (AR)",
|
||||||
|
59
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Czech": [
|
||||||
|
[
|
||||||
|
"jiri.doubravsky@gmail.com",
|
||||||
|
"Ji\u0159\u00ed Doubravsk\u00fd",
|
||||||
|
70
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Arabic": [
|
||||||
|
[
|
||||||
|
"fawaz27000@hotmail.com",
|
||||||
|
"fawaz006",
|
||||||
|
79
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Turkish": [
|
||||||
|
[
|
||||||
|
"muhaaliss@pm.me",
|
||||||
|
"Muha Aliss",
|
||||||
|
61
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Italian": [
|
||||||
|
[
|
||||||
|
"mario03@gmail.com",
|
||||||
|
"Mario",
|
||||||
|
1
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"albano_battistella@hotmail.com",
|
||||||
|
"albanobattistella",
|
||||||
|
74
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Chinese (Simplified)": [
|
||||||
|
[
|
||||||
|
"lyuutau@outlook.com",
|
||||||
|
"\u5218\u97ec",
|
||||||
|
36
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"poonsters6@gmail.com",
|
||||||
|
"merelymyself",
|
||||||
|
41
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"German": [
|
||||||
|
[
|
||||||
|
"code@simonschneegans.de",
|
||||||
|
"Simon Schneegans",
|
||||||
|
70
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"French": [
|
||||||
|
[
|
||||||
|
"mathieu.bousquet2@gmail.com",
|
||||||
|
"Mathieu B.",
|
||||||
|
9
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"redxxiii@zaclys.net",
|
||||||
|
"Reda",
|
||||||
|
13
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"theo.remon+weblate@uswery.eu",
|
||||||
|
"Th\u00e9o Remon",
|
||||||
|
30
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"bonnemainsnathan@gmail.com",
|
||||||
|
"Nathan",
|
||||||
|
45
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Korean": [
|
||||||
|
[
|
||||||
|
"darkcircle.0426@gmail.com",
|
||||||
|
"Seong-ho Cho",
|
||||||
|
72
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Spanish": [
|
||||||
|
[
|
||||||
|
"dev.n47os@aleeas.com",
|
||||||
|
"Ulices",
|
||||||
|
7
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"andres.segarra.aparicio@gmail.com",
|
||||||
|
"Andres Segarra",
|
||||||
|
10
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"fitojb@ubuntu.com",
|
||||||
|
"Adolfo Jayme Barrientos",
|
||||||
|
11
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"oscfdezdz@tuta.io",
|
||||||
|
"\u00d3scar Fern\u00e1ndez D\u00edaz",
|
||||||
|
58
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
.pill-button {
|
||||||
|
border-radius: 9999px;
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 434 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 372 KiB |
@@ -0,0 +1,49 @@
|
|||||||
|
// Inject some common shader snippets. It is only possible to include glsl files from the
|
||||||
|
// "common" directory. Also, the files in the "common" directory are not allowed to
|
||||||
|
// include any further files.
|
||||||
|
#include "common/uniforms.glsl"
|
||||||
|
|
||||||
|
uniform vec2 uSeed;
|
||||||
|
uniform float uShake;
|
||||||
|
uniform float uTwirl;
|
||||||
|
uniform float uSuction;
|
||||||
|
uniform float uRandomness;
|
||||||
|
|
||||||
|
const float ACTOR_SCALE = 2.0;
|
||||||
|
const float PADDING = ACTOR_SCALE / 2.0 - 0.5;
|
||||||
|
|
||||||
|
// The math for the whirling is inspired by this post:
|
||||||
|
// http://www.geeks3d.com/20110428/shader-library-swirl-post-processing-filter-in-glsl
|
||||||
|
void main() {
|
||||||
|
// We simply inverse the progress for opening windows.
|
||||||
|
float progress = uForOpening ? 1.0 - uProgress : uProgress;
|
||||||
|
|
||||||
|
// Choose a random suction center.
|
||||||
|
vec2 center = uSeed * uRandomness + 0.5 * (1.0 - uRandomness);
|
||||||
|
vec2 coords = cogl_tex_coord_in[0].st * ACTOR_SCALE - PADDING - center;
|
||||||
|
|
||||||
|
// Add some shaking.
|
||||||
|
coords.x +=
|
||||||
|
progress * 0.05 * uShake * sin((progress + uSeed.x) * (1.0 + uSeed.x) * uShake);
|
||||||
|
coords.y +=
|
||||||
|
progress * 0.05 * uShake * cos((progress + uSeed.y) * (1.0 + uSeed.y) * uShake);
|
||||||
|
|
||||||
|
// "Suck" the texture into the center.
|
||||||
|
float dist = length(coords) / sqrt(2);
|
||||||
|
coords += progress * coords / dist * 0.5 * uSuction;
|
||||||
|
|
||||||
|
// Apply some whirling.
|
||||||
|
float angle = pow(1.0 - dist, 2.0) * uTwirl * progress;
|
||||||
|
float s = sin(angle);
|
||||||
|
float c = cos(angle);
|
||||||
|
coords = vec2(dot(coords, vec2(c, -s)), dot(coords, vec2(s, c)));
|
||||||
|
|
||||||
|
// Shell.GLSLEffect uses straight alpha. So we have to convert from premultiplied.
|
||||||
|
cogl_color_out = texture2D(uTexture, coords + center);
|
||||||
|
if (cogl_color_out.a > 0) {
|
||||||
|
cogl_color_out.rgb /= cogl_color_out.a;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fade out the window texture.
|
||||||
|
cogl_color_out.a *= 1.0 - progress;
|
||||||
|
}
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
// Inject some common shader snippets. It is only possible to include glsl files from the
|
||||||
|
// "common" directory. Also, the files in the "common" directory are not allowed to
|
||||||
|
// include any further files.
|
||||||
|
#include "common/uniforms.glsl"
|
||||||
|
|
||||||
|
uniform sampler2D uShardTexture;
|
||||||
|
uniform vec2 uSeed;
|
||||||
|
uniform vec2 uEpicenter;
|
||||||
|
uniform float uShardScale;
|
||||||
|
uniform float uBlowForce;
|
||||||
|
uniform float uGravity;
|
||||||
|
|
||||||
|
const float SHARD_LAYERS = 5;
|
||||||
|
const float ACTOR_SCALE = 2.0;
|
||||||
|
const float PADDING = ACTOR_SCALE / 2.0 - 0.5;
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
cogl_color_out = vec4(0, 0, 0, 0);
|
||||||
|
|
||||||
|
float progress = uForOpening ? 1.0 - uProgress : uProgress;
|
||||||
|
|
||||||
|
// Draw the individual shard layers.
|
||||||
|
for (float i = 0; i < SHARD_LAYERS; ++i) {
|
||||||
|
|
||||||
|
// To enable drawing shards outside of the window bounds, the actor was scaled
|
||||||
|
// by ACTOR_SCALE. Here we scale and move the texture coordinates so that the
|
||||||
|
// window gets drawn at the correct position again.
|
||||||
|
vec2 coords = cogl_tex_coord_in[0].st * ACTOR_SCALE - PADDING;
|
||||||
|
|
||||||
|
// Scale and rotate around our epicenter.
|
||||||
|
coords -= uEpicenter;
|
||||||
|
|
||||||
|
// Scale each layer a bit differently.
|
||||||
|
coords /= mix(1.0, 1.0 + uBlowForce * (i + 2) / SHARD_LAYERS, progress);
|
||||||
|
|
||||||
|
// Rotate each layer a bit differently.
|
||||||
|
float rotation = (mod(i, 2.0) - 0.5) * 0.2 * progress;
|
||||||
|
coords = vec2(coords.x * cos(rotation) - coords.y * sin(rotation),
|
||||||
|
coords.x * sin(rotation) + coords.y * cos(rotation));
|
||||||
|
|
||||||
|
// Move down each layer a bit.
|
||||||
|
float gravity =
|
||||||
|
(uForOpening ? -1.0 : 1.0) * uGravity * 0.1 * (i + 1) * progress * progress;
|
||||||
|
coords += vec2(0, gravity);
|
||||||
|
|
||||||
|
// Restore correct position.
|
||||||
|
coords += uEpicenter;
|
||||||
|
|
||||||
|
// Retrieve information from the shard texture for our layer.
|
||||||
|
vec2 shardCoords = (coords + uSeed) * uSize / uShardScale / 500.0;
|
||||||
|
vec2 shardMap = texture2D(uShardTexture, shardCoords).rg;
|
||||||
|
|
||||||
|
// The green channel contains a random value in [0..1] for each shard. We
|
||||||
|
// discretize this into SHARD_LAYERS bins and check if our layer falls into
|
||||||
|
// the bin of the current shard.
|
||||||
|
float shardGroup = floor(shardMap.g * SHARD_LAYERS * 0.999);
|
||||||
|
|
||||||
|
if (shardGroup == i && (shardMap.x - pow(progress + 0.1, 2)) > 0) {
|
||||||
|
cogl_color_out = texture2D(uTexture, coords);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Shell.GLSLEffect uses straight alpha. So we have to convert from premultiplied.
|
||||||
|
if (cogl_color_out.a > 0) {
|
||||||
|
cogl_color_out.rgb /= cogl_color_out.a;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
// The Shell.GLSLEffect uses straight alpha blending. This helper method allows
|
||||||
|
// compositing color values in the shader in the same way.
|
||||||
|
vec4 alphaOver(vec4 under, vec4 over) {
|
||||||
|
float alpha = over.a + under.a * (1.0 - over.a);
|
||||||
|
return vec4((over.rgb * over.a + under.rgb * under.a * (1.0 - over.a)) / alpha, alpha);
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
// This provides some basic easing function. More can be added if required!
|
||||||
|
// Taken from here:
|
||||||
|
// https://gitlab.gnome.org/GNOME/mutter/-/blob/main/clutter/clutter/clutter-easing.c
|
||||||
|
|
||||||
|
float easeOutQuad(float x) { return -1.0 * x * (x - 2); }
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
// This method returns a mask which smoothly transitions towards zero when approaching
|
||||||
|
// the window's borders. There is a variant which takes the transition area width in
|
||||||
|
// pixels and one which takes this as a percentage.
|
||||||
|
float getEdgeMask(vec2 uv, vec2 maxUV, float fadeWidth) {
|
||||||
|
float mask = 1.0;
|
||||||
|
mask *= smoothstep(0, 1, clamp(uv.x / fadeWidth, 0, 1));
|
||||||
|
mask *= smoothstep(0, 1, clamp(uv.y / fadeWidth, 0, 1));
|
||||||
|
mask *= smoothstep(0, 1, clamp((maxUV.x - uv.x) / fadeWidth, 0, 1));
|
||||||
|
mask *= smoothstep(0, 1, clamp((maxUV.y - uv.y) / fadeWidth, 0, 1));
|
||||||
|
|
||||||
|
return mask;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns an edge mask which fades to zero at the boundaries of the actor. The width of
|
||||||
|
// the fade zone is given in pixels. This uses the standard uniforms uSize and uPadding.
|
||||||
|
// This means that the fading zone is not actually at the actors boundaries but at the
|
||||||
|
// position of the window border in the texture.
|
||||||
|
// The offset paramter controls whether the fading is placed inside the window borders
|
||||||
|
// (offset = 0), ontop the window borders (offset = 0.5) or outside the window borders
|
||||||
|
// (offset = 1).
|
||||||
|
float getAbsoluteEdgeMask(float fadePixels, float offset) {
|
||||||
|
float padding = max(0, uPadding - fadePixels * offset);
|
||||||
|
vec2 uv = cogl_tex_coord_in[0].st * uSize - padding;
|
||||||
|
return getEdgeMask(uv, uSize - 2.0 * padding, fadePixels);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns an edge mask which fades to zero at the boundaries of the actor. The width of
|
||||||
|
// the fade zone is given relative to the actor size. This neither uses uSize and
|
||||||
|
// uPadding.
|
||||||
|
float getRelativeEdgeMask(float fadeAmount) {
|
||||||
|
vec2 uv = cogl_tex_coord_in[0].st;
|
||||||
|
return getEdgeMask(uv, vec2(1.0), fadeAmount);
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
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));
|
||||||
|
}
|
||||||
@@ -0,0 +1,207 @@
|
|||||||
|
// These noise algorithms are based on implementations by various authors from
|
||||||
|
// shadertoy.com, which are all available under the MIT License. See the respective links
|
||||||
|
// in the comments below.
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Hash without Sine //
|
||||||
|
// MIT License, https://www.shadertoy.com/view/4djSRW //
|
||||||
|
// Copyright (c) 2014 David Hoskins. //
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// 1 out, 1 in...
|
||||||
|
float hash11(float p) {
|
||||||
|
p = fract(p * .1031);
|
||||||
|
p *= p + 33.33;
|
||||||
|
p *= p + p;
|
||||||
|
return fract(p);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 1 out, 2 in...
|
||||||
|
float hash12(vec2 p) {
|
||||||
|
vec3 p3 = fract(vec3(p.xyx) * .1031);
|
||||||
|
p3 += dot(p3, p3.yzx + 33.33);
|
||||||
|
return fract((p3.x + p3.y) * p3.z);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 1 out, 3 in...
|
||||||
|
float hash13(vec3 p3) {
|
||||||
|
p3 = fract(p3 * .1031);
|
||||||
|
p3 += dot(p3, p3.zyx + 31.32);
|
||||||
|
return fract((p3.x + p3.y) * p3.z);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2 out, 1 in...
|
||||||
|
vec2 hash21(float p) {
|
||||||
|
vec3 p3 = fract(vec3(p) * vec3(.1031, .1030, .0973));
|
||||||
|
p3 += dot(p3, p3.yzx + 33.33);
|
||||||
|
return fract((p3.xx + p3.yz) * p3.zy);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2 out, 2 in...
|
||||||
|
vec2 hash22(vec2 p) {
|
||||||
|
vec3 p3 = fract(vec3(p.xyx) * vec3(.1031, .1030, .0973));
|
||||||
|
p3 += dot(p3, p3.yzx + 33.33);
|
||||||
|
return fract((p3.xx + p3.yz) * p3.zy);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2 out, 3 in...
|
||||||
|
vec2 hash23(vec3 p3) {
|
||||||
|
p3 = fract(p3 * vec3(.1031, .1030, .0973));
|
||||||
|
p3 += dot(p3, p3.yzx + 33.33);
|
||||||
|
return fract((p3.xx + p3.yz) * p3.zy);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3 out, 1 in...
|
||||||
|
vec3 hash31(float p) {
|
||||||
|
vec3 p3 = fract(vec3(p) * vec3(.1031, .1030, .0973));
|
||||||
|
p3 += dot(p3, p3.yzx + 33.33);
|
||||||
|
return fract((p3.xxy + p3.yzz) * p3.zyx);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3 out, 2 in...
|
||||||
|
vec3 hash32(vec2 p) {
|
||||||
|
vec3 p3 = fract(vec3(p.xyx) * vec3(.1031, .1030, .0973));
|
||||||
|
p3 += dot(p3, p3.yxz + 33.33);
|
||||||
|
return fract((p3.xxy + p3.yzz) * p3.zyx);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3 out, 3 in...
|
||||||
|
vec3 hash33(vec3 p3) {
|
||||||
|
p3 = fract(p3 * vec3(.1031, .1030, .0973));
|
||||||
|
p3 += dot(p3, p3.yxz + 33.33);
|
||||||
|
return fract((p3.xxy + p3.yxx) * p3.zyx);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4 out, 1 in...
|
||||||
|
vec4 hash41(float p) {
|
||||||
|
vec4 p4 = fract(vec4(p) * vec4(.1031, .1030, .0973, .1099));
|
||||||
|
p4 += dot(p4, p4.wzxy + 33.33);
|
||||||
|
return fract((p4.xxyz + p4.yzzw) * p4.zywx);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4 out, 2 in...
|
||||||
|
vec4 hash42(vec2 p) {
|
||||||
|
vec4 p4 = fract(vec4(p.xyxy) * vec4(.1031, .1030, .0973, .1099));
|
||||||
|
p4 += dot(p4, p4.wzxy + 33.33);
|
||||||
|
return fract((p4.xxyz + p4.yzzw) * p4.zywx);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4 out, 3 in...
|
||||||
|
vec4 hash43(vec3 p) {
|
||||||
|
vec4 p4 = fract(vec4(p.xyzx) * vec4(.1031, .1030, .0973, .1099));
|
||||||
|
p4 += dot(p4, p4.wzxy + 33.33);
|
||||||
|
return fract((p4.xxyz + p4.yzzw) * p4.zywx);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4 out, 4 in...
|
||||||
|
vec4 hash44(vec4 p4) {
|
||||||
|
p4 = fract(p4 * vec4(.1031, .1030, .0973, .1099));
|
||||||
|
p4 += dot(p4, p4.wzxy + 33.33);
|
||||||
|
return fract((p4.xxyz + p4.yzzw) * p4.zywx);
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// 2D Simplex Noise //
|
||||||
|
// MIT License, https://www.shadertoy.com/view/Msf3WH //
|
||||||
|
// Copyright © 2013 Inigo Quilez //
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
float simplex2D(vec2 p) {
|
||||||
|
const float K1 = 0.366025404; // (sqrt(3)-1)/2;
|
||||||
|
const float K2 = 0.211324865; // (3-sqrt(3))/6;
|
||||||
|
|
||||||
|
vec2 i = floor(p + (p.x + p.y) * K1);
|
||||||
|
vec2 a = p - i + (i.x + i.y) * K2;
|
||||||
|
float m = step(a.y, a.x);
|
||||||
|
vec2 o = vec2(m, 1.0 - m);
|
||||||
|
vec2 b = a - o + K2;
|
||||||
|
vec2 c = a - 1.0 + 2.0 * K2;
|
||||||
|
vec3 h = max(0.5 - vec3(dot(a, a), dot(b, b), dot(c, c)), 0.0);
|
||||||
|
vec3 n = h * h * h * h *
|
||||||
|
vec3(dot(a, -1.0 + 2.0 * hash22(i + 0.0)), dot(b, -1.0 + 2.0 * hash22(i + o)),
|
||||||
|
dot(c, -1.0 + 2.0 * hash22(i + 1.0)));
|
||||||
|
return 0.5 + 0.5 * dot(n, vec3(70.0));
|
||||||
|
}
|
||||||
|
|
||||||
|
float simplex2DFractal(vec2 p) {
|
||||||
|
mat2 m = mat2(1.6, 1.2, -1.2, 1.6);
|
||||||
|
float f = 0.5000 * simplex2D(p);
|
||||||
|
p = m * p;
|
||||||
|
f += 0.2500 * simplex2D(p);
|
||||||
|
p = m * p;
|
||||||
|
f += 0.1250 * simplex2D(p);
|
||||||
|
p = m * p;
|
||||||
|
f += 0.0625 * simplex2D(p);
|
||||||
|
p = m * p;
|
||||||
|
|
||||||
|
return f;
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// 3D Simplex Noise //
|
||||||
|
// MIT License, https://www.shadertoy.com/view/XsX3zB //
|
||||||
|
// Copyright © 2013 Nikita Miropolskiy //
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
float simplex3D(vec3 p) {
|
||||||
|
|
||||||
|
// skew constants for 3D simplex functions
|
||||||
|
const float F3 = 0.3333333;
|
||||||
|
const float G3 = 0.1666667;
|
||||||
|
|
||||||
|
// 1. find current tetrahedron T and it's four vertices
|
||||||
|
// s, s+i1, s+i2, s+1.0 - absolute skewed (integer) coordinates of T vertices
|
||||||
|
// x, x1, x2, x3 - unskewed coordinates of p relative to each of T vertice
|
||||||
|
|
||||||
|
// calculate s and x
|
||||||
|
vec3 s = floor(p + dot(p, vec3(F3)));
|
||||||
|
vec3 x = p - s + dot(s, vec3(G3));
|
||||||
|
|
||||||
|
// calculate i1 and i2
|
||||||
|
vec3 e = step(vec3(0.0), x - x.yzx);
|
||||||
|
vec3 i1 = e * (1.0 - e.zxy);
|
||||||
|
vec3 i2 = 1.0 - e.zxy * (1.0 - e);
|
||||||
|
|
||||||
|
// x1, x2, x3
|
||||||
|
vec3 x1 = x - i1 + G3;
|
||||||
|
vec3 x2 = x - i2 + 2.0 * G3;
|
||||||
|
vec3 x3 = x - 1.0 + 3.0 * G3;
|
||||||
|
|
||||||
|
// 2. find four surflets and store them in d
|
||||||
|
vec4 w, d;
|
||||||
|
|
||||||
|
// calculate surflet weights
|
||||||
|
w.x = dot(x, x);
|
||||||
|
w.y = dot(x1, x1);
|
||||||
|
w.z = dot(x2, x2);
|
||||||
|
w.w = dot(x3, x3);
|
||||||
|
|
||||||
|
// w fades from 0.6 at the center of the surflet to 0.0 at the margin
|
||||||
|
w = max(0.6 - w, 0.0);
|
||||||
|
|
||||||
|
// calculate surflet components
|
||||||
|
d.x = dot(-0.5 + hash33(s), x);
|
||||||
|
d.y = dot(-0.5 + hash33(s + i1), x1);
|
||||||
|
d.z = dot(-0.5 + hash33(s + i2), x2);
|
||||||
|
d.w = dot(-0.5 + hash33(s + 1.0), x3);
|
||||||
|
|
||||||
|
// multiply d by w^4
|
||||||
|
w *= w;
|
||||||
|
w *= w;
|
||||||
|
d *= w;
|
||||||
|
|
||||||
|
// 3. return the sum of the four surflets
|
||||||
|
return dot(d, vec4(52.0)) * 0.5 + 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
// directional artifacts can be reduced by rotating each octave
|
||||||
|
float simplex3DFractal(vec3 m) {
|
||||||
|
|
||||||
|
// const matrices for 3D rotation
|
||||||
|
const mat3 rot1 = mat3(-0.37, 0.36, 0.85, -0.14, -0.93, 0.34, 0.92, 0.01, 0.4);
|
||||||
|
const mat3 rot2 = mat3(-0.55, -0.39, 0.74, 0.33, -0.91, -0.24, 0.77, 0.12, 0.63);
|
||||||
|
const mat3 rot3 = mat3(-0.71, 0.52, -0.47, -0.08, -0.72, -0.68, -0.7, -0.45, 0.56);
|
||||||
|
|
||||||
|
return 0.5333333 * simplex3D(m * rot1) + 0.2666667 * simplex3D(2.0 * m * rot2) +
|
||||||
|
0.1333333 * simplex3D(4.0 * m * rot3) + 0.0666667 * simplex3D(8.0 * m);
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
// These should be included in every shader.
|
||||||
|
// uForOpening: True if a window-open animation is ongoing, false otherwise.
|
||||||
|
// uTexture: Contains the texture of the window.
|
||||||
|
// uProgress: A value which transitions from 0 to 1 during the entire animation.
|
||||||
|
// uTime: A steadily increasing value in seconds.
|
||||||
|
// uSize: The size of uTexture in pixels.
|
||||||
|
// uPadding: The empty area around the actual window (e.g. where the shadow is drawn).
|
||||||
|
uniform bool uForOpening;
|
||||||
|
uniform sampler2D uTexture;
|
||||||
|
uniform float uProgress;
|
||||||
|
uniform float uTime;
|
||||||
|
uniform vec2 uSize;
|
||||||
|
uniform float uPadding;
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
// Inject some common shader snippets. It is only possible to include glsl files from the
|
||||||
|
// "common" directory. Also, the files in the "common" directory are not allowed to
|
||||||
|
// include any further files.
|
||||||
|
#include "common/uniforms.glsl"
|
||||||
|
#include "common/noise.glsl"
|
||||||
|
#include "common/edgeMask.glsl"
|
||||||
|
#include "common/easing.glsl"
|
||||||
|
|
||||||
|
uniform vec3 uColor;
|
||||||
|
uniform float uScale;
|
||||||
|
|
||||||
|
const float FADE_IN_TIME = 0.3;
|
||||||
|
const float FADE_OUT_TIME = 0.6;
|
||||||
|
const float HEART_FADE_TIME = 0.3;
|
||||||
|
const float EDGE_FADE_WIDTH = 50;
|
||||||
|
|
||||||
|
// This method returns two values:
|
||||||
|
// result.x: A mask for the particles.
|
||||||
|
// result.y: The opacity of the fading window.
|
||||||
|
vec2 getMasks(float progress) {
|
||||||
|
float fadeInProgress = clamp(progress / FADE_IN_TIME, 0, 1);
|
||||||
|
float fadeOutProgress = clamp((progress - FADE_IN_TIME) / FADE_OUT_TIME, 0, 1);
|
||||||
|
float heartProgress =
|
||||||
|
clamp((progress - (1.0 - HEART_FADE_TIME)) / HEART_FADE_TIME, 0, 1);
|
||||||
|
|
||||||
|
// Compute mask for the "atom" particles.
|
||||||
|
float dist = length(cogl_tex_coord_in[0].st - 0.5) * 4.0;
|
||||||
|
float atomMask = smoothstep(0.0, 1.0, (fadeInProgress * 2.0 - dist + 1.0));
|
||||||
|
atomMask *= fadeInProgress;
|
||||||
|
atomMask *= smoothstep(1.0, 0.0, fadeOutProgress);
|
||||||
|
|
||||||
|
// Fade-out the masks at the window edges.
|
||||||
|
float edgeFade = getAbsoluteEdgeMask(EDGE_FADE_WIDTH, 0.5);
|
||||||
|
atomMask *= edgeFade;
|
||||||
|
|
||||||
|
float heartMask = getRelativeEdgeMask(0.5);
|
||||||
|
heartMask = 3.0 * pow(heartMask, 5);
|
||||||
|
heartMask *= fadeOutProgress;
|
||||||
|
heartMask *= 1.0 - heartProgress;
|
||||||
|
atomMask = clamp(heartMask + atomMask, 0, 1);
|
||||||
|
|
||||||
|
// Compute fading window opacity.
|
||||||
|
float windowMask = pow(1.0 - fadeOutProgress, 2.0);
|
||||||
|
|
||||||
|
if (uForOpening) {
|
||||||
|
windowMask = 1.0 - windowMask;
|
||||||
|
}
|
||||||
|
|
||||||
|
return vec2(atomMask, windowMask);
|
||||||
|
}
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
float progress = easeOutQuad(uProgress);
|
||||||
|
|
||||||
|
vec2 masks = getMasks(progress);
|
||||||
|
vec4 windowColor = texture2D(uTexture, cogl_tex_coord_in[0].st);
|
||||||
|
|
||||||
|
// Shell.GLSLEffect uses straight alpha. So we have to convert from premultiplied.
|
||||||
|
if (windowColor.a > 0) {
|
||||||
|
windowColor.rgb /= windowColor.a;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Dissolve window to effect color / transparency.
|
||||||
|
cogl_color_out.rgb = mix(uColor, windowColor.rgb, 0.2 * masks.y + 0.8);
|
||||||
|
cogl_color_out.a = windowColor.a * masks.y;
|
||||||
|
|
||||||
|
vec2 scaledUV = (cogl_tex_coord_in[0].st - 0.5) * (1.0 + 0.1 * progress);
|
||||||
|
scaledUV /= uScale;
|
||||||
|
|
||||||
|
// Add molecule particles.
|
||||||
|
vec2 uv = scaledUV + vec2(0, 0.1 * uTime);
|
||||||
|
uv *= 0.010598 * vec2(0.5 * uSize.x, uSize.y);
|
||||||
|
float particles = 0.2 * pow((simplex3D(vec3(uv, 0.0 * uTime))), 3.0);
|
||||||
|
|
||||||
|
// Add more molecule particles.
|
||||||
|
for (int i = 1; i <= 3; ++i) {
|
||||||
|
vec2 uv = scaledUV * 0.12154 / pow(1.5, i) * uSize;
|
||||||
|
float atoms = simplex3D(vec3(uv, 2.0 * uTime / i));
|
||||||
|
particles += 0.5 * pow(0.2 * (1.0 / (1.0 - atoms) - 1.0), 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
cogl_color_out.rgb += uColor * particles * masks.x;
|
||||||
|
cogl_color_out.a += particles * masks.x;
|
||||||
|
|
||||||
|
// These are pretty useful for understanding how this works.
|
||||||
|
// cogl_color_out = vec4(masks, 0.0, 1.0);
|
||||||
|
// cogl_color_out = vec4(vec3(masks.x), 1.0);
|
||||||
|
// cogl_color_out = vec4(vec3(masks.y), 1.0);
|
||||||
|
// cogl_color_out = vec4(vec3(particles), 1.0);
|
||||||
|
}
|
||||||
@@ -0,0 +1,114 @@
|
|||||||
|
// Inject some common shader snippets. It is only possible to include glsl files from the
|
||||||
|
// "common" directory. Also, the files in the "common" directory are not allowed to
|
||||||
|
// include any further files.
|
||||||
|
#include "common/uniforms.glsl"
|
||||||
|
#include "common/noise.glsl"
|
||||||
|
#include "common/edgeMask.glsl"
|
||||||
|
#include "common/easing.glsl"
|
||||||
|
|
||||||
|
uniform vec3 uColor;
|
||||||
|
uniform float uScale;
|
||||||
|
|
||||||
|
const float SHOWER_TIME = 0.3;
|
||||||
|
const float SHOWER_WIDTH = 0.3;
|
||||||
|
const float STREAK_TIME = 0.6;
|
||||||
|
const float EDGE_FADE = 50;
|
||||||
|
|
||||||
|
// This method returns four values:
|
||||||
|
// result.x: A mask for the particles which lead the shower.
|
||||||
|
// result.y: A mask for the streaks which follow the shower particles.
|
||||||
|
// result.z: A mask for the final "atom" particles.
|
||||||
|
// result.w: The opacity of the fading window.
|
||||||
|
vec4 getMasks(float progress) {
|
||||||
|
float showerProgress = progress / SHOWER_TIME;
|
||||||
|
float streakProgress = clamp((progress - SHOWER_TIME) / STREAK_TIME, 0, 1);
|
||||||
|
float fadeProgress = clamp((progress - SHOWER_TIME) / (1.0 - SHOWER_TIME), 0, 1);
|
||||||
|
|
||||||
|
// Gradient from top to bottom.
|
||||||
|
float t = cogl_tex_coord_in[0].t;
|
||||||
|
|
||||||
|
// A smooth gradient which moves to the bottom within the showerProgress.
|
||||||
|
float showerMask =
|
||||||
|
smoothstep(1, 0, abs(showerProgress - t - SHOWER_WIDTH) / SHOWER_WIDTH);
|
||||||
|
|
||||||
|
// This is 1 above the streak mask.
|
||||||
|
float streakMask = (showerProgress - t - SHOWER_WIDTH) > 0 ? 1 : 0;
|
||||||
|
|
||||||
|
// Compute mask for the "atom" particles.
|
||||||
|
float atomMask = getRelativeEdgeMask(0.2);
|
||||||
|
atomMask = max(0, atomMask - showerMask);
|
||||||
|
atomMask *= streakMask;
|
||||||
|
atomMask *= sqrt(1 - fadeProgress * fadeProgress);
|
||||||
|
|
||||||
|
// Make some particles visible in the streaks.
|
||||||
|
showerMask += 0.05 * streakMask;
|
||||||
|
|
||||||
|
// Add shower mask to streak mask.
|
||||||
|
streakMask = max(streakMask, showerMask);
|
||||||
|
|
||||||
|
// Fade-out the masks at the window edges.
|
||||||
|
float edgeFade = getAbsoluteEdgeMask(EDGE_FADE, 0.5);
|
||||||
|
streakMask *= edgeFade;
|
||||||
|
showerMask *= edgeFade;
|
||||||
|
|
||||||
|
// Fade-out the masks from top to bottom.
|
||||||
|
float fade = smoothstep(0.0, 1.0, 1.0 + t - 2.0 * streakProgress);
|
||||||
|
streakMask *= fade;
|
||||||
|
showerMask *= fade;
|
||||||
|
|
||||||
|
// Compute fading window opacity.
|
||||||
|
float windowMask = pow(1.0 - fadeProgress, 2.0);
|
||||||
|
|
||||||
|
if (uForOpening) {
|
||||||
|
windowMask = 1.0 - windowMask;
|
||||||
|
}
|
||||||
|
|
||||||
|
return vec4(showerMask, streakMask, atomMask, windowMask);
|
||||||
|
}
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
float progress = easeOutQuad(uProgress);
|
||||||
|
|
||||||
|
vec4 masks = getMasks(progress);
|
||||||
|
vec4 windowColor = texture2D(uTexture, cogl_tex_coord_in[0].st);
|
||||||
|
|
||||||
|
// Shell.GLSLEffect uses straight alpha. So we have to convert from premultiplied.
|
||||||
|
if (windowColor.a > 0) {
|
||||||
|
windowColor.rgb /= windowColor.a;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Dissolve window to effect color / transparency.
|
||||||
|
cogl_color_out.rgb = mix(uColor, windowColor.rgb, 0.5 * masks.w + 0.5);
|
||||||
|
cogl_color_out.a = windowColor.a * masks.w;
|
||||||
|
|
||||||
|
// Add leading shower particles.
|
||||||
|
vec2 showerUV = cogl_tex_coord_in[0].st + vec2(0, -0.7 * progress / SHOWER_TIME);
|
||||||
|
showerUV *= 0.02 * uSize / uScale;
|
||||||
|
float shower = pow(simplex2D(showerUV), 10.0);
|
||||||
|
cogl_color_out.rgb += uColor * shower * masks.x;
|
||||||
|
cogl_color_out.a += shower * masks.x;
|
||||||
|
|
||||||
|
// Add trailing streak lines.
|
||||||
|
vec2 streakUV = cogl_tex_coord_in[0].st + vec2(0, -progress / SHOWER_TIME);
|
||||||
|
streakUV *= vec2(0.05 * uSize.x, 0.001 * uSize.y) / uScale;
|
||||||
|
float streaks = simplex2DFractal(streakUV) * 0.5;
|
||||||
|
cogl_color_out.rgb += uColor * streaks * masks.y;
|
||||||
|
cogl_color_out.a += streaks * masks.y;
|
||||||
|
|
||||||
|
// Add glimmering atoms.
|
||||||
|
vec2 atomUV = cogl_tex_coord_in[0].st + vec2(0, -0.025 * progress / SHOWER_TIME);
|
||||||
|
atomUV *= 0.2 * uSize / uScale;
|
||||||
|
float atoms = pow((simplex3D(vec3(atomUV, uTime))), 5.0);
|
||||||
|
cogl_color_out.rgb += uColor * atoms * masks.z;
|
||||||
|
cogl_color_out.a += atoms * masks.z;
|
||||||
|
|
||||||
|
// These are pretty useful for understanding how this works.
|
||||||
|
// cogl_color_out = vec4(masks.rgb, 1.0);
|
||||||
|
// cogl_color_out = vec4(vec3(masks.x), 1.0);
|
||||||
|
// cogl_color_out = vec4(vec3(masks.y), 1.0);
|
||||||
|
// cogl_color_out = vec4(vec3(masks.z), 1.0);
|
||||||
|
// cogl_color_out = vec4(vec3(masks.w), 1.0);
|
||||||
|
// cogl_color_out = vec4(vec3(shower), 1.0);
|
||||||
|
// cogl_color_out = vec4(vec3(streaks), 1.0);
|
||||||
|
// cogl_color_out = vec4(vec3(atoms), 1.0);
|
||||||
|
}
|
||||||
@@ -0,0 +1,117 @@
|
|||||||
|
// Inject some common shader snippets. It is only possible to include glsl files from the
|
||||||
|
// "common" directory. Also, the files in the "common" directory are not allowed to
|
||||||
|
// include any further files.
|
||||||
|
#include "common/uniforms.glsl"
|
||||||
|
#include "common/compositing.glsl"
|
||||||
|
#include "common/edgeMask.glsl"
|
||||||
|
#include "common/noise.glsl"
|
||||||
|
#include "common/easing.glsl"
|
||||||
|
|
||||||
|
uniform bool u3DNoise;
|
||||||
|
uniform float uScale;
|
||||||
|
uniform float uMovementSpeed;
|
||||||
|
uniform vec4 uGradient1;
|
||||||
|
uniform vec4 uGradient2;
|
||||||
|
uniform vec4 uGradient3;
|
||||||
|
uniform vec4 uGradient4;
|
||||||
|
uniform vec4 uGradient5;
|
||||||
|
|
||||||
|
// These may be configurable in the future.
|
||||||
|
const float EDGE_FADE = 70;
|
||||||
|
const float FADE_WIDTH = 0.1;
|
||||||
|
const float HIDE_TIME = 0.4;
|
||||||
|
|
||||||
|
// This maps the input value from [0..1] to a color from the gradient.
|
||||||
|
vec4 getFireColor(float v) {
|
||||||
|
const float steps[5] = float[](0.0, 0.2, 0.35, 0.5, 0.8);
|
||||||
|
vec4 colors[5] = vec4[](uGradient1, uGradient2, uGradient3, uGradient4, uGradient5);
|
||||||
|
|
||||||
|
if (v < steps[0]) {
|
||||||
|
return colors[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < 4; ++i) {
|
||||||
|
if (v <= steps[i + 1]) {
|
||||||
|
return mix(colors[i], colors[i + 1],
|
||||||
|
vec4(v - steps[i]) / (steps[i + 1] - steps[i]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return colors[4];
|
||||||
|
}
|
||||||
|
|
||||||
|
// This method requires the uniforms from standardUniforms() to be available.
|
||||||
|
// It returns two values: The first is an alpha value which can be used for the window
|
||||||
|
// texture. This gradually dissolves the window from top to bottom. The second can be used
|
||||||
|
// to mask any effect, it will be most opaque where the window is currently fading and
|
||||||
|
// gradually dissolve to zero over time.
|
||||||
|
// hideTime: A value in [0..1]. It determines the percentage of the animation which
|
||||||
|
// is spent for hiding the window. 1-hideTime will be spent thereafter for
|
||||||
|
// dissolving the effect mask.
|
||||||
|
// fadeWidth: The relative size of the window-hiding gradient in [0..1].
|
||||||
|
// edgeFadeWidth: The pixel width of the effect fading range at the edges of the window.
|
||||||
|
vec2 effectMask(float hideTime, float fadeWidth, float edgeFadeWidth) {
|
||||||
|
float progress = easeOutQuad(uProgress);
|
||||||
|
|
||||||
|
float burnProgress = clamp(progress / hideTime, 0, 1);
|
||||||
|
float afterBurnProgress = clamp((progress - hideTime) / (1 - hideTime), 0, 1);
|
||||||
|
|
||||||
|
// Gradient from top to bottom.
|
||||||
|
float t = cogl_tex_coord_in[0].t * (1 - fadeWidth);
|
||||||
|
|
||||||
|
// Visible part of the window. Gradually dissolves towards the bottom.
|
||||||
|
float windowMask = 1 - clamp((burnProgress - t) / fadeWidth, 0, 1);
|
||||||
|
|
||||||
|
// Gradient from top burning window.
|
||||||
|
float effectMask = clamp(t * (1 - windowMask) / burnProgress, 0, 1);
|
||||||
|
|
||||||
|
// Fade-out when the window burned down.
|
||||||
|
if (progress > hideTime) {
|
||||||
|
float fade = sqrt(1 - afterBurnProgress * afterBurnProgress);
|
||||||
|
effectMask *= mix(1, 1 - t, afterBurnProgress) * fade;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fade at window borders.
|
||||||
|
effectMask *= getAbsoluteEdgeMask(edgeFadeWidth, 0.5);
|
||||||
|
|
||||||
|
if (uForOpening) {
|
||||||
|
windowMask = 1.0 - windowMask;
|
||||||
|
}
|
||||||
|
|
||||||
|
return vec2(windowMask, effectMask);
|
||||||
|
}
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
// Get a noise value which moves vertically in time.
|
||||||
|
vec2 uv = cogl_tex_coord_in[0].st * uSize / vec2(400, 600) / uScale;
|
||||||
|
uv.y += uTime * uMovementSpeed;
|
||||||
|
|
||||||
|
float noise = u3DNoise ? simplex3DFractal(vec3(uv * 4.0, uTime * uMovementSpeed * 1.5))
|
||||||
|
: simplex2DFractal(uv * 4.0);
|
||||||
|
|
||||||
|
// Modulate noise by effect mask.
|
||||||
|
vec2 effectMask = effectMask(HIDE_TIME, FADE_WIDTH, EDGE_FADE);
|
||||||
|
noise *= effectMask.y;
|
||||||
|
|
||||||
|
// Map noise value to color.
|
||||||
|
vec4 fire = getFireColor(noise);
|
||||||
|
|
||||||
|
// Get the window texture.
|
||||||
|
cogl_color_out = texture2D(uTexture, cogl_tex_coord_in[0].st);
|
||||||
|
|
||||||
|
// Shell.GLSLEffect uses straight alpha. So we have to convert from premultiplied.
|
||||||
|
if (cogl_color_out.a > 0) {
|
||||||
|
cogl_color_out.rgb /= cogl_color_out.a;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fade the window according to the effect mask.
|
||||||
|
cogl_color_out.a *= effectMask.x;
|
||||||
|
|
||||||
|
// Add the fire to the window.
|
||||||
|
cogl_color_out = alphaOver(cogl_color_out, fire);
|
||||||
|
|
||||||
|
// These are pretty useful for understanding how this works.
|
||||||
|
// cogl_color_out = vec4(vec3(noise), 1);
|
||||||
|
// cogl_color_out = vec4(vec3(effectMask.x), 1);
|
||||||
|
// cogl_color_out = vec4(vec3(effectMask.y), 1);
|
||||||
|
}
|
||||||
@@ -0,0 +1,116 @@
|
|||||||
|
// Inject some common shader snippets. It is only possible to include glsl files from the
|
||||||
|
// "common" directory. Also, the files in the "common" directory are not allowed to
|
||||||
|
// include any further files.
|
||||||
|
#include "common/uniforms.glsl"
|
||||||
|
#include "common/noise.glsl"
|
||||||
|
|
||||||
|
uniform bool uAdditiveBlending;
|
||||||
|
uniform vec2 uSeed;
|
||||||
|
uniform float uScale;
|
||||||
|
uniform float uLineWidth;
|
||||||
|
uniform vec4 uGlowColor;
|
||||||
|
uniform vec4 uLineColor;
|
||||||
|
|
||||||
|
// 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 = uForOpening ? 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 + uSeed);
|
||||||
|
progress = clamp(mix(noise - 1.0, noise + 1.0, progress), 0.0, 1.0);
|
||||||
|
|
||||||
|
// glowProgress fades in in the first half of the animation, tileProgress fades
|
||||||
|
// in in the second half.
|
||||||
|
float glowProgress = smoothstep(0, 1, clamp(progress / 0.5, 0, 1));
|
||||||
|
float tileProgress = smoothstep(0, 1, clamp((progress - 0.5) / 0.5, 0, 1));
|
||||||
|
|
||||||
|
vec2 texScale = 0.1 * uSize / uScale;
|
||||||
|
vec4 hex = getHexagons(cogl_tex_coord_in[0].st * texScale);
|
||||||
|
|
||||||
|
if (tileProgress > hex.z) {
|
||||||
|
|
||||||
|
// Crop outer parts of the shrinking tiles.
|
||||||
|
cogl_color_out.a = 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);
|
||||||
|
|
||||||
|
// Shell.GLSLEffect uses straight alpha. So we have to convert from premultiplied.
|
||||||
|
if (cogl_color_out.a > 0) {
|
||||||
|
cogl_color_out.rgb /= cogl_color_out.a;
|
||||||
|
}
|
||||||
|
|
||||||
|
vec4 glow = uGlowColor;
|
||||||
|
vec4 line = uLineColor;
|
||||||
|
|
||||||
|
// For the glow, we accumulate a few exponentially scaled versions of hex.w.
|
||||||
|
glow.a *= pow(hex.w, 20.0) * 10.0 + pow(hex.w, 10.0) * 5.0 + pow(hex.w, 2.0) * 0.5;
|
||||||
|
|
||||||
|
// Using step(uLineWidth, hex.z) would be simpler, but the below creates some
|
||||||
|
// fake antialiasing.
|
||||||
|
line.a *= 1.0 - smoothstep(uLineWidth * 0.02 * 0.5, uLineWidth * 0.02, hex.z);
|
||||||
|
|
||||||
|
// Fade in the glowing lines.
|
||||||
|
glow.a *= glowProgress;
|
||||||
|
line.a *= glowProgress;
|
||||||
|
|
||||||
|
// Do not add the hexagon lines onto transparent parts of the window.
|
||||||
|
glow *= cogl_color_out.a;
|
||||||
|
line *= cogl_color_out.a;
|
||||||
|
|
||||||
|
if (uAdditiveBlending) {
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,103 @@
|
|||||||
|
// Inject some common shader snippets. It is only possible to include glsl files from the
|
||||||
|
// "common" directory. Also, the files in the "common" directory are not allowed to
|
||||||
|
// include any further files.
|
||||||
|
#include "common/uniforms.glsl"
|
||||||
|
#include "common/noise.glsl"
|
||||||
|
#include "common/edgeMask.glsl"
|
||||||
|
#include "common/compositing.glsl"
|
||||||
|
|
||||||
|
uniform sampler2D uFontTexture;
|
||||||
|
uniform vec3 uTrailColor;
|
||||||
|
uniform vec3 uTipColor;
|
||||||
|
uniform float uLetterSize;
|
||||||
|
uniform float uRandomness;
|
||||||
|
uniform float uOverShoot;
|
||||||
|
|
||||||
|
// These may be configurable in the future.
|
||||||
|
const float EDGE_FADE = 30;
|
||||||
|
const float FADE_WIDTH = 150;
|
||||||
|
const float TRAIL_LENGTH = 0.2;
|
||||||
|
const float FINAL_FADE_START_TIME = 0.8;
|
||||||
|
const float LETTER_TILES = 16.0;
|
||||||
|
const float LETTER_FLICKER_SPEED = 2.0;
|
||||||
|
|
||||||
|
// This returns a flickering grid of random letters.
|
||||||
|
float getText(vec2 fragCoord) {
|
||||||
|
vec2 pixelCoords = fragCoord * uSize;
|
||||||
|
vec2 uv = mod(pixelCoords.xy, uLetterSize) / uLetterSize;
|
||||||
|
vec2 block = pixelCoords / uLetterSize - uv;
|
||||||
|
|
||||||
|
// Choose random letter.
|
||||||
|
uv += floor(hash22(floor(hash22(block) * vec2(12.9898, 78.233) +
|
||||||
|
LETTER_FLICKER_SPEED * uTime + 42.254)) *
|
||||||
|
LETTER_TILES);
|
||||||
|
|
||||||
|
return texture2D(uFontTexture, uv / LETTER_TILES).r;
|
||||||
|
}
|
||||||
|
|
||||||
|
// This returns two values: The first are gradients for the "raindrops" which move
|
||||||
|
// from top to bottom. This is used for fading the letters. The second value is set
|
||||||
|
// to one below each drop and to zero above it. This second value is used for fading
|
||||||
|
// the window texture.
|
||||||
|
vec2 getRain(vec2 fragCoord) {
|
||||||
|
float column = cogl_tex_coord_in[0].x * uSize.x;
|
||||||
|
column -= mod(column, uLetterSize);
|
||||||
|
|
||||||
|
float delay = fract(sin(column) * 78.233) * mix(0.0, 1.0, uRandomness);
|
||||||
|
float speed = fract(cos(column) * 12.989) * mix(0.0, 0.3, uRandomness) + 1.5;
|
||||||
|
|
||||||
|
float distToDrop = (uProgress * 2 - delay) * speed - cogl_tex_coord_in[0].y;
|
||||||
|
|
||||||
|
float rainAlpha = distToDrop >= 0 ? exp(-distToDrop / TRAIL_LENGTH) : 0;
|
||||||
|
float windowAlpha = 1 - clamp(uSize.y * distToDrop, 0, FADE_WIDTH) / FADE_WIDTH;
|
||||||
|
|
||||||
|
// Fade at window borders.
|
||||||
|
rainAlpha *= getAbsoluteEdgeMask(EDGE_FADE, 0.5);
|
||||||
|
|
||||||
|
// Add some variation to the drop start and end position.
|
||||||
|
float shorten =
|
||||||
|
fract(sin(column + 42.0) * 33.423) * mix(0.0, uOverShoot * 0.25, uRandomness);
|
||||||
|
rainAlpha *= smoothstep(0, 1, clamp(cogl_tex_coord_in[0].y / shorten, 0, 1));
|
||||||
|
rainAlpha *= smoothstep(0, 1, clamp((1.0 - cogl_tex_coord_in[0].y) / shorten, 0, 1));
|
||||||
|
|
||||||
|
if (uForOpening) {
|
||||||
|
windowAlpha = 1.0 - windowAlpha;
|
||||||
|
}
|
||||||
|
|
||||||
|
return vec2(rainAlpha, windowAlpha);
|
||||||
|
}
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
vec2 coords = cogl_tex_coord_in[0].st;
|
||||||
|
coords.y = coords.y * (uOverShoot + 1.0) - uOverShoot * 0.5;
|
||||||
|
|
||||||
|
// Get a cool matrix effect. See comments for those methods above.
|
||||||
|
vec2 rainMask = getRain(coords);
|
||||||
|
float textMask = getText(coords);
|
||||||
|
|
||||||
|
// Get the window texture.
|
||||||
|
cogl_color_out = texture2D(uTexture, coords);
|
||||||
|
|
||||||
|
// Shell.GLSLEffect uses straight alpha. So we have to convert from premultiplied.
|
||||||
|
if (cogl_color_out.a > 0) {
|
||||||
|
cogl_color_out.rgb /= cogl_color_out.a;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fade the window according to the effect mask.
|
||||||
|
cogl_color_out.a *= rainMask.y;
|
||||||
|
|
||||||
|
// This is used to fade out the remaining trails in the end.
|
||||||
|
float finalFade =
|
||||||
|
1 - clamp((uProgress - FINAL_FADE_START_TIME) / (1 - FINAL_FADE_START_TIME), 0, 1);
|
||||||
|
float rainAlpha = finalFade * rainMask.x;
|
||||||
|
|
||||||
|
// Add the matrix effect to the window.
|
||||||
|
vec4 text = vec4(mix(uTrailColor, uTipColor, min(1, pow(rainAlpha + 0.1, 4))),
|
||||||
|
rainAlpha * textMask);
|
||||||
|
cogl_color_out = alphaOver(cogl_color_out, text);
|
||||||
|
|
||||||
|
// These are pretty useful for understanding how this works.
|
||||||
|
// cogl_color_out = vec4(vec3(textMask), 1);
|
||||||
|
// cogl_color_out = vec4(vec3(rainMask.x), 1);
|
||||||
|
// cogl_color_out = vec4(vec3(rainMask.y), 1);
|
||||||
|
}
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
// Inject some common shader snippets. It is only possible to include glsl files from the
|
||||||
|
// "common" directory. Also, the files in the "common" directory are not allowed to
|
||||||
|
// include any further files.
|
||||||
|
#include "common/uniforms.glsl"
|
||||||
|
#include "common/noise.glsl"
|
||||||
|
#include "common/math2D.glsl"
|
||||||
|
|
||||||
|
uniform sampler2D uDustTexture;
|
||||||
|
uniform vec4 uDustColor;
|
||||||
|
uniform vec2 uSeed;
|
||||||
|
uniform float uDustScale;
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
// We simply inverse the progress for opening windows.
|
||||||
|
float progress = uForOpening ? 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 + uSeed) * 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 * (uSeed.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 += WIND_INTENSITY * progress * (uForOpening ? 1.0 : -1.0);
|
||||||
|
|
||||||
|
// Now check wether there is actually something in the current dust layer at
|
||||||
|
// the coords position.
|
||||||
|
vec2 dustCoords = (coords + uSeed) * uSize / uDustScale / 100.0;
|
||||||
|
vec2 dustMap = texture2D(uDustTexture, dustCoords).rg;
|
||||||
|
float dustGroup = floor(dustMap.g * DUST_LAYERS * 0.999);
|
||||||
|
|
||||||
|
if (dustGroup == i) {
|
||||||
|
|
||||||
|
// Get the window color.
|
||||||
|
vec4 windowColor = texture2D(uTexture, coords + 0.5);
|
||||||
|
|
||||||
|
// Shell.GLSLEffect uses straight alpha. So we have to convert from premultiplied.
|
||||||
|
if (windowColor.a > 0) {
|
||||||
|
windowColor.rgb /= windowColor.a;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fade the window color to uDustColor.
|
||||||
|
vec3 dustColor = mix(windowColor.rgb, uDustColor.rgb, uDustColor.a);
|
||||||
|
windowColor.rgb = mix(windowColor.rgb, dustColor, progress);
|
||||||
|
|
||||||
|
// Dissolve and blend the layers.
|
||||||
|
if (dustMap.x - progress > 0) {
|
||||||
|
cogl_color_out = windowColor;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,116 @@
|
|||||||
|
// Inject some common shader snippets. It is only possible to include glsl files from the
|
||||||
|
// "common" directory. Also, the files in the "common" directory are not allowed to
|
||||||
|
// include any further files.
|
||||||
|
#include "common/uniforms.glsl"
|
||||||
|
#include "common/noise.glsl"
|
||||||
|
#include "common/compositing.glsl"
|
||||||
|
#include "common/easing.glsl"
|
||||||
|
|
||||||
|
// See assets/README.md for how this texture was created.
|
||||||
|
uniform sampler2D uClawTexture;
|
||||||
|
uniform vec4 uFlashColor;
|
||||||
|
uniform vec2 uSeed;
|
||||||
|
uniform float uClawSize;
|
||||||
|
uniform float uNumClaws;
|
||||||
|
uniform float uWarpIntensity;
|
||||||
|
|
||||||
|
const float FLASH_INTENSITY = 0.1;
|
||||||
|
const float MAX_SPAWN_TIME =
|
||||||
|
0.6; // Scratches will only start in the first half of the animation.
|
||||||
|
const float FF_TIME = 0.6; // Relative time for the final fade to transparency.
|
||||||
|
|
||||||
|
// This method generates a grid of randomly rotated, slightly shifted and scaled
|
||||||
|
// UV squares. It returns the texture coords of the UV square at the given actor
|
||||||
|
// coordinates. If these do not fall into one of the UV grids, the coordinates of
|
||||||
|
// the closest UV grid will be clamped and returned.
|
||||||
|
vec2 getClawUV(vec2 texCoords, float gridScale, vec2 seed) {
|
||||||
|
|
||||||
|
// Shift coordinates by a random offset and make sure the have a 1:1 aspect ratio.
|
||||||
|
vec2 coords = texCoords + hash22(seed);
|
||||||
|
coords *= uSize.x < uSize.y ? vec2(1.0, 1.0 * uSize.y / uSize.x)
|
||||||
|
: vec2(1.0 * uSize.x / uSize.y, 1.0);
|
||||||
|
|
||||||
|
// Apply global scale.
|
||||||
|
coords *= gridScale;
|
||||||
|
|
||||||
|
// Get grid cell coordinates in [0..1].
|
||||||
|
vec2 cellUV = mod(coords, vec2(1));
|
||||||
|
|
||||||
|
// This is unique for each cell.
|
||||||
|
vec2 cellID = coords - cellUV + vec2(362.456);
|
||||||
|
|
||||||
|
// Add random rotation, scale and offset to each grid cell.
|
||||||
|
float scale = mix(0.8, 1.0, hash12(cellID * seed * 134.451));
|
||||||
|
float offsetX = mix(0.0, 1.0 - scale, hash12(cellID * seed * 54.4129));
|
||||||
|
float offsetY = mix(0.0, 1.0 - scale, hash12(cellID * seed * 25.3089));
|
||||||
|
float rotation = mix(0.0, 2.0 * 3.141, hash12(cellID * seed * 2.99837));
|
||||||
|
|
||||||
|
cellUV -= vec2(offsetX, offsetY);
|
||||||
|
cellUV /= scale;
|
||||||
|
|
||||||
|
cellUV -= 0.5;
|
||||||
|
cellUV = vec2(cellUV.x * cos(rotation) - cellUV.y * sin(rotation),
|
||||||
|
cellUV.x * sin(rotation) + cellUV.y * cos(rotation));
|
||||||
|
cellUV += 0.5;
|
||||||
|
|
||||||
|
// Clamp resulting coordinates.
|
||||||
|
return clamp(cellUV, vec2(0), vec2(1));
|
||||||
|
}
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
float progress = uForOpening ? 1.0 - easeOutQuad(uProgress) : easeOutQuad(uProgress);
|
||||||
|
|
||||||
|
// Warp the texture coordinates to create a blow-up effect.
|
||||||
|
vec2 coords = cogl_tex_coord_in[0].st * 2.0 - 1.0;
|
||||||
|
float dist = length(coords);
|
||||||
|
coords = (coords / dist * pow(dist, 1.0 + uWarpIntensity)) * 0.5 + 0.5;
|
||||||
|
coords = mix(cogl_tex_coord_in[0].st, coords, progress);
|
||||||
|
|
||||||
|
// Scale down the window according to the warp.
|
||||||
|
float scale = 0.5 * uWarpIntensity * (1.0 - progress);
|
||||||
|
coords = coords * (scale + 1.0) - scale * 0.5;
|
||||||
|
|
||||||
|
// Accumulate several random scratches. The color in the scratch map refers to the
|
||||||
|
// relative time when the respective part will become invisible. Therefore we can
|
||||||
|
// add a value to make the scratch appear later.
|
||||||
|
float scratchMap = 1.0;
|
||||||
|
for (int i = 0; i < uNumClaws; ++i) {
|
||||||
|
vec2 uv = getClawUV(coords, 1.0 / uClawSize, uSeed * (i + 1));
|
||||||
|
float delay = i / uNumClaws * MAX_SPAWN_TIME;
|
||||||
|
scratchMap = min(scratchMap, clamp(texture2D(uClawTexture, uv).r + delay, 0, 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get the window texture. We shift the texture lookup by the local derivative of
|
||||||
|
// the claw texture in order to mimic some folding distortion.
|
||||||
|
vec2 offset = vec2(dFdx(scratchMap), dFdy(scratchMap)) * progress * 0.5;
|
||||||
|
cogl_color_out = texture2D(uTexture, coords + offset);
|
||||||
|
|
||||||
|
// Shell.GLSLEffect uses straight alpha. So we have to convert from premultiplied.
|
||||||
|
if (cogl_color_out.a > 0) {
|
||||||
|
cogl_color_out.rgb /= cogl_color_out.a;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add colorful flashes.
|
||||||
|
float flashIntensity = 1.0 / FLASH_INTENSITY * (scratchMap - progress) + 1;
|
||||||
|
if (flashIntensity < 0 || flashIntensity >= 1) {
|
||||||
|
flashIntensity = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Hide flashes where there is now window.
|
||||||
|
vec4 flash = uFlashColor;
|
||||||
|
flash.a *= flashIntensity * cogl_color_out.a * (1.0 - progress);
|
||||||
|
|
||||||
|
// Hide scratched out parts.
|
||||||
|
cogl_color_out.a *= (scratchMap > progress ? 1 : 0);
|
||||||
|
|
||||||
|
// Add flash color.
|
||||||
|
cogl_color_out = alphaOver(cogl_color_out, flash);
|
||||||
|
|
||||||
|
// Fade out the remaining shards.
|
||||||
|
float fadeProgress = smoothstep(0, 1, (progress - 1.0 + FF_TIME) / FF_TIME);
|
||||||
|
cogl_color_out.a *= sqrt(1 - fadeProgress * fadeProgress);
|
||||||
|
|
||||||
|
// These are pretty useful for understanding how this works.
|
||||||
|
// cogl_color_out = vec4(vec3(flashIntensity), 1);
|
||||||
|
// cogl_color_out = vec4(vec3(scratchMap), 1);
|
||||||
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
// Inject some common shader snippets. It is only possible to include glsl files from the
|
||||||
|
// "common" directory. Also, the files in the "common" directory are not allowed to
|
||||||
|
// include any further files.
|
||||||
|
#include "common/uniforms.glsl"
|
||||||
|
#include "common/easing.glsl"
|
||||||
|
|
||||||
|
uniform vec3 uColor;
|
||||||
|
|
||||||
|
const float BLUR_WIDTH = 0.01; // Width of the gradients.
|
||||||
|
const float TB_TIME = 0.7; // Relative time for the top/bottom animation.
|
||||||
|
const float LR_TIME = 0.4; // Relative time for the left/right animation.
|
||||||
|
const float LR_DELAY = 0.6; // Delay after which the left/right animation starts.
|
||||||
|
const float FF_TIME = 0.1; // Relative time for the final fade to transparency.
|
||||||
|
const float SCALING = 0.5; // Additional vertical scaling of the window.
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
float progress = uForOpening ? 1.0 - easeOutQuad(uProgress) : easeOutQuad(uProgress);
|
||||||
|
|
||||||
|
// Scale down the window vertically.
|
||||||
|
float scale = 1.0 / mix(1.0, SCALING, progress) - 1.0;
|
||||||
|
vec2 coords = cogl_tex_coord_in[0].st;
|
||||||
|
coords.y = coords.y * (scale + 1.0) - scale * 0.5;
|
||||||
|
|
||||||
|
// All of these are in [0..1] during the different stages of the animation.
|
||||||
|
// tb refers to the top-bottom animation.
|
||||||
|
// lr refers to the left-right animation.
|
||||||
|
// ff refers to the final fade animation.
|
||||||
|
float tbProgress = smoothstep(0, 1, clamp(progress / TB_TIME, 0, 1));
|
||||||
|
float lrProgress = smoothstep(0, 1, clamp((progress - LR_DELAY) / LR_TIME, 0, 1));
|
||||||
|
float ffProgress = smoothstep(0, 1, clamp((progress - 1.0 + FF_TIME) / FF_TIME, 0, 1));
|
||||||
|
|
||||||
|
// This is a top-center-bottom gradient in [0..1..0]
|
||||||
|
float tb = coords.y * 2;
|
||||||
|
tb = tb < 1 ? tb : 2 - tb;
|
||||||
|
|
||||||
|
// This is a left-center-right gradient in [0..1..0]
|
||||||
|
float lr = coords.x * 2;
|
||||||
|
lr = lr < 1 ? lr : 2 - lr;
|
||||||
|
|
||||||
|
// Combine the progress values with the gradients to create the alpha masks.
|
||||||
|
float tbMask = 1 - smoothstep(0, 1, clamp((tbProgress - tb) / BLUR_WIDTH, 0, 1));
|
||||||
|
float lrMask = 1 - smoothstep(0, 1, clamp((lrProgress - lr) / BLUR_WIDTH, 0, 1));
|
||||||
|
float ffMask = 1 - smoothstep(0, 1, ffProgress);
|
||||||
|
|
||||||
|
// Assemble the final alpha value.
|
||||||
|
float mask = tbMask * lrMask * ffMask;
|
||||||
|
|
||||||
|
cogl_color_out = texture2D(uTexture, coords);
|
||||||
|
|
||||||
|
// Shell.GLSLEffect uses straight alpha. So we have to convert from premultiplied.
|
||||||
|
if (cogl_color_out.a > 0) {
|
||||||
|
cogl_color_out.rgb /= cogl_color_out.a;
|
||||||
|
}
|
||||||
|
|
||||||
|
cogl_color_out.rgb =
|
||||||
|
mix(cogl_color_out.rgb, uColor * cogl_color_out.a, smoothstep(0, 1, progress));
|
||||||
|
cogl_color_out.a *= mask;
|
||||||
|
|
||||||
|
// These are pretty useful for understanding how this works.
|
||||||
|
// cogl_color_out = vec4(vec3(tbMask), 1);
|
||||||
|
// cogl_color_out = vec4(vec3(lrMask), 1);
|
||||||
|
// cogl_color_out = vec4(vec3(ffMask), 1);
|
||||||
|
// cogl_color_out = vec4(vec3(mask), 1);
|
||||||
|
}
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
// Inject some common shader snippets. It is only possible to include glsl files from the
|
||||||
|
// "common" directory. Also, the files in the "common" directory are not allowed to
|
||||||
|
// include any further files.
|
||||||
|
#include "common/uniforms.glsl"
|
||||||
|
#include "common/noise.glsl"
|
||||||
|
#include "common/edgeMask.glsl"
|
||||||
|
#include "common/compositing.glsl"
|
||||||
|
#include "common/easing.glsl"
|
||||||
|
|
||||||
|
uniform vec2 uSeed;
|
||||||
|
uniform vec3 uColor;
|
||||||
|
uniform float uScale;
|
||||||
|
|
||||||
|
const float WISPS_RADIUS = 20.0;
|
||||||
|
const float WISPS_SPEED = 10.0;
|
||||||
|
const float WISPS_SPACING = 40 + WISPS_RADIUS;
|
||||||
|
const int WISPS_LAYERS = 8;
|
||||||
|
const float WISPS_IN_TIME = 0.5;
|
||||||
|
const float WINDOW_OUT_TIME = 1.0;
|
||||||
|
const float SCALING = 0.9;
|
||||||
|
|
||||||
|
// Returns a grid of randomly moving points. Each grid cell contains one point which
|
||||||
|
// moves on an ellipse.
|
||||||
|
float getWisps(vec2 texCoords, float gridSize, vec2 seed) {
|
||||||
|
|
||||||
|
// Shift coordinates by a random offset and make sure the have a 1:1 aspect ratio.
|
||||||
|
vec2 coords = (texCoords + hash22(seed)) * uSize;
|
||||||
|
|
||||||
|
// Apply global scale.
|
||||||
|
coords /= gridSize;
|
||||||
|
|
||||||
|
// Get grid cell coordinates in [0..1].
|
||||||
|
vec2 cellUV = mod(coords, vec2(1));
|
||||||
|
|
||||||
|
// This is unique for each cell.
|
||||||
|
vec2 cellID = coords - cellUV + vec2(362.456);
|
||||||
|
|
||||||
|
// Add random rotation, scale and offset to each grid cell.
|
||||||
|
float speed = mix(10.0, 15.0, hash12(cellID * seed * 134.451)) / gridSize * WISPS_SPEED;
|
||||||
|
float rotation = mix(0.0, 6.283, hash12(cellID * seed * 54.4129));
|
||||||
|
float radius = mix(0.5, 1.0, hash12(cellID * seed * 19.1249)) * WISPS_RADIUS;
|
||||||
|
float roundness = mix(-1.0, 1.0, hash12(cellID * seed * 7.51949));
|
||||||
|
|
||||||
|
vec2 offset = vec2(sin(speed * (uTime + 1)) * roundness, cos(speed * (uTime + 1)));
|
||||||
|
offset *= 0.5 - 0.5 * radius / gridSize;
|
||||||
|
offset = vec2(offset.x * cos(rotation) - offset.y * sin(rotation),
|
||||||
|
offset.x * sin(rotation) + offset.y * cos(rotation));
|
||||||
|
|
||||||
|
cellUV += offset;
|
||||||
|
|
||||||
|
// Use distance to center of shifted / rotated UV coordinates to draw a glaring point.
|
||||||
|
float dist = length(cellUV - 0.5) * gridSize / radius;
|
||||||
|
if (dist < 1.0) {
|
||||||
|
return min(5, 0.01 / pow(dist, 2.0));
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
float progress = uForOpening ? 1.0 - easeOutQuad(uProgress) : easeOutQuad(uProgress);
|
||||||
|
|
||||||
|
// Scale down the window slightly.
|
||||||
|
float scale = 1.0 / mix(1.0, SCALING, progress) - 1.0;
|
||||||
|
vec2 coords = cogl_tex_coord_in[0].st * (scale + 1.0) - scale * 0.5;
|
||||||
|
|
||||||
|
// Get the color of the window.
|
||||||
|
cogl_color_out = texture2D(uTexture, coords);
|
||||||
|
|
||||||
|
// Shell.GLSLEffect uses straight alpha. So we have to convert from premultiplied.
|
||||||
|
if (cogl_color_out.a > 0) {
|
||||||
|
cogl_color_out.rgb /= cogl_color_out.a;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Compute several layers of moving wisps.
|
||||||
|
vec2 uv = (cogl_tex_coord_in[0].st - 0.5) / mix(1.0, 0.5, progress) + 0.5;
|
||||||
|
uv /= uScale;
|
||||||
|
float wisps = 0;
|
||||||
|
for (int i = 0; i < WISPS_LAYERS; ++i) {
|
||||||
|
wisps += getWisps(uv * 0.3, WISPS_SPACING, uSeed * (i + 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Compute shrinking edge mask.
|
||||||
|
float mask = getRelativeEdgeMask(mix(0.01, 0.5, progress));
|
||||||
|
|
||||||
|
// Compute three different progress values.
|
||||||
|
float wispsIn = smoothstep(0, 1, clamp(progress / WISPS_IN_TIME, 0, 1));
|
||||||
|
float wispsOut =
|
||||||
|
smoothstep(0, 1, clamp((progress - WISPS_IN_TIME) / (1.0 - WISPS_IN_TIME), 0, 1));
|
||||||
|
float windowOut = smoothstep(0, 1, clamp(progress / WINDOW_OUT_TIME, 0, 1));
|
||||||
|
|
||||||
|
// Use a noise function to dissolve the window.
|
||||||
|
float noise = smoothstep(1.0, 0.0, abs(2.0 * simplex2DFractal(uv * uSize / 250) - 1.0));
|
||||||
|
float windowMask = 1.0 - (windowOut < 0.5 ? mix(0.0, noise, windowOut * 2.0)
|
||||||
|
: mix(noise, 1.0, windowOut * 2.0 - 1.0));
|
||||||
|
cogl_color_out.a *= windowMask * mask;
|
||||||
|
|
||||||
|
// Add the wisps.
|
||||||
|
vec4 wispColor = wisps * vec4(uColor, min(wispsIn, 1.0 - wispsOut) * mask);
|
||||||
|
cogl_color_out = alphaOver(cogl_color_out, wispColor);
|
||||||
|
|
||||||
|
// These are pretty useful for understanding how this works.
|
||||||
|
// cogl_color_out = vec4(vec3(windowMask), 1.0);
|
||||||
|
// cogl_color_out = vec4(vec3(wisps), 1.0);
|
||||||
|
// cogl_color_out = vec4(vec3(noise), 1.0);
|
||||||
|
// cogl_color_out = vec4(vec3(mask*min(wispsIn, 1.0 - wispsOut)), 1.0);
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
<menu id="main-menu">
|
||||||
|
<section>
|
||||||
|
<item>
|
||||||
|
<attribute name="label" translatable="yes">Visit Homepage</attribute>
|
||||||
|
<attribute name="action">prefs.homepage</attribute>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<attribute name="label" translatable="yes">View Changelog</attribute>
|
||||||
|
<attribute name="action">prefs.changelog</attribute>
|
||||||
|
</item>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<item>
|
||||||
|
<attribute name="label" translatable="yes">Report a Bug</attribute>
|
||||||
|
<attribute name="action">prefs.bugs</attribute>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<attribute name="label" translatable="yes">Create an Effect</attribute>
|
||||||
|
<attribute name="action">prefs.new-effect</attribute>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<attribute name="label" translatable="yes">Translate</attribute>
|
||||||
|
<attribute name="action">prefs.translate</attribute>
|
||||||
|
</item>
|
||||||
|
<submenu>
|
||||||
|
<attribute name="label" translatable="yes">Donate</attribute>
|
||||||
|
<item>
|
||||||
|
<attribute name="label">PayPal</attribute>
|
||||||
|
<attribute name="action">prefs.donate-paypal</attribute>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<attribute name="label">GitHub</attribute>
|
||||||
|
<attribute name="action">prefs.donate-github</attribute>
|
||||||
|
</item>
|
||||||
|
</submenu>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<item>
|
||||||
|
<attribute name="label" translatable="yes">About Burn-My-Windows</attribute>
|
||||||
|
<attribute name="action">prefs.about</attribute>
|
||||||
|
</item>
|
||||||
|
</section>
|
||||||
|
</menu>
|
||||||
|
</interface>
|
||||||
@@ -1,583 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<interface domain="desktop-cube">
|
|
||||||
<requires lib="gtk" version="3.0" />
|
|
||||||
|
|
||||||
<object class="GtkListStore" id="animation-mode-list">
|
|
||||||
<columns>
|
|
||||||
<column type="gchararray" />
|
|
||||||
<column type="gchararray" />
|
|
||||||
</columns>
|
|
||||||
<data>
|
|
||||||
<row>
|
|
||||||
<col id="0">Fire</col>
|
|
||||||
<col id="1">fire</col>
|
|
||||||
</row>
|
|
||||||
<row>
|
|
||||||
<col id="0">TV Effect</col>
|
|
||||||
<col id="1">tv</col>
|
|
||||||
</row>
|
|
||||||
</data>
|
|
||||||
</object>
|
|
||||||
|
|
||||||
<menu id="main-menu">
|
|
||||||
<section>
|
|
||||||
<item>
|
|
||||||
<attribute name="label" translatable="yes">Visit Homepage</attribute>
|
|
||||||
<attribute name="action">prefs.homepage</attribute>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<attribute name="label" translatable="yes">Report a Bug</attribute>
|
|
||||||
<attribute name="action">prefs.bugs</attribute>
|
|
||||||
</item>
|
|
||||||
</section>
|
|
||||||
<section>
|
|
||||||
<submenu>
|
|
||||||
<attribute name="label" translatable="yes">Donate</attribute>
|
|
||||||
<item>
|
|
||||||
<attribute name="label" translatable="yes">Via PayPal</attribute>
|
|
||||||
<attribute name="action">prefs.donate-paypal</attribute>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<attribute name="label" translatable="yes">Via GitHub</attribute>
|
|
||||||
<attribute name="action">prefs.donate-github</attribute>
|
|
||||||
</item>
|
|
||||||
</submenu>
|
|
||||||
</section>
|
|
||||||
</menu>
|
|
||||||
|
|
||||||
<object class="GtkMenuButton" id="menu-button">
|
|
||||||
<property name="menu-model">main-menu</property>
|
|
||||||
<property name="visible">1</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkImage">
|
|
||||||
<property name="icon-name">open-menu-symbolic</property>
|
|
||||||
<property name="visible">1</property>
|
|
||||||
<property name="icon-size">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
|
|
||||||
<object class="GtkAdjustment" id="destroy-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>
|
|
||||||
|
|
||||||
<object class="GtkAdjustment" id="flame-scale">
|
|
||||||
<property name="upper">3</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="flame-movement-speed">
|
|
||||||
<property name="upper">2.0</property>
|
|
||||||
<property name="lower">-2.0</property>
|
|
||||||
<property name="step-increment">0.01</property>
|
|
||||||
<property name="page-increment">0.1</property>
|
|
||||||
</object>
|
|
||||||
|
|
||||||
<object class="GtkAdjustment" id="matrix-scale">
|
|
||||||
<property name="upper">50</property>
|
|
||||||
<property name="lower">5</property>
|
|
||||||
<property name="step-increment">1</property>
|
|
||||||
<property name="page-increment">5</property>
|
|
||||||
</object>
|
|
||||||
|
|
||||||
<object class="GtkAdjustment" id="matrix-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="GtkScrolledWindow" id="settings-widget">
|
|
||||||
<property name="hscrollbar-policy">never</property>
|
|
||||||
<property name="min-content-height">200</property>
|
|
||||||
<property name="hexpand">0</property>
|
|
||||||
<property name="vexpand">1</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkViewport">
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox">
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<property name="margin-start">60</property>
|
|
||||||
<property name="margin-end">60</property>
|
|
||||||
<property name="margin-top">30</property>
|
|
||||||
<property name="margin-bottom">30</property>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel">
|
|
||||||
<property name="margin-top">30</property>
|
|
||||||
<property name="margin-bottom">10</property>
|
|
||||||
<property name="label">General Options</property>
|
|
||||||
<property name="xalign">0</property>
|
|
||||||
<style>
|
|
||||||
<class name="title-4" />
|
|
||||||
</style>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<object class="GtkFrame">
|
|
||||||
<child>
|
|
||||||
<object class="GtkListBox">
|
|
||||||
<property name="selection-mode">none</property>
|
|
||||||
|
|
||||||
<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">Close Window Animation</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="GtkComboBox" id="close-animation">
|
|
||||||
<property name="valign">center</property>
|
|
||||||
<property name="model">animation-mode-list</property>
|
|
||||||
<property name="id_column">1</property>
|
|
||||||
<property name="active_id">fire</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkCellRendererText" />
|
|
||||||
<attributes>
|
|
||||||
<attribute name="text">0</attribute>
|
|
||||||
</attributes>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="reset-close-animation">
|
|
||||||
<child>
|
|
||||||
<object class="GtkImage">
|
|
||||||
<property name="icon-name">edit-clear-symbolic</property>
|
|
||||||
<property name="icon-size">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<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="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">destroy-animation-time</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="reset-destroy-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">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">Also Burn Dialogs</property>
|
|
||||||
<property name="xalign">0</property>
|
|
||||||
<property name="halign">start</property>
|
|
||||||
<property name="valign">center</property>
|
|
||||||
<property name="hexpand">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkSwitch" id="destroy-dialogs">
|
|
||||||
<property name="halign">end</property>
|
|
||||||
<property name="valign">center</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="reset-destroy-dialogs">
|
|
||||||
<child>
|
|
||||||
<object class="GtkImage">
|
|
||||||
<property name="icon-name">edit-clear-symbolic</property>
|
|
||||||
<property name="icon-size">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<property name="tooltip-text">Reset to Default Value</property>
|
|
||||||
<style>
|
|
||||||
<class name="flat" />
|
|
||||||
</style>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox">
|
|
||||||
<property name="margin-top">30</property>
|
|
||||||
<property name="margin-bottom">10</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel">
|
|
||||||
<property name="label">Fire Animation Options</property>
|
|
||||||
<property name="xalign">0</property>
|
|
||||||
<property name="hexpand">1</property>
|
|
||||||
<style>
|
|
||||||
<class name="title-4" />
|
|
||||||
</style>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkMenuButton" id="fire-preset-button">
|
|
||||||
<property name="relief">none</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox">
|
|
||||||
<property name="spacing">8</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel">
|
|
||||||
<property name="label" translatable="yes">Choose a Preset</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkImage">
|
|
||||||
<property name="icon-name">pan-down-symbolic</property>
|
|
||||||
<property name="icon-size">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<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">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">flame-scale</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="reset-flame-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">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">Speed</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">flame-movement-speed</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="reset-flame-movement-speed">
|
|
||||||
<child>
|
|
||||||
<object class="GtkImage">
|
|
||||||
<property name="icon-name">edit-clear-symbolic</property>
|
|
||||||
<property name="icon-size">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<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="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">Gradient</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="fire-color-1">
|
|
||||||
<property name="use_alpha">1</property>
|
|
||||||
<property name="show_editor">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkColorButton" id="fire-color-2">
|
|
||||||
<property name="use_alpha">1</property>
|
|
||||||
<property name="show_editor">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkColorButton" id="fire-color-3">
|
|
||||||
<property name="use_alpha">1</property>
|
|
||||||
<property name="show_editor">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkColorButton" id="fire-color-4">
|
|
||||||
<property name="use_alpha">1</property>
|
|
||||||
<property name="show_editor">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkColorButton" id="fire-color-5">
|
|
||||||
<property name="use_alpha">1</property>
|
|
||||||
<property name="show_editor">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="reset-fire-colors">
|
|
||||||
<child>
|
|
||||||
<object class="GtkImage">
|
|
||||||
<property name="icon-name">edit-clear-symbolic</property>
|
|
||||||
<property name="icon-size">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<property name="tooltip-text">Reset to Default Value</property>
|
|
||||||
<style>
|
|
||||||
<class name="flat" />
|
|
||||||
</style>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox">
|
|
||||||
<property name="margin-top">30</property>
|
|
||||||
<property name="margin-bottom">10</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel">
|
|
||||||
<property name="label">TV Effect Options</property>
|
|
||||||
<property name="xalign">0</property>
|
|
||||||
<property name="hexpand">1</property>
|
|
||||||
<style>
|
|
||||||
<class name="title-4" />
|
|
||||||
</style>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<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">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="tv-effect-color">
|
|
||||||
<property name="use_alpha">1</property>
|
|
||||||
<property name="show_editor">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="reset-tv-effect-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">Reset to Default Value</property>
|
|
||||||
<style>
|
|
||||||
<class name="flat" />
|
|
||||||
</style>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
|
|
||||||
|
|
||||||
</interface>
|
|
||||||
@@ -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>
|
||||||
@@ -0,0 +1,179 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="energize-a-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="energize-a-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="GtkBox" id="energize-a-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">energize-a-animation-time</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-energize-a-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">energize-a-scale</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-energize-a-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">
|
||||||
|
<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="energize-a-color">
|
||||||
|
<property name="use_alpha">0</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-energize-a-color">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
@@ -0,0 +1,179 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="energize-b-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="energize-b-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="GtkBox" id="energize-b-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">energize-b-animation-time</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-energize-b-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">energize-b-scale</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-energize-b-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">
|
||||||
|
<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="energize-b-color">
|
||||||
|
<property name="use_alpha">0</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-energize-b-color">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
@@ -0,0 +1,362 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="fire-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="flame-scale">
|
||||||
|
<property name="upper">3</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="flame-movement-speed">
|
||||||
|
<property name="upper">2.0</property>
|
||||||
|
<property name="lower">-2.0</property>
|
||||||
|
<property name="step-increment">0.01</property>
|
||||||
|
<property name="page-increment">0.1</property>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
<object class="GtkBox" id="fire-prefs">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkFrame">
|
||||||
|
<property name="margin-bottom">20</property>
|
||||||
|
<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">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Presets</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="GtkMenuButton" id="fire-preset-button">
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="spacing">8</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Choose a Preset</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">pan-down-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</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">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">fire-animation-time</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-fire-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">
|
||||||
|
<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">flame-scale</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-flame-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">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Speed</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">flame-movement-speed</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-flame-movement-speed">
|
||||||
|
<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">3D Noise</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">Creates a more dynamic fire but requires more GPU power.</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="flame-3d-noise">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-flame-3d-noise">
|
||||||
|
<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">Gradient</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="fire-color-1">
|
||||||
|
<property name="use_alpha">1</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkColorButton" id="fire-color-2">
|
||||||
|
<property name="use_alpha">1</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkColorButton" id="fire-color-3">
|
||||||
|
<property name="use_alpha">1</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkColorButton" id="fire-color-4">
|
||||||
|
<property name="use_alpha">1</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkColorButton" id="fire-color-5">
|
||||||
|
<property name="use_alpha">1</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-fire-colors">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
@@ -0,0 +1,340 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="hexagon-animation-time">
|
||||||
|
<property name="upper">10000</property>
|
||||||
|
<property name="lower">100</property>
|
||||||
|
<property name="step-increment">1</property>
|
||||||
|
<property name="page-increment">100</property>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="hexagon-scale">
|
||||||
|
<property name="upper">10</property>
|
||||||
|
<property name="lower">0.1</property>
|
||||||
|
<property name="step-increment">0.01</property>
|
||||||
|
<property name="page-increment">0.1</property>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="hexagon-line-width">
|
||||||
|
<property name="upper">10</property>
|
||||||
|
<property name="lower">0</property>
|
||||||
|
<property name="step-increment">0.1</property>
|
||||||
|
<property name="page-increment">1</property>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
<object class="GtkBox" id="hexagon-prefs">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkFrame">
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBox">
|
||||||
|
<property name="selection-mode">none</property>
|
||||||
|
<style>
|
||||||
|
<class name="rich-list" />
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="spacing">8</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">0</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">hexagon-animation-time</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-animation-time">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="spacing">8</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Scale</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">2</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">hexagon-scale</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-scale">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="spacing">8</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Mesh Line Width</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">1</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">hexagon-line-width</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-line-width">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Line Color</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkColorButton" id="hexagon-line-color">
|
||||||
|
<property name="use_alpha">1</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-line-color">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Glow Color</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkColorButton" id="hexagon-glow-color">
|
||||||
|
<property name="use_alpha">1</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-glow-color">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="margin-start">10</property>
|
||||||
|
<property name="margin-end">10</property>
|
||||||
|
<property name="margin-top">10</property>
|
||||||
|
<property name="margin-bottom">10</property>
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="spacing">3</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Additive Blending</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">You may want to enable this for dark window themes.</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
<style>
|
||||||
|
<class name="dim-label" />
|
||||||
|
<class name="caption" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkSwitch" id="hexagon-additive-blending">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-additive-blending">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
@@ -0,0 +1,123 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="tv-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="GtkBox" id="tv-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">tv-animation-time</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-tv-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">
|
||||||
|
<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="tv-effect-color">
|
||||||
|
<property name="use_alpha">0</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-tv-effect-color">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
@@ -0,0 +1,179 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
|
<object class="GtkAdjustment" id="wisps-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="wisps-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="GtkBox" id="wisps-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">wisps-animation-time</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-wisps-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">wisps-scale</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-wisps-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">
|
||||||
|
<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="wisps-color">
|
||||||
|
<property name="use_alpha">0</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-wisps-color">
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
<requires lib="gtk" version="3.0" />
|
||||||
|
|
||||||
|
<template class="BurnMyWindowsEffectPage" parent="GtkBox">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
<property name="spacing">10</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="label">
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
<style>
|
||||||
|
<class name="large-title" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="button">
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="margin_start">8</property>
|
||||||
|
<property name="margin_end">8</property>
|
||||||
|
<property name="spacing">6</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon_name">media-playback-start-symbolic</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="label" translatable="yes">Preview this Effect</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<style>
|
||||||
|
<class name="pill-button" />
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</interface>
|
||||||
@@ -0,0 +1,236 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
<requires lib="gtk" version="3.0" />
|
||||||
|
|
||||||
|
<menu id="close-effect-menu"></menu>
|
||||||
|
<menu id="open-effect-menu"></menu>
|
||||||
|
|
||||||
|
<object class="GtkMenuButton" id="menu-button">
|
||||||
|
<property name="menu-model">main-menu</property>
|
||||||
|
<property name="visible">1</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">open-menu-symbolic</property>
|
||||||
|
<property name="visible">1</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
<object class="GtkBox" id="general-prefs">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="margin-top">30</property>
|
||||||
|
<property name="margin-bottom">30</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="icon-name">burn-my-windows-symbolic</property>
|
||||||
|
<property name="pixel_size">128</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Welcome to Burn-My-Windows!</property>
|
||||||
|
<property name="margin-top">8</property>
|
||||||
|
<property name="margin-bottom">6</property>
|
||||||
|
<style>
|
||||||
|
<class name="large-title" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">If you like this extension, recommend it to your friends :)</property>
|
||||||
|
<property name="margin-bottom">36</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkFrame">
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBox">
|
||||||
|
<property name="selection-mode">none</property>
|
||||||
|
|
||||||
|
<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="GtkBox">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="spacing">3</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Open Window Animation</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">If multiple are selected, one is chosen randomly.</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="GtkMenuButton" id="open-effect-button">
|
||||||
|
<property name="menu-model">open-effect-menu</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="spacing">8</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Choose Effects</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">pan-down-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</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="GtkBox">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="spacing">3</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Close Window Animation</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">If multiple are selected, one is chosen randomly.</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="GtkMenuButton" id="close-effect-button">
|
||||||
|
<property name="menu-model">close-effect-menu</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="spacing">8</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Choose Effects</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon-name">pan-down-symbolic</property>
|
||||||
|
<property name="icon-size">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</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">Also Add Effects to Dialogs</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkSwitch" id="destroy-dialogs">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-destroy-dialogs">
|
||||||
|
<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>
|
||||||
@@ -1,891 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<interface domain="desktop-cube">
|
|
||||||
<requires lib="gtk" version="4.0" />
|
|
||||||
|
|
||||||
<object class="GtkListStore" id="animation-mode-list">
|
|
||||||
<columns>
|
|
||||||
<column type="gchararray" />
|
|
||||||
<column type="gchararray" />
|
|
||||||
</columns>
|
|
||||||
<data>
|
|
||||||
<row>
|
|
||||||
<col id="0">Fire</col>
|
|
||||||
<col id="1">fire</col>
|
|
||||||
</row>
|
|
||||||
<row>
|
|
||||||
<col id="0">Matrix</col>
|
|
||||||
<col id="1">matrix</col>
|
|
||||||
</row>
|
|
||||||
<row>
|
|
||||||
<col id="0">TV Effect</col>
|
|
||||||
<col id="1">tv</col>
|
|
||||||
</row>
|
|
||||||
<row>
|
|
||||||
<col id="0">T-Rex Attack</col>
|
|
||||||
<col id="1">trex</col>
|
|
||||||
</row>
|
|
||||||
</data>
|
|
||||||
</object>
|
|
||||||
|
|
||||||
<menu id="main-menu">
|
|
||||||
<section>
|
|
||||||
<item>
|
|
||||||
<attribute name="label" translatable="yes">Visit Homepage</attribute>
|
|
||||||
<attribute name="action">prefs.homepage</attribute>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<attribute name="label" translatable="yes">Report a Bug</attribute>
|
|
||||||
<attribute name="action">prefs.bugs</attribute>
|
|
||||||
</item>
|
|
||||||
</section>
|
|
||||||
<section>
|
|
||||||
<submenu>
|
|
||||||
<attribute name="label" translatable="yes">Donate</attribute>
|
|
||||||
<item>
|
|
||||||
<attribute name="label" translatable="yes">Via PayPal</attribute>
|
|
||||||
<attribute name="action">prefs.donate-paypal</attribute>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<attribute name="label" translatable="yes">Via GitHub</attribute>
|
|
||||||
<attribute name="action">prefs.donate-github</attribute>
|
|
||||||
</item>
|
|
||||||
</submenu>
|
|
||||||
</section>
|
|
||||||
</menu>
|
|
||||||
|
|
||||||
<object class="GtkMenuButton" id="menu-button">
|
|
||||||
<property name="menu-model">main-menu</property>
|
|
||||||
<property name="icon-name">open-menu-symbolic</property>
|
|
||||||
</object>
|
|
||||||
|
|
||||||
<object class="GtkScrolledWindow" id="settings-widget">
|
|
||||||
<property name="hscrollbar-policy">never</property>
|
|
||||||
<property name="min-content-height">200</property>
|
|
||||||
<property name="hexpand">0</property>
|
|
||||||
<property name="vexpand">1</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkViewport">
|
|
||||||
<property name="scroll-to-focus">1</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox">
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<property name="margin-start">60</property>
|
|
||||||
<property name="margin-end">60</property>
|
|
||||||
<property name="margin-top">30</property>
|
|
||||||
<property name="margin-bottom">30</property>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel">
|
|
||||||
<property name="margin-top">30</property>
|
|
||||||
<property name="margin-bottom">10</property>
|
|
||||||
<property name="label">General Options</property>
|
|
||||||
<property name="xalign">0</property>
|
|
||||||
<style>
|
|
||||||
<class name="title-4" />
|
|
||||||
</style>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
|
|
||||||
<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">Close Window Animation</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="GtkComboBox" id="close-animation">
|
|
||||||
<property name="valign">center</property>
|
|
||||||
<property name="model">animation-mode-list</property>
|
|
||||||
<property name="id_column">1</property>
|
|
||||||
<property name="active_id">fire</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkCellRendererText" />
|
|
||||||
<attributes>
|
|
||||||
<attribute name="text">0</attribute>
|
|
||||||
</attributes>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="reset-close-animation">
|
|
||||||
<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">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="destroy-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-destroy-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">Also Burn Dialogs</property>
|
|
||||||
<property name="xalign">0</property>
|
|
||||||
<property name="halign">start</property>
|
|
||||||
<property name="valign">center</property>
|
|
||||||
<property name="hexpand">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkSwitch" id="destroy-dialogs">
|
|
||||||
<property name="halign">end</property>
|
|
||||||
<property name="valign">center</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="reset-destroy-dialogs">
|
|
||||||
<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>
|
|
||||||
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox">
|
|
||||||
<property name="margin-top">30</property>
|
|
||||||
<property name="margin-bottom">10</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel">
|
|
||||||
<property name="label">Fire Animation Options</property>
|
|
||||||
<property name="xalign">0</property>
|
|
||||||
<property name="hexpand">1</property>
|
|
||||||
<style>
|
|
||||||
<class name="title-4" />
|
|
||||||
</style>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkMenuButton" id="fire-preset-button">
|
|
||||||
<property name="label">Choose a Preset</property>
|
|
||||||
<property name="has-frame">0</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<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">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="flame-scale">
|
|
||||||
<property name="upper">3</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-flame-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">Speed</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="flame-movement-speed">
|
|
||||||
<property name="upper">2.0</property>
|
|
||||||
<property name="lower">-2.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-flame-movement-speed">
|
|
||||||
<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">Gradient</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="fire-color-1">
|
|
||||||
<property name="use_alpha">1</property>
|
|
||||||
<property name="show_editor">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkColorButton" id="fire-color-2">
|
|
||||||
<property name="use_alpha">1</property>
|
|
||||||
<property name="show_editor">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkColorButton" id="fire-color-3">
|
|
||||||
<property name="use_alpha">1</property>
|
|
||||||
<property name="show_editor">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkColorButton" id="fire-color-4">
|
|
||||||
<property name="use_alpha">1</property>
|
|
||||||
<property name="show_editor">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkColorButton" id="fire-color-5">
|
|
||||||
<property name="use_alpha">1</property>
|
|
||||||
<property name="show_editor">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="reset-fire-colors">
|
|
||||||
<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>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox">
|
|
||||||
<property name="margin-top">30</property>
|
|
||||||
<property name="margin-bottom">10</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel">
|
|
||||||
<property name="label">Matrix Animation Options</property>
|
|
||||||
<property name="xalign">0</property>
|
|
||||||
<property name="hexpand">1</property>
|
|
||||||
<style>
|
|
||||||
<class name="title-4" />
|
|
||||||
</style>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<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">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">0</property>
|
|
||||||
<property name="value-pos">left</property>
|
|
||||||
<property name="width-request">300</property>
|
|
||||||
<property name="adjustment">
|
|
||||||
<object class="GtkAdjustment" id="matrix-scale">
|
|
||||||
<property name="upper">50</property>
|
|
||||||
<property name="lower">5</property>
|
|
||||||
<property name="step-increment">1</property>
|
|
||||||
<property name="page-increment">5</property>
|
|
||||||
</object>
|
|
||||||
</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="reset-matrix-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">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="matrix-randomness">
|
|
||||||
<property name="upper">1.0</property>
|
|
||||||
<property name="lower">0.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-matrix-randomness">
|
|
||||||
<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">Trail 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="matrix-trail-color">
|
|
||||||
<property name="use_alpha">0</property>
|
|
||||||
<property name="show_editor">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="reset-matrix-trail-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>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<object class="GtkListBoxRow">
|
|
||||||
<property name="activatable">0</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox">
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel">
|
|
||||||
<property name="label" translatable="yes">Tip 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="matrix-tip-color">
|
|
||||||
<property name="use_alpha">0</property>
|
|
||||||
<property name="show_editor">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="reset-matrix-tip-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>
|
|
||||||
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox">
|
|
||||||
<property name="margin-top">30</property>
|
|
||||||
<property name="margin-bottom">10</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel">
|
|
||||||
<property name="label">T-Rex Attack Options</property>
|
|
||||||
<property name="xalign">0</property>
|
|
||||||
<property name="hexpand">1</property>
|
|
||||||
<style>
|
|
||||||
<class name="title-4" />
|
|
||||||
</style>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<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">Claw Scratch 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">1</property>
|
|
||||||
<property name="value-pos">left</property>
|
|
||||||
<property name="width-request">300</property>
|
|
||||||
<property name="adjustment">
|
|
||||||
<object class="GtkAdjustment" id="claw-scratch-scale">
|
|
||||||
<property name="upper">10</property>
|
|
||||||
<property name="lower">0.1</property>
|
|
||||||
<property name="step-increment">0.1</property>
|
|
||||||
<property name="page-increment">1</property>
|
|
||||||
</object>
|
|
||||||
</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="reset-claw-scratch-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">Claw Scratch Count</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="claw-scratch-count">
|
|
||||||
<property name="upper">50</property>
|
|
||||||
<property name="lower">1</property>
|
|
||||||
<property name="step-increment">1</property>
|
|
||||||
<property name="page-increment">10</property>
|
|
||||||
</object>
|
|
||||||
</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="reset-claw-scratch-count">
|
|
||||||
<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">Warp Effect</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="claw-scratch-warp">
|
|
||||||
<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-claw-scratch-warp">
|
|
||||||
<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">Flash 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="claw-scratch-color">
|
|
||||||
<property name="use_alpha">1</property>
|
|
||||||
<property name="show_editor">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="reset-claw-scratch-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>
|
|
||||||
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox">
|
|
||||||
<property name="margin-top">30</property>
|
|
||||||
<property name="margin-bottom">10</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel">
|
|
||||||
<property name="label">TV Effect Options</property>
|
|
||||||
<property name="xalign">0</property>
|
|
||||||
<property name="hexpand">1</property>
|
|
||||||
<style>
|
|
||||||
<class name="title-4" />
|
|
||||||
</style>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<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">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="tv-effect-color">
|
|
||||||
<property name="use_alpha">0</property>
|
|
||||||
<property name="show_editor">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="reset-tv-effect-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>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
|
|
||||||
|
|
||||||
</interface>
|
|
||||||
@@ -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>
|
||||||
@@ -0,0 +1,263 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
|
<object class="GtkBox" id="broken-glass-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="broken-glass-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-broken-glass-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="broken-glass-scale">
|
||||||
|
<property name="upper">5</property>
|
||||||
|
<property name="lower">0.2</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-broken-glass-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">Gravity</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="broken-glass-gravity">
|
||||||
|
<property name="upper">2.0</property>
|
||||||
|
<property name="lower">-2.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-broken-glass-gravity">
|
||||||
|
<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">Blow Force</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="broken-glass-blow-force">
|
||||||
|
<property name="upper">2.0</property>
|
||||||
|
<property name="lower">-2.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-broken-glass-blow-force">
|
||||||
|
<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">Shatter From Pointer Location</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">The shards will fly away from where your mouse pointer was when closing the window.</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
<property name="wrap">1</property>
|
||||||
|
<style>
|
||||||
|
<class name="dim-label" />
|
||||||
|
<class name="caption" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkSwitch" id="broken-glass-use-pointer">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-broken-glass-use-pointer">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
@@ -0,0 +1,151 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
|
<object class="GtkBox" id="energize-a-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="energize-a-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-energize-a-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="energize-a-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-energize-a-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">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="energize-a-color">
|
||||||
|
<property name="use_alpha">0</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-energize-a-color">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
@@ -0,0 +1,151 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
|
<object class="GtkBox" id="energize-b-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="energize-b-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-energize-b-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="energize-b-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-energize-b-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">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="energize-b-color">
|
||||||
|
<property name="use_alpha">0</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-energize-b-color">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
@@ -0,0 +1,297 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
|
<object class="GtkBox" id="fire-prefs">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkFrame">
|
||||||
|
<property name="margin-bottom">20</property>
|
||||||
|
<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">Presets</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="GtkMenuButton" id="fire-preset-button">
|
||||||
|
<property name="label">Choose a Preset</property>
|
||||||
|
</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">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="fire-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-fire-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="flame-scale">
|
||||||
|
<property name="upper">3</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-flame-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">Speed</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="flame-movement-speed">
|
||||||
|
<property name="upper">2.0</property>
|
||||||
|
<property name="lower">-2.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-flame-movement-speed">
|
||||||
|
<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">3D Noise</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">Creates a more dynamic fire but requires more GPU power.</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="flame-3d-noise">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-flame-3d-noise">
|
||||||
|
<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">Gradient</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="fire-color-1">
|
||||||
|
<property name="use_alpha">1</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkColorButton" id="fire-color-2">
|
||||||
|
<property name="use_alpha">1</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkColorButton" id="fire-color-3">
|
||||||
|
<property name="use_alpha">1</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkColorButton" id="fire-color-4">
|
||||||
|
<property name="use_alpha">1</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkColorButton" id="fire-color-5">
|
||||||
|
<property name="use_alpha">1</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-fire-colors">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
@@ -0,0 +1,284 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
|
<object class="GtkBox" id="hexagon-prefs">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkFrame">
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBox">
|
||||||
|
<property name="selection-mode">none</property>
|
||||||
|
<property name="show-separators">1</property>
|
||||||
|
<style>
|
||||||
|
<class name="rich-list" />
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">0</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">
|
||||||
|
<object class="GtkAdjustment" id="hexagon-animation-time">
|
||||||
|
<property name="upper">10000</property>
|
||||||
|
<property name="lower">100</property>
|
||||||
|
<property name="step-increment">1</property>
|
||||||
|
<property name="page-increment">100</property>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-animation-time">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Scale</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">2</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">
|
||||||
|
<object class="GtkAdjustment" id="hexagon-scale">
|
||||||
|
<property name="upper">10</property>
|
||||||
|
<property name="lower">0.1</property>
|
||||||
|
<property name="step-increment">0.01</property>
|
||||||
|
<property name="page-increment">0.1</property>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-scale">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Mesh Line Width</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScale">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="draw-value">1</property>
|
||||||
|
<property name="digits">1</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">
|
||||||
|
<object class="GtkAdjustment" id="hexagon-line-width">
|
||||||
|
<property name="upper">10</property>
|
||||||
|
<property name="lower">0</property>
|
||||||
|
<property name="step-increment">0.1</property>
|
||||||
|
<property name="page-increment">1</property>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-line-width">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Line Color</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkColorButton" id="hexagon-line-color">
|
||||||
|
<property name="use_alpha">1</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-line-color">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Glow Color</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkColorButton" id="hexagon-glow-color">
|
||||||
|
<property name="use_alpha">1</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-glow-color">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkListBoxRow">
|
||||||
|
<property name="activatable">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="spacing">3</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Additive Blending</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">You may want to enable this for dark window themes.</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
<style>
|
||||||
|
<class name="dim-label" />
|
||||||
|
<class name="caption" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkSwitch" id="hexagon-additive-blending">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-hexagon-additive-blending">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
@@ -0,0 +1,276 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
|
<object class="GtkBox" id="matrix-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="matrix-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-matrix-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">0</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">
|
||||||
|
<object class="GtkAdjustment" id="matrix-scale">
|
||||||
|
<property name="upper">50</property>
|
||||||
|
<property name="lower">5</property>
|
||||||
|
<property name="step-increment">1</property>
|
||||||
|
<property name="page-increment">5</property>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-matrix-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">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="matrix-randomness">
|
||||||
|
<property name="upper">1.0</property>
|
||||||
|
<property name="lower">0.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-matrix-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">Vertical Overshooting</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="matrix-overshoot">
|
||||||
|
<property name="upper">1.0</property>
|
||||||
|
<property name="lower">0.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-matrix-overshoot">
|
||||||
|
<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">Trail 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="matrix-trail-color">
|
||||||
|
<property name="use_alpha">0</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-matrix-trail-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">Tip 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="matrix-tip-color">
|
||||||
|
<property name="use_alpha">0</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-matrix-tip-color">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</interface>
|
||||||
@@ -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>
|
||||||
@@ -0,0 +1,242 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
|
<object class="GtkBox" id="trex-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="trex-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-trex-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">Claw Scratch 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">1</property>
|
||||||
|
<property name="value-pos">left</property>
|
||||||
|
<property name="width-request">300</property>
|
||||||
|
<property name="adjustment">
|
||||||
|
<object class="GtkAdjustment" id="claw-scratch-scale">
|
||||||
|
<property name="upper">10</property>
|
||||||
|
<property name="lower">0.1</property>
|
||||||
|
<property name="step-increment">0.1</property>
|
||||||
|
<property name="page-increment">1</property>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-claw-scratch-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">Claw Scratch Count</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="claw-scratch-count">
|
||||||
|
<property name="upper">50</property>
|
||||||
|
<property name="lower">1</property>
|
||||||
|
<property name="step-increment">1</property>
|
||||||
|
<property name="page-increment">10</property>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-claw-scratch-count">
|
||||||
|
<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">Warp Effect</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="claw-scratch-warp">
|
||||||
|
<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-claw-scratch-warp">
|
||||||
|
<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">Flash 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="claw-scratch-color">
|
||||||
|
<property name="use_alpha">1</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-claw-scratch-color">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
@@ -0,0 +1,105 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
|
<object class="GtkBox" id="tv-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="tv-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-tv-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">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="tv-effect-color">
|
||||||
|
<property name="use_alpha">0</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-tv-effect-color">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
@@ -0,0 +1,151 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
|
||||||
|
<object class="GtkBox" id="wisps-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="wisps-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-wisps-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="wisps-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-wisps-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">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="wisps-color">
|
||||||
|
<property name="use_alpha">0</property>
|
||||||
|
<property name="show_editor">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-wisps-color">
|
||||||
|
<property name="icon-name">edit-clear-symbolic</property>
|
||||||
|
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||||
|
<style>
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
|
||||||
|
</object>
|
||||||
|
|
||||||
|
</interface>
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
<requires lib="gtk" version="4.0" />
|
||||||
|
|
||||||
|
<template class="BurnMyWindowsEffectPage" parent="GtkBox">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
<property name="spacing">10</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="label">
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
<style>
|
||||||
|
<class name="large-title" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="button">
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="child">
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="margin_start">8</property>
|
||||||
|
<property name="margin_end">8</property>
|
||||||
|
<property name="spacing">6</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="icon_name">media-playback-start-symbolic</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="label" translatable="yes">Preview this Effect</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
<style>
|
||||||
|
<class name="pill-button" />
|
||||||
|
<class name="flat" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</interface>
|
||||||
@@ -0,0 +1,184 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="burn-my-windows">
|
||||||
|
<requires lib="gtk" version="4.0" />
|
||||||
|
|
||||||
|
<menu id="close-effect-menu"></menu>
|
||||||
|
<menu id="open-effect-menu"></menu>
|
||||||
|
|
||||||
|
<object class="GtkMenuButton" id="menu-button">
|
||||||
|
<property name="menu-model">main-menu</property>
|
||||||
|
<property name="icon-name">open-menu-symbolic</property>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
<object class="GtkBox" id="general-prefs">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="margin-top">60</property>
|
||||||
|
<property name="margin-bottom">60</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="icon-name">burn-my-windows-symbolic</property>
|
||||||
|
<property name="pixel_size">128</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Welcome to Burn-My-Windows!</property>
|
||||||
|
<property name="margin-top">8</property>
|
||||||
|
<property name="margin-bottom">6</property>
|
||||||
|
<style>
|
||||||
|
<class name="large-title" />
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">If you like this extension, recommend it to your friends :)</property>
|
||||||
|
<property name="margin-bottom">36</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<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="GtkBox">
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="spacing">3</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="label" translatable="yes">Open Window Animation</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">If multiple are selected, one is chosen randomly.</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="GtkMenuButton" id="open-effect-button">
|
||||||
|
<property name="label" translatable="yes">Choose Effects</property>
|
||||||
|
<property name="menu-model">open-effect-menu</property>
|
||||||
|
</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">Close Window Animation</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">If multiple are selected, one is chosen randomly.</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="GtkMenuButton" id="close-effect-button">
|
||||||
|
<property name="label" translatable="yes">Choose Effects</property>
|
||||||
|
<property name="menu-model">close-effect-menu</property>
|
||||||
|
</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">Also Add Effects to Dialogs</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="hexpand">1</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkSwitch" id="destroy-dialogs">
|
||||||
|
<property name="halign">end</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="reset-destroy-dialogs">
|
||||||
|
<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>
|
||||||
@@ -1,27 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<schemalist>
|
<schemalist>
|
||||||
|
|
||||||
<enum id='org.gnome.shell.extensions.burn-my-windows.AnimationType'>
|
|
||||||
<value value='1' nick='fire' />
|
|
||||||
<value value='2' nick='matrix' />
|
|
||||||
<value value='3' nick='tv' />
|
|
||||||
<value value='4' nick='trex' />
|
|
||||||
</enum>
|
|
||||||
|
|
||||||
<schema path="/org/gnome/shell/extensions/burn-my-windows/" id="org.gnome.shell.extensions.burn-my-windows">
|
<schema path="/org/gnome/shell/extensions/burn-my-windows/" id="org.gnome.shell.extensions.burn-my-windows">
|
||||||
|
|
||||||
<key name="close-animation" enum="org.gnome.shell.extensions.burn-my-windows.AnimationType">
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
<default>"fire"</default>
|
<!-- General Options -->
|
||||||
<summary>Close Animation</summary>
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
<description>The animation used for window closing.</description>
|
|
||||||
</key>
|
|
||||||
|
|
||||||
|
|
||||||
<key name="destroy-animation-time" type="i">
|
|
||||||
<default>1500</default>
|
|
||||||
<summary>Destroy Animation Time</summary>
|
|
||||||
<description>The time it takes to burn the windows.</description>
|
|
||||||
</key>
|
|
||||||
|
|
||||||
<key name="destroy-dialogs" type="b">
|
<key name="destroy-dialogs" type="b">
|
||||||
<default>false</default>
|
<default>false</default>
|
||||||
@@ -29,16 +13,108 @@
|
|||||||
<description>Set to true to burn dialogs as well.</description>
|
<description>Set to true to burn dialogs as well.</description>
|
||||||
</key>
|
</key>
|
||||||
|
|
||||||
|
<key name="close-preview-effect" type="s">
|
||||||
|
<default>""</default>
|
||||||
|
<summary>Close Preview Effect</summary>
|
||||||
|
<description>The effect with this nick will be used for the next window-close animation.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="open-preview-effect" type="s">
|
||||||
|
<default>""</default>
|
||||||
|
<summary>Open Preview Effect</summary>
|
||||||
|
<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 -->
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
|
||||||
|
<key name="fire-close-effect" type="b">
|
||||||
|
<default>true</default>
|
||||||
|
<summary>Fire Close Effect</summary>
|
||||||
|
<description>Use the fire effect for window closing.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="fire-open-effect" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<summary>Fire Open Effect</summary>
|
||||||
|
<description>Use the fire effect for window opening.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="fire-animation-time" type="i">
|
||||||
|
<default>1500</default>
|
||||||
|
<summary>Fire Animation Time</summary>
|
||||||
|
<description>The time the fire effect takes.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
<key name="flame-movement-speed" type="d">
|
<key name="flame-movement-speed" type="d">
|
||||||
<default>0.5</default>
|
<default>0.5</default>
|
||||||
<summary>Flame Movement Speed</summary>
|
<summary>Fire Movement Speed</summary>
|
||||||
<description>The speed at which the flames move.</description>
|
<description>The speed at which the fire moves.</description>
|
||||||
</key>
|
</key>
|
||||||
|
|
||||||
<key name="flame-scale" type="d">
|
<key name="flame-scale" type="d">
|
||||||
<default>1.0</default>
|
<default>1.0</default>
|
||||||
<summary>Flame Scale</summary>
|
<summary>Fire Scale</summary>
|
||||||
<description>The size of the flames.</description>
|
<description>The size of the fire.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="flame-3d-noise" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<summary>Fire 3D Noise</summary>
|
||||||
|
<description>Use a 3D noise for the fire.</description>
|
||||||
</key>
|
</key>
|
||||||
|
|
||||||
<key name="fire-color-1" type="s">
|
<key name="fire-color-1" type="s">
|
||||||
@@ -71,6 +147,27 @@
|
|||||||
<description>The fifth color of the fire gradient.</description>
|
<description>The fifth color of the fire gradient.</description>
|
||||||
</key>
|
</key>
|
||||||
|
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
<!-- Matrix Options -->
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
|
||||||
|
<key name="matrix-close-effect" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<summary>Matrix Close Effect</summary>
|
||||||
|
<description>Use the matrix effect for window closing.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="matrix-open-effect" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<summary>Matrix Open Effect</summary>
|
||||||
|
<description>Use the matrix effect for window opening.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="matrix-animation-time" type="i">
|
||||||
|
<default>1500</default>
|
||||||
|
<summary>Matrix Animation Time</summary>
|
||||||
|
<description>The time the matrix effect takes.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
<key name="matrix-scale" type="i">
|
<key name="matrix-scale" type="i">
|
||||||
<default>20</default>
|
<default>20</default>
|
||||||
@@ -96,6 +193,33 @@
|
|||||||
<description>The color matrix trails.</description>
|
<description>The color matrix trails.</description>
|
||||||
</key>
|
</key>
|
||||||
|
|
||||||
|
<key name="matrix-overshoot" type="d">
|
||||||
|
<default>0.25</default>
|
||||||
|
<summary>Matrix Overshoot</summary>
|
||||||
|
<description>The vertical overshooting of the matrix effect.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
<!-- TV Effect Options -->
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
|
||||||
|
<key name="tv-close-effect" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<summary>TV Close Effect</summary>
|
||||||
|
<description>Use the tv effect for window closing.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="tv-open-effect" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<summary>TV Open Effect</summary>
|
||||||
|
<description>Use the tv effect for window opening.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="tv-animation-time" type="i">
|
||||||
|
<default>400</default>
|
||||||
|
<summary>TV Animation Time</summary>
|
||||||
|
<description>The time the tv effect takes.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
<key name="tv-effect-color" type="s">
|
<key name="tv-effect-color" type="s">
|
||||||
<default>"rgb(255, 255, 255)"</default>
|
<default>"rgb(255, 255, 255)"</default>
|
||||||
@@ -103,6 +227,27 @@
|
|||||||
<description>The color of the TV effect.</description>
|
<description>The color of the TV effect.</description>
|
||||||
</key>
|
</key>
|
||||||
|
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
<!-- T-Rex Attack Options -->
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
|
||||||
|
<key name="trex-close-effect" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<summary>T-Rex Close Effect</summary>
|
||||||
|
<description>Use the trex effect for window closing.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="trex-open-effect" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<summary>T-Rex Open Effect</summary>
|
||||||
|
<description>Use the trex effect for window opening.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="trex-animation-time" type="i">
|
||||||
|
<default>1000</default>
|
||||||
|
<summary>T-Rex Animation Time</summary>
|
||||||
|
<description>The time the trex effect takes.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
<key name="claw-scratch-color" type="s">
|
<key name="claw-scratch-color" type="s">
|
||||||
<default>"rgb(170, 0, 0)"</default>
|
<default>"rgb(170, 0, 0)"</default>
|
||||||
@@ -128,6 +273,239 @@
|
|||||||
<description>Number of claw scratches drawn on top of each other.</description>
|
<description>Number of claw scratches drawn on top of each other.</description>
|
||||||
</key>
|
</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 -->
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
|
||||||
|
<key name="energize-a-close-effect" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<summary>Energize A Close Effect</summary>
|
||||||
|
<description>Use the Energize A effect for window closing.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="energize-a-open-effect" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<summary>Energize A Open Effect</summary>
|
||||||
|
<description>Use the Energize A effect for window opening.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="energize-a-animation-time" type="i">
|
||||||
|
<default>2000</default>
|
||||||
|
<summary>Energize A Animation Time</summary>
|
||||||
|
<description>The time the Energize A effect takes.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="energize-a-scale" type="d">
|
||||||
|
<default>1.0</default>
|
||||||
|
<summary>Energize A Scale</summary>
|
||||||
|
<description>The size of the effect.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="energize-a-color" type="s">
|
||||||
|
<default>"rgb(255, 200, 50)"</default>
|
||||||
|
<summary>Energize A Color</summary>
|
||||||
|
<description>The color of the effect.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
<!-- Energize B Options -->
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
|
||||||
|
<key name="energize-b-close-effect" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<summary>Energize B Close Effect</summary>
|
||||||
|
<description>Use the Energize B effect for window closing.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="energize-b-open-effect" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<summary>Energize B Open Effect</summary>
|
||||||
|
<description>Use the Energize B effect for window opening.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="energize-b-animation-time" type="i">
|
||||||
|
<default>1000</default>
|
||||||
|
<summary>Energize B Animation Time</summary>
|
||||||
|
<description>The time the Energize B effect takes.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="energize-b-scale" type="d">
|
||||||
|
<default>1.0</default>
|
||||||
|
<summary>Energize B Scale</summary>
|
||||||
|
<description>The size of the effect.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="energize-b-color" type="s">
|
||||||
|
<default>"rgb(160, 180, 255)"</default>
|
||||||
|
<summary>Energize B Color</summary>
|
||||||
|
<description>The color of the effect.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
<!-- Wisps Effect Options -->
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
|
||||||
|
<key name="wisps-close-effect" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<summary>Wisps Close Effect</summary>
|
||||||
|
<description>Use the wisps effect for window closing.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="wisps-open-effect" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<summary>Wisps Open Effect</summary>
|
||||||
|
<description>Use the wisps effect for window opening.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="wisps-animation-time" type="i">
|
||||||
|
<default>1500</default>
|
||||||
|
<summary>Wisps Animation Time</summary>
|
||||||
|
<description>The time the wisps effect takes.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="wisps-scale" type="d">
|
||||||
|
<default>1.0</default>
|
||||||
|
<summary>Wisps Scale</summary>
|
||||||
|
<description>The size of the wisps.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="wisps-color" type="s">
|
||||||
|
<default>"rgb(255, 100, 200)"</default>
|
||||||
|
<summary>Wisps Effect Color</summary>
|
||||||
|
<description>The color of the wisps effect.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
<!-- Broken Glass Effect Options -->
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
|
||||||
|
<key name="broken-glass-close-effect" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<summary>Broken Glass Close Effect</summary>
|
||||||
|
<description>Use the broken glass effect for window closing.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="broken-glass-open-effect" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<summary>Broken Glass Open Effect</summary>
|
||||||
|
<description>Use the broken glass effect for window opening.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="broken-glass-animation-time" type="i">
|
||||||
|
<default>1000</default>
|
||||||
|
<summary>Broken Glass Animation Time</summary>
|
||||||
|
<description>The time the broken glass effect takes.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="broken-glass-scale" type="d">
|
||||||
|
<default>1.0</default>
|
||||||
|
<summary>Broken Glass Scale</summary>
|
||||||
|
<description>The size of the broken glass effect.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="broken-glass-gravity" type="d">
|
||||||
|
<default>-1.0</default>
|
||||||
|
<summary>Broken Glass Gravity</summary>
|
||||||
|
<description>The gravity of the broken glass effect.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="broken-glass-blow-force" type="d">
|
||||||
|
<default>0.5</default>
|
||||||
|
<summary>Broken Glass Blow Force</summary>
|
||||||
|
<description>The blow force of the broken glass effect.</description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="broken-glass-use-pointer" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<summary>Broken Glass Use Pointer</summary>
|
||||||
|
<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>
|
</schema>
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ cd "$( cd "$( dirname "$0" )" && pwd )/.." || \
|
|||||||
|
|
||||||
# Run cloc - this counts code lines, blank lines and comment lines for the specified
|
# Run cloc - this counts code lines, blank lines and comment lines for the specified
|
||||||
# languages. We are only interested in the summary, therefore the tail -1
|
# languages. We are only interested in the summary, therefore the tail -1
|
||||||
SUMMARY="$(cloc . --include-lang="JavaScript" --md | tail -1)"
|
SUMMARY="$(cloc . --include-lang="JavaScript,GLSL" --md | tail -1)"
|
||||||
|
|
||||||
# The $SUMMARY is one line of a markdown table and looks like this:
|
# The $SUMMARY is one line of a markdown table and looks like this:
|
||||||
# SUM:|101|3123|2238|10783
|
# SUM:|101|3123|2238|10783
|
||||||
|
|||||||
@@ -0,0 +1,111 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// ) ( //
|
||||||
|
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||||
|
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||||
|
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||||
|
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||||
|
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||||
|
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||||
|
// |__/ //
|
||||||
|
// Copyright (c) 2021 Simon Schneegans //
|
||||||
|
// Released under the GPLv3 or later. See LICENSE file for details. //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
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;
|
||||||
|
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// This effect hides the actor by violently sucking it into the void of magic. //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// The effect class 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 {
|
||||||
|
|
||||||
|
// The constructor creates a ShaderFactory which will be used by extension.js to create
|
||||||
|
// shader instances for this effect. The shaders will be automagically created using the
|
||||||
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
|
// newly created shader instance.
|
||||||
|
constructor() {
|
||||||
|
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
||||||
|
// Store uniform locations of newly created shaders.
|
||||||
|
shader._uSeed = shader.get_uniform_location('uSeed');
|
||||||
|
shader._uShake = shader.get_uniform_location('uShake');
|
||||||
|
shader._uTwirl = shader.get_uniform_location('uTwirl');
|
||||||
|
shader._uSuction = shader.get_uniform_location('uSuction');
|
||||||
|
shader._uRandomness = shader.get_uniform_location('uRandomness');
|
||||||
|
|
||||||
|
// Write all uniform values at the start of each animation.
|
||||||
|
shader.connect('begin-animation', (shader, settings) => {
|
||||||
|
// If we are performing an integration tests, we use a fixed seed.
|
||||||
|
const testMode = settings.get_boolean('test-mode');
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
shader.set_uniform_float(shader._uSeed, 2, [testMode ? 0 : Math.random(), testMode ? 0 : Math.random()]);
|
||||||
|
shader.set_uniform_float(shader._uShake, 1, [settings.get_double('apparition-shake-intensity')]);
|
||||||
|
shader.set_uniform_float(shader._uTwirl, 1, [settings.get_double('apparition-twirl-intensity')]);
|
||||||
|
shader.set_uniform_float(shader._uSuction, 1, [settings.get_double('apparition-suction-intensity')]);
|
||||||
|
shader.set_uniform_float(shader._uRandomness, 1, [settings.get_double('apparition-randomness')]);
|
||||||
|
// clang-format on
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
|
// The effect is not available on GNOME Shell 3.36 as it requires scaling of the window
|
||||||
|
// actor.
|
||||||
|
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').
|
||||||
|
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.
|
||||||
|
getLabel() {
|
||||||
|
return _('Apparition');
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------- API for prefs.js
|
||||||
|
|
||||||
|
// This is called by the preferences dialog. It loads the settings page for this effect,
|
||||||
|
// and binds all properties to the settings.
|
||||||
|
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
|
||||||
|
|
||||||
|
// The getActorScale() is called from extension.js to adjust the actor's size during the
|
||||||
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
|
// bounds of the actor. This only works for GNOME 3.38+.
|
||||||
|
getActorScale(settings) {
|
||||||
|
return {x: 2.0, y: 2.0};
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,169 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// ) ( //
|
||||||
|
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||||
|
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||||
|
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||||
|
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||||
|
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||||
|
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||||
|
// |__/ //
|
||||||
|
// Copyright (c) 2021 Simon Schneegans //
|
||||||
|
// Released under the GPLv3 or later. See LICENSE file for details. //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
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;
|
||||||
|
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// This effect shatters the window into pieces. For an explanation how this works, look //
|
||||||
|
// further down in this file into the documentation of the Shader class. 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. //
|
||||||
|
// This shader creates a complex-looking effect with rather simple means. Here is how //
|
||||||
|
// it works: The window is drawn five times on top of each other (see the SHARD_LAYERS //
|
||||||
|
// constant in the GLSL code). Each layer only draws some of the shards, all layers //
|
||||||
|
// combined make up the entire window. The layers are then scaled, rotated, and moved //
|
||||||
|
// independently from each other - this creates the impression that all shards are //
|
||||||
|
// moving independently. In reality, there are only five groups of shards! Which shard //
|
||||||
|
// belongs to which layer is defined by the green channel of the texture //
|
||||||
|
// resources/img/shards.png. The red channel of the texture contains the distance to //
|
||||||
|
// the shard edges. This information is used to fade out the shards. //
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// The effect class 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 BrokenGlass = class {
|
||||||
|
|
||||||
|
// The constructor creates a ShaderFactory which will be used by extension.js to create
|
||||||
|
// shader instances for this effect. The shaders will be automagically created using the
|
||||||
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
|
// newly created shader instance.
|
||||||
|
constructor() {
|
||||||
|
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
||||||
|
// We import these modules in this function as they are not available in the
|
||||||
|
// preferences process. This callback is only called within GNOME Shell's process.
|
||||||
|
const {Clutter, GdkPixbuf, Cogl} = imports.gi;
|
||||||
|
|
||||||
|
// Create the texture in the first call.
|
||||||
|
if (!this._shardTexture) {
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Store all uniform locations.
|
||||||
|
shader._uShardTexture = shader.get_uniform_location('uShardTexture');
|
||||||
|
shader._uSeed = shader.get_uniform_location('uSeed');
|
||||||
|
shader._uEpicenter = shader.get_uniform_location('uEpicenter');
|
||||||
|
shader._uShardScale = shader.get_uniform_location('uShardScale');
|
||||||
|
shader._uBlowForce = shader.get_uniform_location('uBlowForce');
|
||||||
|
shader._uGravity = shader.get_uniform_location('uGravity');
|
||||||
|
|
||||||
|
// And update all uniforms at the start of each animation.
|
||||||
|
shader.connect('begin-animation', (shader, settings, forOpening, actor) => {
|
||||||
|
// 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 (!forOpening && settings.get_boolean('broken-glass-use-pointer')) {
|
||||||
|
const [x, y] = global.get_pointer();
|
||||||
|
const [ok, localX, localY] = actor.transform_stage_point(x, y);
|
||||||
|
|
||||||
|
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');
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
shader.set_uniform_float(shader._uSeed, 2, [testMode ? 0 : Math.random(), testMode ? 0 : Math.random()]);
|
||||||
|
shader.set_uniform_float(shader._uEpicenter, 2, [epicenterX, epicenterY]);
|
||||||
|
shader.set_uniform_float(shader._uShardScale, 1, [settings.get_double('broken-glass-scale')]);
|
||||||
|
shader.set_uniform_float(shader._uBlowForce, 1, [settings.get_double('broken-glass-blow-force')]);
|
||||||
|
shader.set_uniform_float(shader._uGravity, 1, [settings.get_double('broken-glass-gravity')]);
|
||||||
|
// clang-format on
|
||||||
|
});
|
||||||
|
|
||||||
|
// This is required to bind the shard 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
|
||||||
|
shader.connect('update-animation', (shader) => {
|
||||||
|
const pipeline = shader.get_pipeline();
|
||||||
|
|
||||||
|
// Use linear filtering for the window texture.
|
||||||
|
pipeline.set_layer_filters(0, Cogl.PipelineFilter.LINEAR,
|
||||||
|
Cogl.PipelineFilter.LINEAR);
|
||||||
|
|
||||||
|
// Bind the shard texture.
|
||||||
|
pipeline.set_layer_texture(1, this._shardTexture.get_texture());
|
||||||
|
pipeline.set_layer_wrap_mode(1, Cogl.PipelineWrapMode.REPEAT);
|
||||||
|
pipeline.set_uniform_1i(shader._uShardTexture, 1);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
|
// This effect is only available on GNOME Shell 40+.
|
||||||
|
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').
|
||||||
|
getNick() {
|
||||||
|
return 'broken-glass';
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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.
|
||||||
|
getLabel() {
|
||||||
|
return _('Broken Glass');
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------- API for prefs.js
|
||||||
|
|
||||||
|
// This is called by the preferences dialog. It loads the settings page for this effect,
|
||||||
|
// and binds all properties to the settings.
|
||||||
|
getPreferences(dialog) {
|
||||||
|
|
||||||
|
// Add the settings page to the builder.
|
||||||
|
dialog.getBuilder().add_from_resource('/ui/gtk4/BrokenGlass.ui');
|
||||||
|
|
||||||
|
// Bind all properties.
|
||||||
|
dialog.bindAdjustment('broken-glass-animation-time');
|
||||||
|
dialog.bindAdjustment('broken-glass-scale');
|
||||||
|
dialog.bindAdjustment('broken-glass-gravity');
|
||||||
|
dialog.bindAdjustment('broken-glass-blow-force');
|
||||||
|
dialog.bindSwitch('broken-glass-use-pointer');
|
||||||
|
|
||||||
|
// Finally, return the new settings page.
|
||||||
|
return dialog.getBuilder().get_object('broken-glass-prefs');
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------- API for extension.js
|
||||||
|
|
||||||
|
// The getActorScale() is called from extension.js to adjust the actor's size during the
|
||||||
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
|
// bounds of the actor. This only works for GNOME 3.38+.
|
||||||
|
getActorScale(settings) {
|
||||||
|
return {x: 2.0, y: 2.0};
|
||||||
|
}
|
||||||
|
}
|
||||||