Compare commits
525 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9af4eb1f27 | |||
| ec176ee6a7 | |||
| 4088b0957c | |||
| c7556088ec | |||
| 046507958a | |||
| 7459c73f05 | |||
| 857c2e6d82 | |||
| 01537ad7d0 | |||
| 0afc806085 | |||
| f0a630d8fc | |||
| b3dd2ecf91 | |||
| a66f9ca71f | |||
| f71ed24ae0 | |||
| c5dfac8e59 | |||
| 857136dc1e | |||
| 13b6a121ec | |||
| eb4fb78b69 | |||
| f3dc57d3f2 | |||
| fdba8a5dce | |||
| ee7aeb9dae | |||
| b234926314 | |||
| 6c69f4d70a | |||
| eeb54df713 | |||
| c41ac22c9f | |||
| 0c60c49feb | |||
| 797057c418 | |||
| c16508dd7a | |||
| 089aaec270 | |||
| 843eb5adb7 | |||
| 93a0fd536f | |||
| 6726627e5b | |||
| 7d9df76f26 | |||
| 91a6e73592 | |||
| 41c5f643f3 | |||
| 6217fb9d18 | |||
| 3946632051 | |||
| ff0c9921e8 | |||
| d782bc27f0 | |||
| 81b81ed76f | |||
| 9ea068531b | |||
| 921e1ecbc4 | |||
| b6e5647d7b | |||
| 3d9ef361d0 | |||
| 4f6ea2353c | |||
| 7d3ceff956 | |||
| ed6883bace | |||
| 635c0092a3 | |||
| 3c290cd70f | |||
| c38f7d73fd | |||
| b3b80b965b | |||
| b774eced82 | |||
| 48132c6658 | |||
| a87c40186f | |||
| 539a8a6d7a | |||
| 39326486cd | |||
| d813c8d71a | |||
| 1dbd2f1586 | |||
| 5aa4d09e06 | |||
| f662546f88 | |||
| 173d6d1975 | |||
| e292c822d9 | |||
| e1da16b339 | |||
| 76a1f31cc9 | |||
| f4fbe3b64f | |||
| 18d22e1b11 | |||
| fa37873169 | |||
| 2c873810fa | |||
| 60c96c03d7 | |||
| ee1b49269a | |||
| cb2db00d59 | |||
| b5ad70a2a4 | |||
| 87ac8b401a | |||
| 98769fd61b | |||
| 18d1e3f6f6 | |||
| 845c765843 | |||
| db955d5af8 | |||
| ceb32a3da3 | |||
| 72475d8f6f | |||
| 84cf784080 | |||
| 410fd32052 | |||
| 04656de38c | |||
| f82c64e568 | |||
| c075f4e763 | |||
| ceb2c68484 | |||
| d160e63e8a | |||
| 5ac174a966 | |||
| 1812b3dbb9 | |||
| f7d268d371 | |||
| 4ea0fcd4ac | |||
| 0bf264f84e | |||
| 558079adf7 | |||
| e6c7e50879 | |||
| 3e6f749dc6 | |||
| 3bafdd4c5f | |||
| 957166ce5d | |||
| 2783a2d4bf | |||
| 97f17c2f56 | |||
| 45af9b9f68 | |||
| 843fbb4660 | |||
| eeb93f7d7e | |||
| 5c42f21eb9 | |||
| 004603ce2e | |||
| 9a1b887af4 | |||
| 62bcce999c | |||
| 280a71deb9 | |||
| a6e538825b | |||
| f22e2c0514 | |||
| c8439bcd4f | |||
| 6d0d56a7ce | |||
| cbcfc9d0dd | |||
| 76f1b32901 | |||
| d9057adb13 | |||
| 4cf7b029c6 | |||
| cef340ea51 | |||
| b4418a71c6 | |||
| bf379e4f57 | |||
| 2a1e5f2b22 | |||
| 293fbf1d0f | |||
| 951342e917 | |||
| e67fd1ee2c | |||
| 537963f28f | |||
| 79101847e1 | |||
| b6dc234d3f | |||
| 15ac37f746 | |||
| 7ace136e4f | |||
| b466710ca0 | |||
| 5bdd7bdbce | |||
| 34e18c885c | |||
| ea7977090e | |||
| 5195cb6981 | |||
| baaccea92c | |||
| 67096edadf | |||
| e58d8e768c | |||
| cc497bba0c | |||
| 72d8189179 | |||
| 5950d4a391 | |||
| 22dab71aaf | |||
| 6ba109c7e4 | |||
| 9a8f7d5efe | |||
| 645d2dafff | |||
| 8b4b256231 | |||
| 87b9f5eab8 | |||
| 96e79b3265 | |||
| 91789d3617 | |||
| 3ab1ffbc15 | |||
| 00d6f9089d | |||
| 3602f07dae | |||
| 86caa88f54 | |||
| ba8284a99a | |||
| 7d1b329c62 | |||
| 38e2db5b54 | |||
| b00389142d | |||
| 17c49022fb | |||
| 604da949fd | |||
| cbd364c49d | |||
| 4b8124c5bb | |||
| dd49880638 | |||
| e90353b0c5 | |||
| 29978ea87f | |||
| 68cef3e672 | |||
| c58ef894b4 | |||
| 99c398b77c | |||
| 2e49494c0d | |||
| 7fb129d046 | |||
| 3c3ee4a998 | |||
| 2dd37ed5c0 | |||
| e85a2e4684 | |||
| 56e253c1a4 | |||
| c05746aabf | |||
| b2f0ed58f2 | |||
| 28112c83c2 | |||
| a89eef0599 | |||
| 56dbc7265c | |||
| 169b49158a | |||
| fc6aa44204 | |||
| 95bde46e39 | |||
| 2be4275bf5 | |||
| b1d58048e2 | |||
| 5e48141753 | |||
| 7fcda0b22d | |||
| e77d3725ce | |||
| fb0c66127a | |||
| c91af83e39 | |||
| b5dc1e6a71 | |||
| 11befb44af | |||
| a93719b0de | |||
| 6e67bbac74 | |||
| 7f02f445e5 | |||
| 880ce1c933 | |||
| 020516e0da | |||
| c0cc0a4ccc | |||
| 002e7258f6 | |||
| 48eb33eacf | |||
| 632ce39aa1 | |||
| bff7b75ce0 | |||
| ee44c8bcab | |||
| fa4d4eeaff | |||
| 39a60d704b | |||
| 7c039fbdc4 | |||
| 5b6ccdc732 | |||
| 0ef89853c3 | |||
| 65bb27d962 | |||
| 01961253f1 | |||
| f1fc8ae51e | |||
| 5b33766a06 | |||
| 2a45c81312 | |||
| d6c8cc3e7f | |||
| 1e03be8e75 | |||
| 4e4d283483 | |||
| 4538ff32b1 | |||
| c068a5159c | |||
| 7d4b0d4390 | |||
| 1d522a40e0 | |||
| 44c2724390 | |||
| 30ffe9f0b0 | |||
| 8b77be9502 | |||
| a76378625c | |||
| c51ed532ff | |||
| b2a1c4080d | |||
| fbd3ac0e3a | |||
| 74b7b51b19 | |||
| 5b728087be | |||
| 5ba9312448 | |||
| 75a364186b | |||
| 67f2a89924 | |||
| 52e87b421a | |||
| 30c943ec08 | |||
| 49b88c5235 | |||
| d500f09803 | |||
| 91191c630b | |||
| 97dc383877 | |||
| f6c86b884c | |||
| 819d800d9e | |||
| 8bf7c6dcf4 | |||
| 3c7e2e1127 | |||
| 062d2c620f | |||
| 589d0da795 | |||
| 29e0780bd5 | |||
| 676433752e | |||
| 2fa47488e1 | |||
| 68c55e811e | |||
| 416e63346c | |||
| 46874043d7 | |||
| b3d5e06a00 | |||
| 3b4435e254 | |||
| c88f127985 | |||
| 26ee4b83c1 | |||
| f4372b314a | |||
| 5386887d29 | |||
| e0be4d85f0 | |||
| 4114d0379f | |||
| 2e54d0002b | |||
| 1034b46b27 | |||
| f3e6c2aa65 | |||
| 6ae4bfb63d | |||
| 3658837f00 | |||
| d6ac84f589 | |||
| 4f6a1bf3a9 | |||
| d52f59d8b7 | |||
| d0d592e274 | |||
| a393d3cddb | |||
| 6f9b56a69a | |||
| 50654a7a41 | |||
| 789b112f51 | |||
| cff33a018a | |||
| cb25dbad9d | |||
| 2c57dc4d38 | |||
| 61f07336a4 | |||
| 1867739b57 | |||
| 10e272e3f1 | |||
| d5ebd1c046 | |||
| 4cea22a1a5 | |||
| 46cc12aba1 | |||
| 3611bfb48c | |||
| ca8ed84129 | |||
| 207da763bc | |||
| d201e91abc | |||
| c8431af8d8 | |||
| 4a896bd2ed | |||
| b01a53da95 | |||
| a30d10bab6 | |||
| b99d2fa310 | |||
| 6b74f464af | |||
| c5e5b4b43f | |||
| 0bd8b5988f | |||
| 00882e1898 | |||
| d3d88383f7 | |||
| 342a9d5dbc | |||
| 09a63b1eab | |||
| e4fb518d8e | |||
| 932403c742 | |||
| 7ab61b955a | |||
| 853578ad27 | |||
| 37e0b5cf50 | |||
| 1666809a52 | |||
| 421af687e7 | |||
| e005cdd54b | |||
| d59fda27cc | |||
| 84262192fb | |||
| 8b6208c60e | |||
| 24da559f90 | |||
| 39574c5a91 | |||
| 4a9f2c9ffb | |||
| 97c11312f0 | |||
| b0719775d0 | |||
| b705daac97 | |||
| abfa57af7d | |||
| 6ae4d06955 | |||
| 17fce87997 | |||
| fecfe79a43 | |||
| fed64f0b3b | |||
| 92fd68cb4f | |||
| 57eb99ccd0 | |||
| ef9b9de3f5 | |||
| 2e7172932f | |||
| b06d691197 | |||
| e56cc7daea | |||
| 568218d51e | |||
| ab20c2df75 | |||
| 5597c5c6b0 | |||
| 0fcf75150d | |||
| 518962a810 | |||
| 63acf623a3 | |||
| d2a98baa1f | |||
| 219d4f9458 | |||
| b5f31f4745 | |||
| ebb965bc1b | |||
| 2b5c4fbc24 | |||
| 605db5ff5d | |||
| 6b135aa2b1 | |||
| 571662133c | |||
| 51f6b93641 | |||
| 5216e460cb | |||
| 3ba27f383f | |||
| f43af678c0 | |||
| 400b88b52d | |||
| 3bd025a283 | |||
| 9c872f9f02 | |||
| 028daa724a | |||
| 111d29140c | |||
| 53b40f4897 | |||
| eb933572f5 | |||
| 6d7d6326b4 | |||
| f6107452ef | |||
| 35ef7f09f4 | |||
| 8a8f33beb4 | |||
| c387ac9a5a | |||
| c83756f8be | |||
| 30f2d221a3 | |||
| 6b8ad4bfd6 | |||
| 5b07c1e22b | |||
| a92de7db3a | |||
| 4b3f135229 | |||
| eac0686ecd | |||
| 33dd2c07c4 | |||
| 52bfafb15a | |||
| 98ac9af09f | |||
| 0437de8d5b | |||
| dbf026237d | |||
| 8e89017cb7 | |||
| 2f5f567145 | |||
| 4e00c4d7d9 | |||
| b64dd2a969 | |||
| b0a56fb0e9 | |||
| ea981e714d | |||
| 02b089fd4d | |||
| c56ed0739d | |||
| 278c89981b | |||
| 80ca2b9af0 | |||
| 098cd784c7 | |||
| 0b5247cbb2 | |||
| 72a2e71cef | |||
| bb3249b8e0 | |||
| 8d6ee48e59 | |||
| 6aef7536bc | |||
| 9fba8f2186 | |||
| d6120de2b9 | |||
| 8ec804bc86 | |||
| e62a9cdf85 | |||
| cf57261165 | |||
| 734530fdab | |||
| 0ccbb31d06 | |||
| 34a64e10fe | |||
| 767035e313 | |||
| 006cc593a3 | |||
| 15560abad7 | |||
| 14cd1db7e9 | |||
| 3f05c946ec | |||
| 9ae7f9c042 | |||
| e9ef77617f | |||
| 06b2c941f2 | |||
| 27220c95f8 | |||
| 5cc260ad39 | |||
| e81eb2097b | |||
| 22d4d38b08 | |||
| c85156ed61 | |||
| 7c766a5aea | |||
| ecd2282ca7 | |||
| 37a90cee1f | |||
| 012c1f5d33 | |||
| 9bb54ab71a | |||
| 6f708cf1fb | |||
| 3147ae5db6 | |||
| f8ea184a0f | |||
| 41f02c2901 | |||
| 2a3f9305fe | |||
| a7dfd593bd | |||
| 01c6e5caee | |||
| bf068e24da | |||
| 45dd8d992d | |||
| a8466a16f7 | |||
| 44ce1a4825 | |||
| c515e495f3 | |||
| f5e0a92cec | |||
| 75080a9595 | |||
| c11ffb5e00 | |||
| 150761721a | |||
| 6a41fe23b3 | |||
| 508508c8d2 | |||
| e4d986e2eb | |||
| 8147edfa06 | |||
| 15b0d78c01 | |||
| 834f143846 | |||
| 8ed1d26524 | |||
| e8db78a8b0 | |||
| 2d4a6635eb | |||
| a6b47be34f | |||
| 351878f136 | |||
| 32d78ceced | |||
| 063826354f | |||
| 297acee240 | |||
| e226b65915 | |||
| 8f3118ab91 | |||
| c2d6385f6e | |||
| 2444c19656 | |||
| 5b820120fc | |||
| 5ad18b258b | |||
| c30f26f3ec | |||
| e3de58323d | |||
| ee41968e17 | |||
| f2768216db | |||
| d1cddb129d | |||
| 5a60ab443e | |||
| 505289376e | |||
| 2fc4528057 | |||
| 4af9692cd5 | |||
| 44291ef9f3 | |||
| 2593de09b0 | |||
| 17017d7306 | |||
| 3a9b1cb8a8 | |||
| ca3db8deae | |||
| dcae2e986e | |||
| 68eb93f54f | |||
| fe6d7ecd6a | |||
| 58a2ddb41f | |||
| dcd0a2f41c | |||
| 14171b1ded | |||
| 65cecc5259 | |||
| 5d105a99c1 | |||
| 2447d40885 | |||
| baa7b678e8 | |||
| b21144c45f | |||
| 170e8cd8af | |||
| f2cbc2af23 | |||
| fd0d10bdef | |||
| 14fbc70578 | |||
| 7b90fd70bc | |||
| 8a0c29a52f | |||
| 3a03c86fbc | |||
| 067e663854 | |||
| f59af77941 | |||
| a98345e5f3 | |||
| f9a25bb4aa | |||
| a107a0b9fa | |||
| 8b0e8fa9b3 | |||
| ccc4adebd7 | |||
| 08b8e75118 | |||
| a6e2d61c37 | |||
| 344ec78cac | |||
| b1014b61e5 | |||
| be38af32af | |||
| c27c644977 | |||
| fb964aca8d | |||
| 79d9f2801f | |||
| ada0472028 | |||
| 1be2e0bf77 | |||
| feebedbdd8 | |||
| 834c602f5d | |||
| 8afad3a02e | |||
| 8829aa039e | |||
| e04b2769b1 | |||
| 9293a5ab4d | |||
| 0c58b507d8 | |||
| a585da93a8 | |||
| e450e619e6 | |||
| 4a747602d9 | |||
| d936717ac0 | |||
| 154b5bec32 | |||
| 2e20bc8753 | |||
| 6cc26d0dbc | |||
| 78d4e79925 | |||
| b8759174f8 | |||
| d89be65fe3 | |||
| 106ed964d5 | |||
| f4babe7575 | |||
| fff39f66a8 | |||
| 708b4ca1ad | |||
| b2158eb2e2 | |||
| bb46352c37 | |||
| 6b63222cbe | |||
| a2daa2e1b8 | |||
| d37c505bef | |||
| cb368a6207 | |||
| b0e6b66380 | |||
| 8ef5a8882f | |||
| 729de9b0ff | |||
| 59011dfe69 | |||
| 64701bef1b | |||
| 70dfbf71f5 | |||
| 4d63512e47 | |||
| d0dc1b427c | |||
| c358c59eb4 | |||
| 078f2fb853 | |||
| edbd3a7ac8 | |||
| 679f9902c1 |
@@ -1,15 +1,10 @@
|
||||
# SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: schneegans
|
||||
patreon: # Replace with a single Patreon username
|
||||
open_collective: # Replace with a single Open Collective username
|
||||
ko_fi: schneegans
|
||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||
liberapay: # Schneegans
|
||||
issuehunt: # Replace with a single IssueHunt 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",
|
||||
https://schneegans.cb.id,
|
||||
]
|
||||
|
||||
@@ -14,7 +14,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v4
|
||||
- name: Download cloc
|
||||
run: sudo apt-get update -y && sudo apt-get install -y cloc
|
||||
- name: Get the Numbers
|
||||
@@ -22,7 +22,7 @@ jobs:
|
||||
echo "CODE_LINES=$(scripts/cloc.sh --loc)" >> $GITHUB_ENV
|
||||
echo "COMMENT_LINES=$(scripts/cloc.sh --percentage)" >> $GITHUB_ENV
|
||||
- name: Create Lines-of-Code-Badge
|
||||
uses: schneegans/dynamic-badges-action@v1.3.0
|
||||
uses: schneegans/dynamic-badges-action@v1.7.0
|
||||
with:
|
||||
auth: ${{ secrets.GIST_SECRET }}
|
||||
gistID: 8cf45f23253ff09b21196e7271378762
|
||||
@@ -32,7 +32,7 @@ jobs:
|
||||
color: lightgrey
|
||||
labelColor: 303030
|
||||
- name: Create Comments-Badge
|
||||
uses: schneegans/dynamic-badges-action@v1.3.0
|
||||
uses: schneegans/dynamic-badges-action@v1.7.0
|
||||
with:
|
||||
auth: ${{ secrets.GIST_SECRET }}
|
||||
gistID: 8cf45f23253ff09b21196e7271378762
|
||||
|
||||
@@ -6,10 +6,10 @@ name: Checks
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- '**'
|
||||
- "**"
|
||||
pull_request:
|
||||
branches:
|
||||
- '**'
|
||||
- "**"
|
||||
|
||||
jobs:
|
||||
clang_format:
|
||||
@@ -17,11 +17,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v3
|
||||
- name: Download Clang-Format
|
||||
run: |
|
||||
sudo apt update -qq
|
||||
sudo apt install clang-format -qq
|
||||
uses: actions/checkout@v4
|
||||
- name: Run Clang-Format
|
||||
run: scripts/clang-format.sh
|
||||
- name: Compare Results
|
||||
@@ -33,9 +29,9 @@ jobs:
|
||||
name: Check Compliance with REUSE Specification
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: REUSE Compliance Check
|
||||
uses: fsfe/reuse-action@v1
|
||||
- uses: actions/checkout@v4
|
||||
- name: REUSE Compliance Check
|
||||
uses: fsfe/reuse-action@v4
|
||||
|
||||
comment_percentage:
|
||||
name: Check Comment Percentage
|
||||
@@ -43,12 +39,12 @@ jobs:
|
||||
if: github.event_name == 'pull_request'
|
||||
steps:
|
||||
- name: Checkout Current Repository
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: current
|
||||
ref: ${{ github.ref }}
|
||||
- name: Checkout Base Repository
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: base
|
||||
ref: ${{ github.base_ref }}
|
||||
@@ -74,34 +70,14 @@ jobs:
|
||||
name: Run ShellCheck
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- name: Run ShellCheck
|
||||
run: |
|
||||
find $GITHUB_WORKSPACE -type f -and \( -name "*.sh" \) | xargs shellcheck
|
||||
|
||||
references:
|
||||
name: Generate References
|
||||
runs-on: ubuntu-22.04
|
||||
if: >
|
||||
github.event_name == 'push' && contains(github.event.head_commit.message, '[generate-references]')
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Download Dependencies
|
||||
run: |
|
||||
sudo apt update -qq
|
||||
sudo apt install gettext imagemagick -qq
|
||||
- name: Build Burn-My-Windows
|
||||
run: make
|
||||
- name: Generate References
|
||||
run: sudo make references
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: references
|
||||
path: tests/references/
|
||||
|
||||
build:
|
||||
name: Run Tests
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-latest
|
||||
if: >
|
||||
github.event_name == 'pull_request' ||
|
||||
( contains(github.ref, 'main') && !contains(github.event.head_commit.message, '[no-ci]') ) ||
|
||||
@@ -110,29 +86,23 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
version:
|
||||
- '32'
|
||||
- '33'
|
||||
- '34'
|
||||
- '35'
|
||||
- '36'
|
||||
- '37'
|
||||
- '38'
|
||||
- 'rawhide'
|
||||
- "39"
|
||||
- "40"
|
||||
- "41"
|
||||
session:
|
||||
- 'gnome-xsession'
|
||||
- 'gnome-wayland-nested'
|
||||
- "gnome-xsession"
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Download Dependencies
|
||||
run: |
|
||||
sudo apt update -qq
|
||||
sudo apt install gettext imagemagick -qq
|
||||
- name: Build Burn-My-Windows
|
||||
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@v3
|
||||
if: failure()
|
||||
with:
|
||||
name: result_${{ matrix.version }}_${{ matrix.session }}
|
||||
path: tests/output/
|
||||
- uses: actions/checkout@v4
|
||||
- name: Download Dependencies
|
||||
run: |
|
||||
sudo apt update -qq
|
||||
sudo apt install gettext imagemagick libglib2.0-dev -qq
|
||||
- name: Build Burn-My-Windows
|
||||
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@v4
|
||||
if: failure()
|
||||
with:
|
||||
name: result_${{ matrix.version }}_${{ matrix.session }}
|
||||
path: tests/output/
|
||||
|
||||
@@ -6,48 +6,50 @@ name: Deploy
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '**'
|
||||
- "**"
|
||||
|
||||
jobs:
|
||||
gnome_bundle:
|
||||
name: Bundle GNOME Shell Extension
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v2
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
sudo apt-get update -q
|
||||
sudo apt-get install gettext
|
||||
- name: Create Release
|
||||
run: |
|
||||
make zip
|
||||
- name: Upload Release
|
||||
uses: svenstaro/upload-release-action@2.2.1
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: burn-my-windows@schneegans.github.com.zip
|
||||
tag: ${{ github.ref }}
|
||||
overwrite: true
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
sudo apt-get update -q
|
||||
sudo apt-get install gettext libglib2.0-dev
|
||||
- name: Create Release
|
||||
run: |
|
||||
make zip
|
||||
- name: Upload Release
|
||||
uses: svenstaro/upload-release-action@2.9.0
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: burn-my-windows@schneegans.github.com.zip
|
||||
tag: ${{ github.ref }}
|
||||
overwrite: true
|
||||
prerelease: true
|
||||
|
||||
kwin_bundle:
|
||||
name: Bundle KWin Effect
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v2
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
sudo apt-get update -q
|
||||
sudo apt-get install gettext clang-format
|
||||
- name: Create Release
|
||||
run: |
|
||||
./kwin/build.sh
|
||||
- name: Upload Release
|
||||
uses: svenstaro/upload-release-action@2.2.1
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: kwin/*.tar.gz
|
||||
tag: ${{ github.ref }}
|
||||
overwrite: true
|
||||
file_glob: true
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
sudo apt-get update -q
|
||||
sudo apt-get install gettext clang-format
|
||||
- name: Create Release
|
||||
run: |
|
||||
./kwin/build.sh
|
||||
- name: Upload Release
|
||||
uses: svenstaro/upload-release-action@2.9.0
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: kwin/*.tar.gz
|
||||
tag: ${{ github.ref }}
|
||||
overwrite: true
|
||||
file_glob: true
|
||||
prerelease: true
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
# SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
name: Generate References
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
references:
|
||||
name: Generate References
|
||||
runs-on: ubuntu-22.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
version:
|
||||
- "39"
|
||||
- "40"
|
||||
- "41"
|
||||
- "rawhide"
|
||||
session:
|
||||
- "gnome-xsession"
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Download Dependencies
|
||||
run: |
|
||||
sudo apt update -qq
|
||||
sudo apt install gettext imagemagick -qq
|
||||
- name: Build Burn-My-Windows
|
||||
run: make
|
||||
- name: Generate References
|
||||
run: sudo $GITHUB_WORKSPACE/tests/generate-references.sh -v ${{ matrix.version }} -s ${{ matrix.session }}
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: references-${{ matrix.session }}-${{ matrix.version }}
|
||||
path: tests/references/*${{ matrix.session }}-${{ matrix.version }}.png
|
||||
@@ -11,4 +11,4 @@
|
||||
/resources/burn-my-windows.gresource
|
||||
/resources/burn-my-windows.gresource.xml
|
||||
kwin/_build
|
||||
kwin/*.tar.gz
|
||||
kwin/*.tar.gz
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
|
||||
Files: tests/references/*
|
||||
Copyright: Simon Schneegans <code@simonschneegans.de>
|
||||
License: CC0-1.0
|
||||
|
||||
Files: kwin/metadata.desktop.in
|
||||
Copyright: Simon Schneegans <code@simonschneegans.de>
|
||||
License: CC0-1.0
|
||||
|
||||
Files: resources/credits/*
|
||||
Copyright: Simon Schneegans <code@simonschneegans.de>
|
||||
License: CC0-1.0
|
||||
|
||||
Files: resources/img/*
|
||||
Copyright: Simon Schneegans <code@simonschneegans.de>
|
||||
License: CC-BY-4.0
|
||||
|
||||
Files: docs/pics/*
|
||||
Copyright: Simon Schneegans <code@simonschneegans.de>
|
||||
License: CC-BY-4.0
|
||||
|
||||
Files: assets/*
|
||||
Copyright: Simon Schneegans <code@simonschneegans.de>
|
||||
License: CC-BY-4.0
|
||||
|
||||
Files: po/*
|
||||
Copyright: Simon Schneegans <code@simonschneegans.de>
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
Files: metadata.json
|
||||
Copyright: Simon Schneegans <code@simonschneegans.de>
|
||||
License: GPL-3.0-or-later
|
||||
@@ -19,7 +19,7 @@ LOCALES_MO = $(patsubst po/%.po,locale/%/LC_MESSAGES/$(NAME).mo,$(LOCALES_PO
|
||||
ZIP_CONTENT = $(JS_FILES) $(LOCALES_MO) resources/$(NAME).gresource \
|
||||
schemas/org.gnome.shell.extensions.$(NAME).gschema.xml \
|
||||
schemas/org.gnome.shell.extensions.$(NAME)-profile.gschema.xml \
|
||||
schemas/gschemas.compiled metadata.json LICENSE
|
||||
metadata.json LICENSE
|
||||
|
||||
# These seven recipes can be invoked by the user.
|
||||
.PHONY: zip install uninstall pot clean test references
|
||||
@@ -46,28 +46,6 @@ pot: $(JS_FILES) $(UI_FILES)
|
||||
--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 37 38 "rawhide" ; 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 37 38 "rawhide" ; do \
|
||||
for session in "gnome-xsession" "gnome-wayland-nested" ; do \
|
||||
echo ; \
|
||||
echo "Generating References for Fedora $$version ($$session)." ; \
|
||||
echo ; \
|
||||
./tests/generate-references.sh -s $$session -v $$version ; \
|
||||
done \
|
||||
done
|
||||
|
||||
# This removes all temporary files created with the other recipes.
|
||||
clean:
|
||||
rm -rf $(ZIP_NAME) \
|
||||
@@ -92,11 +70,6 @@ $(ZIP_NAME): $(ZIP_CONTENT)
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
# Compiles the gschemas.compiled file from the gschema.xml file.
|
||||
schemas/gschemas.compiled: schemas/org.gnome.shell.extensions.$(NAME).gschema.xml schemas/org.gnome.shell.extensions.$(NAME)-profile.gschema.xml
|
||||
@echo "Compiling schemas..."
|
||||
@glib-compile-schemas schemas
|
||||
|
||||
# Compiles the gresource file from the gresources.xml.
|
||||
resources/$(NAME).gresource: resources/$(NAME).gresource.xml
|
||||
@echo "Compiling resources..."
|
||||
|
||||
@@ -13,40 +13,49 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
<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://api.reuse.software/info/github.com/Schneegans/Burn-My-Windows"><img src="https://api.reuse.software/badge/github.com/Schneegans/Burn-My-Windows" /></a>
|
||||
<a href="LICENSE"><img src="https://img.shields.io/badge/License-GPLv3-blue.svg?labelColor=303030" /></a>
|
||||
<a href="https://schneegans.github.io/sponsors/"><img src="https://gist.githubusercontent.com/Schneegans/2d06edf0937c480951feb86b9e719304/raw/weekly.svg" /></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>
|
||||
|
||||
> [!IMPORTANT]
|
||||
> The code in the `main` branch is for GNOME Shell 45+. For older GNOME versions, please use the `gnome-3.36-44` branch.
|
||||
|
||||
When I released the [Desktop Cube Extension](https://github.com/Schneegans/Desktop-Cube/) for GNOME, many people requested to revive one of the most useless features of Linux desktop history: Setting windows on fire!
|
||||
This extension is not only more useless than the cube, but it is also much more hacky. So I expect some bug! [Let's incinerate them all](https://github.com/Schneegans/Burn-My-Windows/issues)!
|
||||
|
||||
**🖼️ The wallpapers used in the previews below were all generated using AI and are available in [this GitHub repository](https://github.com/Schneegans/ai-wallpapers).**
|
||||
|
||||
Effect | Preview
|
||||
-----|--------
|
||||
**Apparition** <br> This effect hides your windows by violently sucking them into the void of magic! | <img src ="docs/pics/apparition.gif" />
|
||||
**Broken Glass** <br> Shatter your windows into a shower sharp shards! This effect can be configured so that the shards fly away from your mouse pointer position!| <img src ="docs/pics/broken-glass.gif" />
|
||||
**Doom** <br> Melt your windows. Inspired by the legendary screen transitions of the original Doom. | <img src ="docs/pics/doom.gif" />
|
||||
**Energize A** <br> Beam your windows away! | <img src ="docs/pics/energize-a.gif" />
|
||||
**Energize B** <br> Using different transporter technology results in an alternative visual effect. | <img src ="docs/pics/energize-b.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" />
|
||||
**Glide** <br> This very simple effect fades the window to transparency with subtle 3D effects. | <img src ="docs/pics/glide.gif" />
|
||||
**Glitch** <br> This effect applies some intentional graphics issues to your windows. | <img src ="docs/pics/glitch.gif" />
|
||||
**Hexagon** <br> With glowing lines and hexagon-shaped tiles, this effect looks very sci-fi. | <img src ="docs/pics/hexagon.gif" />
|
||||
**Incinerate** <br> A less snappy but definitely more fancy take on the fire effect. | <img src ="docs/pics/incinerate.gif" />
|
||||
**Matrix** <br> Turn your windows into a shower of green letters! The color is actually configurable.| <img src ="docs/pics/matrix.gif" />
|
||||
**Pixelate** <br> Pixelate your windows and randomly hide pixels until the entire window is gone.| <img src ="docs/pics/pixelate.gif" />
|
||||
**Pixel Wheel** <br> This simple effect pixelates the window and hides the pixels in a wheel-like fashion.| <img src ="docs/pics/pixel-wheel.gif" />
|
||||
**Pixel Wipe** <br> This effect pixelates the window and hides the pixels radially, starting from the pointer position.| <img src ="docs/pics/pixel-wipe.gif" />
|
||||
**Portal** <br> This ridiculous effect teleports your windows from and to alternative dimensions. It may resemble the portal from a well-known cartoon series... | <img src ="docs/pics/portal.gif" />
|
||||
**Snap of Disintegration** <br> Dissolve your windows into a cloud of dust.| <img src ="docs/pics/snap.gif" />
|
||||
**T-Rex Attack** <br> Destroy your windows with a series of violent slashes!| <img src ="docs/pics/trex.gif" />
|
||||
**TV Effect** <br> This is a very simple effect to demonstrate that this extension could also be used in a more professional environment. | <img src ="docs/pics/tv.gif" />
|
||||
**TV Glitch** <br> This effect combines the Glitch and the TV Effect. | <img src ="docs/pics/tv-glitch.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)
|
||||
| Effect | Preview |
|
||||
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
|
||||
| **Apparition** <br> This effect hides your windows by violently sucking them into the void of magic! | <img src ="docs/pics/apparition.gif" /> |
|
||||
| **Aura Glow** <br> A radiant edge-lit animation | <img src ="docs/pics/aura-glow.gif" /> |
|
||||
| **Broken Glass** <br> Shatter your windows into a shower sharp shards! This effect can be configured so that the shards fly away from your mouse pointer position! | <img src ="docs/pics/broken-glass.gif" /> |
|
||||
| **Doom** <br> Melt your windows. Inspired by the legendary screen transitions of the original Doom. | <img src ="docs/pics/doom.gif" /> |
|
||||
| **Energize A** <br> Beam your windows away! | <img src ="docs/pics/energize-a.gif" /> |
|
||||
| **Energize B** <br> Using different transporter technology results in an alternative visual effect. | <img src ="docs/pics/energize-b.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" /> |
|
||||
| **Focus** <br> Focus dude, focus! | <img src ="docs/pics/focus.gif" /> |
|
||||
| **Glide** <br> This very simple effect fades the window to transparency with subtle 3D effects. | <img src ="docs/pics/glide.gif" /> |
|
||||
| **Glitch** <br> This effect applies some intentional graphics issues to your windows. | <img src ="docs/pics/glitch.gif" /> |
|
||||
| **Hexagon** <br> With glowing lines and hexagon-shaped tiles, this effect looks very sci-fi. | <img src ="docs/pics/hexagon.gif" /> |
|
||||
| **Incinerate** <br> A less snappy but definitely more fancy take on the fire effect. | <img src ="docs/pics/incinerate.gif" /> |
|
||||
| **Matrix** <br> Turn your windows into a shower of green letters! The color is actually configurable. | <img src ="docs/pics/matrix.gif" /> |
|
||||
| **Mushroom** <br> Inspired by your favorite italian plumber! | <img src ="docs/pics/mushroom.gif" /> |
|
||||
| **Paint Brush** <br> Paint or erase your windows with a thick paint brush. | <img src ="docs/pics/paint-brush.gif" /> |
|
||||
| **Pixelate** <br> Pixelate your windows and randomly hide pixels until the entire window is gone. | <img src ="docs/pics/pixelate.gif" /> |
|
||||
| **Pixel Wheel** <br> This simple effect pixelates the window and hides the pixels in a wheel-like fashion. | <img src ="docs/pics/pixel-wheel.gif" /> |
|
||||
| **Pixel Wipe** <br> This effect pixelates the window and hides the pixels radially, starting from the pointer position. | <img src ="docs/pics/pixel-wipe.gif" /> |
|
||||
| **Portal** <br> This ridiculous effect teleports your windows from and to alternative dimensions. It may resemble the portal from a well-known cartoon series... | <img src ="docs/pics/portal.gif" /> |
|
||||
| **RGB Warp** <br> Red Blue and Green go bye bye. | <img src ="docs/pics/rgbwarp.gif" /> |
|
||||
| **Snap of Disintegration** <br> Dissolve your windows into a cloud of dust. | <img src ="docs/pics/snap.gif" /> |
|
||||
| **TeamRocket** <br> ... is blasting off again! | <img src ="docs/pics/teamrocket.gif" /> |
|
||||
| **T-Rex Attack** <br> Destroy your windows with a series of violent slashes! | <img src ="docs/pics/trex.gif" /> |
|
||||
| **TV Effect** <br> This is a very simple effect to demonstrate that this extension could also be used in a more professional environment. | <img src ="docs/pics/tv.gif" /> |
|
||||
| **TV Glitch** <br> This effect combines the Glitch and the TV Effect. | <img src ="docs/pics/tv-glitch.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) |
|
||||
|
||||
## ✅ Supported Versions
|
||||
|
||||
@@ -56,76 +65,55 @@ Below is a table which summarizes the current availability for all effects.
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan="3"><strong>GNOME</strong></td>
|
||||
<td colspan="4"><strong>GNOME</strong></td>
|
||||
<td colspan="1"><strong>KWin</strong></td>
|
||||
</tr>
|
||||
<tr><td></td> <td>3.36</td> <td>3.38</td><td>40+</td><td>5.25.0+</td></tr>
|
||||
<tr><td>Apparition</td> <td> </td> <td>✅</td> <td>✅</td> <td> </td> </tr>
|
||||
<tr><td>Broken Glass</td> <td> </td> <td> </td> <td>✅</td> <td> </td> </tr>
|
||||
<tr><td>Doom</td> <td> </td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Energize A</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Energize B</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Fire</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Glide</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Glitch</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Hexagon</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Incinerate</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Matrix</td> <td> </td> <td> </td> <td>✅</td> <td> </td> </tr>
|
||||
<tr><td>Pixelate</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Pixel Wheel</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Pixel Wipe</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Portal</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Snap of Disintegration</td> <td> </td> <td> </td> <td>✅</td> <td> </td> </tr>
|
||||
<tr><td>T-Rex Attack</td> <td> </td> <td> </td> <td>✅</td> <td> </td> </tr>
|
||||
<tr><td>TV Effect</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>TV Glitch</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Wisps</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td></td> <td>3.36</td> <td>3.38</td><td>40-44</td><td>45+</td><td>5.25.0+</td></tr>
|
||||
<tr><td>Apparition</td> <td> </td> <td>✅</td> <td>✅</td> <td>✅</td> <td> </td> </tr>
|
||||
<tr><td>Aura Glow</td> <td> </td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Broken Glass</td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> <td> </td> </tr>
|
||||
<tr><td>Doom</td> <td> </td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Energize A</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Energize B</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Fire</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Focus</td> <td> </td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Glide</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Glitch</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Hexagon</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Incinerate</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Matrix</td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> <td> </td> </tr>
|
||||
<tr><td>Mushroom</td> <td> </td> <td> </td> <td> </td> <td>✅</td> <td> </td> </tr>
|
||||
<tr><td>Paint Brush</td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> <td> </td> </tr>
|
||||
<tr><td>Pixelate</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Pixel Wheel</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Pixel Wipe</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Portal</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>RGB Warp</td> <td> </td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Snap of Disintegration</td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> <td> </td> </tr>
|
||||
<tr><td>TeamRocket</td> <td> </td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>T-Rex Attack</td> <td> </td> <td> </td> <td>✅</td> <td>✅</td> <td> </td> </tr>
|
||||
<tr><td>TV Effect</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>TV Glitch</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
<tr><td>Wisps</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||
</table>
|
||||
|
||||
## 💞 Show that you love Burn-My-Windows!
|
||||
|
||||
## 💞 These People _love_ this Extension
|
||||
[](https://ko-fi.com/schneegans)
|
||||
[](https://github.com/sponsors/Schneegans)
|
||||
[](https://www.paypal.com/donate/?hosted_button_id=3F7UFL8KLVPXE)
|
||||
[](https://schneegans.cb.id)
|
||||
|
||||
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.
|
||||
While coding new features or translating Burn-My-Windows is the most awesome way to contribute, providing financial support will encourage me to invest my spare time for developing free and open-source software.
|
||||
|
||||
<h3 align="center">🥇 Current Gold Sponsors</h3>
|
||||
<p align="center">
|
||||
<a href="https://github.com/D3vil0p3r">D3vil0p3r</a><br>
|
||||
Maxence Sebald<br>
|
||||
</p>
|
||||
**These awesome people have already donated to the development of my open-source projects:**
|
||||
|
||||
<h3 align="center">🥈 Current Silver Sponsors</h3>
|
||||
<p align="center">
|
||||
<a href="https://github.com/danielheadbang">@danielheadbang</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/SubOptimal'>@SubOptimal</a><br>
|
||||
<a href='https://github.com/vlazic'>@vlazic</a><br>
|
||||
<!-- <a href="https://github.com/sponsors/Schneegans">Become the first!</a><br> -->
|
||||
</p>
|
||||
|
||||
<h3 align="center">🏅 Previous Sponsors and One-Time Donators</h3>
|
||||
<p align="center">
|
||||
<a href="https://github.com/dennis1248">Dennis ten Hoove</a><br>
|
||||
<a href="https://github.com/MRR-dev">@MRR-dev</a><br>
|
||||
<a href='https://github.com/AngelBrielez'>Angel Brielez</a>
|
||||
<a href='https://github.com/taconomix'>@taconomix</a><br>
|
||||
<a href='https://github.com/enolive'>@enolive</a><br>
|
||||
<a href="https://github.com/Aggraxis">@Aggraxis</a><br>
|
||||
<a href="https://twitter.com/tjiiik">tj3k</a><br>
|
||||
<a href="https://github.com/wolfyrion">@wolfyrion</a><br>
|
||||
<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 GNOME extensions: [🧊 Desktop-Cube](https://github.com/Schneegans/Desktop-Cube) or [🍰 Fly-Pie](https://github.com/Schneegans/Fly-Pie/)!
|
||||
<a href="https://schneegans.github.io/sponsors/">
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://schneegans.github.io/sponsors/sponsors_dark_small.svg">
|
||||
<img alt="Sponsors List" src="https://schneegans.github.io/sponsors/sponsors_light_small.svg#gh-light-mode-only">
|
||||
</picture>
|
||||
</a>
|
||||
|
||||
## ⬇️ Installation (GNOME)
|
||||
|
||||
@@ -155,7 +143,7 @@ gnome-extensions install burn-my-windows@schneegans.github.com.zip
|
||||
|
||||
Then restart GNOME Shell with <kbd>Alt</kbd> + <kbd>F2</kbd>, <kbd>r</kbd> + <kbd>Enter</kbd>.
|
||||
Or logout / login if you are on Wayland.
|
||||
Then you can enable the extension with the *Gnome Tweak Tool*, the *Extensions* application or with this command:
|
||||
Then you can enable the extension with the _Gnome Tweak Tool_, the _Extensions_ application or with this command:
|
||||
|
||||
```bash
|
||||
gnome-extensions enable burn-my-windows@schneegans.github.com
|
||||
@@ -171,6 +159,12 @@ git clone https://github.com/Schneegans/Burn-My-Windows.git
|
||||
cd Burn-My-Windows
|
||||
```
|
||||
|
||||
If your GNOME Shell version is <= 45, you will have to checkout the `gnome-3.36-44` branch:
|
||||
|
||||
```bash
|
||||
git checkout gnome-3.36-44
|
||||
```
|
||||
|
||||
Now you will have to install the extension.
|
||||
The `make` command below compiles the locales, schemas and resources, creates a zip file of the extension and finally installs it with the `gnome-extensions` tool.
|
||||
|
||||
@@ -180,40 +174,47 @@ make install
|
||||
|
||||
Then restart GNOME Shell with <kbd>Alt</kbd> + <kbd>F2</kbd>, <kbd>r</kbd> + <kbd>Enter</kbd>.
|
||||
Or logout / login if you are on Wayland.
|
||||
Then you can enable the extension with the *Gnome Tweak Tool*, the *Extensions* application or with this command:
|
||||
Then you can enable the extension with the _Gnome Tweak Tool_, the _Extensions_ application or with this command:
|
||||
|
||||
```bash
|
||||
gnome-extensions enable burn-my-windows@schneegans.github.com
|
||||
```
|
||||
|
||||
|
||||
## ⬇️ Installation (KWin)
|
||||
|
||||
You can either download the effects from the KDE store (a), download a stable version from GitHub (b) or clone the latest version directly with `git` (c).
|
||||
|
||||
:warning: **You need at least KWin 5.25.0 for the Burn-My-Windows effects.**
|
||||
> [!IMPORTANT]
|
||||
> You need at least KWin 5.25.0 for the Burn-My-Windows effects.
|
||||
|
||||
:warning: **If the color picker widgets in the effect settings do not work for you, you may have to install a package called `libkf5widgetsaddons-dev` (Kubuntu, KDE Neon, ...) or `kf5-kwidgetsaddons-devel`, `kwidgetsaddons-devel` (Fedora, OpenSuse, ...).**
|
||||
> [!NOTE]
|
||||
> If the color picker widgets in the effect settings do not work for you, you may have to install a package called `libkf5widgetsaddons-dev` (Kubuntu, KDE Neon, ...) or `kf5-kwidgetsaddons-devel`, `kwidgetsaddons-devel` (Fedora, OpenSuse, ...).
|
||||
|
||||
### a) Download from the KDE Store
|
||||
|
||||
Here are links to all effects which are currently available in the KDE store;
|
||||
Here are links to all effects which are currently available in the KDE store:
|
||||
|
||||
* [Doom](https://store.kde.org/p/1898739)
|
||||
* [Energize A](https://store.kde.org/p/1884310)
|
||||
* [Energize B](https://store.kde.org/p/1884311)
|
||||
* [Fire](https://store.kde.org/p/1884307)
|
||||
* [Glide](https://store.kde.org/p/1935778)
|
||||
* [Glitch](https://store.kde.org/p/1972813)
|
||||
* [Hexagon](https://store.kde.org/p/1884309)
|
||||
* [Incinerate](https://store.kde.org/p/1861183)
|
||||
* [Pixelate](https://store.kde.org/p/1898742)
|
||||
* [Pixel Wheel](https://store.kde.org/p/1898746)
|
||||
* [Pixel Wipe](https://store.kde.org/p/1898748)
|
||||
* [Portal](https://store.kde.org/p/1959879)
|
||||
* [TV-Effect](https://store.kde.org/p/1884312)
|
||||
* [TV-Glitch](https://store.kde.org/p/1982142)
|
||||
* [Wisps](https://store.kde.org/p/1884313)
|
||||
| Plasma 5 | Plasma 6 |
|
||||
| ---------------------------------------------- | ---------------------------------------------- |
|
||||
| [Aura Glow](https://store.kde.org/p/2263064) | [Aura Glow](https://store.kde.org/p/2263065) |
|
||||
| [Doom](https://store.kde.org/p/1898739) | [Doom](https://store.kde.org/p/2133831) |
|
||||
| [Energize A](https://store.kde.org/p/1884310) | [Energize A](https://store.kde.org/p/2133829) |
|
||||
| [Energize B](https://store.kde.org/p/1884311) | [Energize B](https://store.kde.org/p/2133828) |
|
||||
| [Fire](https://store.kde.org/p/1884307) | [Fire](https://store.kde.org/p/2133822) |
|
||||
| [Focus](https://store.kde.org/p/2221217) | [Focus](https://store.kde.org/p/2221219) |
|
||||
| [Glide](https://store.kde.org/p/1935778) | [Glide](https://store.kde.org/p/2133839) |
|
||||
| [Glitch](https://store.kde.org/p/1972813) | [Glitch](https://store.kde.org/p/2133844) |
|
||||
| [Hexagon](https://store.kde.org/p/1884309) | [Hexagon](https://store.kde.org/p/2133836) |
|
||||
| [Incinerate](https://store.kde.org/p/1861183) | [Incinerate](https://store.kde.org/p/2133817) |
|
||||
| [Pixelate](https://store.kde.org/p/1898742) | [Pixelate](https://store.kde.org/p/2133832) |
|
||||
| [Pixel Wheel](https://store.kde.org/p/1898746) | [Pixel Wheel](https://store.kde.org/p/2133833) |
|
||||
| [Pixel Wipe](https://store.kde.org/p/1898748) | [Pixel Wipe](https://store.kde.org/p/2133834) |
|
||||
| [Portal](https://store.kde.org/p/1959879) | [Portal](https://store.kde.org/p/2133842) |
|
||||
| [Team Rocket](https://store.kde.org/p/2263069) | [Team Rocket](https://store.kde.org/p/2263070) |
|
||||
| [TV-Effect](https://store.kde.org/p/1884312) | [TV-Effect](https://store.kde.org/p/2133825) |
|
||||
| [TV-Glitch](https://store.kde.org/p/1982142) | [TV-Glitch](https://store.kde.org/p/2133819) |
|
||||
| [RGB Warp](https://store.kde.org/p/2263071) | [RGB Warp](https://store.kde.org/p/2263073) |
|
||||
| [Wisps](https://store.kde.org/p/1884313) | [Wisps](https://store.kde.org/p/2133824) |
|
||||
|
||||
You can also directly get the effects from within your system settings.
|
||||
Just go to your System Settings, then "Workspace Behavior", and "Desktop Effects". Then click on "Get new Desktop Effects...".
|
||||
@@ -223,19 +224,27 @@ Just go to your System Settings, then "Workspace Behavior", and "Desktop Effects
|
||||
Execute this command to download the latest stable release:
|
||||
|
||||
```bash
|
||||
wget https://github.com/Schneegans/Burn-My-Windows/releases/latest/download/burn_my_windows_kwin4.tar.gz
|
||||
# For Plasma 5
|
||||
wget https://github.com/Schneegans/Burn-My-Windows/releases/latest/download/burn_my_windows_kwin5.tar.gz
|
||||
|
||||
# For Plasma 6
|
||||
wget https://github.com/Schneegans/Burn-My-Windows/releases/latest/download/burn_my_windows_kwin6.tar.gz
|
||||
```
|
||||
|
||||
Install it by executing the following commands.
|
||||
|
||||
```bash
|
||||
mkdir -p ~/.local/share/kwin/effects
|
||||
tar -xf burn_my_windows_kwin4.tar.gz -C ~/.local/share/kwin/effects
|
||||
|
||||
# For Plasma 5
|
||||
tar -xf burn_my_windows_kwin5.tar.gz -C ~/.local/share/kwin/effects
|
||||
|
||||
# For Plasma 6
|
||||
tar -xf burn_my_windows_kwin6.tar.gz -C ~/.local/share/kwin/effects
|
||||
```
|
||||
|
||||
Then select the desired effects in the system settings under "Desktop Effects".
|
||||
|
||||
|
||||
### c) Cloning the Latest Version with `git`
|
||||
|
||||
Execute the clone command below where you want to have the source code of the extension.
|
||||
@@ -250,36 +259,40 @@ Now you will have to build the effects and copy them to your KWin effect directo
|
||||
```bash
|
||||
./kwin/build.sh
|
||||
mkdir -p ~/.local/share/kwin/effects
|
||||
tar -xf kwin/burn_my_windows_kwin4.tar.gz -C ~/.local/share/kwin/effects
|
||||
|
||||
# For Plasma 5
|
||||
tar -xf kwin/burn_my_windows_kwin5.tar.gz -C ~/.local/share/kwin/effects
|
||||
|
||||
# For Plasma 6
|
||||
tar -xf kwin/burn_my_windows_kwin6.tar.gz -C ~/.local/share/kwin/effects
|
||||
```
|
||||
|
||||
That's it!
|
||||
You can now select the desired effects in the system settings under "Desktop Effects".
|
||||
|
||||
|
||||
## :octocat: I want to contribute!
|
||||
|
||||
That's great!
|
||||
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/)?
|
||||
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.
|
||||
This does not only look great but also makes you rethink what to add to a commit. Make many but small commits!
|
||||
|
||||
Emoji | Description
|
||||
------|------------
|
||||
:tada: `:tada:` | When you added a cool new feature.
|
||||
:wrench: `:wrench:` | When you added a piece of code.
|
||||
:recycle: `:recycle:` | When you refactored a part of the code.
|
||||
:sparkles: `:sparkles:` | When you applied clang-format.
|
||||
:globe_with_meridians: `:globe_with_meridians:` | When you worked on translations.
|
||||
:art: `:art:` | When you improved / added assets like themes.
|
||||
:lipstick: `:lipstick:` | When you worked on the UI of the preferences dialog.
|
||||
:rocket: `:rocket:` | When you improved performance.
|
||||
:memo: `:memo:` | When you wrote documentation.
|
||||
:beetle: `:beetle:` | When you fixed a bug.
|
||||
:revolving_hearts: `:revolving_hearts:` | When a new sponsor is added or credits are updated.
|
||||
:heavy_check_mark: `:heavy_check_mark:` | When you worked on checks or adjusted the code to be compliant with them.
|
||||
:twisted_rightwards_arrows: `:twisted_rightwards_arrows:` | When you merged a branch.
|
||||
:fire: `:fire:` | When you removed something.
|
||||
:truck: `:truck:` | When you moved / renamed something.
|
||||
| Emoji | Description |
|
||||
| --------------------------------------------------------- | ------------------------------------------------------------------------- |
|
||||
| :tada: `:tada:` | When you added a cool new feature. |
|
||||
| :wrench: `:wrench:` | When you added a piece of code. |
|
||||
| :recycle: `:recycle:` | When you refactored a part of the code. |
|
||||
| :sparkles: `:sparkles:` | When you applied clang-format. |
|
||||
| :globe_with_meridians: `:globe_with_meridians:` | When you worked on translations. |
|
||||
| :art: `:art:` | When you improved / added assets like themes. |
|
||||
| :lipstick: `:lipstick:` | When you worked on the UI of the preferences dialog. |
|
||||
| :rocket: `:rocket:` | When you improved performance. |
|
||||
| :memo: `:memo:` | When you wrote documentation. |
|
||||
| :beetle: `:beetle:` | When you fixed a bug. |
|
||||
| :revolving_hearts: `:revolving_hearts:` | When a new sponsor is added or credits are updated. |
|
||||
| :heavy_check_mark: `:heavy_check_mark:` | When you worked on checks or adjusted the code to be compliant with them. |
|
||||
| :twisted_rightwards_arrows: `:twisted_rightwards_arrows:` | When you merged a branch. |
|
||||
| :fire: `:fire:` | When you removed something. |
|
||||
| :truck: `:truck:` | When you moved / renamed something. |
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
# SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
version = 1
|
||||
|
||||
[[annotations]]
|
||||
path = "tests/references/**"
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "Simon Schneegans <code@simonschneegans.de>"
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
[[annotations]]
|
||||
path = "kwin/metadata.desktop.in"
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "Simon Schneegans <code@simonschneegans.de>"
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
[[annotations]]
|
||||
path = "resources/credits/**"
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "Simon Schneegans <code@simonschneegans.de>"
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
[[annotations]]
|
||||
path = "resources/img/**"
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "Simon Schneegans <code@simonschneegans.de>"
|
||||
SPDX-License-Identifier = "CC-BY-4.0"
|
||||
|
||||
[[annotations]]
|
||||
path = "docs/pics/**"
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "Simon Schneegans <code@simonschneegans.de>"
|
||||
SPDX-License-Identifier = "CC-BY-4.0"
|
||||
|
||||
[[annotations]]
|
||||
path = "assets/**"
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "Simon Schneegans <code@simonschneegans.de>"
|
||||
SPDX-License-Identifier = "CC-BY-4.0"
|
||||
|
||||
[[annotations]]
|
||||
path = "po/**"
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "Simon Schneegans <code@simonschneegans.de>"
|
||||
SPDX-License-Identifier = "GPL-3.0-or-later"
|
||||
|
||||
[[annotations]]
|
||||
path = "metadata.json"
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "Simon Schneegans <code@simonschneegans.de>"
|
||||
SPDX-License-Identifier = "GPL-3.0-or-later"
|
||||
@@ -1,7 +1,20 @@
|
||||
# Notes for `claws.blend`
|
||||
# `claws.blend`
|
||||
|
||||
This is the source file for `resources/img/claws.png`. To generate the image, the animation in `claws.blend` is rendered to 256 PNG files and then combined using this command:
|
||||
|
||||
```bash
|
||||
convert *.png -average claws.png
|
||||
```
|
||||
```
|
||||
|
||||
# `brush.blend`
|
||||
|
||||
This is the source file for `resources/img/brush.png`. To generate the image, the four dynamic paint image sequences in `brush.blend` are baked to 256 PNG files each. They are then combined using these commands:
|
||||
|
||||
```bash
|
||||
convert brush1/*.png -average brush1.png
|
||||
convert brush2/*.png -average brush2.png
|
||||
convert brush3/*.png -average brush3.png
|
||||
convert brush4/*.png -average brush4.png
|
||||
|
||||
convert brush1.png brush2.png brush3.png brush4.png -channel RGBA -combine brush.png
|
||||
```
|
||||
|
||||
@@ -5,19 +5,252 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
# Changelog of the Burn-My-Windows Extension
|
||||
|
||||
## [unreleased]
|
||||
|
||||
**Release Date:** TBD
|
||||
|
||||
#### New Features
|
||||
|
||||
- Added support for GNOME 51. Thanks to [@tristantarrant](https://github.com/tristantarrant) for this contribution!
|
||||
|
||||
#### Other Changes
|
||||
|
||||
- Many translations have been updated. Thanks to all the translators!
|
||||
|
||||
## [Burn My Windows 48](https://github.com/schneegans/Burn-My-Windows/releases/tag/v48)
|
||||
|
||||
**Release Date:** 2026-03-15
|
||||
|
||||
#### New Features
|
||||
|
||||
- Added support for GNOME 50.
|
||||
|
||||
#### Other Changes
|
||||
|
||||
- Many translations have been updated. Thanks to all the translators!
|
||||
|
||||
## [Burn My Windows 47](https://github.com/schneegans/Burn-My-Windows/releases/tag/v47)
|
||||
|
||||
**Release Date:** 2025-08-25
|
||||
|
||||
#### New Features
|
||||
|
||||
- Ported the extension to GNOME 49.
|
||||
- Added a color preview widget to the preferences of the Aura Glow effect. Thanks to [@lstrsrt](https://github.com/lstrsrt) for this contribution!
|
||||
|
||||
#### Other Changes
|
||||
|
||||
- Many translations have been updated. Thanks to all the translators!
|
||||
|
||||
## [Burn My Windows 46](https://github.com/schneegans/Burn-My-Windows/releases/tag/v46)
|
||||
|
||||
**Release Date:** 2025-03-09
|
||||
|
||||
#### New Features
|
||||
|
||||
- Added an option to choose a random color for the Fire effect each time a window is closed or opened. Thanks to [@jgarza9788](https://github.com/jgarza9788) for this contribution!
|
||||
|
||||
#### Other Changes
|
||||
|
||||
- Many translations have been updated. Thanks to all the translators!
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
- Fixed an issue introduced by the GNOME 48 Beta release which caused some effects to break (Broken Glass, Matrix, Paint Brush, Snap of Disintegration, T-Rex Attack).
|
||||
|
||||
## [Burn My Windows 45](https://github.com/schneegans/Burn-My-Windows/releases/tag/v45)
|
||||
|
||||
**Release Date:** 2025-02-21
|
||||
|
||||
#### New Features
|
||||
|
||||
<a href="https://youtu.be/DmFNHnOakpY"><img align="right" src ="pics/bmw45.jpg" /></a>
|
||||
|
||||
- **Support for GNOME 48!** The extension has been updated to work with GNOME 48.
|
||||
- **New Effect: Aura Glow!** This effect adds a glowing aura to your windows. Thanks to [@jgarza9788](https://github.com/jgarza9788) for this contribution!
|
||||
- **New Effect: Mushroom!** This overly ridiculous effect is inspired by the animation of Super Mario when he eats a mushroom. Thanks again to [@jgarza9788](https://github.com/jgarza9788) for this contribution!
|
||||
- **New Effect: RGB Warp!** This effect warps the colors of your windows separating the color channels. Thanks once more to [@jgarza9788](https://github.com/jgarza9788) for this contribution!
|
||||
- **New Effect: Team Rocket!** Do you remember what happened when Team Rocket failed again? Thanks the fourth time to [@jgarza9788](https://github.com/jgarza9788) for this contribution!
|
||||
|
||||
#### Other Changes
|
||||
|
||||
- If after filtering the effects in the preferences dialog only one effect is left, the effect's settings are shown immediately.
|
||||
- The fire of the Incinerate effect now propagates circularly. This makes the effect look more natural as it does not mimic the window's aspect ratio anymore. Thanks to [@rcmz](https://github.com/rcmz) for this contribution!
|
||||
|
||||
## [Burn My Windows 44](https://github.com/schneegans/Burn-My-Windows/releases/tag/v44)
|
||||
|
||||
**Release Date:** 2024-11-06
|
||||
|
||||
#### New Features
|
||||
|
||||
<a href="https://youtu.be/hEdFfzqy2J0"><img align="right" src ="pics/bmw44.jpg" /></a>
|
||||
|
||||
- **New Effect: Focus.** Focus dude, focus. This effect is available both for GNOME and KDE. Thanks to [@jgarza9788](https://github.com/jgarza9788) for this contribution!
|
||||
- Effect Search: There is now a search bar in the preferences dialog which allows you to quickly find the effect you are looking for. Thanks to [@jgarza9788](https://github.com/jgarza9788) for this contribution!
|
||||
|
||||
#### Other Changes
|
||||
|
||||
- The animation duration of all effects can now be adjusted between 0.1s and 3s. This makes fine adjustments easier than with the previous 0.1s to 10s range.
|
||||
- There are now different effect packages for Plasma 5 and Plasma 6. Please make sure to install the correct one for your system.
|
||||
- Many translations have been updated. Thanks to all the translators!
|
||||
- The CI jobs now run only on X11. In addition to GNOME 45, they now also run on GNOME 46 and GNOME 47.
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
- The effects now work on Plasma 6 even if an ICC profile is set. Thanks to [@Zamundaaa](https://github.com/Zamundaaa) for helping here!
|
||||
|
||||
## [Burn My Windows 43](https://github.com/schneegans/Burn-My-Windows/releases/tag/v43)
|
||||
|
||||
**Release Date:** 2024-08-23
|
||||
|
||||
#### Enhancements
|
||||
|
||||
- Ported the extension to GNOME 47.
|
||||
- Several translations have been updated. Thanks to all the translators!
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
- Fixed an issue in the KDE metadata files which caused a warning in the logs on KDE Plasma 6. Thanks to [@nask0](https://github.com/nask0) for the fix!
|
||||
|
||||
## [Burn My Windows 42 [backport release]](https://github.com/schneegans/Burn-My-Windows/releases/tag/v42)
|
||||
|
||||
**Release Date:** 2024-02-27
|
||||
|
||||
- Ported the changes from Burn-My-Windows 41 to GNOME 3.36 - 44.
|
||||
|
||||
## [Burn My Windows 41](https://github.com/schneegans/Burn-My-Windows/releases/tag/v41)
|
||||
|
||||
**Release Date:** 2024-02-27
|
||||
|
||||
#### Enhancements
|
||||
|
||||
- The extension has been updated to work with GNOME 46.
|
||||
- Several translations have been updated. Thanks to all the translators!
|
||||
- All CI jobs are now executed for GNOME 45 and GNOME 46 as well.
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
- Fixed a compatibility issue with Plasma 6. Thanks to [@CoelacanthusHex](https://github.com/CoelacanthusHex) for the fix!
|
||||
- Fixed an issue which caused the origin of the Incinerate and Pixel Wipe effects to be reset to the current mouse position whenever another effect was started while an effect was still running.
|
||||
|
||||
## [Burn My Windows 40 [backport release]](https://github.com/schneegans/Burn-My-Windows/releases/tag/v40)
|
||||
|
||||
**Release Date:** 2023-10-26
|
||||
|
||||
#### Enhancements
|
||||
|
||||
- Ported the changes from Burn-My-Windows 39 to GNOME 3.36 - 44.
|
||||
|
||||
## [Burn My Windows 39](https://github.com/schneegans/Burn-My-Windows/releases/tag/v39)
|
||||
|
||||
**Release Date:** 2023-10-26
|
||||
|
||||
#### Enhancements
|
||||
|
||||
- On KDE, the effects are no longer applied to windows which are on all desktops and have no decoration. This is primarily meant to avoid applying the effects to the Alt+Tab switcher.
|
||||
- Several translations have been updated. Thanks to all the translators!
|
||||
- Instead of an always out-of-date list of sponsors, the main menu of the preferences dialog now contains a link to the new [list of all donors](https://schneegans.github.io/sponsors/). This list is semi-automatically updated whenever a new donation is received. Thanks to all the donors!
|
||||
- The possibility to [donate cryptocurrencies](https://schneegans.cb.id) has been added.
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
- Fixed an issue which caused overly large windows on GNOME for certain applications (e.g. KPatience) if they were re-opened after being closed in maximized state.
|
||||
- Fixed an issue with the archive format which caused a failure when installing the effects via KDE Discover.
|
||||
|
||||
## [Burn My Windows 38](https://github.com/schneegans/Burn-My-Windows/releases/tag/v38)
|
||||
|
||||
**Release Date:** 2023-09-09
|
||||
|
||||
#### Major Changes
|
||||
|
||||
- This is the first release of Burn-My-Windows supporting GNOME 45. This required a [major refactoring](https://github.com/Schneegans/Burn-My-Windows/pull/373/files) of the code base as GJS now uses ESM modules. As a consequence, this version is not compatible with older versions of GNOME Shell anymore. The old code base is still available on the `gnome-3.36-44` branch and if new features are added (especially translations), they can be backported to this branch.
|
||||
|
||||
## [Burn My Windows 37](https://github.com/schneegans/Burn-My-Windows/releases/tag/v37)
|
||||
|
||||
**Release Date:** 2023-08-26
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
- Fixed an issue which caused the effects to crash on KDE in some cases.
|
||||
|
||||
#### Enhancements
|
||||
|
||||
- Several translations have been updated. Thanks to all the translators!
|
||||
|
||||
## [Burn My Windows 36](https://github.com/schneegans/Burn-My-Windows/releases/tag/v36)
|
||||
|
||||
**Release Date:** 2023-08-18
|
||||
|
||||
#### New Features
|
||||
|
||||
- Two convenience buttons have been added to the preferences dialog. One allows you to select all effects, the other one allows you to deselect all effects.
|
||||
- A new main menu entry has been added which allows you to open the effect-profile directory. This is useful if you want to back up or share your profiles with others.
|
||||
- The Wisps effect now supports colorful wisps. You can now specify three colors for the effect. These colors make up a gradient which is used to color the wisps.
|
||||
|
||||
#### Enhancements
|
||||
|
||||
- Several translations have been updated. Thanks to all the translators!
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
- Some effects (Fire, Incinerate, Energize A, Energize B) are faded towards the edges of the window. This used to look weird when the window is maximized. This has been fixed.
|
||||
- On KDE, the animations are not applied to IntelliJ IDEs anymore. These IDEs use windows for their tooltips which do not set the WM class correctly. This caused the animations to be applied to the tooltips as well making them unusable. This is rather a workaround than a fix, but makes the effect usable again in conjunction with IntelliJ IDEs.
|
||||
|
||||
## [Burn My Windows 35](https://github.com/schneegans/Burn-My-Windows/releases/tag/v35)
|
||||
|
||||
**Release Date:** 2023-07-03
|
||||
|
||||
#### New Features
|
||||
|
||||
- **New Effect: Paint-Brush.** This effect paints or erases your windows with a thick paint brush.
|
||||
|
||||
## [Burn My Windows 34](https://github.com/schneegans/Burn-My-Windows/releases/tag/v34)
|
||||
|
||||
**Release Date:** 2023-09-06
|
||||
|
||||
#### Enhancements
|
||||
|
||||
- Added support for the new donation button on extensions.gnome.org.
|
||||
- https://www.paypal.me/simonschneegans is now the default donation link for PayPal.
|
||||
|
||||
## [Burn My Windows 33](https://github.com/schneegans/Burn-My-Windows/releases/tag/v33)
|
||||
|
||||
**Release Date:** 2023-06-06
|
||||
|
||||
#### Enhancements
|
||||
|
||||
- When opening the preferences, a dialog is now shown occasionally to kindly ask for a donation. The dialog can be disabled once it has been shown for the first time.
|
||||
- Several translations have been updated. Thanks to all the translators!
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
- Fixed an issue on GNOME 44.2 which caused the effects to look broken. It was caused by [this change](https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2650).
|
||||
- Fixed an issue which prevented the settings of the Snap of Disintegration effect from being translatable.
|
||||
|
||||
## [Burn My Windows 32](https://github.com/schneegans/Burn-My-Windows/releases/tag/v32)
|
||||
|
||||
**Release Date:** 2023-05-22
|
||||
|
||||
#### Enhancements
|
||||
|
||||
- Several translations have been updated. Thanks to all the translators!
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
- Fixed an issue which caused corrupted windows on X11 GNOME 44 under very specific circumstances. This happened only on X11 and only when the window was resized before it was actually shown.
|
||||
|
||||
## [Burn My Windows 31](https://github.com/schneegans/Burn-My-Windows/releases/tag/v31)
|
||||
|
||||
**Release Date:** 2023-05-04
|
||||
|
||||
#### Enhancements
|
||||
|
||||
* Several translations have been updated. Thanks to all the translators!
|
||||
- Several translations have been updated. Thanks to all the translators!
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
* Fixed an issue which made windows invisible which did not set the `WM_CLASS` X11 property correctly.
|
||||
* Fixed an issue which made window-picking of Wayland windows impossible on GNOME 44.
|
||||
|
||||
- Fixed an issue which made windows invisible which did not set the `WM_CLASS` X11 property correctly.
|
||||
- Fixed an issue which made window-picking of Wayland windows impossible on GNOME 44.
|
||||
|
||||
## [Burn My Windows 30](https://github.com/schneegans/Burn-My-Windows/releases/tag/v30)
|
||||
|
||||
@@ -25,7 +258,7 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
* Fixed yet another incompatibility with the [Compiz alike magic lamp effect](https://extensions.gnome.org/extension/3740/compiz-alike-magic-lamp-effect/).
|
||||
- Fixed yet another incompatibility with the [Compiz alike magic lamp effect](https://extensions.gnome.org/extension/3740/compiz-alike-magic-lamp-effect/).
|
||||
|
||||
## [Burn My Windows 29](https://github.com/schneegans/Burn-My-Windows/releases/tag/v29)
|
||||
|
||||
@@ -33,8 +266,8 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
* Fixed a regression which caused window-close animations not to shown in front of full-screen windows.
|
||||
* Fixed an incompatibility with the [Compiz alike magic lamp effect](https://extensions.gnome.org/extension/3740/compiz-alike-magic-lamp-effect/).
|
||||
- Fixed a regression which caused window-close animations not to shown in front of full-screen windows.
|
||||
- Fixed an incompatibility with the [Compiz alike magic lamp effect](https://extensions.gnome.org/extension/3740/compiz-alike-magic-lamp-effect/).
|
||||
|
||||
## [Burn My Windows 28](https://github.com/schneegans/Burn-My-Windows/releases/tag/v28)
|
||||
|
||||
@@ -42,15 +275,15 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### Enhancements
|
||||
|
||||
* **New donation method: Ko-fi**. Follow me on Ko-fi to get the latest updates regarding my extensions: https://ko-fi.com/schneegans!
|
||||
* All shaders are now compatible with OpenGL ES. Due to [this change in Mutter](https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2672) the number of devices using OpenGL ES has significantly increased since GNOME 44. This change makes Burn-My-Windows working on those devices.
|
||||
* It is now possible to create effects which do not have any settings at all.
|
||||
- **New donation method: Ko-fi**. Follow me on Ko-fi to get the latest updates regarding my extensions: https://ko-fi.com/schneegans!
|
||||
- All shaders are now compatible with OpenGL ES. Due to [this change in Mutter](https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2672) the number of devices using OpenGL ES has significantly increased since GNOME 44. This change makes Burn-My-Windows working on those devices.
|
||||
- It is now possible to create effects which do not have any settings at all.
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
* [This change in GNOME Shell](https://gitlab.gnome.org/GNOME/gnome-shell/-/commit/7bd98f3f5fb7e0d1220646b8a4ee7073534a8e8f) prevented Burn-My-Windows from working if no hardware-acceleration was available on GNOME 44, including the Docker containers used for CI testing. Some severe refactoring was necessary to fix this issue.
|
||||
* The tutorial on how to create new effects has been updated and should work again.
|
||||
* Fixed an issue which caused effect-profile loading to fail whenever Burn-My-Windows was updated.
|
||||
- [This change in GNOME Shell](https://gitlab.gnome.org/GNOME/gnome-shell/-/commit/7bd98f3f5fb7e0d1220646b8a4ee7073534a8e8f) prevented Burn-My-Windows from working if no hardware-acceleration was available on GNOME 44, including the Docker containers used for CI testing. Some severe refactoring was necessary to fix this issue.
|
||||
- The tutorial on how to create new effects has been updated and should work again.
|
||||
- Fixed an issue which caused effect-profile loading to fail whenever Burn-My-Windows was updated.
|
||||
|
||||
## [Burn My Windows 27](https://github.com/schneegans/Burn-My-Windows/releases/tag/v27)
|
||||
|
||||
@@ -58,7 +291,7 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### New Features
|
||||
|
||||
* **Effect Profiles:** It is now possible to create _effect profiles_. Each profile contains a different set of effect settings. You can choose for each profile under which circumstances it will be used. Currently, these constraints are supported:
|
||||
- **Effect Profiles:** It is now possible to create _effect profiles_. Each profile contains a different set of effect settings. You can choose for each profile under which circumstances it will be used. Currently, these constraints are supported:
|
||||
- Application name
|
||||
- Animation type (open close)
|
||||
- Window type (normal, dialog)
|
||||
@@ -74,14 +307,15 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
The extension will attempt to migrate your previous settings to the new effect profile system. Depending on your previous configuration, you may have now one or two profiles to start with, but you can add an arbitrary amount of profiles.
|
||||
|
||||
The effect profiles are available for all supported GNOME versions (that is GNOME 3.36, 3.38, 40, 41, 42, 43, and 44).
|
||||
* **Wallpapers:** A set of AI-generated [wallpapers has released](https://github.com/Schneegans/ai-wallpapers). For each effect of Burn-My-Windows, there is one dedicated wallpaper. As a central theme, each wallpaper shows a window. In some cases, the window is actually burning!
|
||||
* Initial support for GNOME 44.
|
||||
|
||||
- **Wallpapers:** A set of AI-generated [wallpapers has released](https://github.com/Schneegans/ai-wallpapers). For each effect of Burn-My-Windows, there is one dedicated wallpaper. As a central theme, each wallpaper shows a window. In some cases, the window is actually burning!
|
||||
- Initial support for GNOME 44.
|
||||
|
||||
#### Other Enhancements
|
||||
|
||||
* As part of the effect profile implementation, the libadwaita-inspired preferences dialog layout got back-ported to all other supported GNOME versions.
|
||||
* A notification is now shown in the settings dialog whenever the extension got updated. It contains a link to this changelog.
|
||||
* Many translation updates. Thanks to all the translators!
|
||||
- As part of the effect profile implementation, the libadwaita-inspired preferences dialog layout got back-ported to all other supported GNOME versions.
|
||||
- A notification is now shown in the settings dialog whenever the extension got updated. It contains a link to this changelog.
|
||||
- Many translation updates. Thanks to all the translators!
|
||||
|
||||
## [Burn My Windows 26](https://github.com/schneegans/Burn-My-Windows/releases/tag/v26)
|
||||
|
||||
@@ -89,14 +323,13 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### New Features
|
||||
|
||||
* **New Effect: TV-Glitch.** This effect combines the Glitch and the TV Effect into one. Credits go to [Kurt Wilson](https://github.com/Kurtoid) for this idea!
|
||||
- **New Effect: TV-Glitch.** This effect combines the Glitch and the TV Effect into one. Credits go to [Kurt Wilson](https://github.com/Kurtoid) for this idea!
|
||||
|
||||
#### Other Enhancements
|
||||
|
||||
* On KDE, the effect configuration dialogs can now be translated. The translations for GNOME are re-used, so we already have many translations! This requires at least KWin 5.27 to be working.
|
||||
* Many translation updates, including a completely new Japanese translation. Thanks to all the translators!
|
||||
* The effect colors for the Glitch and TV Effect now support an alpha channel. With this you can control how much color gets mixed into the window color.
|
||||
|
||||
- On KDE, the effect configuration dialogs can now be translated. The translations for GNOME are re-used, so we already have many translations! This requires at least KWin 5.27 to be working.
|
||||
- Many translation updates, including a completely new Japanese translation. Thanks to all the translators!
|
||||
- The effect colors for the Glitch and TV Effect now support an alpha channel. With this you can control how much color gets mixed into the window color.
|
||||
|
||||
## [Burn My Windows 25](https://github.com/schneegans/Burn-My-Windows/releases/tag/v25)
|
||||
|
||||
@@ -104,7 +337,7 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
* Fixed an issue which prevented the extension from loading if `power-profiles-daemon` was masked.
|
||||
- Fixed an issue which prevented the extension from loading if `power-profiles-daemon` was masked.
|
||||
|
||||
## [Burn My Windows 24](https://github.com/schneegans/Burn-My-Windows/releases/tag/v24)
|
||||
|
||||
@@ -112,18 +345,18 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### New Features
|
||||
|
||||
* **New Effect: Glitch.** This effect applies some intentional graphics issues to your windows.
|
||||
* There is a new option to disable the effects when power-save mode is active. This may not only help to reduce power consumption, but also help in situation where the window animation do not run fluently in power-save mode. This option requires the power-profiles daemon, so it should be available for GNOME Shell 41 and beyond.
|
||||
- **New Effect: Glitch.** This effect applies some intentional graphics issues to your windows.
|
||||
- There is a new option to disable the effects when power-save mode is active. This may not only help to reduce power consumption, but also help in situation where the window animation do not run fluently in power-save mode. This option requires the power-profiles daemon, so it should be available for GNOME Shell 41 and beyond.
|
||||
|
||||
#### Other Enhancements
|
||||
|
||||
* Many translation updates, including a completely new Indonesian translation. Thanks to all the translators!
|
||||
* The menu button of the settings dialog has been moved to the left and now shows a heart instead of three dots.
|
||||
* The about dialog now uses the `Adw.AboutWindow` if available.
|
||||
- Many translation updates, including a completely new Indonesian translation. Thanks to all the translators!
|
||||
- The menu button of the settings dialog has been moved to the left and now shows a heart instead of three dots.
|
||||
- The about dialog now uses the `Adw.AboutWindow` if available.
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
* Fixed an issue which could lead to black artifacts for some effects (Fire, Incinerate, Matrix, Portal, T-Rex Attack, and Wisps).
|
||||
- Fixed an issue which could lead to black artifacts for some effects (Fire, Incinerate, Matrix, Portal, T-Rex Attack, and Wisps).
|
||||
|
||||
## [Burn My Windows 23](https://github.com/schneegans/Burn-My-Windows/releases/tag/v23)
|
||||
|
||||
@@ -131,11 +364,11 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### New Features
|
||||
|
||||
* **New Effect: Portal.** This ridiculous effect teleports your windows from and to alternative dimensions. It may resemble the portal from a well-known cartoon series...
|
||||
- **New Effect: Portal.** This ridiculous effect teleports your windows from and to alternative dimensions. It may resemble the portal from a well-known cartoon series...
|
||||
|
||||
#### Other Enhancements
|
||||
|
||||
* Many translation updates. Thanks to all the translators!
|
||||
- Many translation updates. Thanks to all the translators!
|
||||
|
||||
## [Burn My Windows 22](https://github.com/schneegans/Burn-My-Windows/releases/tag/v22)
|
||||
|
||||
@@ -143,14 +376,14 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### New Features
|
||||
|
||||
* **New Effect: Glide.** A very subtle effect which simply fades the window and applies some 3D-like tilting and scaling. This effect is available on all support GNOME versions and on KDE.
|
||||
- **New Effect: Glide.** A very subtle effect which simply fades the window and applies some 3D-like tilting and scaling. This effect is available on all support GNOME versions and on KDE.
|
||||
|
||||
#### Other Enhancements
|
||||
|
||||
* The settings dialog has been redesigned specifically for libadwaita. These changes are only available on GNOME 42 and GNOME 43.
|
||||
* Many translation updates, including a completely new Romanian translation. Thanks to all the translators!
|
||||
* The KWin port of Burn-My-Windows now uses `metadata.json` files instead of the deprecated `metadata.desktop` format.
|
||||
* Burn-My-Windows now follows the [REUSE Specification](https://reuse.software/spec).
|
||||
- The settings dialog has been redesigned specifically for libadwaita. These changes are only available on GNOME 42 and GNOME 43.
|
||||
- Many translation updates, including a completely new Romanian translation. Thanks to all the translators!
|
||||
- The KWin port of Burn-My-Windows now uses `metadata.json` files instead of the deprecated `metadata.desktop` format.
|
||||
- Burn-My-Windows now follows the [REUSE Specification](https://reuse.software/spec).
|
||||
|
||||
## [Burn My Windows 21](https://github.com/schneegans/Burn-My-Windows/releases/tag/v21)
|
||||
|
||||
@@ -158,11 +391,11 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### New Features
|
||||
|
||||
* Added support for GNOME 43.
|
||||
- Added support for GNOME 43.
|
||||
|
||||
#### Other Enhancements
|
||||
|
||||
* Several new translations have been added, including a Lithuanian, Ukrainian, Esperanto, Portuguese, Azerbaijani, and Hebrew translation. Also, many other translations received updates. Thanks to all the translators!
|
||||
- Several new translations have been added, including a Lithuanian, Ukrainian, Esperanto, Portuguese, Azerbaijani, and Hebrew translation. Also, many other translations received updates. Thanks to all the translators!
|
||||
|
||||
## [Burn My Windows 20](https://github.com/schneegans/Burn-My-Windows/releases/tag/v20)
|
||||
|
||||
@@ -170,21 +403,20 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### New Features
|
||||
|
||||
* **New Effect: Doom.** Melt your windows. Inspired by the legendary screen transitions of the original Doom.
|
||||
* **New Effect: Pixelate.** Pixelate your windows and randomly hide pixels until the entire window is gone.
|
||||
* **New Effect: Pixel Wheel.** This simple effect pixelates the window and hides the pixels in a wheel-like fashion.
|
||||
* **New Effect: Pixel Wipe.** This effect pixelates the window and hides the pixels radially, starting from the pointer position.
|
||||
- **New Effect: Doom.** Melt your windows. Inspired by the legendary screen transitions of the original Doom.
|
||||
- **New Effect: Pixelate.** Pixelate your windows and randomly hide pixels until the entire window is gone.
|
||||
- **New Effect: Pixel Wheel.** This simple effect pixelates the window and hides the pixels in a wheel-like fashion.
|
||||
- **New Effect: Pixel Wipe.** This effect pixelates the window and hides the pixels radially, starting from the pointer position.
|
||||
|
||||
#### Enhancements
|
||||
|
||||
* Under KWin, the effects now use the same names as in the KDE store.
|
||||
* The continuous integration tests now use a fuzzy search for the images targets. This way, the test work again on X11 and Wayland.
|
||||
* A new GitHub Actions workflow has been added which is executed whenever a commit message includes the `[generate-references]` tag. This workflow re-creates all reference images for the continuous integration test.
|
||||
- Under KWin, the effects now use the same names as in the KDE store.
|
||||
- The continuous integration tests now use a fuzzy search for the images targets. This way, the test work again on X11 and Wayland.
|
||||
- A new GitHub Actions workflow has been added which is executed whenever a commit message includes the `[generate-references]` tag. This workflow re-creates all reference images for the continuous integration test.
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
* Fixed a bug which caused the Incinerate Effect to sometimes not show up properly on KWin if the "Start at pointer position" option was enabled.
|
||||
|
||||
- Fixed a bug which caused the Incinerate Effect to sometimes not show up properly on KWin if the "Start at pointer position" option was enabled.
|
||||
|
||||
## [Burn My Windows 19](https://github.com/schneegans/Burn-My-Windows/releases/tag/v19)
|
||||
|
||||
@@ -192,17 +424,17 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### New Features
|
||||
|
||||
* The incinerate effect now uses the current mouse pointer position as starting position of the burn effect. The old random behaviour can be enabled in the settings. This works both on GNOME and KDE.
|
||||
- The incinerate effect now uses the current mouse pointer position as starting position of the burn effect. The old random behaviour can be enabled in the settings. This works both on GNOME and KDE.
|
||||
|
||||
#### Enhancements
|
||||
|
||||
* Many translation updates, including a completely new Portuguese, Esperanto, and Hebrew translation. A BIG THANKS to all translators!
|
||||
* On GNOME, effects can now execute code whenever an animation ended. This is useful for cleaning up resources.
|
||||
* The KWin build script now generates a separate archive for each effect as well as a combined archive for all effects.
|
||||
- Many translation updates, including a completely new Portuguese, Esperanto, and Hebrew translation. A BIG THANKS to all translators!
|
||||
- On GNOME, effects can now execute code whenever an animation ended. This is useful for cleaning up resources.
|
||||
- The KWin build script now generates a separate archive for each effect as well as a combined archive for all effects.
|
||||
|
||||
#### Fixes
|
||||
|
||||
* Fixed the effect configuration dialog of the Fire effect on KDE.
|
||||
- Fixed the effect configuration dialog of the Fire effect on KDE.
|
||||
|
||||
## [Burn My Windows 18](https://github.com/schneegans/Burn-My-Windows/releases/tag/v18)
|
||||
|
||||
@@ -210,7 +442,7 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### Fixes
|
||||
|
||||
* The GNOME extension package now does not include the KWin JavaScript files anymore.
|
||||
- The GNOME extension package now does not include the KWin JavaScript files anymore.
|
||||
|
||||
## [Burn My Windows 17](https://github.com/schneegans/Burn-My-Windows/releases/tag/v17)
|
||||
|
||||
@@ -218,14 +450,14 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### New Features
|
||||
|
||||
* **New Effect: Incinerate.** This is a completely new take on the fire effect. It is a bit more demanding in terms of GPU power, but at the same time it looks much more awesome!
|
||||
* **Initial KDE Support.** Thanks to the [awesome work](https://invent.kde.org/plasma/kwin/-/merge_requests/2227) of Martin Flöser, it has become possible to port some of its effects to KDE Plasma! For now, only the most simple effects can be ported, but hopefully this list can be improved in the future.
|
||||
* An option has been added which allows to automatically disable all effects if running on battery power.
|
||||
- **New Effect: Incinerate.** This is a completely new take on the fire effect. It is a bit more demanding in terms of GPU power, but at the same time it looks much more awesome!
|
||||
- **Initial KDE Support.** Thanks to the [awesome work](https://invent.kde.org/plasma/kwin/-/merge_requests/2227) of Martin Flöser, it has become possible to port some of its effects to KDE Plasma! For now, only the most simple effects can be ported, but hopefully this list can be improved in the future.
|
||||
- An option has been added which allows to automatically disable all effects if running on battery power.
|
||||
|
||||
#### Enhancements
|
||||
|
||||
* Many translation updates, including a completely new Persian, Polish, and Slovak translation. A BIG THANKS to all translators!
|
||||
* The shader include system has been simplified. There's now just one "common.glsl" which is automatically loaded into each shader.
|
||||
- Many translation updates, including a completely new Persian, Polish, and Slovak translation. A BIG THANKS to all translators!
|
||||
- The shader include system has been simplified. There's now just one "common.glsl" which is automatically loaded into each shader.
|
||||
|
||||
## [Burn My Windows 16](https://github.com/schneegans/Burn-My-Windows/releases/tag/v16)
|
||||
|
||||
@@ -233,16 +465,16 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### Enhancements
|
||||
|
||||
* Many translation updates, including a completely new Arabic, Finnish, Korean, and Swedish translation. A BIG THANKS to all translators!
|
||||
* The shaders are now aware of the actual window size (e.g. excluding the area where the shadow is drawn). For instance, this **fixes the drawing of the effects outside the window bounds** for `libadwaita` apps.
|
||||
* Refactored how the size and opacity transitions of the window actors are set up. Effects can now only specify a desired actor scale which will not change during the animation. All dynamic scaling and fading must be implemented in the shaders now.
|
||||
* The standard uniforms of all shaders have been updated: The window size is now passed as a `vec2` and there is a new `bool uForOpening` which is set to `true` if a window-open animation is ongoing, to `false` otherwise.
|
||||
- Many translation updates, including a completely new Arabic, Finnish, Korean, and Swedish translation. A BIG THANKS to all translators!
|
||||
- The shaders are now aware of the actual window size (e.g. excluding the area where the shadow is drawn). For instance, this **fixes the drawing of the effects outside the window bounds** for `libadwaita` apps.
|
||||
- Refactored how the size and opacity transitions of the window actors are set up. Effects can now only specify a desired actor scale which will not change during the animation. All dynamic scaling and fading must be implemented in the shaders now.
|
||||
- The standard uniforms of all shaders have been updated: The window size is now passed as a `vec2` and there is a new `bool uForOpening` which is set to `true` if a window-open animation is ongoing, to `false` otherwise.
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
* **Fixed a major memory leak**. Now, shaders are not re-created anymore whenever a window is opened or closed. Instead, previously created shaders are re-used as often as possible. This requires that all settings are set as uniform values (previously they were injected into the shader source) which in turn requires that `Shell.GLSLEffect` is used instead of `Clutter.ShaderEffect`. This change also requires that all shaders now work with straight instead of premultiplied alpha. Anyways, a lot needed to be refactored for this fix and I hope that it did not bring too many visual changes.
|
||||
* Fixed the window-close animation of windows which were opened before the session was started (e.g. before GNOME Shell has been restarted).
|
||||
* There seem to be cases were `libadwaita` is not available on GNOME 42 (e.g. Pop!_OS 22.04 beta). The preferences dialog now tries to fallback to the GTK4-only variant if `libadwaita` is not available.
|
||||
- **Fixed a major memory leak**. Now, shaders are not re-created anymore whenever a window is opened or closed. Instead, previously created shaders are re-used as often as possible. This requires that all settings are set as uniform values (previously they were injected into the shader source) which in turn requires that `Shell.GLSLEffect` is used instead of `Clutter.ShaderEffect`. This change also requires that all shaders now work with straight instead of premultiplied alpha. Anyways, a lot needed to be refactored for this fix and I hope that it did not bring too many visual changes.
|
||||
- Fixed the window-close animation of windows which were opened before the session was started (e.g. before GNOME Shell has been restarted).
|
||||
- There seem to be cases were `libadwaita` is not available on GNOME 42 (e.g. Pop!\_OS 22.04 beta). The preferences dialog now tries to fallback to the GTK4-only variant if `libadwaita` is not available.
|
||||
|
||||
## [Burn My Windows 15](https://github.com/schneegans/Burn-My-Windows/releases/tag/v15)
|
||||
|
||||
@@ -250,13 +482,13 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### New Features
|
||||
|
||||
* **New Effect: Apparition.** This effect hides the window by violently sucking it into the void of magic. This is available only for GNOME Shell 3.38 and newer.
|
||||
* **New Effect: Hexagon.** With glowing lines and hexagon-shaped tiles, this effect looks very sci-fi. This is available for GNOME Shell 3.36 and newer.
|
||||
* **New Effect: Snap of Disintegration.** This was requested quite frequently! Dissolve your windows into a cloud of dust. This is available only for GNOME Shell 40 and newer.
|
||||
- **New Effect: Apparition.** This effect hides the window by violently sucking it into the void of magic. This is available only for GNOME Shell 3.38 and newer.
|
||||
- **New Effect: Hexagon.** With glowing lines and hexagon-shaped tiles, this effect looks very sci-fi. This is available for GNOME Shell 3.36 and newer.
|
||||
- **New Effect: Snap of Disintegration.** This was requested quite frequently! Dissolve your windows into a cloud of dust. This is available only for GNOME Shell 40 and newer.
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
* Disabled the buggy "Shatter from pointer" option of the Broken Glass effect when opening windows (it only makes sense for closing windows).
|
||||
- Disabled the buggy "Shatter from pointer" option of the Broken Glass effect when opening windows (it only makes sense for closing windows).
|
||||
|
||||
## [Burn My Windows 14](https://github.com/schneegans/Burn-My-Windows/releases/tag/v14)
|
||||
|
||||
@@ -264,13 +496,12 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### Enhancements
|
||||
|
||||
* Reduced the lower animation time limits for all effects to 100 ms. This should now allow for very snappy animations!
|
||||
* A completely new Russian translation. Thank you, ANIGO R.!
|
||||
- Reduced the lower animation time limits for all effects to 100 ms. This should now allow for very snappy animations!
|
||||
- A completely new Russian translation. Thank you, ANIGO R.!
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
* Fixed the version check for GNOME Shell `42.rc` (before it only worked on `42.alpha` and `42.beta`)
|
||||
|
||||
- Fixed the version check for GNOME Shell `42.rc` (before it only worked on `42.alpha` and `42.beta`)
|
||||
|
||||
## [Burn My Windows 13](https://github.com/schneegans/Burn-My-Windows/releases/tag/v13)
|
||||
|
||||
@@ -278,16 +509,16 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### Enhancements
|
||||
|
||||
* The continuous integration tests have been significantly enhanced. Now, all window-open and window-close animations are visually tested on all supported GNOME versions and on X11 / Wayland (summing up to a total of 136 test cases).
|
||||
* Many translation updates, including a completely new Turkish and Chinese translation. A BIG THANKS to all translators!
|
||||
- The continuous integration tests have been significantly enhanced. Now, all window-open and window-close animations are visually tested on all supported GNOME versions and on X11 / Wayland (summing up to a total of 136 test cases).
|
||||
- Many translation updates, including a completely new Turkish and Chinese translation. A BIG THANKS to all translators!
|
||||
|
||||
#### Other Changes
|
||||
|
||||
* Removed the Liberapay donation option as it does not work properly.
|
||||
- Removed the Liberapay donation option as it does not work properly.
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
* Fixed the version check for GNOME Shell 42.
|
||||
- Fixed the version check for GNOME Shell 42.
|
||||
|
||||
## [Burn My Windows 12](https://github.com/schneegans/Burn-My-Windows/releases/tag/v12)
|
||||
|
||||
@@ -295,12 +526,12 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### New Features
|
||||
|
||||
* Added initial support for GNOME Shell 42.
|
||||
* The preferences dialog now uses libadwaita on GNOME Shell 42.
|
||||
- Added initial support for GNOME Shell 42.
|
||||
- The preferences dialog now uses libadwaita on GNOME Shell 42.
|
||||
|
||||
#### Enhancements
|
||||
|
||||
* Added [Liberapay](https://liberapay.com/Schneegans) to the sponsorship options.
|
||||
- Added [Liberapay](https://liberapay.com/Schneegans) to the sponsorship options.
|
||||
|
||||
## [Burn My Windows 11](https://github.com/schneegans/Burn-My-Windows/releases/tag/v11)
|
||||
|
||||
@@ -308,24 +539,24 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### New Features
|
||||
|
||||
* Added an about-dialog which shows all translators and sponsors.
|
||||
- Added an about-dialog which shows all translators and sponsors.
|
||||
|
||||
#### Enhancements
|
||||
|
||||
* There are several new translations! Thanks a lot to all the translators! We now have translations for:
|
||||
* German
|
||||
* English
|
||||
* Czech
|
||||
* Dutch
|
||||
* French
|
||||
* Italian
|
||||
* Norwegian Bokmål
|
||||
* Spanish
|
||||
* A new issue template for suggesting new effects has been added.
|
||||
- There are several new translations! Thanks a lot to all the translators! We now have translations for:
|
||||
- German
|
||||
- English
|
||||
- Czech
|
||||
- Dutch
|
||||
- French
|
||||
- Italian
|
||||
- Norwegian Bokmål
|
||||
- Spanish
|
||||
- A new issue template for suggesting new effects has been added.
|
||||
|
||||
#### Fixes
|
||||
|
||||
* Fixed an issue which caused corrupted windows when trying to maximize windows while the window-open animation was still running (#82, #86, #91).
|
||||
- Fixed an issue which caused corrupted windows when trying to maximize windows while the window-open animation was still running (#82, #86, #91).
|
||||
|
||||
## [Burn My Windows 10](https://github.com/schneegans/Burn-My-Windows/releases/tag/v10)
|
||||
|
||||
@@ -335,18 +566,18 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
<a href="https://youtu.be/L2aaNF_rPHo"><img align="right" src ="pics/bmw10.jpg" /></a>
|
||||
|
||||
* **Effects for Window Opening.** You can now select effects which are applied on newly opened windows! I expect that there are some bugs left, so please [report any issue you find](https://github.com/Schneegans/Burn-My-Windows/issues)!
|
||||
* **New Effect: Broken Glass.** Shatter your windows into a shower sharp shards! This effect can be configured so that the shards fly away from your mouse pointer position!
|
||||
* **Preview Buttons** have been added to the effect-configuration pages of the preferences dialog. These can be used to, well, preview the current settings (without having to enable the effect first).
|
||||
* **Translations!** It is now possible to [translate the preferences dialog](https://hosted.weblate.org/engage/burn-my-windows/). There is already a finished German translation, and in-progress translations to Italian and Norwegian Bokmål.
|
||||
* **A "Vertical Overshooting" option** was added to the Matrix Effect: This can add some vertical variation to the start and end position of the letter drops.
|
||||
- **Effects for Window Opening.** You can now select effects which are applied on newly opened windows! I expect that there are some bugs left, so please [report any issue you find](https://github.com/Schneegans/Burn-My-Windows/issues)!
|
||||
- **New Effect: Broken Glass.** Shatter your windows into a shower sharp shards! This effect can be configured so that the shards fly away from your mouse pointer position!
|
||||
- **Preview Buttons** have been added to the effect-configuration pages of the preferences dialog. These can be used to, well, preview the current settings (without having to enable the effect first).
|
||||
- **Translations!** It is now possible to [translate the preferences dialog](https://hosted.weblate.org/engage/burn-my-windows/). There is already a finished German translation, and in-progress translations to Italian and Norwegian Bokmål.
|
||||
- **A "Vertical Overshooting" option** was added to the Matrix Effect: This can add some vertical variation to the start and end position of the letter drops.
|
||||
|
||||
#### Other Enhancements
|
||||
|
||||
* Added a menu entry with a link to the guide for creating new effect types.
|
||||
* Thanks to improved timing, the default animation time of several effects could be reduced.
|
||||
* The README now shows the current lines of code and the current comment percentage using my [dynamic-badges-action](https://github.com/Schneegans/dynamic-badges-action).
|
||||
* **Add advanced CI tests:** For each commit to `main`, it is now tested whether the extension can be installed and if the preferences dialog can be shown on GNOME Shell 3.36, 3.38, 40, and 41. Both, X11 and Wayland are checked.
|
||||
- Added a menu entry with a link to the guide for creating new effect types.
|
||||
- Thanks to improved timing, the default animation time of several effects could be reduced.
|
||||
- The README now shows the current lines of code and the current comment percentage using my [dynamic-badges-action](https://github.com/Schneegans/dynamic-badges-action).
|
||||
- **Add advanced CI tests:** For each commit to `main`, it is now tested whether the extension can be installed and if the preferences dialog can be shown on GNOME Shell 3.36, 3.38, 40, and 41. Both, X11 and Wayland are checked.
|
||||
|
||||
## [Burn My Windows 9](https://github.com/schneegans/Burn-My-Windows/releases/tag/v9)
|
||||
|
||||
@@ -354,8 +585,8 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### Fixes
|
||||
|
||||
* Improved compatibility with [Show Application View When Workspace Empty ](https://extensions.gnome.org/extension/2036/show-application-view-when-workspace-empty/) (#54).
|
||||
* Fixed a crash which happened when the window-close icon in the overview was clicked twice (#49).
|
||||
- Improved compatibility with [Show Application View When Workspace Empty ](https://extensions.gnome.org/extension/2036/show-application-view-when-workspace-empty/) (#54).
|
||||
- Fixed a crash which happened when the window-close icon in the overview was clicked twice (#49).
|
||||
|
||||
## [Burn My Windows 8](https://github.com/schneegans/Burn-My-Windows/releases/tag/v8)
|
||||
|
||||
@@ -363,25 +594,24 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### New Features
|
||||
|
||||
* **Random effects!** You can now select a set of effects of which one will be chosen randomly whenever you close a window. **This changes how effects are selected, so you will have to re-select your desired effect(s)**.
|
||||
* **New Effect: Energize A.** Beam your windows away!
|
||||
* **New Effect: Energize B.** Using different transporter technology results in an alternative visual effect.
|
||||
* **New Effect: Wisps.** These little fairies carry your windows to the realm of dreams!
|
||||
* Each effect has its own "Animation Time" setting now. The global animation time has been replaced by those, so **you may have to adjust the sliders to match your previous settings**.
|
||||
- **Random effects!** You can now select a set of effects of which one will be chosen randomly whenever you close a window. **This changes how effects are selected, so you will have to re-select your desired effect(s)**.
|
||||
- **New Effect: Energize A.** Beam your windows away!
|
||||
- **New Effect: Energize B.** Using different transporter technology results in an alternative visual effect.
|
||||
- **New Effect: Wisps.** These little fairies carry your windows to the realm of dreams!
|
||||
- Each effect has its own "Animation Time" setting now. The global animation time has been replaced by those, so **you may have to adjust the sliders to match your previous settings**.
|
||||
|
||||
#### Other Enhancements
|
||||
|
||||
* A [guide for creating new effects](how-to-create-new-effects.md) has been added.
|
||||
* The source code has received a **major refactoring**. This will make the addition of new effects much easier in the future.
|
||||
* The **layout of the settings dialog** has been reworked to make it easier to expand it in the future.
|
||||
* The lower limit of the **animation time of the TV Effect** has been reduced.
|
||||
* The T-Rex-Attack effect is not shown in fully transparent regions of a window any more.
|
||||
* The shaders now use a different noise implementation which produces better 3D noise.
|
||||
- A [guide for creating new effects](how-to-create-new-effects.md) has been added.
|
||||
- The source code has received a **major refactoring**. This will make the addition of new effects much easier in the future.
|
||||
- The **layout of the settings dialog** has been reworked to make it easier to expand it in the future.
|
||||
- The lower limit of the **animation time of the TV Effect** has been reduced.
|
||||
- The T-Rex-Attack effect is not shown in fully transparent regions of a window any more.
|
||||
- The shaders now use a different noise implementation which produces better 3D noise.
|
||||
|
||||
#### Fixes
|
||||
|
||||
* The extension now works even if GNOME Shell's animations are disabled globally.
|
||||
|
||||
- The extension now works even if GNOME Shell's animations are disabled globally.
|
||||
|
||||
## [Burn My Windows 7](https://github.com/schneegans/Burn-My-Windows/releases/tag/v7)
|
||||
|
||||
@@ -389,13 +619,12 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### New Features
|
||||
|
||||
* An option to use a 3D noise for the fire shader has been added. This will add some more temporal variation to the flames at the cost of slightly decreased rendering performance.
|
||||
* A changelog entry has been added to the menu of the preferences dialog.
|
||||
- An option to use a 3D noise for the fire shader has been added. This will add some more temporal variation to the flames at the cost of slightly decreased rendering performance.
|
||||
- A changelog entry has been added to the menu of the preferences dialog.
|
||||
|
||||
#### Fixes
|
||||
|
||||
* Resolve copyright issues by using a MIT-licensed noise implementation.
|
||||
|
||||
- Resolve copyright issues by using a MIT-licensed noise implementation.
|
||||
|
||||
## [Burn My Windows 6](https://github.com/schneegans/Burn-My-Windows/releases/tag/v6)
|
||||
|
||||
@@ -403,7 +632,7 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### Fixes
|
||||
|
||||
* Removed a debug log message.
|
||||
- Removed a debug log message.
|
||||
|
||||
## [Burn My Windows 5](https://github.com/schneegans/Burn-My-Windows/releases/tag/v5)
|
||||
|
||||
@@ -411,17 +640,17 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### New Features
|
||||
|
||||
* Added a new ridiculous close-animation: the T-Rex-Attack!
|
||||
* Added a new simple close-animation: the TV-Effect!
|
||||
* Added a menu to the preferences dialog with links for bug reporting and donations.
|
||||
- Added a new ridiculous close-animation: the T-Rex-Attack!
|
||||
- Added a new simple close-animation: the TV-Effect!
|
||||
- Added a menu to the preferences dialog with links for bug reporting and donations.
|
||||
|
||||
#### Other Enhancements
|
||||
|
||||
* The fire shader now uses a `smoothstep` to make it less blocky.
|
||||
- The fire shader now uses a `smoothstep` to make it less blocky.
|
||||
|
||||
#### Bug Fixes
|
||||
|
||||
* Fixed a bug which messed up the overview of GNOME Shell 3.36.
|
||||
- Fixed a bug which messed up the overview of GNOME Shell 3.36.
|
||||
|
||||
## [Burn My Windows 4](https://github.com/schneegans/Burn-My-Windows/releases/tag/v4)
|
||||
|
||||
@@ -429,13 +658,13 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### New Features
|
||||
|
||||
* Added a new Matrix shader which dissolves your windows in a shower of green letters. You can switch between the fire and the matrix shader in the settings. Sadly, this effect cannot be available under GNOME 3.3x as it was apparently impossible to set textures for a `Clutter.ShaderEffect` in GJS back then.
|
||||
* Added a setting to apply the animation also for closing dialog windows.
|
||||
- Added a new Matrix shader which dissolves your windows in a shower of green letters. You can switch between the fire and the matrix shader in the settings. Sadly, this effect cannot be available under GNOME 3.3x as it was apparently impossible to set textures for a `Clutter.ShaderEffect` in GJS back then.
|
||||
- Added a setting to apply the animation also for closing dialog windows.
|
||||
|
||||
#### Other Enhancements
|
||||
|
||||
* Refactored the code a lot to make it easier to add new shader effects in the future.
|
||||
* Tweaked timing of the fire shader. Previously, the fire became invisible quite quickly. Due to this new animation timing, the default animation time has been reduced to 1500 ms.
|
||||
- Refactored the code a lot to make it easier to add new shader effects in the future.
|
||||
- Tweaked timing of the fire shader. Previously, the fire became invisible quite quickly. Due to this new animation timing, the default animation time has been reduced to 1500 ms.
|
||||
|
||||
## [Burn My Windows 3](https://github.com/schneegans/Burn-My-Windows/releases/tag/v3)
|
||||
|
||||
@@ -443,7 +672,7 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### New Features
|
||||
|
||||
* Add support for GNOME 3.36 and GNOME 3.38.
|
||||
- Add support for GNOME 3.36 and GNOME 3.38.
|
||||
|
||||
## [Burn My Windows 2](https://github.com/schneegans/Burn-My-Windows/releases/tag/v2)
|
||||
|
||||
@@ -451,12 +680,12 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
#### New Features
|
||||
|
||||
* Added the possibility to adjust fire colors.
|
||||
* Added the possibility to adjust flame speed and scale.
|
||||
* Added some fire presets.
|
||||
- Added the possibility to adjust fire colors.
|
||||
- Added the possibility to adjust flame speed and scale.
|
||||
- Added some fire presets.
|
||||
|
||||
## [Burn My Windows 1](https://github.com/schneegans/Burn-My-Windows/releases/tag/v1)
|
||||
|
||||
**Release Date:** 2021-12-14
|
||||
|
||||
* Initial publication on GitHub supporting GNOME 40 and GNOME 41.
|
||||
- Initial publication on GitHub supporting GNOME 40 and GNOME 41.
|
||||
|
||||
@@ -38,7 +38,7 @@ journalctl -f -o cat | grep -E 'burn-my-windows|'
|
||||
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.
|
||||
Three simple steps are required to create a new effect.
|
||||
You will have to ...
|
||||
|
||||
1. add preferences keys for enabling the effect,
|
||||
@@ -103,13 +103,14 @@ Please study this code carefully, all of it is explained with inline comments.
|
||||
// The content from common.glsl is automatically prepended to each shader effect. This
|
||||
// provides the standard input:
|
||||
|
||||
// vec2 iTexCoord: Texture coordinates for retrieving the window input color.
|
||||
// bool uForOpening: True if a window-open animation is ongoing, false otherwise.
|
||||
// float uProgress: A value which transitions from 0 to 1 during the animation.
|
||||
// float uDuration: The duration of the current animation in seconds.
|
||||
// vec2 uSize: The size of uTexture in pixels.
|
||||
// float uPadding: The empty area around the actual window (e.g. where the shadow
|
||||
// is drawn). For now, this will only be set on GNOME.
|
||||
// vec2 iTexCoord: Texture coordinates for retrieving the window input color.
|
||||
// bool uIsFullscreen: True if the window is maximized or in fullscreen mode.
|
||||
// bool uForOpening: True if a window-open animation is ongoing, false otherwise.
|
||||
// float uProgress: A value which transitions from 0 to 1 during the animation.
|
||||
// float uDuration: The duration of the current animation in seconds.
|
||||
// vec2 uSize: The size of uTexture in pixels.
|
||||
// float uPadding: The empty area around the actual window (e.g. where the shadow
|
||||
// is drawn). For now, this will only be set on GNOME.
|
||||
|
||||
// Furthermore, there are two global methods for reading the window input color and
|
||||
// setting the shader output color. Both methods assume straight alpha:
|
||||
@@ -162,16 +163,16 @@ void main() {
|
||||
// SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
'use strict';
|
||||
"use strict";
|
||||
|
||||
const GObject = imports.gi.GObject;
|
||||
import * as utils from "../utils.js";
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
// We import the ShaderFactory only in the Shell process as it is not required in the
|
||||
// preferences process. The preferences process does not create any shader instances, it
|
||||
// only uses the static metadata of the effect.
|
||||
const ShaderFactory = await utils.importInShellOnly("./ShaderFactory.js");
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
||||
const utils = Me.imports.src.utils;
|
||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
||||
const _ = await utils.importGettext();
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// This effect ... //
|
||||
@@ -181,21 +182,21 @@ const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
||||
// 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 {
|
||||
|
||||
export default class Effect {
|
||||
// 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) => {
|
||||
|
||||
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||
// Store uniform locations of newly created shaders.
|
||||
shader._uFadeWidth = shader.get_uniform_location('uFadeWidth');
|
||||
shader._uFadeWidth = shader.get_uniform_location("uFadeWidth");
|
||||
|
||||
// Write all uniform values at the start of each animation.
|
||||
shader.connect('begin-animation', (shader, settings) => {
|
||||
shader.set_uniform_float(shader._uFadeWidth, 1, [settings.get_double('simple-fade-width')]);
|
||||
shader.connect("begin-animation", (shader, settings) => {
|
||||
shader.set_uniform_float(shader._uFadeWidth, 1, [
|
||||
settings.get_double("simple-fade-width"),
|
||||
]);
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -203,7 +204,7 @@ var SimpleFade = class {
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [3, 36];
|
||||
}
|
||||
|
||||
@@ -212,21 +213,21 @@ var SimpleFade = class {
|
||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||
// (e.g. '*-animation-time'). Also, the shader file and the settings UI files should be
|
||||
// named likes this.
|
||||
getNick() {
|
||||
return 'simple-fade';
|
||||
static 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');
|
||||
static getLabel() {
|
||||
return _("Simple Fade Effect");
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------- API for prefs.js
|
||||
|
||||
// This is called by the preferences dialog whenever a new effect profile is loaded. It
|
||||
// binds all user interface elements to the respective settings keys of the profile.
|
||||
bindPreferences(dialog) {
|
||||
static bindPreferences(dialog) {
|
||||
// Empty for now... Code is added here later in the tutorial!
|
||||
}
|
||||
|
||||
@@ -235,8 +236,8 @@ var SimpleFade = class {
|
||||
// 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};
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
return { x: 1.0, y: 1.0 };
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -250,15 +251,17 @@ Both, [`extension.js`](../extension.js) and [`prefs.js`](../prefs.js) define an
|
||||
Like this:
|
||||
|
||||
```javascript
|
||||
import SimpleFade from './src/effects/SimpleFade.js';
|
||||
|
||||
...
|
||||
|
||||
const ALL_EFFECTS = [
|
||||
...
|
||||
new Me.imports.src.effects.SimpleFade.SimpleFade(),
|
||||
new 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>.
|
||||
@@ -274,18 +277,11 @@ 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 three `*.ui` files for this.
|
||||
This is because starting with GNOME Shell 40, the preference dialog uses GTK4, before it used to use GTK3.
|
||||
Starting with GNOME Shell 42, it uses `libadwaita` which requires different UI files again.
|
||||
|
||||
_:information_source: If you do not have the means to test your effect on different versions of GNOME, feel free to submit a pull request for one GNOME version only, I may then port your effect to other GNOME versions!_
|
||||
|
||||
Just save the code below to `resources/ui/gtk3/simple-fade.ui`, `resources/ui/gtk4/simple-fade.ui`, and `resources/ui/adw/simple-fade.ui` respectively.
|
||||
Just save the code below to `resources/ui/adw/simple-fade.ui`.
|
||||
Remember to replace any occurrence of `simple-fade` with your effect's nick-name!
|
||||
|
||||
<details>
|
||||
<summary>Expand this to show the GTK3 code.</summary>
|
||||
<summary>Expand this to show the UI code.</summary>
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
@@ -298,261 +294,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<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="GtkRevealer" id="simple-fade-prefs">
|
||||
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
|
||||
<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">
|
||||
<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="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>
|
||||
|
||||
</interface>
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
||||
|
||||
<details>
|
||||
<summary>Expand this to show the GTK4 code.</summary>
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<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="GtkRevealer" id="simple-fade-prefs">
|
||||
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
|
||||
<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>
|
||||
|
||||
</interface>
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
<details>
|
||||
<summary>Expand this to show the libadwaita code.</summary>
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface>
|
||||
|
||||
<object class="GtkAdjustment" id="simple-fade-animation-time">
|
||||
<property name="upper">5000</property>
|
||||
<property name="upper">3000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">10</property>
|
||||
<property name="page-increment">100</property>
|
||||
@@ -628,10 +370,10 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
### Loading the Preferences Page
|
||||
|
||||
In order to load the above `*.ui` files, add the following code to your effect's `bindPreferences()` method.
|
||||
In order to load the above `*.ui` file, add the following code to your effect's `bindPreferences()` method.
|
||||
|
||||
```javascript
|
||||
bindPreferences(dialog) {
|
||||
static bindPreferences(dialog) {
|
||||
// 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');
|
||||
@@ -651,4 +393,40 @@ make install && pkill -f '.Extensions' && sleep 2 ; gnome-extensions prefs burn-
|
||||
|
||||
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!
|
||||
If you are happy with your effect, submit a pull request, and it may get included in the next version!
|
||||
|
||||
|
||||
## Install Dependencies (if needed)
|
||||
the list below might not be 100% correct, please pull request if changes need to be made
|
||||
|
||||
### **Ubuntu**
|
||||
```bash
|
||||
sudo apt install make gettext libglib2.0-dev-bin clang-format
|
||||
```
|
||||
|
||||
### **Fedora/RHEL**
|
||||
```bash
|
||||
sudo dnf install make gettext glib2-devel clang-format
|
||||
```
|
||||
|
||||
### **Arch Linux**
|
||||
```bash
|
||||
sudo pacman -S base-devel gettext glib2 clang-format
|
||||
```
|
||||
|
||||
### **openSUSE**
|
||||
```bash
|
||||
sudo zypper install make gettext-tools glib2-devel clang-format
|
||||
```
|
||||
|
||||
### **Alpine Linux**
|
||||
For minimal distributions like Alpine:
|
||||
```bash
|
||||
sudo apk add build-base gettext-dev glib-dev clang-format
|
||||
```
|
||||
|
||||
### **Gentoo**
|
||||
```bash
|
||||
sudo emerge --ask sys-devel/make sys-devel/gettext dev-libs/glib clang-format
|
||||
```
|
||||
|
||||
|
||||
@@ -4,4 +4,13 @@ The preview GIFs are recorded with OBS Studio at 1920x1080, cut to a length of e
|
||||
|
||||
```bash
|
||||
gifski --fps 30 -W 320 -H 180 -o effect.gif effect.mp4
|
||||
```
|
||||
```
|
||||
|
||||
# gif Info
|
||||
GIF length: 2 second(s)
|
||||
GIF width/height: 320×180 pixels
|
||||
number of frames: 60
|
||||
number of colors: 256
|
||||
loop count: 0 (endless)
|
||||
|
||||
The animation should starts 1s into the gif.
|
||||
|
||||
|
After Width: | Height: | Size: 422 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 490 KiB |
|
After Width: | Height: | Size: 567 KiB |
|
After Width: | Height: | Size: 383 KiB |
|
After Width: | Height: | Size: 329 KiB |
|
After Width: | Height: | Size: 311 KiB |
@@ -14,26 +14,46 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const {Clutter, Gio, Meta} = imports.gi;
|
||||
import Gio from 'gi://Gio';
|
||||
import Meta from 'gi://Meta';
|
||||
|
||||
const Main = imports.ui.main;
|
||||
const Workspace = imports.ui.workspace.Workspace;
|
||||
const WindowManager = imports.ui.windowManager.WindowManager;
|
||||
import {fromVersion26} from './src/migrate.js';
|
||||
import {ProfileManager} from './src/ProfileManager.js';
|
||||
import {WindowPicker} from './src/WindowPicker.js';
|
||||
import * as utils from './src/utils.js';
|
||||
|
||||
// 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.
|
||||
}
|
||||
import Apparition from './src/effects/Apparition.js';
|
||||
import AuraGlow from './src/effects/AuraGlow.js';
|
||||
import BrokenGlass from './src/effects/BrokenGlass.js';
|
||||
import Doom from './src/effects/Doom.js';
|
||||
import EnergizeA from './src/effects/EnergizeA.js';
|
||||
import EnergizeB from './src/effects/EnergizeB.js';
|
||||
import Fire from './src/effects/Fire.js';
|
||||
import Focus from './src/effects/Focus.js';
|
||||
import Glide from './src/effects/Glide.js';
|
||||
import Glitch from './src/effects/Glitch.js';
|
||||
import Hexagon from './src/effects/Hexagon.js';
|
||||
import Incinerate from './src/effects/Incinerate.js';
|
||||
import Matrix from './src/effects/Matrix.js';
|
||||
import Mushroom from './src/effects/Mushroom.js';
|
||||
import PaintBrush from './src/effects/PaintBrush.js';
|
||||
import Pixelate from './src/effects/Pixelate.js';
|
||||
import PixelWheel from './src/effects/PixelWheel.js';
|
||||
import PixelWipe from './src/effects/PixelWipe.js';
|
||||
import Portal from './src/effects/Portal.js';
|
||||
import RGBWarp from './src/effects/RGBWarp.js';
|
||||
import SnapOfDisintegration from './src/effects/SnapOfDisintegration.js';
|
||||
import TeamRocket from './src/effects/TeamRocket.js';
|
||||
import TRexAttack from './src/effects/TRexAttack.js';
|
||||
import TVEffect from './src/effects/TVEffect.js';
|
||||
import TVGlitch from './src/effects/TVGlitch.js';
|
||||
import Wisps from './src/effects/Wisps.js';
|
||||
|
||||
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
|
||||
import {Workspace} from 'resource:///org/gnome/shell/ui/workspace.js';
|
||||
import {WindowPreview} from 'resource:///org/gnome/shell/ui/windowPreview.js';
|
||||
import {Extension} from 'resource:///org/gnome/shell/extensions/extension.js';
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
||||
const migrate = Me.imports.src.migrate;
|
||||
const utils = Me.imports.src.utils;
|
||||
const ProfileManager = Me.imports.src.ProfileManager.ProfileManager;
|
||||
const WindowPicker = Me.imports.src.WindowPicker.WindowPicker;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// This extensions modifies the window-close and window-open animations with all kinds //
|
||||
@@ -44,7 +64,7 @@ const WindowPicker = Me.imports.src.WindowPicker.WindowPicker;
|
||||
// to get this working. For more details, read the other comments in this file... //
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class Extension {
|
||||
export default class BurnMyWindows extends Extension {
|
||||
|
||||
// ------------------------------------------------------------------------ public stuff
|
||||
|
||||
@@ -54,45 +74,33 @@ class Extension {
|
||||
|
||||
// New effects must be registered here and in prefs.js.
|
||||
this._ALL_EFFECTS = [
|
||||
new Me.imports.src.effects.Apparition.Apparition(),
|
||||
new Me.imports.src.effects.BrokenGlass.BrokenGlass(),
|
||||
new Me.imports.src.effects.Doom.Doom(),
|
||||
new Me.imports.src.effects.EnergizeA.EnergizeA(),
|
||||
new Me.imports.src.effects.EnergizeB.EnergizeB(),
|
||||
new Me.imports.src.effects.Fire.Fire(),
|
||||
new Me.imports.src.effects.Glide.Glide(),
|
||||
new Me.imports.src.effects.Glitch.Glitch(),
|
||||
new Me.imports.src.effects.Hexagon.Hexagon(),
|
||||
new Me.imports.src.effects.Incinerate.Incinerate(),
|
||||
new Me.imports.src.effects.Matrix.Matrix(),
|
||||
new Me.imports.src.effects.Pixelate.Pixelate(),
|
||||
new Me.imports.src.effects.PixelWheel.PixelWheel(),
|
||||
new Me.imports.src.effects.PixelWipe.PixelWipe(),
|
||||
new Me.imports.src.effects.Portal.Portal(),
|
||||
new Me.imports.src.effects.SnapOfDisintegration.SnapOfDisintegration(),
|
||||
new Me.imports.src.effects.TRexAttack.TRexAttack(),
|
||||
new Me.imports.src.effects.TVEffect.TVEffect(),
|
||||
new Me.imports.src.effects.TVGlitch.TVGlitch(),
|
||||
new Me.imports.src.effects.Wisps.Wisps(),
|
||||
new Apparition(), new AuraGlow(), new BrokenGlass(), new Doom(),
|
||||
new EnergizeA(), new EnergizeB(), new Fire(), new Focus(),
|
||||
new Glide(), new Glitch(), new Hexagon(), new Incinerate(),
|
||||
new Matrix(), new PaintBrush(), new Pixelate(), new PixelWheel(),
|
||||
new PixelWipe(), new Portal(), new RGBWarp(), new SnapOfDisintegration(),
|
||||
new TeamRocket(), new TRexAttack(), new TVEffect(), new TVGlitch(),
|
||||
new Wisps(), new Mushroom()
|
||||
];
|
||||
|
||||
// Load all of our resources.
|
||||
this._resources = Gio.Resource.load(Me.path + '/resources/burn-my-windows.gresource');
|
||||
this._resources =
|
||||
Gio.Resource.load(this.path + '/resources/burn-my-windows.gresource');
|
||||
Gio.resources_register(this._resources);
|
||||
|
||||
// Store a reference to the settings object.
|
||||
this._settings = ExtensionUtils.getSettings();
|
||||
this._settings = this.getSettings();
|
||||
|
||||
// Now we check whether the extension settings need to be migrated from a previous
|
||||
// version. If this is the case, we defer the profile loading until this is finished.
|
||||
const lastVersion = this._settings.get_int('last-extension-version');
|
||||
if (lastVersion < Me.metadata.version) {
|
||||
if (lastVersion < this.metadata.version) {
|
||||
if (lastVersion <= 26) {
|
||||
// If the profile migration fails for some reason, the callback will create a
|
||||
// default profile instead.
|
||||
migrate.fromVersion26().finally(() => {
|
||||
fromVersion26().finally(() => {
|
||||
this._loadProfiles();
|
||||
this._settings.set_int('last-extension-version', Me.metadata.version);
|
||||
this._settings.set_int('last-extension-version', this.metadata.version);
|
||||
});
|
||||
} else {
|
||||
this._loadProfiles();
|
||||
@@ -146,16 +154,16 @@ class Extension {
|
||||
|
||||
// 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#L1487
|
||||
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1436
|
||||
// AFAIK, overriding this method is not possible as it's called by a signal to which
|
||||
// it is bound via the bind() method. To tweak the async transition anyways, we
|
||||
// override the actors ease() method once. We do this in _shouldAnimateActor() which
|
||||
// is called right before the ease() in _mapWindow:
|
||||
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1472
|
||||
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1465
|
||||
|
||||
// The same trick is done for the window-close animation. This is set up in a similar
|
||||
// fashion in the WindowManager's _destroyWindow():
|
||||
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1558.
|
||||
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1525
|
||||
// Here is _shouldAnimateActor() also called right before. So we use it again to
|
||||
// monkey-patch the window actor's ease() once.
|
||||
|
||||
@@ -164,7 +172,6 @@ class Extension {
|
||||
// there. To enable animations in the overview, we check inside the method whether it
|
||||
// was called by either _mapWindow or _destroyWindow. If so, we return true. Let's see
|
||||
// if this breaks stuff left and right...
|
||||
// https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/windowManager.js#L1120
|
||||
Main.wm._shouldAnimateActor = function(actor, types) {
|
||||
const stack = (new Error()).stack;
|
||||
const forClosing = stack.includes('_destroyWindow@');
|
||||
@@ -184,12 +191,30 @@ class Extension {
|
||||
|
||||
// Now intercept the next call to actor.ease().
|
||||
actor.ease = function(...params) {
|
||||
// Quickly restore the original behavior. Nobody noticed, I guess :D
|
||||
actor.ease = orig;
|
||||
// There is a really weird issue in GNOME Shell 44: A few non-GTK windows are
|
||||
// resized directly after they are mapped on X11. This happens for instance
|
||||
// for keepassxc after it was closed in the maximized state. As the
|
||||
// _mapWindow() method is called asynchronously, the window is not yet visible
|
||||
// when the resize happens. Hence, our ease-override is called for the resize
|
||||
// animation instead of the window-open or window-close animation. This is not
|
||||
// what we want. So we check again whether the ease() call is for the
|
||||
// window-open or window-close animation. If not, we just call the original
|
||||
// ease() method. See also:
|
||||
// https://github.com/Schneegans/Burn-My-Windows/issues/335
|
||||
const stack = (new Error()).stack;
|
||||
const forClosing = stack.includes('_destroyWindow@');
|
||||
const forOpening = stack.includes('_mapWindow@');
|
||||
|
||||
// And then create the effect!
|
||||
extensionThis._setupEffect(actor, forOpening, chosenEffect.effect,
|
||||
chosenEffect.profile);
|
||||
if (forClosing || forOpening) {
|
||||
// Quickly restore the original behavior. Nobody noticed, I guess :D
|
||||
actor.ease = orig;
|
||||
|
||||
// And then create the effect!
|
||||
extensionThis._setupEffect(actor, forOpening, chosenEffect.effect,
|
||||
chosenEffect.profile);
|
||||
} else {
|
||||
orig.apply(this, params);
|
||||
}
|
||||
};
|
||||
|
||||
return true;
|
||||
@@ -216,21 +241,9 @@ class Extension {
|
||||
// of the actor. However, if we are in the overview, we have to enlarge the clone of
|
||||
// the window as well.
|
||||
Workspace.prototype._addWindowClone = function(...params) {
|
||||
const clone = extensionThis._origAddWindowClone.apply(this, params);
|
||||
|
||||
// The parameters of this method changed a bit through the versions...
|
||||
let realWindow, container;
|
||||
|
||||
if (utils.shellVersionIs(3, 36)) {
|
||||
container = clone[0];
|
||||
realWindow = container.realWindow;
|
||||
} else if (utils.shellVersionIs(3, 38)) {
|
||||
container = clone._windowContainer;
|
||||
realWindow = params[0].get_compositor_private();
|
||||
} else {
|
||||
container = clone.window_container;
|
||||
realWindow = params[0].get_compositor_private();
|
||||
}
|
||||
const clone = extensionThis._origAddWindowClone.apply(this, params);
|
||||
const container = clone.window_container;
|
||||
const realWindow = params[0].get_compositor_private();
|
||||
|
||||
// Store the overview clone as temporary members of the real window actor. When we
|
||||
// set up the effect, we will check for the existence of these and enlarge the clone
|
||||
@@ -244,16 +257,6 @@ class Extension {
|
||||
delete realWindow._bmwOverviewCloneContainer;
|
||||
});
|
||||
|
||||
// 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#L1363
|
||||
if (utils.shellVersionIs(3, 36)) {
|
||||
container.connect('destroy', () => this._doRemoveWindow(container.metaWindow));
|
||||
}
|
||||
|
||||
return clone;
|
||||
};
|
||||
|
||||
@@ -283,53 +286,50 @@ class Extension {
|
||||
};
|
||||
|
||||
// With the code below, we hide the window-overlay (icon, label, close button) in the
|
||||
// overview once the close-animation is running. As the WindowPreview class is only
|
||||
// available on GNOME 3.38 and beyond, we cannot hide the overlay on GNOME 3.36.
|
||||
if (WindowPreview) {
|
||||
// overview once the close-animation is running.
|
||||
|
||||
// We will monkey-patch these methods.
|
||||
this._origDeleteAll = WindowPreview.prototype._deleteAll;
|
||||
this._origRestack = WindowPreview.prototype._restack;
|
||||
this._origInit = WindowPreview.prototype._init;
|
||||
// We will monkey-patch these methods.
|
||||
this._origDeleteAll = WindowPreview.prototype._deleteAll;
|
||||
this._origRestack = WindowPreview.prototype._restack;
|
||||
this._origInit = WindowPreview.prototype._init;
|
||||
|
||||
// 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);
|
||||
// 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;
|
||||
}
|
||||
});
|
||||
|
||||
// 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 _deleteAll is called when the user clicks the X in the overview. We should
|
||||
// not attempt to close windows twice. Due to the animation in the overview, the
|
||||
// close button can be clicked twice which normally would lead to a crash.
|
||||
WindowPreview.prototype._deleteAll = function() {
|
||||
if (!this._closeRequested) {
|
||||
extensionThis._origDeleteAll.apply(this);
|
||||
// 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;
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
// This is required, else WindowPreview's _restack() which is called by the
|
||||
// "this.overlayEnabled = false", sometimes tries to access an already delete
|
||||
// WindowPreview.
|
||||
WindowPreview.prototype._restack = function() {
|
||||
if (!this._closeRequested) {
|
||||
extensionThis._origRestack.apply(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
// 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 _deleteAll is called when the user clicks the X in the overview. We should
|
||||
// not attempt to close windows twice. Due to the animation in the overview, the
|
||||
// close button can be clicked twice which normally would lead to a crash.
|
||||
WindowPreview.prototype._deleteAll = function() {
|
||||
if (!this._closeRequested) {
|
||||
extensionThis._origDeleteAll.apply(this);
|
||||
}
|
||||
};
|
||||
|
||||
// This is required, else WindowPreview's _restack() which is called by the
|
||||
// "this.overlayEnabled = false", sometimes tries to access an already delete
|
||||
// WindowPreview.
|
||||
WindowPreview.prototype._restack = function() {
|
||||
if (!this._closeRequested) {
|
||||
extensionThis._origRestack.apply(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// This function could be called after the extension is uninstalled, disabled in GNOME
|
||||
@@ -354,11 +354,9 @@ class Extension {
|
||||
Main.wm._shouldAnimateActor = this._origShouldAnimateActor;
|
||||
Main.wm._waitForOverviewToHide = this._origWaitForOverviewToHide;
|
||||
|
||||
if (WindowPreview) {
|
||||
WindowPreview.prototype._deleteAll = this._origDeleteAll;
|
||||
WindowPreview.prototype._restack = this._origRestack;
|
||||
WindowPreview.prototype._init = this._origInit;
|
||||
}
|
||||
WindowPreview.prototype._deleteAll = this._origDeleteAll;
|
||||
WindowPreview.prototype._restack = this._origRestack;
|
||||
WindowPreview.prototype._init = this._origInit;
|
||||
|
||||
this._settings = null;
|
||||
}
|
||||
@@ -374,7 +372,7 @@ class Extension {
|
||||
_loadProfiles() {
|
||||
|
||||
// Get all currently available profiles.
|
||||
const profileManager = new ProfileManager();
|
||||
const profileManager = new ProfileManager(this.metadata);
|
||||
this._profiles = profileManager.getProfiles();
|
||||
|
||||
// Whenever the properties of a profile is changed in the settings, we may have to
|
||||
@@ -430,7 +428,8 @@ class Extension {
|
||||
|
||||
if (previewNick != '') {
|
||||
const activeProfile = this._settings.get_string('active-profile');
|
||||
effect = this._ALL_EFFECTS.find(effect => effect.getNick() == previewNick);
|
||||
effect =
|
||||
this._ALL_EFFECTS.find(effect => effect.constructor.getNick() == previewNick);
|
||||
profile = this._profiles.find(p => p.path == activeProfile);
|
||||
|
||||
// Only preview the effect until the preview window is closed.
|
||||
@@ -483,7 +482,7 @@ class Extension {
|
||||
}
|
||||
|
||||
// If the profile is still matching, we also check the color scheme.
|
||||
if (matches && profileColorScheme != 0 && utils.shellVersionIsAtLeast(42, 0)) {
|
||||
if (matches && profileColorScheme != 0) {
|
||||
const colorScheme = this._shellSettings.get_string('color-scheme');
|
||||
matches &= (profileColorScheme == 1 && colorScheme == 'default') ||
|
||||
(profileColorScheme == 2 && colorScheme == 'prefer-dark');
|
||||
@@ -513,7 +512,8 @@ class Extension {
|
||||
|
||||
// Create a list of all enabled effects of this profile.
|
||||
const enabled = this._ALL_EFFECTS.filter(effect => {
|
||||
return profile.settings.get_boolean(`${effect.getNick()}-enable-effect`);
|
||||
return profile.settings.get_boolean(
|
||||
`${effect.constructor.getNick()}-enable-effect`);
|
||||
});
|
||||
|
||||
// And then choose a random effect.
|
||||
@@ -551,7 +551,8 @@ class Extension {
|
||||
// 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(profile.settings, forOpening, actor);
|
||||
const actorScale =
|
||||
effect.constructor.getActorScale(profile.settings, forOpening, actor);
|
||||
|
||||
// All scaling is relative to the window's center.
|
||||
actor.set_pivot_point(0.5, 0.5);
|
||||
@@ -562,7 +563,7 @@ class Extension {
|
||||
// If we are in the overview, we have to enlarge the window's clone as well. We also
|
||||
// disable the clone's overlay (e.g. its icon, name, and close button) during the
|
||||
// animation.
|
||||
if (actor._bmwOverviewClone && utils.shellVersionIsAtLeast(3, 38)) {
|
||||
if (actor._bmwOverviewClone) {
|
||||
actor._bmwOverviewClone.overlayEnabled = false;
|
||||
actor._bmwOverviewCloneContainer.set_pivot_point(0.5, 0.5);
|
||||
actor._bmwOverviewCloneContainer.scale_x = actorScale.x;
|
||||
@@ -579,12 +580,16 @@ class Extension {
|
||||
const endID = shader.connect('end-animation', () => {
|
||||
shader.disconnect(endID);
|
||||
|
||||
if (actor._bmwOverviewClone && utils.shellVersionIsAtLeast(3, 38)) {
|
||||
if (actor._bmwOverviewClone) {
|
||||
actor._bmwOverviewClone.overlayEnabled = true;
|
||||
actor._bmwOverviewCloneContainer.scale_x = 1.0;
|
||||
actor._bmwOverviewCloneContainer.scale_y = 1.0;
|
||||
}
|
||||
|
||||
// Restore the original scale of the window actor.
|
||||
actor.scale_x = 1.0;
|
||||
actor.scale_y = 1.0;
|
||||
|
||||
// Remove the shader and mark it being re-usable for future animations.
|
||||
actor.remove_effect(shader);
|
||||
shader.returnToFactory();
|
||||
@@ -600,10 +605,11 @@ class Extension {
|
||||
}
|
||||
});
|
||||
|
||||
// To make things deterministic during testing, we set the effect duration to 5
|
||||
// To make things deterministic during testing, we set the effect duration to 8
|
||||
// seconds.
|
||||
const duration =
|
||||
testMode ? 5000 : profile.settings.get_int(effect.getNick() + '-animation-time');
|
||||
const duration = testMode ?
|
||||
8000 :
|
||||
profile.settings.get_int(effect.constructor.getNick() + '-animation-time');
|
||||
|
||||
// Finally start the animation!
|
||||
shader.beginAnimation(profile.settings, forOpening, testMode, duration, actor);
|
||||
@@ -617,16 +623,9 @@ class Extension {
|
||||
return true;
|
||||
}
|
||||
|
||||
// This was called "realWindow" in GNOME 3.36.
|
||||
const propertyName = utils.shellVersionIs(3, 36) ? 'realWindow' : '_windowActor';
|
||||
const actor = workspace._windows[index][propertyName];
|
||||
const shader = actor.get_effect('burn-my-windows-effect');
|
||||
const actor = workspace._windows[index]._windowActor;
|
||||
const shader = actor.get_effect('burn-my-windows-effect');
|
||||
|
||||
return shader == null;
|
||||
}
|
||||
}
|
||||
|
||||
// This function is called once when the extension is loaded, not enabled.
|
||||
function init() {
|
||||
return new Extension();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,210 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<ui version="4.0">
|
||||
<class>BMWConfigForm</class>
|
||||
<widget class="QWidget" name="BMWConfigForm">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>562</width>
|
||||
<height>353</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Animation Time [ms]</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QSpinBox" name="kcfg_Duration">
|
||||
<property name="minimum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QCheckBox" name="kcfg_RandomColor">
|
||||
<property name="text">
|
||||
<string>Random Color</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Start Hue</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_StartHue">
|
||||
<property name="minimum">
|
||||
<double>0.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>0.500000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>Speed</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_Speed">
|
||||
<property name="minimum">
|
||||
<double>-5.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>5.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Saturation</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_Saturation">
|
||||
<property name="minimum">
|
||||
<double>0.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Edge Size</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_EdgeSize">
|
||||
<property name="minimum">
|
||||
<double>0.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Edge Hardness</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_EdgeHardness">
|
||||
<property name="minimum">
|
||||
<double>0.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
<string>Blur Amount</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_BlurAmount">
|
||||
<property name="minimum">
|
||||
<double>0.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>30.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources />
|
||||
<connections />
|
||||
</ui>
|
||||
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
|
||||
<kcfgfile name="" />
|
||||
<group name="">
|
||||
<entry name="Duration" type="UInt">
|
||||
<default>750</default>
|
||||
</entry>
|
||||
<entry name="RandomColor" type="Bool">
|
||||
<default>false</default>
|
||||
</entry>
|
||||
<entry name="StartHue" type="Double">
|
||||
<default>0.0</default>
|
||||
</entry>
|
||||
<entry name="Speed" type="Double">
|
||||
<default>2.5</default>
|
||||
</entry>
|
||||
<entry name="Saturation" type="Double">
|
||||
<default>0.75</default>
|
||||
</entry>
|
||||
<entry name="EdgeSize" type="Double">
|
||||
<default>0.75</default>
|
||||
</entry>
|
||||
<entry name="EdgeHardness" type="Double">
|
||||
<default>0.25</default>
|
||||
</entry>
|
||||
<entry name="BlurAmount" type="Double">
|
||||
<default>15.0</default>
|
||||
</entry>
|
||||
</group>
|
||||
</kcfg>
|
||||
@@ -0,0 +1,8 @@
|
||||
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// This part is automatically included in the effect's source during the build process.
|
||||
// The code below is called whenever a window is closed or opened.
|
||||
|
||||
let seed = [Math.random(), Math.random()];
|
||||
effect.setUniform(this.shader, 'uSeed', seed);
|
||||
@@ -0,0 +1,15 @@
|
||||
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// This part is automatically included in the effect's source during the build process.
|
||||
// The code below is called whenever the user changes something in the configuration of
|
||||
// the effect.
|
||||
|
||||
effect.setUniform(this.shader, 'uSpeed', effect.readConfig('Speed', 1.0));
|
||||
effect.setUniform(this.shader, 'uRandomColor',
|
||||
effect.readConfig('RandomColor', true) ? 1.0 : 0.0);
|
||||
effect.setUniform(this.shader, 'uStartHue', effect.readConfig('StartHue', 1.0));
|
||||
effect.setUniform(this.shader, 'uSaturation', effect.readConfig('Saturation', 1.0));
|
||||
effect.setUniform(this.shader, 'uBlur', effect.readConfig('BlurAmount', 1.0));
|
||||
effect.setUniform(this.shader, 'uEdgeSize', effect.readConfig('EdgeSize', 1.0));
|
||||
effect.setUniform(this.shader, 'uEdgeHardness', effect.readConfig('EdgeHardness', 1.0));
|
||||
@@ -38,14 +38,24 @@ for file in ../po/*.po; do
|
||||
msgfmt "$file" -o "$BUILD_DIR/locale/$lang/LC_MESSAGES/burn-my-windows.mo"
|
||||
done
|
||||
|
||||
# This method is called one for each effect. The parameters are as follows:
|
||||
# This method is called once for each effect. The parameters are as follows:
|
||||
# $1: The nick of the effect (e.g. "energize-a")
|
||||
# $2: The name of the effect (e.g. "Energize A")
|
||||
# $3: A short description of the effect (e.g. "Beam your windows away")
|
||||
generate() {
|
||||
generate_impl "$1" "$2" "$3" "kwin5"
|
||||
generate_impl "$1" "$2" "$3" "kwin6"
|
||||
}
|
||||
|
||||
# This method is called twice for each effect. The parameters are as follows:
|
||||
# $1: The nick of the effect (e.g. "energize-a")
|
||||
# $2: The name of the effect (e.g. "Energize A")
|
||||
# $3: A short description of the effect (e.g. "Beam your windows away")
|
||||
# #4: Either "kwin5" or "kwin6".
|
||||
generate_impl() {
|
||||
|
||||
# We use the nick for the effect's directory name by replacing dashes with underscoares.
|
||||
DIR_NAME="kwin4_effect_$(echo "$1" | tr '-' '_')"
|
||||
DIR_NAME="${4}_effect_$(echo "$1" | tr '-' '_')"
|
||||
|
||||
# We transform the nick to CamelCase for the JavaScript class name.
|
||||
EFFECT_CLASS="BurnMyWindows$(sed -r 's/(^|-)(\w)/\U\2/g' <<<"$1")Effect"
|
||||
@@ -106,6 +116,11 @@ generate() {
|
||||
{
|
||||
echo "#version 140"
|
||||
echo "#define KWIN"
|
||||
|
||||
if [ "$4" == "kwin6" ]; then
|
||||
echo "#define PLASMA6"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "// This file is automatically generated during the build process."
|
||||
echo ""
|
||||
@@ -115,6 +130,11 @@ generate() {
|
||||
|
||||
{
|
||||
echo "#define KWIN_LEGACY"
|
||||
|
||||
if [ "$4" == "kwin6" ]; then
|
||||
echo "#define PLASMA6"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "// This file is automatically generated during the build process."
|
||||
echo ""
|
||||
@@ -130,14 +150,16 @@ generate() {
|
||||
|
||||
# Create an archive which can be uploaded to https://store.kde.org.
|
||||
# shellcheck disable=SC2046
|
||||
tar -cjf "$DIR_NAME.tar.gz" -C "$BUILD_DIR/$DIR_NAME" $(ls "$BUILD_DIR/$DIR_NAME")
|
||||
tar -czf "$DIR_NAME.tar.gz" -C "$BUILD_DIR/$DIR_NAME" $(ls "$BUILD_DIR/$DIR_NAME")
|
||||
}
|
||||
|
||||
# Now run the above method for all supported effects.
|
||||
generate "aura-glow" "Aura Glow [Burn-My-Windows]" "A radiant edge-lit animation"
|
||||
generate "doom" "Doom [Burn-My-Windows]" "Melt your windows"
|
||||
generate "energize-a" "Energize A [Burn-My-Windows]" "Beam your windows away"
|
||||
generate "energize-b" "Energize B [Burn-My-Windows]" "Using different transporter technology results in an alternative visual effect"
|
||||
generate "fire" "Fire [Burn-My-Windows]" "The classic effect inspired by Compiz"
|
||||
generate "focus" "Focus [Burn-My-Windows]" "Focus dude, focus!"
|
||||
generate "glide" "Glide [Burn-My-Windows]" "Fade the window to transparency with subtle 3D effects"
|
||||
generate "glitch" "Glitch [Burn-My-Windows]" "This effect applies some intentional graphics issues to your windows"
|
||||
generate "hexagon" "Hexagon [Burn-My-Windows]" "With glowing lines and hexagon-shaped tiles, this effect looks very sci-fi"
|
||||
@@ -146,10 +168,14 @@ generate "pixelate" "Pixelate [Burn-My-Windows]" "Pixelate the window and
|
||||
generate "pixel-wheel" "Pixel Wheel [Burn-My-Windows]" "Pixelate the window and hide the pixels in a wheel-like fashion"
|
||||
generate "pixel-wipe" "Pixel Wipe [Burn-My-Windows]" "Pixelate the window and hide the pixels radially, starting from the pointer position"
|
||||
generate "portal" "Portal [Burn-My-Windows]" "Transfer your windows to other locations in space and time"
|
||||
generate "rgbwarp" "RGB Warp [Burn-My-Windows]" "Red Blue and Green go bye bye"
|
||||
generate "team-rocket" "Team Rocket [Burn-My-Windows]" "... is blasting off again!"
|
||||
generate "tv" "TV Effect [Burn-My-Windows]" "Make windows close like turning off a TV"
|
||||
generate "tv-glitch" "TV Glitch [Burn-My-Windows]" "Make your windows close like a very glitchy old-school TV"
|
||||
generate "wisps" "Wisps [Burn-My-Windows]" "Let your windows be carried away to the realm of dreams by these little fairies"
|
||||
|
||||
# Finally, create an archive for the effects.
|
||||
# shellcheck disable=SC2046
|
||||
tar -cjf "burn_my_windows_kwin4.tar.gz" -C "$BUILD_DIR" $(ls "$BUILD_DIR")
|
||||
cd "$BUILD_DIR"
|
||||
tar -czf "../burn_my_windows_kwin5.tar.gz" kwin5*
|
||||
tar -czf "../burn_my_windows_kwin6.tar.gz" kwin6*
|
||||
|
||||
@@ -6,145 +6,152 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<ui version="4.0">
|
||||
<class>BMWConfigForm</class>
|
||||
<widget class="QWidget" name="BMWConfigForm">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>562</width>
|
||||
<height>365</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Gradient</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QSpinBox" name="kcfg_Duration">
|
||||
<property name="minimum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_Scale">
|
||||
<property name="minimum">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>10.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Speed</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_MovementSpeed">
|
||||
<property name="minimum">
|
||||
<double>-5.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>5.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Scale</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="KColorButton" name="kcfg_Gradient1">
|
||||
<property name="alphaChannelEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KColorButton" name="kcfg_Gradient2">
|
||||
<property name="alphaChannelEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KColorButton" name="kcfg_Gradient3">
|
||||
<property name="alphaChannelEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KColorButton" name="kcfg_Gradient4">
|
||||
<property name="alphaChannelEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KColorButton" name="kcfg_Gradient5">
|
||||
<property name="alphaChannelEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="7" column="1">
|
||||
<widget class="QCheckBox" name="kcfg_3DNoise">
|
||||
<property name="text">
|
||||
<string>3D Noise</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Animation Time [ms]</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
<class>BMWConfigForm</class>
|
||||
<widget class="QWidget" name="BMWConfigForm">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>562</width>
|
||||
<height>365</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Animation Time [ms]</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>KColorButton</class>
|
||||
<extends>QPushButton</extends>
|
||||
<header>kcolorbutton.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources />
|
||||
<connections />
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QSpinBox" name="kcfg_Duration">
|
||||
<property name="minimum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Scale</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_Scale">
|
||||
<property name="minimum">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>10.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Speed</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_MovementSpeed">
|
||||
<property name="minimum">
|
||||
<double>-5.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>5.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Gradient</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="KColorButton" name="kcfg_Gradient1">
|
||||
<property name="alphaChannelEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KColorButton" name="kcfg_Gradient2">
|
||||
<property name="alphaChannelEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KColorButton" name="kcfg_Gradient3">
|
||||
<property name="alphaChannelEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KColorButton" name="kcfg_Gradient4">
|
||||
<property name="alphaChannelEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KColorButton" name="kcfg_Gradient5">
|
||||
<property name="alphaChannelEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QCheckBox" name="kcfg_3DNoise">
|
||||
<property name="text">
|
||||
<string>3D Noise</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QCheckBox" name="kcfg_RandomColor">
|
||||
<property name="text">
|
||||
<string>Use Random Color</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>KColorButton</class>
|
||||
<extends>QPushButton</extends>
|
||||
<header>kcolorbutton.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -36,5 +36,8 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
<entry name="3DNoise" type="Bool">
|
||||
<default>false</default>
|
||||
</entry>
|
||||
<entry name="RandomColor" type="Bool">
|
||||
<default>false</default>
|
||||
</entry>
|
||||
</group>
|
||||
</kcfg>
|
||||
@@ -0,0 +1,8 @@
|
||||
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// This part is automatically included in the effect's source during the build process.
|
||||
// The code below is called whenever a window is closed or opened.
|
||||
|
||||
let seed = Math.random();
|
||||
effect.setUniform(this.shader, 'uSeed', seed);
|
||||
@@ -5,13 +5,15 @@
|
||||
// The code below is called whenever the user changes something in the configuration of
|
||||
// the effect.
|
||||
|
||||
// clang-format off
|
||||
effect.setUniform(this.shader, 'uDuration', this.duration * 0.001);
|
||||
effect.setUniform(this.shader, 'u3DNoise',
|
||||
effect.readConfig('3DNoise', true) ? 1.0 : 0.0);
|
||||
effect.setUniform(this.shader, 'uScale', effect.readConfig('Scale', 1.0));
|
||||
effect.setUniform(this.shader, 'uMovementSpeed', effect.readConfig('MovementSpeed', 1.0));
|
||||
effect.setUniform(this.shader, 'u3DNoise',effect.readConfig('3DNoise', true) ? 1.0 : 0.0);
|
||||
effect.setUniform(this.shader, 'uRandomColor', effect.readConfig('RandomColor', true) ? 1.0 : 0.0);
|
||||
effect.setUniform(this.shader, 'uGradient1', this.readRGBAConfig('Gradient1'));
|
||||
effect.setUniform(this.shader, 'uGradient2', this.readRGBAConfig('Gradient2'));
|
||||
effect.setUniform(this.shader, 'uGradient3', this.readRGBAConfig('Gradient3'));
|
||||
effect.setUniform(this.shader, 'uGradient4', this.readRGBAConfig('Gradient4'));
|
||||
effect.setUniform(this.shader, 'uGradient5', this.readRGBAConfig('Gradient5'));
|
||||
// clang-format on
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<ui version="4.0">
|
||||
<class>BMWConfigForm</class>
|
||||
<widget class="QWidget" name="BMWConfigForm">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>562</width>
|
||||
<height>365</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Animation Time [ms]</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Quality</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QSpinBox" name="kcfg_Duration">
|
||||
<property name="minimum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Amount</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_Quality">
|
||||
<property name="decimals">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>10.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_Amount">
|
||||
<property name="decimals">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<double>0.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>100.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources />
|
||||
<connections />
|
||||
</ui>
|
||||
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
|
||||
<kcfgfile name="" />
|
||||
<group name="">
|
||||
<entry name="Duration" type="UInt">
|
||||
<default>500</default>
|
||||
</entry>
|
||||
<entry name="Amount" type="UInt">
|
||||
<default>50</default>
|
||||
</entry>
|
||||
<entry name="Quality" type="UInt">
|
||||
<default>3</default>
|
||||
</entry>
|
||||
</group>
|
||||
</kcfg>
|
||||
@@ -0,0 +1,9 @@
|
||||
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// This part is automatically included in the effect's source during the build process.
|
||||
// The code below is called whenever the user changes something in the configuration of
|
||||
// the effect.
|
||||
|
||||
effect.setUniform(this.shader, 'uBlurAmount', effect.readConfig('Amount', 1.0));
|
||||
effect.setUniform(this.shader, 'uBlurQuality', effect.readConfig('Quality', 1.0));
|
||||
@@ -9,7 +9,18 @@ const blacklist = [
|
||||
"ksmserver-logout-greeter ksmserver-logout-greeter",
|
||||
|
||||
// KDE Plasma splash screen has to be animated only by the login effect.
|
||||
"ksplashqml ksplashqml"
|
||||
"ksplashqml ksplashqml",
|
||||
|
||||
// All the tooltips of IntelliJ IDEs use the same window class as their main window.
|
||||
// This results in many awkward animations, so we have to blacklist them all.
|
||||
// See https://github.com/Schneegans/Burn-My-Windows/issues/284 for details.
|
||||
"jetbrains-studio jetbrains-studio", "jetbrains-aqua jetbrains-aqua",
|
||||
"jetbrains-clion jetbrains-clion", "jetbrains-datagrip jetbrains-datagrip",
|
||||
"jetbrains-dataspell jetbrains-dataspell", "jetbrains-goland jetbrains-goland",
|
||||
"jetbrains-idea jetbrains-idea", "jetbrains-idea-ce jetbrains-idea-ce",
|
||||
"jetbrains-phpstorm jetbrains-phpstorm", "jetbrains-pycharm jetbrains-pycharm",
|
||||
"jetbrains-pycharm-ce jetbrains-pycharm-ce", "jetbrains-rider jetbrains-rider",
|
||||
"jetbrains-rubymine jetbrains-rubymine", "jetbrains-webstorm jetbrains-webstorm"
|
||||
];
|
||||
|
||||
class %EFFECT_CLASS% {
|
||||
@@ -69,6 +80,12 @@ class %EFFECT_CLASS% {
|
||||
return window.hasDecoration;
|
||||
}
|
||||
|
||||
// This is primarily to avoid animating the AltTab popup.
|
||||
// See https://github.com/Schneegans/Burn-My-Windows/issues/384 for details.
|
||||
if (!window.hasDecoration && window.onAllDesktops) {
|
||||
return false
|
||||
}
|
||||
|
||||
if (blacklist.indexOf(window.windowClass) != -1) {
|
||||
return false;
|
||||
}
|
||||
@@ -122,6 +139,7 @@ class %EFFECT_CLASS% {
|
||||
this.setupForcedRoles(window);
|
||||
|
||||
effect.setUniform(this.shader, 'uForOpening', 1.0);
|
||||
effect.setUniform(this.shader, 'uIsFullscreen', window.fullScreen ? 1.0 : 0.0);
|
||||
|
||||
%ON_ANIMATION_BEGIN%
|
||||
|
||||
@@ -161,6 +179,7 @@ class %EFFECT_CLASS% {
|
||||
this.setupForcedRoles(window);
|
||||
|
||||
effect.setUniform(this.shader, 'uForOpening', 0.0);
|
||||
effect.setUniform(this.shader, 'uIsFullscreen', window.fullScreen ? 1.0 : 0.0);
|
||||
|
||||
%ON_ANIMATION_BEGIN%
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"KPackageStructure": "KWin/Effect",
|
||||
"KPlugin": {
|
||||
"Name": "%NAME%",
|
||||
"Description": "%DESCRIPTION%",
|
||||
@@ -12,13 +13,14 @@
|
||||
"Id": "%DIR_NAME%",
|
||||
"License": "GPLv3",
|
||||
"Version": "1.0",
|
||||
"EnabledByDefault": "false",
|
||||
"EnabledByDefault": false,
|
||||
"Website": "https://github.com/Schneegans/Burn-My-Windows/",
|
||||
"BugReportUrl": "https://github.com/Schneegans/Burn-My-Windows/issues",
|
||||
"ServiceTypes": [
|
||||
"KWin/Effect"
|
||||
]
|
||||
},
|
||||
"X-KDE-ConfigModule": "kcm_kwin4_genericscripted",
|
||||
"X-KDE-Ordering": "60",
|
||||
"X-KDE-PluginKeyword": "%DIR_NAME%",
|
||||
"X-KWin-Config-TranslationDomain": "burn-my-windows",
|
||||
|
||||
@@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<ui version="4.0">
|
||||
<class>BMWConfigForm</class>
|
||||
<widget class="QWidget" name="BMWConfigForm">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>562</width>
|
||||
<height>365</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Speed Red</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QSpinBox" name="kcfg_Duration">
|
||||
<property name="minimum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Brightness</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Animation Time [ms]</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_Brightness">
|
||||
<property name="minimum">
|
||||
<double>0.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Speed Green</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Speed Blue</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_SpeedR">
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_SpeedG">
|
||||
<property name="minimum">
|
||||
<double>0.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_SpeedB">
|
||||
<property name="minimum">
|
||||
<double>0.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
|
||||
<kcfgfile name="" />
|
||||
<group name="">
|
||||
<entry name="Duration" type="UInt">
|
||||
<default>750</default>
|
||||
</entry>
|
||||
<entry name="Brightness" type="Double">
|
||||
<default>1.0</default>
|
||||
</entry>
|
||||
<entry name="SpeedR" type="Double">
|
||||
<default>1.0</default>
|
||||
</entry>
|
||||
<entry name="SpeedG" type="Double">
|
||||
<default>0.9</default>
|
||||
</entry>
|
||||
<entry name="SpeedB" type="Double">
|
||||
<default>0.8</default>
|
||||
</entry>
|
||||
</group>
|
||||
</kcfg>
|
||||
@@ -0,0 +1,11 @@
|
||||
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// This part is automatically included in the effect's source during the build process.
|
||||
// The code below is called whenever the user changes something in the configuration of
|
||||
// the effect.
|
||||
|
||||
effect.setUniform(this.shader, 'uBrightness', effect.readConfig('Brightness', 1.0));
|
||||
effect.setUniform(this.shader, 'uSpeedR', effect.readConfig('SpeedR', 1.0));
|
||||
effect.setUniform(this.shader, 'uSpeedG', effect.readConfig('SpeedG', 1.0));
|
||||
effect.setUniform(this.shader, 'uSpeedB', effect.readConfig('SpeedB', 1.0));
|
||||
@@ -0,0 +1,185 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
|
||||
<ui version="4.0">
|
||||
<class>BMWConfigForm</class>
|
||||
<widget class="QWidget" name="BMWConfigForm">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>562</width>
|
||||
<height>365</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Animation Time [ms]</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QSpinBox" name="kcfg_Duration">
|
||||
<property name="minimum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<number>100</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Animation Split</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_AnimationSplit">
|
||||
<property name="minimum">
|
||||
<double>0.200000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>8.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>0.500000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QCheckBox" name="kcfg_RotateWindow">
|
||||
<property name="text">
|
||||
<string>Rotate Window</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>Horizontal Sparkle Position</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_HorizontalSparklePosition">
|
||||
<property name="minimum">
|
||||
<double>-1.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Vertical Sparkle Position</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_VerticalSparklePosition">
|
||||
<property name="minimum">
|
||||
<double>-1.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Sparkle Size</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_SparkleSize">
|
||||
<property name="minimum">
|
||||
<double>0.500000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Sparkle Rotation</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QDoubleSpinBox" name="kcfg_SparkleRotation">
|
||||
<property name="minimum">
|
||||
<double>-1.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources />
|
||||
<connections />
|
||||
</ui>
|
||||
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
|
||||
<kcfgfile name="" />
|
||||
<group name="">
|
||||
<entry name="Duration" type="UInt">
|
||||
<default>1500</default>
|
||||
</entry>
|
||||
<entry name="AnimationSplit" type="Double">
|
||||
<default>0.5</default>
|
||||
</entry>
|
||||
<entry name="RotateWindow" type="Bool">
|
||||
<default>true</default>
|
||||
</entry>
|
||||
<entry name="HorizontalSparklePosition" type="Double">
|
||||
<default>0.0</default>
|
||||
</entry>
|
||||
<entry name="VerticalSparklePosition" type="Double">
|
||||
<default>0.5</default>
|
||||
</entry>
|
||||
<entry name="SparkleSize" type="Double">
|
||||
<default>0.75</default>
|
||||
</entry>
|
||||
<entry name="SparkleRotation" type="Double">
|
||||
<default>0.33</default>
|
||||
</entry>
|
||||
</group>
|
||||
</kcfg>
|
||||
@@ -0,0 +1,8 @@
|
||||
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// This part is automatically included in the effect's source during the build process.
|
||||
// The code below is called whenever a window is closed or opened.
|
||||
|
||||
let seed = [Math.random(), Math.random()];
|
||||
effect.setUniform(this.shader, 'uSeed', seed);
|
||||
@@ -0,0 +1,17 @@
|
||||
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// This part is automatically included in the effect's source during the build process.
|
||||
// The code below is called whenever the user changes something in the configuration of
|
||||
// the effect.
|
||||
|
||||
effect.setUniform(this.shader, 'uAnimationSplit',
|
||||
effect.readConfig('AnimationSplit', 1.0));
|
||||
effect.setUniform(this.shader, 'uWindowRotation',
|
||||
effect.readConfig('RotateWindow', true) ? 1.0 : 0.0);
|
||||
effect.setUniform(this.shader, 'uHorizontalSparklePosition',
|
||||
effect.readConfig('HorizontalSparklePosition', 1.0));
|
||||
effect.setUniform(this.shader, 'uVerticalSparklePosition',
|
||||
effect.readConfig('VerticalSparklePosition', 1.0));
|
||||
effect.setUniform(this.shader, 'uSparkleRot', effect.readConfig('SparkleRotation', 1.0));
|
||||
effect.setUniform(this.shader, 'uSparkleSize', effect.readConfig('SparkleSize', 1.0));
|
||||
@@ -71,7 +71,17 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="KColorButton" name="kcfg_Color"></widget>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="KColorButton" name="kcfg_Color1"></widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KColorButton" name="kcfg_Color2"></widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KColorButton" name="kcfg_Color3"></widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
||||
@@ -5,8 +5,7 @@ SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
|
||||
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
|
||||
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
|
||||
<kcfgfile name="" />
|
||||
<group name="">
|
||||
<entry name="Duration" type="UInt">
|
||||
@@ -15,8 +14,14 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
<entry name="Scale" type="Double">
|
||||
<default>1</default>
|
||||
</entry>
|
||||
<entry name="Color" type="Color">
|
||||
<entry name="Color1" type="Color">
|
||||
<default>#ff64c8</default>
|
||||
</entry>
|
||||
<entry name="Color2" type="Color">
|
||||
<default>#6464ff</default>
|
||||
</entry>
|
||||
<entry name="Color3" type="Color">
|
||||
<default>#64c8ff</default>
|
||||
</entry>
|
||||
</group>
|
||||
</kcfg>
|
||||
@@ -7,4 +7,6 @@
|
||||
|
||||
effect.setUniform(this.shader, 'uDuration', this.duration * 0.001);
|
||||
effect.setUniform(this.shader, 'uScale', effect.readConfig('Scale', 1.0));
|
||||
effect.setUniform(this.shader, 'uColor', this.readRGBConfig('Color'));
|
||||
effect.setUniform(this.shader, 'uColor1', this.readRGBConfig('Color1'));
|
||||
effect.setUniform(this.shader, 'uColor2', this.readRGBConfig('Color2'));
|
||||
effect.setUniform(this.shader, 'uColor3', this.readRGBConfig('Color3'));
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
{
|
||||
"uuid": "burn-my-windows@schneegans.github.com",
|
||||
"description": "Disintegrate your windows with style.",
|
||||
"name": "Burn My Windows",
|
||||
"gettext-domain": "burn-my-windows",
|
||||
"settings-schema": "org.gnome.shell.extensions.burn-my-windows",
|
||||
"shell-version": [
|
||||
"3.36",
|
||||
"3.38",
|
||||
"40",
|
||||
"41",
|
||||
"42",
|
||||
"43",
|
||||
"44"
|
||||
],
|
||||
"url": "https://github.com/Schneegans/Burn-My-Windows",
|
||||
"version": 31
|
||||
}
|
||||
"uuid": "burn-my-windows@schneegans.github.com",
|
||||
"description": "Disintegrate your windows with style.",
|
||||
"name": "Burn My Windows",
|
||||
"donations": {
|
||||
"kofi": "schneegans",
|
||||
"github": "schneegans",
|
||||
"paypal": "simonschneegans"
|
||||
},
|
||||
"gettext-domain": "burn-my-windows",
|
||||
"settings-schema": "org.gnome.shell.extensions.burn-my-windows",
|
||||
"shell-version": ["45", "46", "47", "48", "49", "50", "51"],
|
||||
"url": "https://github.com/Schneegans/Burn-My-Windows",
|
||||
"version": 48
|
||||
}
|
||||
|
||||
@@ -0,0 +1,795 @@
|
||||
# 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: 2025-02-17 20:23+0100\n"
|
||||
"PO-Revision-Date: 2025-02-27 16:01+0000\n"
|
||||
"Last-Translator: symegac <97731141+symegac@users.noreply.github.com>\n"
|
||||
"Language-Team: Danish <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||
"core/da/>\n"
|
||||
"Language: da\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 5.10.2-dev\n"
|
||||
|
||||
#: src/effects/Apparition.js:80
|
||||
#, fuzzy
|
||||
msgid "Apparition"
|
||||
msgstr "Åndesyn"
|
||||
|
||||
#: src/effects/AuraGlow.js:89
|
||||
msgid "Aura Glow"
|
||||
msgstr "Auraglød"
|
||||
|
||||
#: src/effects/BrokenGlass.js:138
|
||||
msgid "Broken Glass"
|
||||
msgstr "Knust glas"
|
||||
|
||||
#: src/effects/Doom.js:87
|
||||
msgid "Doom"
|
||||
msgstr "Doom"
|
||||
|
||||
#: src/effects/EnergizeA.js:74
|
||||
msgid "Energize A"
|
||||
msgstr "Energi A"
|
||||
|
||||
#: src/effects/EnergizeB.js:75
|
||||
msgid "Energize B"
|
||||
msgstr "Energi B"
|
||||
|
||||
#: src/effects/Fire.js:96
|
||||
msgid "Fire"
|
||||
msgstr "Ild"
|
||||
|
||||
#: src/effects/Fire.js:150
|
||||
msgid "Default Fire"
|
||||
msgstr "Standardild"
|
||||
|
||||
#: src/effects/Fire.js:160
|
||||
msgid "Hell Fire"
|
||||
msgstr "Helvedesild"
|
||||
|
||||
#: src/effects/Fire.js:170
|
||||
msgid "Dark and Smutty"
|
||||
msgstr "Mørk og smudsig"
|
||||
|
||||
#: src/effects/Fire.js:180
|
||||
msgid "Cold Breeze"
|
||||
msgstr "Kold brise"
|
||||
|
||||
#: src/effects/Fire.js:190
|
||||
msgid "Santa is Coming"
|
||||
msgstr "Julemanden kommer"
|
||||
|
||||
#: src/effects/Fire.js:201
|
||||
#, fuzzy
|
||||
msgid "Nuclear ☢️"
|
||||
msgstr "Atomisk ☢️"
|
||||
|
||||
#: src/effects/Focus.js:76
|
||||
msgid "Focus"
|
||||
msgstr "Fokus"
|
||||
|
||||
#: src/effects/Glide.js:78
|
||||
msgid "Glide"
|
||||
msgstr "Glid"
|
||||
|
||||
#: src/effects/Glitch.js:80
|
||||
msgid "Glitch"
|
||||
msgstr "Skærmfejl"
|
||||
|
||||
#: src/effects/Hexagon.js:83
|
||||
msgid "Hexagon"
|
||||
msgstr "Sekskant"
|
||||
|
||||
#: src/effects/Incinerate.js:126
|
||||
msgid "Incinerate"
|
||||
msgstr "Afbrænd"
|
||||
|
||||
#: src/effects/Matrix.js:109
|
||||
msgid "Matrix"
|
||||
msgstr "Matrix"
|
||||
|
||||
#: src/effects/Mushroom.js:124
|
||||
msgid "Mushroom"
|
||||
msgstr "Svamp"
|
||||
|
||||
#: src/effects/Mushroom.js:204
|
||||
msgid "8Bit Plumber"
|
||||
msgstr "8Bit-blikkenslager"
|
||||
|
||||
#: src/effects/Mushroom.js:221
|
||||
msgid "New Bros 2 🍄"
|
||||
msgstr "New Bros 2 🍄"
|
||||
|
||||
#: src/effects/Mushroom.js:239
|
||||
msgid "Red White and Blue 🇺🇸"
|
||||
msgstr "Rød, hvid og blå 🇺🇸"
|
||||
|
||||
#: src/effects/Mushroom.js:256
|
||||
msgid "Rainbow 🌈"
|
||||
msgstr "Regnbue 🌈"
|
||||
|
||||
#: src/effects/Mushroom.js:273
|
||||
#, fuzzy
|
||||
msgid "Cattuccino 😺"
|
||||
msgstr "Kattuccino 😺"
|
||||
|
||||
#: src/effects/Mushroom.js:291
|
||||
msgid "Dracula 🦇"
|
||||
msgstr "Dracula 🦇"
|
||||
|
||||
#: src/effects/Mushroom.js:308
|
||||
msgid "Sparkle ✨"
|
||||
msgstr "Glimt ✨"
|
||||
|
||||
#: src/effects/PaintBrush.js:101
|
||||
msgid "Paint Brush"
|
||||
msgstr "Pensel"
|
||||
|
||||
#: src/effects/Pixelate.js:74
|
||||
msgid "Pixelate"
|
||||
msgstr "Pixeler"
|
||||
|
||||
#: src/effects/PixelWheel.js:74
|
||||
msgid "Pixel Wheel"
|
||||
msgstr "Pixelhjul"
|
||||
|
||||
#: src/effects/PixelWipe.js:100
|
||||
msgid "Pixel Wipe"
|
||||
msgstr "Pixelbølge"
|
||||
|
||||
#: src/effects/Portal.js:82
|
||||
msgid "Portal"
|
||||
msgstr "Portal"
|
||||
|
||||
#: src/effects/RGBWarp.js:77
|
||||
#, fuzzy
|
||||
msgid "RGB Warp"
|
||||
msgstr "RGB-forvrængning"
|
||||
|
||||
#: src/effects/SnapOfDisintegration.js:110
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr "Opløsningsknips"
|
||||
|
||||
#: src/effects/TeamRocket.js:89
|
||||
msgid "Team Rocket"
|
||||
msgstr "Team Rocket"
|
||||
|
||||
#: src/effects/TRexAttack.js:109
|
||||
msgid "T-Rex Attack"
|
||||
msgstr "Tyrannosaurus-angreb"
|
||||
|
||||
#: src/effects/TVEffect.js:73
|
||||
msgid "TV Effect"
|
||||
msgstr "TV-effekt"
|
||||
|
||||
#: src/effects/TVGlitch.js:81
|
||||
msgid "TV Glitch"
|
||||
msgstr "TV-skærmfejl"
|
||||
|
||||
#: src/effects/Wisps.js:85
|
||||
msgid "Wisps"
|
||||
msgstr "Feer"
|
||||
|
||||
#: prefs.js:256
|
||||
msgid "Preview this effect"
|
||||
msgstr "Forhåndsvis denne effekt"
|
||||
|
||||
#: prefs.js:333
|
||||
msgid "Burn-My-Windows has been updated!"
|
||||
msgstr "Burn-My-Windows er blevet opdateret!"
|
||||
|
||||
#: prefs.js:334 resources/ui/common/menus.ui:17
|
||||
msgid "View Changelog"
|
||||
msgstr "Vis ændringslog"
|
||||
|
||||
#: prefs.js:516
|
||||
msgid "Delete this Profile?"
|
||||
msgstr "Slet denne profil?"
|
||||
|
||||
#: prefs.js:517
|
||||
msgid ""
|
||||
"The current effect profile with all its effect settings will be permanently "
|
||||
"lost."
|
||||
msgstr ""
|
||||
"Den aktuelle effektprofil med alle dens effektsindstillinger vil gå "
|
||||
"permanent tabt."
|
||||
|
||||
#: prefs.js:520
|
||||
msgid "Cancel"
|
||||
msgstr "Annuller"
|
||||
|
||||
#: prefs.js:525
|
||||
msgid "Delete"
|
||||
msgstr "Slet"
|
||||
|
||||
#: prefs.js:757 resources/ui/adw/prefs.ui:103
|
||||
msgid "Opening Windows"
|
||||
msgstr "Åbning af vinduer"
|
||||
|
||||
#: prefs.js:758 resources/ui/adw/prefs.ui:104
|
||||
msgid "Closing Windows"
|
||||
msgstr "Lukning af vinduer"
|
||||
|
||||
#: prefs.js:759 resources/ui/adw/prefs.ui:118
|
||||
msgid "Normal Windows"
|
||||
msgstr "Normale vinduer"
|
||||
|
||||
#: prefs.js:760 resources/ui/adw/prefs.ui:119
|
||||
msgid "Dialog Windows"
|
||||
msgstr "Dialogvinduer"
|
||||
|
||||
#: prefs.js:761 resources/ui/adw/prefs.ui:133
|
||||
msgid "Default Color Scheme"
|
||||
msgstr "Standardfarveskema"
|
||||
|
||||
#: prefs.js:762 resources/ui/adw/prefs.ui:134
|
||||
msgid "Dark Color Scheme"
|
||||
msgstr "Mørkt farveskema"
|
||||
|
||||
#: prefs.js:763 resources/ui/adw/prefs.ui:148
|
||||
msgid "On Battery"
|
||||
msgstr "På batteri"
|
||||
|
||||
#: prefs.js:764 resources/ui/adw/prefs.ui:149
|
||||
msgid "Plugged In"
|
||||
msgstr "Tilsluttet"
|
||||
|
||||
#: prefs.js:765 resources/ui/adw/prefs.ui:163
|
||||
msgid "Power-Saver Mode"
|
||||
msgstr "Energisparetilstand"
|
||||
|
||||
#: prefs.js:766 resources/ui/adw/prefs.ui:164
|
||||
msgid "Balanced Mode"
|
||||
msgstr "Balanceret tilstand"
|
||||
|
||||
#: prefs.js:767 resources/ui/adw/prefs.ui:165
|
||||
msgid "Performance Mode"
|
||||
msgstr "Ydelsestilstand"
|
||||
|
||||
#: prefs.js:768 resources/ui/adw/prefs.ui:166
|
||||
msgid "Power Saver or Balanced"
|
||||
msgstr "Energisparetilstand eller balanceret"
|
||||
|
||||
#: prefs.js:769 resources/ui/adw/prefs.ui:167
|
||||
msgid "Balanced or Performance"
|
||||
msgstr "Balanceret eller ydelsestilstand"
|
||||
|
||||
#: prefs.js:774 resources/ui/adw/prefs.ui:183
|
||||
msgid "High Priority"
|
||||
msgstr "Høj prioritet"
|
||||
|
||||
#: prefs.js:780
|
||||
msgid "Standard Profile"
|
||||
msgstr "Standardprofil"
|
||||
|
||||
#. Translators: %s will be replaced by the effect's name.
|
||||
#: prefs.js:860
|
||||
#, javascript-format
|
||||
msgid "Preview for %s"
|
||||
msgstr "Forhåndsvisning af %s"
|
||||
|
||||
#: prefs.js:879
|
||||
msgid "Close this Window to Preview the Effect!"
|
||||
msgstr "Luk dette vindue for at forhåndsvise effekten!"
|
||||
|
||||
#: resources/ui/common/menus.ui:13
|
||||
msgid "Visit Homepage"
|
||||
msgstr "Besøg hjemmesiden"
|
||||
|
||||
#: resources/ui/common/menus.ui:21
|
||||
msgid "View Matching Wallpapers"
|
||||
msgstr "Vis passende baggrundsbilleder"
|
||||
|
||||
#: resources/ui/common/menus.ui:25
|
||||
msgid "View Donors Hall-of-Fame"
|
||||
msgstr "Vis donor-æresgalleriet"
|
||||
|
||||
#: resources/ui/common/menus.ui:31
|
||||
msgid "Donate"
|
||||
msgstr "Doner"
|
||||
|
||||
#: resources/ui/common/menus.ui:50
|
||||
msgid "Report a Bug"
|
||||
msgstr "Rapportér en fejl"
|
||||
|
||||
#: resources/ui/common/menus.ui:54
|
||||
msgid "Create an Effect"
|
||||
msgstr "Opret en effekt"
|
||||
|
||||
#: resources/ui/common/menus.ui:58
|
||||
msgid "Translate"
|
||||
msgstr "Oversæt"
|
||||
|
||||
#: resources/ui/common/menus.ui:64
|
||||
msgid "Open Effect-Profile Directory"
|
||||
msgstr "Åbn effektprofil-filkatalog"
|
||||
|
||||
#: resources/ui/common/menus.ui:70
|
||||
msgid "About Burn-My-Windows"
|
||||
msgstr "Om Burn-My-Windows"
|
||||
|
||||
#: resources/ui/common/menus.ui:81
|
||||
msgid "Add New Profile..."
|
||||
msgstr "Tilføj ny profil..."
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:15 resources/ui/adw/tv-glitch.ui:14
|
||||
#: resources/ui/adw/glitch.ui:14 resources/ui/adw/matrix.ui:14
|
||||
#: resources/ui/adw/doom.ui:14 resources/ui/adw/rgbwarp.ui:17
|
||||
#: resources/ui/adw/paint-brush.ui:14 resources/ui/adw/trex.ui:14
|
||||
#: resources/ui/adw/wisps.ui:14 resources/ui/adw/aura-glow.ui:13
|
||||
#: resources/ui/adw/energize-b.ui:15 resources/ui/adw/pixel-wheel.ui:14
|
||||
#: resources/ui/adw/glide.ui:14 resources/ui/adw/apparition.ui:15
|
||||
#: resources/ui/adw/portal.ui:14 resources/ui/adw/incinerate.ui:14
|
||||
#: resources/ui/adw/hexagon.ui:14 resources/ui/adw/fire.ui:30
|
||||
#: resources/ui/adw/team-rocket.ui:17 resources/ui/adw/pixel-wipe.ui:14
|
||||
#: resources/ui/adw/snap.ui:14 resources/ui/adw/focus.ui:35
|
||||
#: resources/ui/adw/mushroom.ui:17 resources/ui/adw/energize-a.ui:14
|
||||
#: resources/ui/adw/pixelate.ui:14 resources/ui/adw/tv.ui:14
|
||||
msgid "Animation Time [ms]"
|
||||
msgstr "Animationstid [ms]"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:37 resources/ui/adw/broken-glass.ui:70
|
||||
#: resources/ui/adw/broken-glass.ui:103 resources/ui/adw/broken-glass.ui:136
|
||||
#: resources/ui/adw/broken-glass.ui:159 resources/ui/adw/tv-glitch.ui:36
|
||||
#: resources/ui/adw/tv-glitch.ui:69 resources/ui/adw/tv-glitch.ui:102
|
||||
#: resources/ui/adw/tv-glitch.ui:135 resources/ui/adw/tv-glitch.ui:160
|
||||
#: resources/ui/adw/glitch.ui:36 resources/ui/adw/glitch.ui:69
|
||||
#: resources/ui/adw/glitch.ui:102 resources/ui/adw/glitch.ui:135
|
||||
#: resources/ui/adw/glitch.ui:160 resources/ui/adw/matrix.ui:36
|
||||
#: resources/ui/adw/matrix.ui:69 resources/ui/adw/matrix.ui:102
|
||||
#: resources/ui/adw/matrix.ui:135 resources/ui/adw/matrix.ui:160
|
||||
#: resources/ui/adw/matrix.ui:185 resources/ui/adw/doom.ui:36
|
||||
#: resources/ui/adw/doom.ui:69 resources/ui/adw/doom.ui:102
|
||||
#: resources/ui/adw/doom.ui:135 resources/ui/adw/rgbwarp.ui:42
|
||||
#: resources/ui/adw/rgbwarp.ui:81 resources/ui/adw/rgbwarp.ui:118
|
||||
#: resources/ui/adw/rgbwarp.ui:155 resources/ui/adw/rgbwarp.ui:192
|
||||
#: resources/ui/adw/paint-brush.ui:36 resources/ui/adw/paint-brush.ui:69
|
||||
#: resources/ui/adw/trex.ui:36 resources/ui/adw/trex.ui:69
|
||||
#: resources/ui/adw/trex.ui:102 resources/ui/adw/trex.ui:135
|
||||
#: resources/ui/adw/trex.ui:160 resources/ui/adw/wisps.ui:36
|
||||
#: resources/ui/adw/wisps.ui:69 resources/ui/adw/wisps.ui:110
|
||||
#: resources/ui/adw/aura-glow.ui:35 resources/ui/adw/aura-glow.ui:58
|
||||
#: resources/ui/adw/aura-glow.ui:92 resources/ui/adw/aura-glow.ui:125
|
||||
#: resources/ui/adw/aura-glow.ui:158 resources/ui/adw/aura-glow.ui:191
|
||||
#: resources/ui/adw/aura-glow.ui:224 resources/ui/adw/aura-glow.ui:257
|
||||
#: resources/ui/adw/energize-b.ui:37 resources/ui/adw/energize-b.ui:70
|
||||
#: resources/ui/adw/energize-b.ui:95 resources/ui/adw/pixel-wheel.ui:36
|
||||
#: resources/ui/adw/pixel-wheel.ui:69 resources/ui/adw/pixel-wheel.ui:102
|
||||
#: resources/ui/adw/glide.ui:36 resources/ui/adw/glide.ui:69
|
||||
#: resources/ui/adw/glide.ui:102 resources/ui/adw/glide.ui:135
|
||||
#: resources/ui/adw/glide.ui:168 resources/ui/adw/apparition.ui:37
|
||||
#: resources/ui/adw/apparition.ui:70 resources/ui/adw/apparition.ui:103
|
||||
#: resources/ui/adw/apparition.ui:136 resources/ui/adw/apparition.ui:169
|
||||
#: resources/ui/adw/portal.ui:36 resources/ui/adw/portal.ui:69
|
||||
#: resources/ui/adw/portal.ui:102 resources/ui/adw/portal.ui:135
|
||||
#: resources/ui/adw/portal.ui:160 resources/ui/adw/incinerate.ui:36
|
||||
#: resources/ui/adw/incinerate.ui:69 resources/ui/adw/incinerate.ui:102
|
||||
#: resources/ui/adw/incinerate.ui:125 resources/ui/adw/incinerate.ui:150
|
||||
#: resources/ui/adw/hexagon.ui:36 resources/ui/adw/hexagon.ui:69
|
||||
#: resources/ui/adw/hexagon.ui:102 resources/ui/adw/hexagon.ui:127
|
||||
#: resources/ui/adw/hexagon.ui:152 resources/ui/adw/hexagon.ui:175
|
||||
#: resources/ui/adw/fire.ui:52 resources/ui/adw/fire.ui:85
|
||||
#: resources/ui/adw/fire.ui:118 resources/ui/adw/fire.ui:141
|
||||
#: resources/ui/adw/fire.ui:199 resources/ui/adw/team-rocket.ui:42
|
||||
#: resources/ui/adw/team-rocket.ui:80 resources/ui/adw/team-rocket.ui:102
|
||||
#: resources/ui/adw/team-rocket.ui:139 resources/ui/adw/team-rocket.ui:176
|
||||
#: resources/ui/adw/team-rocket.ui:214 resources/ui/adw/team-rocket.ui:251
|
||||
#: resources/ui/adw/pixel-wipe.ui:36 resources/ui/adw/pixel-wipe.ui:69
|
||||
#: resources/ui/adw/snap.ui:36 resources/ui/adw/snap.ui:69
|
||||
#: resources/ui/adw/snap.ui:94 resources/ui/adw/focus.ui:50
|
||||
#: resources/ui/adw/focus.ui:76 resources/ui/adw/focus.ui:102
|
||||
#: resources/ui/adw/mushroom.ui:42 resources/ui/adw/mushroom.ui:99
|
||||
#: resources/ui/adw/mushroom.ui:137 resources/ui/adw/mushroom.ui:175
|
||||
#: resources/ui/adw/mushroom.ui:209 resources/ui/adw/mushroom.ui:243
|
||||
#: resources/ui/adw/mushroom.ui:281 resources/ui/adw/mushroom.ui:319
|
||||
#: resources/ui/adw/mushroom.ui:357 resources/ui/adw/mushroom.ui:427
|
||||
#: resources/ui/adw/energize-a.ui:36 resources/ui/adw/energize-a.ui:69
|
||||
#: resources/ui/adw/energize-a.ui:94 resources/ui/adw/pixelate.ui:36
|
||||
#: resources/ui/adw/pixelate.ui:69 resources/ui/adw/pixelate.ui:102
|
||||
#: resources/ui/adw/tv.ui:36 resources/ui/adw/tv.ui:61
|
||||
msgid "Reset to Default Value"
|
||||
msgstr "Nulstil til standardværdi"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:48 resources/ui/adw/tv-glitch.ui:47
|
||||
#: resources/ui/adw/glitch.ui:47 resources/ui/adw/matrix.ui:47
|
||||
#: resources/ui/adw/wisps.ui:47 resources/ui/adw/energize-b.ui:48
|
||||
#: resources/ui/adw/glide.ui:47 resources/ui/adw/incinerate.ui:47
|
||||
#: resources/ui/adw/hexagon.ui:47 resources/ui/adw/fire.ui:63
|
||||
#: resources/ui/adw/snap.ui:47 resources/ui/adw/energize-a.ui:47
|
||||
msgid "Scale"
|
||||
msgstr "Størrelse"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:81
|
||||
msgid "Gravity"
|
||||
msgstr "Tyngdekraft"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:114
|
||||
msgid "Blow Force"
|
||||
msgstr "Slagkraft"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:147
|
||||
msgid "Shatter From Pointer Location"
|
||||
msgstr "Knus fra musepositionen"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:148
|
||||
msgid ""
|
||||
"The shards will fly away from where your mouse pointer was when closing the "
|
||||
"window."
|
||||
msgstr ""
|
||||
"Glasskårene flyver væk fra der, hvor din musemarkør befandt sig ved lukning "
|
||||
"af vinduet."
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
|
||||
msgid "Strength"
|
||||
msgstr "Styrke"
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:113 resources/ui/adw/glitch.ui:113
|
||||
#: resources/ui/adw/aura-glow.ui:103 resources/ui/adw/fire.ui:96
|
||||
msgid "Speed"
|
||||
msgstr "Hastighed"
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:146 resources/ui/adw/glitch.ui:146
|
||||
#: resources/ui/adw/wisps.ui:80 resources/ui/adw/energize-b.ui:81
|
||||
#: resources/ui/adw/portal.ui:146 resources/ui/adw/incinerate.ui:136
|
||||
#: resources/ui/adw/snap.ui:80 resources/ui/adw/energize-a.ui:80
|
||||
#: resources/ui/adw/tv.ui:47
|
||||
msgid "Color"
|
||||
msgstr "Farve"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:80 resources/ui/adw/apparition.ui:48
|
||||
msgid "Randomness"
|
||||
msgstr "Tilfældighed"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:113
|
||||
#, fuzzy
|
||||
msgid "Vertical Overshooting"
|
||||
msgstr "Vertikal overskridelse"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:146
|
||||
msgid "Trail Color"
|
||||
msgstr "Sporets farve"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:171
|
||||
msgid "Tip Color"
|
||||
msgstr "Spidsens farve"
|
||||
|
||||
#: resources/ui/adw/doom.ui:47
|
||||
msgid "Horizontal Scale"
|
||||
msgstr "Vandret skalering"
|
||||
|
||||
#: resources/ui/adw/doom.ui:80
|
||||
msgid "Vertical Scale"
|
||||
msgstr "Lodret skalering"
|
||||
|
||||
#: resources/ui/adw/doom.ui:113 resources/ui/adw/pixel-wheel.ui:80
|
||||
#: resources/ui/adw/pixel-wipe.ui:47 resources/ui/adw/pixelate.ui:80
|
||||
msgid "Pixel Size"
|
||||
msgstr "Pixelstørrelse"
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:55
|
||||
msgid "Brightness"
|
||||
msgstr "Lysstyrke"
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:93
|
||||
msgid "Red Speed"
|
||||
msgstr "Rød hastighed"
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:130
|
||||
msgid "Green Speed"
|
||||
msgstr "Grøn hastighed"
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:167
|
||||
msgid "Blue Speed"
|
||||
msgstr "Blå hastighed"
|
||||
|
||||
#: resources/ui/adw/paint-brush.ui:47
|
||||
msgid "Brush Size"
|
||||
msgstr "Penselstørrelse"
|
||||
|
||||
#: resources/ui/adw/trex.ui:47
|
||||
msgid "Claw Scratch Scale"
|
||||
msgstr "Klokradsstørrelse"
|
||||
|
||||
#: resources/ui/adw/trex.ui:80
|
||||
msgid "Claw Scratch Count"
|
||||
msgstr "Klokradsantal"
|
||||
|
||||
#: resources/ui/adw/trex.ui:113
|
||||
msgid "Warp Effect"
|
||||
msgstr "Forvridningseffekt"
|
||||
|
||||
#: resources/ui/adw/trex.ui:146
|
||||
msgid "Flash Color"
|
||||
msgstr "Blitzfarve"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:47
|
||||
msgid "Random Color"
|
||||
msgstr "Tilfældig farve"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:69
|
||||
msgid "Start Hue"
|
||||
msgstr "Startkulør"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:136
|
||||
msgid "Saturation"
|
||||
msgstr "Farvemætning"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:169
|
||||
msgid "Edge Size"
|
||||
msgstr "Kantstørrelse"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:202
|
||||
msgid "Edge Hardness"
|
||||
msgstr "Kanthårdhed"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:235 resources/ui/adw/focus.ui:61
|
||||
msgid "Blur Amount"
|
||||
msgstr "Sløringsmængde"
|
||||
|
||||
#: resources/ui/adw/pixel-wheel.ui:47
|
||||
msgid "Spoke Count"
|
||||
msgstr "Antal eger"
|
||||
|
||||
#: resources/ui/adw/glide.ui:80
|
||||
#, fuzzy
|
||||
msgid "Squish"
|
||||
msgstr "Komprimering"
|
||||
|
||||
#: resources/ui/adw/glide.ui:113
|
||||
msgid "Tilt"
|
||||
msgstr "Hældning"
|
||||
|
||||
#: resources/ui/adw/glide.ui:146
|
||||
msgid "Shift"
|
||||
msgstr "Forskydning"
|
||||
|
||||
#: resources/ui/adw/apparition.ui:81
|
||||
msgid "Twirl Intensity"
|
||||
msgstr "Hvirvelintensitet"
|
||||
|
||||
#: resources/ui/adw/apparition.ui:114
|
||||
msgid "Shake Intensity"
|
||||
msgstr "Rystelsesintensitet"
|
||||
|
||||
#: resources/ui/adw/apparition.ui:147
|
||||
msgid "Suction Intensity"
|
||||
msgstr "Sugeintensitet"
|
||||
|
||||
#: resources/ui/adw/portal.ui:47
|
||||
msgid "Rotation Speed"
|
||||
msgstr "Rotationshastighed"
|
||||
|
||||
#: resources/ui/adw/portal.ui:80
|
||||
msgid "Whirling"
|
||||
msgstr "Hvirvling"
|
||||
|
||||
#: resources/ui/adw/portal.ui:113
|
||||
msgid "Details"
|
||||
msgstr "Detaljer"
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:80
|
||||
msgid "Turbulence"
|
||||
msgstr "Turbulens"
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:113
|
||||
msgid "Start at Pointer"
|
||||
msgstr "Start ved musemarkør"
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:114
|
||||
msgid "If disabled, a random location will be chosen."
|
||||
msgstr "Hvis dette er deaktiveret, vælges en tilfældig placering."
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:80
|
||||
msgid "Mesh Line Width"
|
||||
msgstr "Gitterlinjebredde"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:113
|
||||
msgid "Line Color"
|
||||
msgstr "Linjefarve"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:138
|
||||
msgid "Glow Color"
|
||||
msgstr "Glødfarve"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:163
|
||||
msgid "Additive Blending"
|
||||
msgstr "Additiv farveblanding"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:164
|
||||
msgid "You may want to enable this for dark window themes."
|
||||
msgstr "Du får måske brug for at aktivere dette for mørke vinduestemaer."
|
||||
|
||||
#: resources/ui/adw/fire.ui:14
|
||||
msgid "Presets"
|
||||
msgstr "Forhåndsindstillinger"
|
||||
|
||||
#: resources/ui/adw/fire.ui:19 resources/ui/adw/mushroom.ui:61
|
||||
msgid "Choose a Preset"
|
||||
msgstr "Vælg en forhåndsindstilling"
|
||||
|
||||
#: resources/ui/adw/fire.ui:129
|
||||
msgid "3D Noise"
|
||||
msgstr "3D-støj"
|
||||
|
||||
#: resources/ui/adw/fire.ui:130
|
||||
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||
msgstr "Skaber en mere dynamisk ild men kræver mere GPU-kraft."
|
||||
|
||||
#: resources/ui/adw/fire.ui:152
|
||||
msgid "Gradient"
|
||||
msgstr "Farveforløb"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:54
|
||||
#, fuzzy
|
||||
msgid "Animation Split"
|
||||
msgstr "Animationssplit"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:91
|
||||
msgid "Rotate Window"
|
||||
msgstr "Roter vindue"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:114
|
||||
msgid "Horizontal Sparkle Position"
|
||||
msgstr "Vandret glimtposition"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:151
|
||||
msgid "Vertical Sparkle Position"
|
||||
msgstr "Lodret glimtposition"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:189
|
||||
msgid "Sparkle Size"
|
||||
msgstr "Glimtstørrelse"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:226
|
||||
msgid "Sparkle Rotation"
|
||||
msgstr "Glimtrotation"
|
||||
|
||||
#: resources/ui/adw/focus.ui:87
|
||||
msgid "Blur Quality"
|
||||
msgstr "Sløringskvalitet"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:65
|
||||
msgid "Effect Profile Constraints"
|
||||
msgstr "Rediger profilbegrænsninger"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:66
|
||||
msgid "Define when the current effect settings should be used."
|
||||
msgstr "Definer, hvornår de aktuelle effektindstillinger skal bruges."
|
||||
|
||||
#: resources/ui/adw/prefs.ui:70
|
||||
#, fuzzy
|
||||
msgid "Application"
|
||||
msgstr "Applikation"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:81 resources/ui/adw/prefs.ui:102
|
||||
#: resources/ui/adw/prefs.ui:117 resources/ui/adw/prefs.ui:132
|
||||
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
|
||||
msgid "Any"
|
||||
msgstr "Hvilken som helst"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:98
|
||||
msgid "Animation Type"
|
||||
msgstr "Animationstype"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:113
|
||||
msgid "Window Type"
|
||||
msgstr "Vinduestype"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:128
|
||||
msgid "Color Scheme"
|
||||
msgstr "Farveskema"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:143
|
||||
msgid "Power Mode"
|
||||
msgstr "Strømtilstand"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:158
|
||||
msgid "Power Profile"
|
||||
msgstr "Strømprofil"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:179
|
||||
msgid "Advanced Profile Options"
|
||||
msgstr "Avancerede profilindstillinger"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:184
|
||||
msgid "Use this profile even if there are better matching profiles."
|
||||
msgstr "Benyt denne profil, selv hvis der er mere passende profiler."
|
||||
|
||||
#: resources/ui/adw/prefs.ui:204
|
||||
msgid "Delete this Profile..."
|
||||
msgstr "Slet denne profil..."
|
||||
|
||||
#: resources/ui/adw/prefs.ui:223
|
||||
msgid "Effect Selection"
|
||||
msgstr "Effektudvælgelse"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:224
|
||||
msgid "If multiple are selected, one is chosen randomly."
|
||||
msgstr "Hvis flere er valgt, vælges en tilfældigt."
|
||||
|
||||
#: resources/ui/adw/prefs.ui:235
|
||||
msgid "Search..."
|
||||
msgstr "Søg..."
|
||||
|
||||
#: resources/ui/adw/prefs.ui:250
|
||||
msgid "Enable All"
|
||||
msgstr "Aktivér alle"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:256
|
||||
msgid "Disable All"
|
||||
msgstr "Deaktiver alle"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:55
|
||||
msgid "Effect Presets"
|
||||
msgstr "Effektforudindstillinger"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:73
|
||||
msgid "Scale Style"
|
||||
msgstr "Skaleringsstil"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:74
|
||||
msgid "8Bit --- Smooth"
|
||||
msgstr "8Bit --- Blød"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:112
|
||||
msgid "Spark Count"
|
||||
msgstr "Glimtantal"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:150
|
||||
msgid "Spark Rotation"
|
||||
msgstr "Glimtrotation"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:188
|
||||
msgid "Spark Color"
|
||||
msgstr "Glimtfarve"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:222
|
||||
msgid "Rays Color"
|
||||
msgstr "Strålefarve"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:256
|
||||
msgid "Star Rings Count"
|
||||
msgstr "Antal stjerneringe"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:294
|
||||
msgid "Star Ring Rotation"
|
||||
msgstr "Stjerneringsrotation"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:332
|
||||
msgid "Stars Count Per Ring"
|
||||
msgstr "Antal stjerner pr. ring"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:370
|
||||
msgid "Star Gradient"
|
||||
msgstr "Stjernefarveforløb"
|
||||
|
||||
#: resources/ui/adw/pixelate.ui:47
|
||||
msgid "Noise"
|
||||
msgstr "Støj"
|
||||
|
||||
#~ msgid "Gold Sponsors"
|
||||
#~ msgstr "Guldsponsorer"
|
||||
|
||||
#~ msgid "Silver Sponsors"
|
||||
#~ msgstr "Sølvsponsorer"
|
||||
|
||||
#~ msgid "Bronze Sponsors"
|
||||
#~ msgstr "Bronzesponsorer"
|
||||
|
||||
#~ msgid "Past Sponsors"
|
||||
#~ msgstr "Tidligere sponsorer"
|
||||
|
||||
#~ msgid "All"
|
||||
#~ msgstr "Alle"
|
||||
|
||||
#~ msgid "None"
|
||||
#~ msgstr "Ingen"
|
||||
@@ -0,0 +1,769 @@
|
||||
# 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: 2025-02-17 20:23+0100\n"
|
||||
"PO-Revision-Date: 2025-05-25 10:03+0000\n"
|
||||
"Last-Translator: cris b <ventura@users.noreply.hosted.weblate.org>\n"
|
||||
"Language-Team: Greek <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||
"core/el/>\n"
|
||||
"Language: el\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 5.12-dev\n"
|
||||
|
||||
#: src/effects/Apparition.js:80
|
||||
msgid "Apparition"
|
||||
msgstr "Οπτασία"
|
||||
|
||||
#: src/effects/AuraGlow.js:89
|
||||
msgid "Aura Glow"
|
||||
msgstr "Λάμψη Αύρας"
|
||||
|
||||
#: src/effects/BrokenGlass.js:138
|
||||
msgid "Broken Glass"
|
||||
msgstr "Σπασμένο Γυαλί"
|
||||
|
||||
#: src/effects/Doom.js:87
|
||||
msgid "Doom"
|
||||
msgstr "Καταδίκη"
|
||||
|
||||
#: src/effects/EnergizeA.js:74
|
||||
msgid "Energize A"
|
||||
msgstr "Ενεργοποίηση Α"
|
||||
|
||||
#: src/effects/EnergizeB.js:75
|
||||
msgid "Energize B"
|
||||
msgstr "Ενεργοποίηση Β"
|
||||
|
||||
#: src/effects/Fire.js:96
|
||||
msgid "Fire"
|
||||
msgstr "Φωτιά"
|
||||
|
||||
#: src/effects/Fire.js:150
|
||||
msgid "Default Fire"
|
||||
msgstr "Προεπιλεγμένη Φωτιά"
|
||||
|
||||
#: src/effects/Fire.js:160
|
||||
msgid "Hell Fire"
|
||||
msgstr "Πυρκαγιά"
|
||||
|
||||
#: src/effects/Fire.js:170
|
||||
msgid "Dark and Smutty"
|
||||
msgstr "Σκοτεινό και Βρώμικο"
|
||||
|
||||
#: src/effects/Fire.js:180
|
||||
msgid "Cold Breeze"
|
||||
msgstr "Κρύο Αεράκι"
|
||||
|
||||
#: src/effects/Fire.js:190
|
||||
msgid "Santa is Coming"
|
||||
msgstr "Ο Άι Βασίλης Έρχεται"
|
||||
|
||||
#: src/effects/Fire.js:201
|
||||
msgid "Nuclear ☢️"
|
||||
msgstr "Πυρηνικά ☢️"
|
||||
|
||||
#: src/effects/Focus.js:76
|
||||
msgid "Focus"
|
||||
msgstr "Συγκέντρωση"
|
||||
|
||||
#: src/effects/Glide.js:78
|
||||
msgid "Glide"
|
||||
msgstr "Ολίσθηση"
|
||||
|
||||
#: src/effects/Glitch.js:80
|
||||
msgid "Glitch"
|
||||
msgstr "Σφάλμα"
|
||||
|
||||
#: src/effects/Hexagon.js:83
|
||||
msgid "Hexagon"
|
||||
msgstr "Εξάγωνο"
|
||||
|
||||
#: src/effects/Incinerate.js:126
|
||||
msgid "Incinerate"
|
||||
msgstr "Αποτέφρωσε"
|
||||
|
||||
#: src/effects/Matrix.js:109
|
||||
msgid "Matrix"
|
||||
msgstr "Μήτρα"
|
||||
|
||||
#: src/effects/Mushroom.js:124
|
||||
msgid "Mushroom"
|
||||
msgstr "Μανιτάρι"
|
||||
|
||||
#: src/effects/Mushroom.js:204
|
||||
msgid "8Bit Plumber"
|
||||
msgstr "Υδραυλικός 8bit"
|
||||
|
||||
#: src/effects/Mushroom.js:221
|
||||
msgid "New Bros 2 🍄"
|
||||
msgstr "Νέο Bros 2 🍄"
|
||||
|
||||
#: src/effects/Mushroom.js:239
|
||||
msgid "Red White and Blue 🇺🇸"
|
||||
msgstr "Κόκκινο Λευκό και Μπλε 🇺🇸"
|
||||
|
||||
#: src/effects/Mushroom.js:256
|
||||
msgid "Rainbow 🌈"
|
||||
msgstr "Ουράνιο τόξο 🌈"
|
||||
|
||||
#: src/effects/Mushroom.js:273
|
||||
msgid "Cattuccino 😺"
|
||||
msgstr "Γατουτσίνο 😺"
|
||||
|
||||
#: src/effects/Mushroom.js:291
|
||||
msgid "Dracula 🦇"
|
||||
msgstr "Δράκουλας 🦇"
|
||||
|
||||
#: src/effects/Mushroom.js:308
|
||||
msgid "Sparkle ✨"
|
||||
msgstr "Σπινθηρίζω ✨"
|
||||
|
||||
#: src/effects/PaintBrush.js:101
|
||||
msgid "Paint Brush"
|
||||
msgstr "Πινέλο"
|
||||
|
||||
#: src/effects/Pixelate.js:74
|
||||
msgid "Pixelate"
|
||||
msgstr "Εικονοστοιχειοποίηση"
|
||||
|
||||
#: src/effects/PixelWheel.js:74
|
||||
msgid "Pixel Wheel"
|
||||
msgstr "Τροχός εικονοστοιχείων"
|
||||
|
||||
#: src/effects/PixelWipe.js:100
|
||||
msgid "Pixel Wipe"
|
||||
msgstr "Σκουπίσμα Εικονοστοιχείων"
|
||||
|
||||
#: src/effects/Portal.js:82
|
||||
msgid "Portal"
|
||||
msgstr "Πύλη"
|
||||
|
||||
#: src/effects/RGBWarp.js:77
|
||||
msgid "RGB Warp"
|
||||
msgstr "RGB Παραμόρφωση"
|
||||
|
||||
#: src/effects/SnapOfDisintegration.js:110
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr "Κρότος της Αποσύνθεσης"
|
||||
|
||||
#: src/effects/TeamRocket.js:89
|
||||
msgid "Team Rocket"
|
||||
msgstr "Ομάδα Πύραυλος"
|
||||
|
||||
#: src/effects/TRexAttack.js:109
|
||||
msgid "T-Rex Attack"
|
||||
msgstr "Επίθεση T-Rex"
|
||||
|
||||
#: src/effects/TVEffect.js:73
|
||||
msgid "TV Effect"
|
||||
msgstr "Εφέ Τηλεόρασης"
|
||||
|
||||
#: src/effects/TVGlitch.js:81
|
||||
msgid "TV Glitch"
|
||||
msgstr "Σφάλμα Τηλεόρασης"
|
||||
|
||||
#: src/effects/Wisps.js:85
|
||||
msgid "Wisps"
|
||||
msgstr "Δέσμες"
|
||||
|
||||
#: prefs.js:256
|
||||
msgid "Preview this effect"
|
||||
msgstr "Προεπισκόπηση του εφέ"
|
||||
|
||||
#: prefs.js:333
|
||||
msgid "Burn-My-Windows has been updated!"
|
||||
msgstr "Το Burn-My-Windows έχει ενημερωθεί!"
|
||||
|
||||
#: prefs.js:334 resources/ui/common/menus.ui:17
|
||||
msgid "View Changelog"
|
||||
msgstr "Δείτε το Αρχείο Αλλαγών"
|
||||
|
||||
#: prefs.js:516
|
||||
msgid "Delete this Profile?"
|
||||
msgstr "Διαγραφή αυτού του Προφίλ;"
|
||||
|
||||
#: prefs.js:517
|
||||
msgid ""
|
||||
"The current effect profile with all its effect settings will be permanently "
|
||||
"lost."
|
||||
msgstr "Το τρέχον προφίλ εφέ με όλες τις ρυθμίσεις εφέν θα χαθούν μόνιμα."
|
||||
|
||||
#: prefs.js:520
|
||||
msgid "Cancel"
|
||||
msgstr "Ακύρωση"
|
||||
|
||||
#: prefs.js:525
|
||||
msgid "Delete"
|
||||
msgstr "Διαγραφή"
|
||||
|
||||
#: prefs.js:757 resources/ui/adw/prefs.ui:103
|
||||
msgid "Opening Windows"
|
||||
msgstr "Άνοιγμα Παραθύρων"
|
||||
|
||||
#: prefs.js:758 resources/ui/adw/prefs.ui:104
|
||||
msgid "Closing Windows"
|
||||
msgstr "Κλείσιμο Παραθύρων"
|
||||
|
||||
#: prefs.js:759 resources/ui/adw/prefs.ui:118
|
||||
msgid "Normal Windows"
|
||||
msgstr "Κανονικά Παραθύρα"
|
||||
|
||||
#: prefs.js:760 resources/ui/adw/prefs.ui:119
|
||||
msgid "Dialog Windows"
|
||||
msgstr "Παράθυρα Διαλόγου"
|
||||
|
||||
#: prefs.js:761 resources/ui/adw/prefs.ui:133
|
||||
msgid "Default Color Scheme"
|
||||
msgstr "Προεπιλεγμένο Σχέδιο Χρωμάτων"
|
||||
|
||||
#: prefs.js:762 resources/ui/adw/prefs.ui:134
|
||||
msgid "Dark Color Scheme"
|
||||
msgstr "Σκούρο Σχέδιο Χρωμάτων"
|
||||
|
||||
#: prefs.js:763 resources/ui/adw/prefs.ui:148
|
||||
msgid "On Battery"
|
||||
msgstr "Σε Μπαταρία"
|
||||
|
||||
#: prefs.js:764 resources/ui/adw/prefs.ui:149
|
||||
msgid "Plugged In"
|
||||
msgstr "Συνδεδεμένο"
|
||||
|
||||
#: prefs.js:765 resources/ui/adw/prefs.ui:163
|
||||
msgid "Power-Saver Mode"
|
||||
msgstr "Λειτουργία Εξοινόμησης-Ενέργειας"
|
||||
|
||||
#: prefs.js:766 resources/ui/adw/prefs.ui:164
|
||||
msgid "Balanced Mode"
|
||||
msgstr "Ισορροπημένη Λειτουργία"
|
||||
|
||||
#: prefs.js:767 resources/ui/adw/prefs.ui:165
|
||||
msgid "Performance Mode"
|
||||
msgstr "Λειτουργία Απόδοσης"
|
||||
|
||||
#: prefs.js:768 resources/ui/adw/prefs.ui:166
|
||||
msgid "Power Saver or Balanced"
|
||||
msgstr "Εξοικονόμηση ενέργειας ή Ισορροπημένη"
|
||||
|
||||
#: prefs.js:769 resources/ui/adw/prefs.ui:167
|
||||
msgid "Balanced or Performance"
|
||||
msgstr "Ισορροπημένη ή Απόδοσης"
|
||||
|
||||
#: prefs.js:774 resources/ui/adw/prefs.ui:183
|
||||
msgid "High Priority"
|
||||
msgstr "Υψηλή Προτεραιότητα"
|
||||
|
||||
#: prefs.js:780
|
||||
msgid "Standard Profile"
|
||||
msgstr "Τυπικό Προφίλ"
|
||||
|
||||
#. Translators: %s will be replaced by the effect's name.
|
||||
#: prefs.js:860
|
||||
#, javascript-format
|
||||
msgid "Preview for %s"
|
||||
msgstr "Προεπισκόπηση για %s"
|
||||
|
||||
#: prefs.js:879
|
||||
msgid "Close this Window to Preview the Effect!"
|
||||
msgstr "Κλείστε αυτό το Παράθυρο για να Δείτε το Εφέ!"
|
||||
|
||||
#: resources/ui/common/menus.ui:13
|
||||
msgid "Visit Homepage"
|
||||
msgstr "Επισκεφθείτε την Αρχική Σελίδα"
|
||||
|
||||
#: resources/ui/common/menus.ui:21
|
||||
msgid "View Matching Wallpapers"
|
||||
msgstr "Προβολή Ταιριαστών Ταπετσαριών"
|
||||
|
||||
#: resources/ui/common/menus.ui:25
|
||||
msgid "View Donors Hall-of-Fame"
|
||||
msgstr "Δείτε το Hall-of-Fame των Δωρητών"
|
||||
|
||||
#: resources/ui/common/menus.ui:31
|
||||
msgid "Donate"
|
||||
msgstr "Δωρήστε"
|
||||
|
||||
#: resources/ui/common/menus.ui:50
|
||||
msgid "Report a Bug"
|
||||
msgstr "Αναφέρετε ένα Σφάλμα"
|
||||
|
||||
#: resources/ui/common/menus.ui:54
|
||||
msgid "Create an Effect"
|
||||
msgstr "Δημιουργήστε ένα Εφέ"
|
||||
|
||||
#: resources/ui/common/menus.ui:58
|
||||
msgid "Translate"
|
||||
msgstr "Μεταφράστε"
|
||||
|
||||
#: resources/ui/common/menus.ui:64
|
||||
msgid "Open Effect-Profile Directory"
|
||||
msgstr "Ανοίξτε Κατάλογο Προφίλ-Εφέ"
|
||||
|
||||
#: resources/ui/common/menus.ui:70
|
||||
msgid "About Burn-My-Windows"
|
||||
msgstr "Σχετικά με το Burn-My-Windows"
|
||||
|
||||
#: resources/ui/common/menus.ui:81
|
||||
msgid "Add New Profile..."
|
||||
msgstr "Προσθήκη Νέου Προφίλ ..."
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:15 resources/ui/adw/tv-glitch.ui:14
|
||||
#: resources/ui/adw/glitch.ui:14 resources/ui/adw/matrix.ui:14
|
||||
#: resources/ui/adw/doom.ui:14 resources/ui/adw/rgbwarp.ui:17
|
||||
#: resources/ui/adw/paint-brush.ui:14 resources/ui/adw/trex.ui:14
|
||||
#: resources/ui/adw/wisps.ui:14 resources/ui/adw/aura-glow.ui:13
|
||||
#: resources/ui/adw/energize-b.ui:15 resources/ui/adw/pixel-wheel.ui:14
|
||||
#: resources/ui/adw/glide.ui:14 resources/ui/adw/apparition.ui:15
|
||||
#: resources/ui/adw/portal.ui:14 resources/ui/adw/incinerate.ui:14
|
||||
#: resources/ui/adw/hexagon.ui:14 resources/ui/adw/fire.ui:30
|
||||
#: resources/ui/adw/team-rocket.ui:17 resources/ui/adw/pixel-wipe.ui:14
|
||||
#: resources/ui/adw/snap.ui:14 resources/ui/adw/focus.ui:35
|
||||
#: resources/ui/adw/mushroom.ui:17 resources/ui/adw/energize-a.ui:14
|
||||
#: resources/ui/adw/pixelate.ui:14 resources/ui/adw/tv.ui:14
|
||||
msgid "Animation Time [ms]"
|
||||
msgstr "Χρόνος Κινουμένων Σχεδίων [ms]"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:37 resources/ui/adw/broken-glass.ui:70
|
||||
#: resources/ui/adw/broken-glass.ui:103 resources/ui/adw/broken-glass.ui:136
|
||||
#: resources/ui/adw/broken-glass.ui:159 resources/ui/adw/tv-glitch.ui:36
|
||||
#: resources/ui/adw/tv-glitch.ui:69 resources/ui/adw/tv-glitch.ui:102
|
||||
#: resources/ui/adw/tv-glitch.ui:135 resources/ui/adw/tv-glitch.ui:160
|
||||
#: resources/ui/adw/glitch.ui:36 resources/ui/adw/glitch.ui:69
|
||||
#: resources/ui/adw/glitch.ui:102 resources/ui/adw/glitch.ui:135
|
||||
#: resources/ui/adw/glitch.ui:160 resources/ui/adw/matrix.ui:36
|
||||
#: resources/ui/adw/matrix.ui:69 resources/ui/adw/matrix.ui:102
|
||||
#: resources/ui/adw/matrix.ui:135 resources/ui/adw/matrix.ui:160
|
||||
#: resources/ui/adw/matrix.ui:185 resources/ui/adw/doom.ui:36
|
||||
#: resources/ui/adw/doom.ui:69 resources/ui/adw/doom.ui:102
|
||||
#: resources/ui/adw/doom.ui:135 resources/ui/adw/rgbwarp.ui:42
|
||||
#: resources/ui/adw/rgbwarp.ui:81 resources/ui/adw/rgbwarp.ui:118
|
||||
#: resources/ui/adw/rgbwarp.ui:155 resources/ui/adw/rgbwarp.ui:192
|
||||
#: resources/ui/adw/paint-brush.ui:36 resources/ui/adw/paint-brush.ui:69
|
||||
#: resources/ui/adw/trex.ui:36 resources/ui/adw/trex.ui:69
|
||||
#: resources/ui/adw/trex.ui:102 resources/ui/adw/trex.ui:135
|
||||
#: resources/ui/adw/trex.ui:160 resources/ui/adw/wisps.ui:36
|
||||
#: resources/ui/adw/wisps.ui:69 resources/ui/adw/wisps.ui:110
|
||||
#: resources/ui/adw/aura-glow.ui:35 resources/ui/adw/aura-glow.ui:58
|
||||
#: resources/ui/adw/aura-glow.ui:92 resources/ui/adw/aura-glow.ui:125
|
||||
#: resources/ui/adw/aura-glow.ui:158 resources/ui/adw/aura-glow.ui:191
|
||||
#: resources/ui/adw/aura-glow.ui:224 resources/ui/adw/aura-glow.ui:257
|
||||
#: resources/ui/adw/energize-b.ui:37 resources/ui/adw/energize-b.ui:70
|
||||
#: resources/ui/adw/energize-b.ui:95 resources/ui/adw/pixel-wheel.ui:36
|
||||
#: resources/ui/adw/pixel-wheel.ui:69 resources/ui/adw/pixel-wheel.ui:102
|
||||
#: resources/ui/adw/glide.ui:36 resources/ui/adw/glide.ui:69
|
||||
#: resources/ui/adw/glide.ui:102 resources/ui/adw/glide.ui:135
|
||||
#: resources/ui/adw/glide.ui:168 resources/ui/adw/apparition.ui:37
|
||||
#: resources/ui/adw/apparition.ui:70 resources/ui/adw/apparition.ui:103
|
||||
#: resources/ui/adw/apparition.ui:136 resources/ui/adw/apparition.ui:169
|
||||
#: resources/ui/adw/portal.ui:36 resources/ui/adw/portal.ui:69
|
||||
#: resources/ui/adw/portal.ui:102 resources/ui/adw/portal.ui:135
|
||||
#: resources/ui/adw/portal.ui:160 resources/ui/adw/incinerate.ui:36
|
||||
#: resources/ui/adw/incinerate.ui:69 resources/ui/adw/incinerate.ui:102
|
||||
#: resources/ui/adw/incinerate.ui:125 resources/ui/adw/incinerate.ui:150
|
||||
#: resources/ui/adw/hexagon.ui:36 resources/ui/adw/hexagon.ui:69
|
||||
#: resources/ui/adw/hexagon.ui:102 resources/ui/adw/hexagon.ui:127
|
||||
#: resources/ui/adw/hexagon.ui:152 resources/ui/adw/hexagon.ui:175
|
||||
#: resources/ui/adw/fire.ui:52 resources/ui/adw/fire.ui:85
|
||||
#: resources/ui/adw/fire.ui:118 resources/ui/adw/fire.ui:141
|
||||
#: resources/ui/adw/fire.ui:199 resources/ui/adw/team-rocket.ui:42
|
||||
#: resources/ui/adw/team-rocket.ui:80 resources/ui/adw/team-rocket.ui:102
|
||||
#: resources/ui/adw/team-rocket.ui:139 resources/ui/adw/team-rocket.ui:176
|
||||
#: resources/ui/adw/team-rocket.ui:214 resources/ui/adw/team-rocket.ui:251
|
||||
#: resources/ui/adw/pixel-wipe.ui:36 resources/ui/adw/pixel-wipe.ui:69
|
||||
#: resources/ui/adw/snap.ui:36 resources/ui/adw/snap.ui:69
|
||||
#: resources/ui/adw/snap.ui:94 resources/ui/adw/focus.ui:50
|
||||
#: resources/ui/adw/focus.ui:76 resources/ui/adw/focus.ui:102
|
||||
#: resources/ui/adw/mushroom.ui:42 resources/ui/adw/mushroom.ui:99
|
||||
#: resources/ui/adw/mushroom.ui:137 resources/ui/adw/mushroom.ui:175
|
||||
#: resources/ui/adw/mushroom.ui:209 resources/ui/adw/mushroom.ui:243
|
||||
#: resources/ui/adw/mushroom.ui:281 resources/ui/adw/mushroom.ui:319
|
||||
#: resources/ui/adw/mushroom.ui:357 resources/ui/adw/mushroom.ui:427
|
||||
#: resources/ui/adw/energize-a.ui:36 resources/ui/adw/energize-a.ui:69
|
||||
#: resources/ui/adw/energize-a.ui:94 resources/ui/adw/pixelate.ui:36
|
||||
#: resources/ui/adw/pixelate.ui:69 resources/ui/adw/pixelate.ui:102
|
||||
#: resources/ui/adw/tv.ui:36 resources/ui/adw/tv.ui:61
|
||||
msgid "Reset to Default Value"
|
||||
msgstr "Επαναφορά σε Προεπιλεγμένη Τιμή"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:48 resources/ui/adw/tv-glitch.ui:47
|
||||
#: resources/ui/adw/glitch.ui:47 resources/ui/adw/matrix.ui:47
|
||||
#: resources/ui/adw/wisps.ui:47 resources/ui/adw/energize-b.ui:48
|
||||
#: resources/ui/adw/glide.ui:47 resources/ui/adw/incinerate.ui:47
|
||||
#: resources/ui/adw/hexagon.ui:47 resources/ui/adw/fire.ui:63
|
||||
#: resources/ui/adw/snap.ui:47 resources/ui/adw/energize-a.ui:47
|
||||
msgid "Scale"
|
||||
msgstr "Κλιμάκωση"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:81
|
||||
msgid "Gravity"
|
||||
msgstr "Βαρύτητα"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:114
|
||||
msgid "Blow Force"
|
||||
msgstr "Δύναμη Έκρηξης"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:147
|
||||
msgid "Shatter From Pointer Location"
|
||||
msgstr "Θραύση Από Την Τοποθεσία Κέρσορα"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:148
|
||||
msgid ""
|
||||
"The shards will fly away from where your mouse pointer was when closing the "
|
||||
"window."
|
||||
msgstr ""
|
||||
"Τα θραύσματα θα πετάξουν μακριά από το σημείο όπου ο κέρσοράς σας ήταν όταν "
|
||||
"έκλεισε το παράθυρο."
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
|
||||
msgid "Strength"
|
||||
msgstr "Δύναμη"
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:113 resources/ui/adw/glitch.ui:113
|
||||
#: resources/ui/adw/aura-glow.ui:103 resources/ui/adw/fire.ui:96
|
||||
msgid "Speed"
|
||||
msgstr "Ταχύτητα"
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:146 resources/ui/adw/glitch.ui:146
|
||||
#: resources/ui/adw/wisps.ui:80 resources/ui/adw/energize-b.ui:81
|
||||
#: resources/ui/adw/portal.ui:146 resources/ui/adw/incinerate.ui:136
|
||||
#: resources/ui/adw/snap.ui:80 resources/ui/adw/energize-a.ui:80
|
||||
#: resources/ui/adw/tv.ui:47
|
||||
msgid "Color"
|
||||
msgstr "Χρώμα"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:80 resources/ui/adw/apparition.ui:48
|
||||
msgid "Randomness"
|
||||
msgstr "Τυχαιότητα"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:113
|
||||
msgid "Vertical Overshooting"
|
||||
msgstr "Κατακόρυφη Επικάλυψη"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:146
|
||||
msgid "Trail Color"
|
||||
msgstr "Χρώμα Ίχνους"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:171
|
||||
msgid "Tip Color"
|
||||
msgstr "Χρώμα Άκρης"
|
||||
|
||||
#: resources/ui/adw/doom.ui:47
|
||||
msgid "Horizontal Scale"
|
||||
msgstr "Οριζόντια Κλιμάκωση"
|
||||
|
||||
#: resources/ui/adw/doom.ui:80
|
||||
msgid "Vertical Scale"
|
||||
msgstr "Κατακόρυφη Κλιμάκωση"
|
||||
|
||||
#: resources/ui/adw/doom.ui:113 resources/ui/adw/pixel-wheel.ui:80
|
||||
#: resources/ui/adw/pixel-wipe.ui:47 resources/ui/adw/pixelate.ui:80
|
||||
msgid "Pixel Size"
|
||||
msgstr "Μέγεθος εικονοστοιχείων"
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:55
|
||||
msgid "Brightness"
|
||||
msgstr "Φωτεινότητα"
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:93
|
||||
msgid "Red Speed"
|
||||
msgstr "Ταχύτητα Κόκκινου"
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:130
|
||||
msgid "Green Speed"
|
||||
msgstr "Ταχύτητα Πράσινου"
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:167
|
||||
msgid "Blue Speed"
|
||||
msgstr "Ταχύτητα Μπλε"
|
||||
|
||||
#: resources/ui/adw/paint-brush.ui:47
|
||||
msgid "Brush Size"
|
||||
msgstr "Μέγεθος Βούρτσας"
|
||||
|
||||
#: resources/ui/adw/trex.ui:47
|
||||
msgid "Claw Scratch Scale"
|
||||
msgstr "Κλιμάκωση γραντζουνιών"
|
||||
|
||||
#: resources/ui/adw/trex.ui:80
|
||||
msgid "Claw Scratch Count"
|
||||
msgstr "Πλήθος Γραντζουνιών"
|
||||
|
||||
#: resources/ui/adw/trex.ui:113
|
||||
msgid "Warp Effect"
|
||||
msgstr "Εφέ Παραμόρφωσης"
|
||||
|
||||
#: resources/ui/adw/trex.ui:146
|
||||
msgid "Flash Color"
|
||||
msgstr "Χρώμα Φλας"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:47
|
||||
msgid "Random Color"
|
||||
msgstr "Τυχαίο Χρώμα"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:69
|
||||
msgid "Start Hue"
|
||||
msgstr "Απόχρωση Έναρξης"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:136
|
||||
msgid "Saturation"
|
||||
msgstr "Κορεσμός"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:169
|
||||
msgid "Edge Size"
|
||||
msgstr "Μέγεθος Άκρων"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:202
|
||||
msgid "Edge Hardness"
|
||||
msgstr "Σκληρότητα Άκρων"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:235 resources/ui/adw/focus.ui:61
|
||||
msgid "Blur Amount"
|
||||
msgstr "Ποσό Θολώματος"
|
||||
|
||||
#: resources/ui/adw/pixel-wheel.ui:47
|
||||
msgid "Spoke Count"
|
||||
msgstr "Πλήθος Ακτίνων"
|
||||
|
||||
#: resources/ui/adw/glide.ui:80
|
||||
msgid "Squish"
|
||||
msgstr "Συμπίεση"
|
||||
|
||||
#: resources/ui/adw/glide.ui:113
|
||||
msgid "Tilt"
|
||||
msgstr "Πρόσκλιση"
|
||||
|
||||
#: resources/ui/adw/glide.ui:146
|
||||
msgid "Shift"
|
||||
msgstr "Μετακίνηση"
|
||||
|
||||
#: resources/ui/adw/apparition.ui:81
|
||||
msgid "Twirl Intensity"
|
||||
msgstr "Ένταση Στρόβιλου"
|
||||
|
||||
#: resources/ui/adw/apparition.ui:114
|
||||
msgid "Shake Intensity"
|
||||
msgstr "Ένταση Κουνήματος"
|
||||
|
||||
#: resources/ui/adw/apparition.ui:147
|
||||
msgid "Suction Intensity"
|
||||
msgstr "Ένταση Αναρρόφησης"
|
||||
|
||||
#: resources/ui/adw/portal.ui:47
|
||||
msgid "Rotation Speed"
|
||||
msgstr "Ταχύτητα Περιστροφής"
|
||||
|
||||
#: resources/ui/adw/portal.ui:80
|
||||
msgid "Whirling"
|
||||
msgstr "Στροβιλισμός"
|
||||
|
||||
#: resources/ui/adw/portal.ui:113
|
||||
msgid "Details"
|
||||
msgstr "Λεπτομέρειες"
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:80
|
||||
msgid "Turbulence"
|
||||
msgstr "Tύρβη"
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:113
|
||||
msgid "Start at Pointer"
|
||||
msgstr "Ξεκινήστε από τον Κέρσορα"
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:114
|
||||
msgid "If disabled, a random location will be chosen."
|
||||
msgstr "Εάν απενεργοποιηθεί, θα επιλεγεί μια τυχαία θέση."
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:80
|
||||
msgid "Mesh Line Width"
|
||||
msgstr "Πλάτος Γραμμής Πλέγματος"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:113
|
||||
msgid "Line Color"
|
||||
msgstr "Χρώμα Γραμμής"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:138
|
||||
msgid "Glow Color"
|
||||
msgstr "Χρώμα Λάμψης"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:163
|
||||
msgid "Additive Blending"
|
||||
msgstr "Πρόσθετη Ανάμειξη"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:164
|
||||
msgid "You may want to enable this for dark window themes."
|
||||
msgstr "Μπορεί να θέλετε να το ενεργοποιήσετε για θέματα σκοτεινού παραθύρου."
|
||||
|
||||
#: resources/ui/adw/fire.ui:14
|
||||
msgid "Presets"
|
||||
msgstr "Προεπιλογές"
|
||||
|
||||
#: resources/ui/adw/fire.ui:19 resources/ui/adw/mushroom.ui:61
|
||||
msgid "Choose a Preset"
|
||||
msgstr "Επιλέξτε μια Προεπιλογή"
|
||||
|
||||
#: resources/ui/adw/fire.ui:129
|
||||
msgid "3D Noise"
|
||||
msgstr "3D Θόρυβος"
|
||||
|
||||
#: resources/ui/adw/fire.ui:130
|
||||
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||
msgstr "Δημιουργεί μια πιο δυναμική φωτιά, αλλά απαιτεί περισσότερη ισχύ GPU."
|
||||
|
||||
#: resources/ui/adw/fire.ui:152
|
||||
msgid "Gradient"
|
||||
msgstr "Κλίση"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:54
|
||||
msgid "Animation Split"
|
||||
msgstr "Διαχωρισμός Κινουμένων Σχεδίων"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:91
|
||||
msgid "Rotate Window"
|
||||
msgstr "Περιστρεφή Παραθύρου"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:114
|
||||
msgid "Horizontal Sparkle Position"
|
||||
msgstr "Οριζόντια Θέση Σπινθήρων"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:151
|
||||
msgid "Vertical Sparkle Position"
|
||||
msgstr "Κατακόρυφη Θέση Σπινθήρων"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:189
|
||||
msgid "Sparkle Size"
|
||||
msgstr "Μέγεθος Σπινθήρων"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:226
|
||||
msgid "Sparkle Rotation"
|
||||
msgstr "Περιστροφή Σπινθήρων"
|
||||
|
||||
#: resources/ui/adw/focus.ui:87
|
||||
msgid "Blur Quality"
|
||||
msgstr "Ποιότητα Θολώματος"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:65
|
||||
msgid "Effect Profile Constraints"
|
||||
msgstr "Περιορισμοί Προφίλ Εφέ"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:66
|
||||
msgid "Define when the current effect settings should be used."
|
||||
msgstr "Ορίστε πότε πρέπει να χρησιμοποιηθούν οι τρέχουσες ρυθμίσεις εφέ."
|
||||
|
||||
#: resources/ui/adw/prefs.ui:70
|
||||
msgid "Application"
|
||||
msgstr "Εφαρμογή"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:81 resources/ui/adw/prefs.ui:102
|
||||
#: resources/ui/adw/prefs.ui:117 resources/ui/adw/prefs.ui:132
|
||||
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
|
||||
msgid "Any"
|
||||
msgstr "Οποιαδήποτε"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:98
|
||||
msgid "Animation Type"
|
||||
msgstr "Τύπος Κινουμένων Σχεδίων"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:113
|
||||
msgid "Window Type"
|
||||
msgstr "Τύπος Παραθύρου"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:128
|
||||
msgid "Color Scheme"
|
||||
msgstr "Σχέδιο Χρώματος"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:143
|
||||
msgid "Power Mode"
|
||||
msgstr "Λειτουργία Ισχύος"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:158
|
||||
msgid "Power Profile"
|
||||
msgstr "Προφίλ Ισχύος"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:179
|
||||
msgid "Advanced Profile Options"
|
||||
msgstr "Προχωρημένες Επιλογές Προφίλ"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:184
|
||||
msgid "Use this profile even if there are better matching profiles."
|
||||
msgstr ""
|
||||
"Χρησιμοποιήστε αυτό το προφίλ ακόμη και αν υπάρχουν καλύτερα αντιστοιχίσιμα "
|
||||
"προφίλ ."
|
||||
|
||||
#: resources/ui/adw/prefs.ui:204
|
||||
msgid "Delete this Profile..."
|
||||
msgstr "Διαγράψτε αυτό το Προφίλ .."
|
||||
|
||||
#: resources/ui/adw/prefs.ui:223
|
||||
msgid "Effect Selection"
|
||||
msgstr "Επιλογή Εφέ"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:224
|
||||
msgid "If multiple are selected, one is chosen randomly."
|
||||
msgstr "Εάν έχουν επιλεγεί πολλαπλά, επιλέγεται ένα τυχαία."
|
||||
|
||||
#: resources/ui/adw/prefs.ui:235
|
||||
msgid "Search..."
|
||||
msgstr "Αναζήτηση..."
|
||||
|
||||
#: resources/ui/adw/prefs.ui:250
|
||||
msgid "Enable All"
|
||||
msgstr "Ενεργοποίηση Όλων"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:256
|
||||
msgid "Disable All"
|
||||
msgstr "Απενεργοποίηση Όλων"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:55
|
||||
msgid "Effect Presets"
|
||||
msgstr "Προεπιλογές Εφέ"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:73
|
||||
msgid "Scale Style"
|
||||
msgstr "Στυλ Κλιμάκωσης"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:74
|
||||
msgid "8Bit --- Smooth"
|
||||
msgstr "8Bit --- Ομαλό"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:112
|
||||
msgid "Spark Count"
|
||||
msgstr "Πλήθος Σπινθήρων"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:150
|
||||
msgid "Spark Rotation"
|
||||
msgstr "Περιστροφή Σπινθήρα"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:188
|
||||
msgid "Spark Color"
|
||||
msgstr "Χρώμα Σπινθήρων"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:222
|
||||
msgid "Rays Color"
|
||||
msgstr "Χρώμα Ακτίνων"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:256
|
||||
msgid "Star Rings Count"
|
||||
msgstr "Πλήθος Αστρικών Δακτυλίων"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:294
|
||||
msgid "Star Ring Rotation"
|
||||
msgstr "Περιστροφή Αστρικού Δακτυλίου"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:332
|
||||
msgid "Stars Count Per Ring"
|
||||
msgstr "Πλήθος Αστέρων Ανά Δακτύλιο"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:370
|
||||
msgid "Star Gradient"
|
||||
msgstr "Κλίση Αστέρα"
|
||||
|
||||
#: resources/ui/adw/pixelate.ui:47
|
||||
msgid "Noise"
|
||||
msgstr "Θόρυβος"
|
||||
@@ -0,0 +1,766 @@
|
||||
# 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: 2025-02-17 20:23+0100\n"
|
||||
"PO-Revision-Date: 2025-02-04 12:01+0000\n"
|
||||
"Last-Translator: Priit Jõerüüt <hwlate@joeruut.com>\n"
|
||||
"Language-Team: Estonian <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||
"core/et/>\n"
|
||||
"Language: et\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 5.10-dev\n"
|
||||
|
||||
#: src/effects/Apparition.js:80
|
||||
msgid "Apparition"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/AuraGlow.js:89
|
||||
msgid "Aura Glow"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/BrokenGlass.js:138
|
||||
msgid "Broken Glass"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Doom.js:87
|
||||
msgid "Doom"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/EnergizeA.js:74
|
||||
msgid "Energize A"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/EnergizeB.js:75
|
||||
msgid "Energize B"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Fire.js:96
|
||||
msgid "Fire"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Fire.js:150
|
||||
msgid "Default Fire"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Fire.js:160
|
||||
msgid "Hell Fire"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Fire.js:170
|
||||
msgid "Dark and Smutty"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Fire.js:180
|
||||
msgid "Cold Breeze"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Fire.js:190
|
||||
msgid "Santa is Coming"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Fire.js:201
|
||||
msgid "Nuclear ☢️"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Focus.js:76
|
||||
msgid "Focus"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Glide.js:78
|
||||
msgid "Glide"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Glitch.js:80
|
||||
msgid "Glitch"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Hexagon.js:83
|
||||
msgid "Hexagon"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Incinerate.js:126
|
||||
msgid "Incinerate"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Matrix.js:109
|
||||
msgid "Matrix"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:124
|
||||
msgid "Mushroom"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:204
|
||||
msgid "8Bit Plumber"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:221
|
||||
msgid "New Bros 2 🍄"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:239
|
||||
msgid "Red White and Blue 🇺🇸"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:256
|
||||
msgid "Rainbow 🌈"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:273
|
||||
msgid "Cattuccino 😺"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:291
|
||||
msgid "Dracula 🦇"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:308
|
||||
msgid "Sparkle ✨"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/PaintBrush.js:101
|
||||
msgid "Paint Brush"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Pixelate.js:74
|
||||
msgid "Pixelate"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/PixelWheel.js:74
|
||||
msgid "Pixel Wheel"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/PixelWipe.js:100
|
||||
msgid "Pixel Wipe"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Portal.js:82
|
||||
msgid "Portal"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/RGBWarp.js:77
|
||||
msgid "RGB Warp"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/SnapOfDisintegration.js:110
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/TeamRocket.js:89
|
||||
msgid "Team Rocket"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/TRexAttack.js:109
|
||||
msgid "T-Rex Attack"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/TVEffect.js:73
|
||||
msgid "TV Effect"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/TVGlitch.js:81
|
||||
msgid "TV Glitch"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Wisps.js:85
|
||||
msgid "Wisps"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:256
|
||||
msgid "Preview this effect"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:333
|
||||
msgid "Burn-My-Windows has been updated!"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:334 resources/ui/common/menus.ui:17
|
||||
msgid "View Changelog"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:516
|
||||
msgid "Delete this Profile?"
|
||||
msgstr "Kas kustutame selle profiili?"
|
||||
|
||||
#: prefs.js:517
|
||||
msgid ""
|
||||
"The current effect profile with all its effect settings will be permanently "
|
||||
"lost."
|
||||
msgstr ""
|
||||
"Praegune profiil koos kõikide seadistatud efektidega läheb jäädavalt kaotsi."
|
||||
|
||||
#: prefs.js:520
|
||||
msgid "Cancel"
|
||||
msgstr "Katkesta"
|
||||
|
||||
#: prefs.js:525
|
||||
msgid "Delete"
|
||||
msgstr "Kustuta"
|
||||
|
||||
#: prefs.js:757 resources/ui/adw/prefs.ui:103
|
||||
msgid "Opening Windows"
|
||||
msgstr "Avame aknaid"
|
||||
|
||||
#: prefs.js:758 resources/ui/adw/prefs.ui:104
|
||||
msgid "Closing Windows"
|
||||
msgstr "Sulgeme aknaid"
|
||||
|
||||
#: prefs.js:759 resources/ui/adw/prefs.ui:118
|
||||
msgid "Normal Windows"
|
||||
msgstr "Tavalised aknad"
|
||||
|
||||
#: prefs.js:760 resources/ui/adw/prefs.ui:119
|
||||
msgid "Dialog Windows"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:761 resources/ui/adw/prefs.ui:133
|
||||
msgid "Default Color Scheme"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:762 resources/ui/adw/prefs.ui:134
|
||||
msgid "Dark Color Scheme"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:763 resources/ui/adw/prefs.ui:148
|
||||
msgid "On Battery"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:764 resources/ui/adw/prefs.ui:149
|
||||
msgid "Plugged In"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:765 resources/ui/adw/prefs.ui:163
|
||||
msgid "Power-Saver Mode"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:766 resources/ui/adw/prefs.ui:164
|
||||
msgid "Balanced Mode"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:767 resources/ui/adw/prefs.ui:165
|
||||
msgid "Performance Mode"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:768 resources/ui/adw/prefs.ui:166
|
||||
msgid "Power Saver or Balanced"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:769 resources/ui/adw/prefs.ui:167
|
||||
msgid "Balanced or Performance"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:774 resources/ui/adw/prefs.ui:183
|
||||
msgid "High Priority"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:780
|
||||
msgid "Standard Profile"
|
||||
msgstr ""
|
||||
|
||||
#. Translators: %s will be replaced by the effect's name.
|
||||
#: prefs.js:860
|
||||
#, javascript-format
|
||||
msgid "Preview for %s"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:879
|
||||
msgid "Close this Window to Preview the Effect!"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:13
|
||||
msgid "Visit Homepage"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:21
|
||||
msgid "View Matching Wallpapers"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:25
|
||||
msgid "View Donors Hall-of-Fame"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:31
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:50
|
||||
msgid "Report a Bug"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:54
|
||||
msgid "Create an Effect"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:58
|
||||
msgid "Translate"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:64
|
||||
msgid "Open Effect-Profile Directory"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:70
|
||||
msgid "About Burn-My-Windows"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:81
|
||||
msgid "Add New Profile..."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:15 resources/ui/adw/tv-glitch.ui:14
|
||||
#: resources/ui/adw/glitch.ui:14 resources/ui/adw/matrix.ui:14
|
||||
#: resources/ui/adw/doom.ui:14 resources/ui/adw/rgbwarp.ui:17
|
||||
#: resources/ui/adw/paint-brush.ui:14 resources/ui/adw/trex.ui:14
|
||||
#: resources/ui/adw/wisps.ui:14 resources/ui/adw/aura-glow.ui:13
|
||||
#: resources/ui/adw/energize-b.ui:15 resources/ui/adw/pixel-wheel.ui:14
|
||||
#: resources/ui/adw/glide.ui:14 resources/ui/adw/apparition.ui:15
|
||||
#: resources/ui/adw/portal.ui:14 resources/ui/adw/incinerate.ui:14
|
||||
#: resources/ui/adw/hexagon.ui:14 resources/ui/adw/fire.ui:30
|
||||
#: resources/ui/adw/team-rocket.ui:17 resources/ui/adw/pixel-wipe.ui:14
|
||||
#: resources/ui/adw/snap.ui:14 resources/ui/adw/focus.ui:35
|
||||
#: resources/ui/adw/mushroom.ui:17 resources/ui/adw/energize-a.ui:14
|
||||
#: resources/ui/adw/pixelate.ui:14 resources/ui/adw/tv.ui:14
|
||||
msgid "Animation Time [ms]"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:37 resources/ui/adw/broken-glass.ui:70
|
||||
#: resources/ui/adw/broken-glass.ui:103 resources/ui/adw/broken-glass.ui:136
|
||||
#: resources/ui/adw/broken-glass.ui:159 resources/ui/adw/tv-glitch.ui:36
|
||||
#: resources/ui/adw/tv-glitch.ui:69 resources/ui/adw/tv-glitch.ui:102
|
||||
#: resources/ui/adw/tv-glitch.ui:135 resources/ui/adw/tv-glitch.ui:160
|
||||
#: resources/ui/adw/glitch.ui:36 resources/ui/adw/glitch.ui:69
|
||||
#: resources/ui/adw/glitch.ui:102 resources/ui/adw/glitch.ui:135
|
||||
#: resources/ui/adw/glitch.ui:160 resources/ui/adw/matrix.ui:36
|
||||
#: resources/ui/adw/matrix.ui:69 resources/ui/adw/matrix.ui:102
|
||||
#: resources/ui/adw/matrix.ui:135 resources/ui/adw/matrix.ui:160
|
||||
#: resources/ui/adw/matrix.ui:185 resources/ui/adw/doom.ui:36
|
||||
#: resources/ui/adw/doom.ui:69 resources/ui/adw/doom.ui:102
|
||||
#: resources/ui/adw/doom.ui:135 resources/ui/adw/rgbwarp.ui:42
|
||||
#: resources/ui/adw/rgbwarp.ui:81 resources/ui/adw/rgbwarp.ui:118
|
||||
#: resources/ui/adw/rgbwarp.ui:155 resources/ui/adw/rgbwarp.ui:192
|
||||
#: resources/ui/adw/paint-brush.ui:36 resources/ui/adw/paint-brush.ui:69
|
||||
#: resources/ui/adw/trex.ui:36 resources/ui/adw/trex.ui:69
|
||||
#: resources/ui/adw/trex.ui:102 resources/ui/adw/trex.ui:135
|
||||
#: resources/ui/adw/trex.ui:160 resources/ui/adw/wisps.ui:36
|
||||
#: resources/ui/adw/wisps.ui:69 resources/ui/adw/wisps.ui:110
|
||||
#: resources/ui/adw/aura-glow.ui:35 resources/ui/adw/aura-glow.ui:58
|
||||
#: resources/ui/adw/aura-glow.ui:92 resources/ui/adw/aura-glow.ui:125
|
||||
#: resources/ui/adw/aura-glow.ui:158 resources/ui/adw/aura-glow.ui:191
|
||||
#: resources/ui/adw/aura-glow.ui:224 resources/ui/adw/aura-glow.ui:257
|
||||
#: resources/ui/adw/energize-b.ui:37 resources/ui/adw/energize-b.ui:70
|
||||
#: resources/ui/adw/energize-b.ui:95 resources/ui/adw/pixel-wheel.ui:36
|
||||
#: resources/ui/adw/pixel-wheel.ui:69 resources/ui/adw/pixel-wheel.ui:102
|
||||
#: resources/ui/adw/glide.ui:36 resources/ui/adw/glide.ui:69
|
||||
#: resources/ui/adw/glide.ui:102 resources/ui/adw/glide.ui:135
|
||||
#: resources/ui/adw/glide.ui:168 resources/ui/adw/apparition.ui:37
|
||||
#: resources/ui/adw/apparition.ui:70 resources/ui/adw/apparition.ui:103
|
||||
#: resources/ui/adw/apparition.ui:136 resources/ui/adw/apparition.ui:169
|
||||
#: resources/ui/adw/portal.ui:36 resources/ui/adw/portal.ui:69
|
||||
#: resources/ui/adw/portal.ui:102 resources/ui/adw/portal.ui:135
|
||||
#: resources/ui/adw/portal.ui:160 resources/ui/adw/incinerate.ui:36
|
||||
#: resources/ui/adw/incinerate.ui:69 resources/ui/adw/incinerate.ui:102
|
||||
#: resources/ui/adw/incinerate.ui:125 resources/ui/adw/incinerate.ui:150
|
||||
#: resources/ui/adw/hexagon.ui:36 resources/ui/adw/hexagon.ui:69
|
||||
#: resources/ui/adw/hexagon.ui:102 resources/ui/adw/hexagon.ui:127
|
||||
#: resources/ui/adw/hexagon.ui:152 resources/ui/adw/hexagon.ui:175
|
||||
#: resources/ui/adw/fire.ui:52 resources/ui/adw/fire.ui:85
|
||||
#: resources/ui/adw/fire.ui:118 resources/ui/adw/fire.ui:141
|
||||
#: resources/ui/adw/fire.ui:199 resources/ui/adw/team-rocket.ui:42
|
||||
#: resources/ui/adw/team-rocket.ui:80 resources/ui/adw/team-rocket.ui:102
|
||||
#: resources/ui/adw/team-rocket.ui:139 resources/ui/adw/team-rocket.ui:176
|
||||
#: resources/ui/adw/team-rocket.ui:214 resources/ui/adw/team-rocket.ui:251
|
||||
#: resources/ui/adw/pixel-wipe.ui:36 resources/ui/adw/pixel-wipe.ui:69
|
||||
#: resources/ui/adw/snap.ui:36 resources/ui/adw/snap.ui:69
|
||||
#: resources/ui/adw/snap.ui:94 resources/ui/adw/focus.ui:50
|
||||
#: resources/ui/adw/focus.ui:76 resources/ui/adw/focus.ui:102
|
||||
#: resources/ui/adw/mushroom.ui:42 resources/ui/adw/mushroom.ui:99
|
||||
#: resources/ui/adw/mushroom.ui:137 resources/ui/adw/mushroom.ui:175
|
||||
#: resources/ui/adw/mushroom.ui:209 resources/ui/adw/mushroom.ui:243
|
||||
#: resources/ui/adw/mushroom.ui:281 resources/ui/adw/mushroom.ui:319
|
||||
#: resources/ui/adw/mushroom.ui:357 resources/ui/adw/mushroom.ui:427
|
||||
#: resources/ui/adw/energize-a.ui:36 resources/ui/adw/energize-a.ui:69
|
||||
#: resources/ui/adw/energize-a.ui:94 resources/ui/adw/pixelate.ui:36
|
||||
#: resources/ui/adw/pixelate.ui:69 resources/ui/adw/pixelate.ui:102
|
||||
#: resources/ui/adw/tv.ui:36 resources/ui/adw/tv.ui:61
|
||||
msgid "Reset to Default Value"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:48 resources/ui/adw/tv-glitch.ui:47
|
||||
#: resources/ui/adw/glitch.ui:47 resources/ui/adw/matrix.ui:47
|
||||
#: resources/ui/adw/wisps.ui:47 resources/ui/adw/energize-b.ui:48
|
||||
#: resources/ui/adw/glide.ui:47 resources/ui/adw/incinerate.ui:47
|
||||
#: resources/ui/adw/hexagon.ui:47 resources/ui/adw/fire.ui:63
|
||||
#: resources/ui/adw/snap.ui:47 resources/ui/adw/energize-a.ui:47
|
||||
msgid "Scale"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:81
|
||||
msgid "Gravity"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:114
|
||||
msgid "Blow Force"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:147
|
||||
msgid "Shatter From Pointer Location"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:148
|
||||
msgid ""
|
||||
"The shards will fly away from where your mouse pointer was when closing the "
|
||||
"window."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
|
||||
msgid "Strength"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:113 resources/ui/adw/glitch.ui:113
|
||||
#: resources/ui/adw/aura-glow.ui:103 resources/ui/adw/fire.ui:96
|
||||
msgid "Speed"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:146 resources/ui/adw/glitch.ui:146
|
||||
#: resources/ui/adw/wisps.ui:80 resources/ui/adw/energize-b.ui:81
|
||||
#: resources/ui/adw/portal.ui:146 resources/ui/adw/incinerate.ui:136
|
||||
#: resources/ui/adw/snap.ui:80 resources/ui/adw/energize-a.ui:80
|
||||
#: resources/ui/adw/tv.ui:47
|
||||
msgid "Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/matrix.ui:80 resources/ui/adw/apparition.ui:48
|
||||
msgid "Randomness"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/matrix.ui:113
|
||||
msgid "Vertical Overshooting"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/matrix.ui:146
|
||||
msgid "Trail Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/matrix.ui:171
|
||||
msgid "Tip Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/doom.ui:47
|
||||
msgid "Horizontal Scale"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/doom.ui:80
|
||||
msgid "Vertical Scale"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/doom.ui:113 resources/ui/adw/pixel-wheel.ui:80
|
||||
#: resources/ui/adw/pixel-wipe.ui:47 resources/ui/adw/pixelate.ui:80
|
||||
msgid "Pixel Size"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:55
|
||||
msgid "Brightness"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:93
|
||||
msgid "Red Speed"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:130
|
||||
msgid "Green Speed"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:167
|
||||
msgid "Blue Speed"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/paint-brush.ui:47
|
||||
msgid "Brush Size"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/trex.ui:47
|
||||
msgid "Claw Scratch Scale"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/trex.ui:80
|
||||
msgid "Claw Scratch Count"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/trex.ui:113
|
||||
msgid "Warp Effect"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/trex.ui:146
|
||||
msgid "Flash Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:47
|
||||
msgid "Random Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:69
|
||||
msgid "Start Hue"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:136
|
||||
msgid "Saturation"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:169
|
||||
msgid "Edge Size"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:202
|
||||
msgid "Edge Hardness"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:235 resources/ui/adw/focus.ui:61
|
||||
msgid "Blur Amount"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/pixel-wheel.ui:47
|
||||
msgid "Spoke Count"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/glide.ui:80
|
||||
msgid "Squish"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/glide.ui:113
|
||||
msgid "Tilt"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/glide.ui:146
|
||||
msgid "Shift"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/apparition.ui:81
|
||||
msgid "Twirl Intensity"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/apparition.ui:114
|
||||
msgid "Shake Intensity"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/apparition.ui:147
|
||||
msgid "Suction Intensity"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/portal.ui:47
|
||||
msgid "Rotation Speed"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/portal.ui:80
|
||||
msgid "Whirling"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/portal.ui:113
|
||||
msgid "Details"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:80
|
||||
msgid "Turbulence"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:113
|
||||
msgid "Start at Pointer"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:114
|
||||
msgid "If disabled, a random location will be chosen."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:80
|
||||
msgid "Mesh Line Width"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:113
|
||||
msgid "Line Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:138
|
||||
msgid "Glow Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:163
|
||||
msgid "Additive Blending"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:164
|
||||
msgid "You may want to enable this for dark window themes."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/fire.ui:14
|
||||
msgid "Presets"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/fire.ui:19 resources/ui/adw/mushroom.ui:61
|
||||
msgid "Choose a Preset"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/fire.ui:129
|
||||
msgid "3D Noise"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/fire.ui:130
|
||||
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/fire.ui:152
|
||||
msgid "Gradient"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:54
|
||||
msgid "Animation Split"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:91
|
||||
msgid "Rotate Window"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:114
|
||||
msgid "Horizontal Sparkle Position"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:151
|
||||
msgid "Vertical Sparkle Position"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:189
|
||||
msgid "Sparkle Size"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:226
|
||||
msgid "Sparkle Rotation"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/focus.ui:87
|
||||
msgid "Blur Quality"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:65
|
||||
msgid "Effect Profile Constraints"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:66
|
||||
msgid "Define when the current effect settings should be used."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:70
|
||||
msgid "Application"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:81 resources/ui/adw/prefs.ui:102
|
||||
#: resources/ui/adw/prefs.ui:117 resources/ui/adw/prefs.ui:132
|
||||
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:98
|
||||
msgid "Animation Type"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:113
|
||||
msgid "Window Type"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:128
|
||||
msgid "Color Scheme"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:143
|
||||
msgid "Power Mode"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:158
|
||||
msgid "Power Profile"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:179
|
||||
msgid "Advanced Profile Options"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:184
|
||||
msgid "Use this profile even if there are better matching profiles."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:204
|
||||
msgid "Delete this Profile..."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:223
|
||||
msgid "Effect Selection"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:224
|
||||
msgid "If multiple are selected, one is chosen randomly."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:235
|
||||
msgid "Search..."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:250
|
||||
msgid "Enable All"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:256
|
||||
msgid "Disable All"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:55
|
||||
msgid "Effect Presets"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:73
|
||||
msgid "Scale Style"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:74
|
||||
msgid "8Bit --- Smooth"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:112
|
||||
msgid "Spark Count"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:150
|
||||
msgid "Spark Rotation"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:188
|
||||
msgid "Spark Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:222
|
||||
msgid "Rays Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:256
|
||||
msgid "Star Rings Count"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:294
|
||||
msgid "Star Ring Rotation"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:332
|
||||
msgid "Stars Count Per Ring"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:370
|
||||
msgid "Star Gradient"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/pixelate.ui:47
|
||||
msgid "Noise"
|
||||
msgstr ""
|
||||
@@ -0,0 +1,784 @@
|
||||
# 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: 2025-02-17 20:23+0100\n"
|
||||
"PO-Revision-Date: 2024-05-08 03:07+0000\n"
|
||||
"Last-Translator: Scrambled777 <weblate.scrambled777@simplelogin.com>\n"
|
||||
"Language-Team: Hindi <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||
"core/hi/>\n"
|
||||
"Language: hi\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 5.5.4-rc\n"
|
||||
|
||||
#: src/effects/Apparition.js:80
|
||||
msgid "Apparition"
|
||||
msgstr "प्रेतछाया"
|
||||
|
||||
#: src/effects/AuraGlow.js:89
|
||||
msgid "Aura Glow"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/BrokenGlass.js:138
|
||||
msgid "Broken Glass"
|
||||
msgstr "टूटा हुआ शीशा"
|
||||
|
||||
#: src/effects/Doom.js:87
|
||||
msgid "Doom"
|
||||
msgstr "कयामत"
|
||||
|
||||
#: src/effects/EnergizeA.js:74
|
||||
msgid "Energize A"
|
||||
msgstr "ऊर्जावान A"
|
||||
|
||||
#: src/effects/EnergizeB.js:75
|
||||
msgid "Energize B"
|
||||
msgstr "ऊर्जावान B"
|
||||
|
||||
#: src/effects/Fire.js:96
|
||||
msgid "Fire"
|
||||
msgstr "आग"
|
||||
|
||||
#: src/effects/Fire.js:150
|
||||
msgid "Default Fire"
|
||||
msgstr "तयशुदा आग"
|
||||
|
||||
#: src/effects/Fire.js:160
|
||||
msgid "Hell Fire"
|
||||
msgstr "नरक की आग"
|
||||
|
||||
#: src/effects/Fire.js:170
|
||||
msgid "Dark and Smutty"
|
||||
msgstr "अँधेरी और मैली"
|
||||
|
||||
#: src/effects/Fire.js:180
|
||||
msgid "Cold Breeze"
|
||||
msgstr "ठंडी हवा"
|
||||
|
||||
#: src/effects/Fire.js:190
|
||||
msgid "Santa is Coming"
|
||||
msgstr "सांता आ रहा है"
|
||||
|
||||
#: src/effects/Fire.js:201
|
||||
msgid "Nuclear ☢️"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Focus.js:76
|
||||
msgid "Focus"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Glide.js:78
|
||||
msgid "Glide"
|
||||
msgstr "फिसलन"
|
||||
|
||||
#: src/effects/Glitch.js:80
|
||||
msgid "Glitch"
|
||||
msgstr "गड़बड़ी"
|
||||
|
||||
#: src/effects/Hexagon.js:83
|
||||
msgid "Hexagon"
|
||||
msgstr "षटकोण"
|
||||
|
||||
#: src/effects/Incinerate.js:126
|
||||
msgid "Incinerate"
|
||||
msgstr "भस्म"
|
||||
|
||||
#: src/effects/Matrix.js:109
|
||||
msgid "Matrix"
|
||||
msgstr "आव्यूह"
|
||||
|
||||
#: src/effects/Mushroom.js:124
|
||||
msgid "Mushroom"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:204
|
||||
msgid "8Bit Plumber"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:221
|
||||
msgid "New Bros 2 🍄"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:239
|
||||
msgid "Red White and Blue 🇺🇸"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:256
|
||||
msgid "Rainbow 🌈"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:273
|
||||
msgid "Cattuccino 😺"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:291
|
||||
msgid "Dracula 🦇"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:308
|
||||
msgid "Sparkle ✨"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/PaintBrush.js:101
|
||||
msgid "Paint Brush"
|
||||
msgstr "पेंट ब्रश"
|
||||
|
||||
#: src/effects/Pixelate.js:74
|
||||
msgid "Pixelate"
|
||||
msgstr "पिक्सलेट"
|
||||
|
||||
#: src/effects/PixelWheel.js:74
|
||||
msgid "Pixel Wheel"
|
||||
msgstr "पिक्सल व्हील"
|
||||
|
||||
#: src/effects/PixelWipe.js:100
|
||||
msgid "Pixel Wipe"
|
||||
msgstr "पिक्सल वाइप"
|
||||
|
||||
#: src/effects/Portal.js:82
|
||||
msgid "Portal"
|
||||
msgstr "पोर्टल"
|
||||
|
||||
#: src/effects/RGBWarp.js:77
|
||||
msgid "RGB Warp"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/SnapOfDisintegration.js:110
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr "विघटन की चुटकी"
|
||||
|
||||
#: src/effects/TeamRocket.js:89
|
||||
msgid "Team Rocket"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/TRexAttack.js:109
|
||||
msgid "T-Rex Attack"
|
||||
msgstr "T-Rex का हमला"
|
||||
|
||||
#: src/effects/TVEffect.js:73
|
||||
msgid "TV Effect"
|
||||
msgstr "TV प्रभाव"
|
||||
|
||||
#: src/effects/TVGlitch.js:81
|
||||
msgid "TV Glitch"
|
||||
msgstr "TV की गड़बड़ी"
|
||||
|
||||
#: src/effects/Wisps.js:85
|
||||
msgid "Wisps"
|
||||
msgstr "विसप्स"
|
||||
|
||||
#: prefs.js:256
|
||||
msgid "Preview this effect"
|
||||
msgstr "इस प्रभाव का पूर्वावलोकन करें"
|
||||
|
||||
#: prefs.js:333
|
||||
msgid "Burn-My-Windows has been updated!"
|
||||
msgstr "Burn-My-Windows अपडेट कर दिया गया है!"
|
||||
|
||||
#: prefs.js:334 resources/ui/common/menus.ui:17
|
||||
msgid "View Changelog"
|
||||
msgstr "चेंजलॉग देखें"
|
||||
|
||||
#: prefs.js:516
|
||||
msgid "Delete this Profile?"
|
||||
msgstr "यह प्रोफ़ाइल हटाएं?"
|
||||
|
||||
#: prefs.js:517
|
||||
msgid ""
|
||||
"The current effect profile with all its effect settings will be permanently "
|
||||
"lost."
|
||||
msgstr "वर्तमान प्रभाव प्रोफ़ाइल अपनी सभी प्रभाव सेटिंग्स के साथ स्थायी रूप से खो जाएगी।"
|
||||
|
||||
#: prefs.js:520
|
||||
msgid "Cancel"
|
||||
msgstr "रद्द करें"
|
||||
|
||||
#: prefs.js:525
|
||||
msgid "Delete"
|
||||
msgstr "मिटाएं"
|
||||
|
||||
#: prefs.js:757 resources/ui/adw/prefs.ui:103
|
||||
msgid "Opening Windows"
|
||||
msgstr "विंडो खोलते समय"
|
||||
|
||||
#: prefs.js:758 resources/ui/adw/prefs.ui:104
|
||||
msgid "Closing Windows"
|
||||
msgstr "विंडो बंद करते समय"
|
||||
|
||||
#: prefs.js:759 resources/ui/adw/prefs.ui:118
|
||||
msgid "Normal Windows"
|
||||
msgstr "सामान्य विंडो"
|
||||
|
||||
#: prefs.js:760 resources/ui/adw/prefs.ui:119
|
||||
msgid "Dialog Windows"
|
||||
msgstr "संवाद विंडो"
|
||||
|
||||
#: prefs.js:761 resources/ui/adw/prefs.ui:133
|
||||
msgid "Default Color Scheme"
|
||||
msgstr "तयशुदा रंग योजना"
|
||||
|
||||
#: prefs.js:762 resources/ui/adw/prefs.ui:134
|
||||
msgid "Dark Color Scheme"
|
||||
msgstr "गहरी रंग योजना"
|
||||
|
||||
#: prefs.js:763 resources/ui/adw/prefs.ui:148
|
||||
msgid "On Battery"
|
||||
msgstr "बैटरी पर"
|
||||
|
||||
#: prefs.js:764 resources/ui/adw/prefs.ui:149
|
||||
msgid "Plugged In"
|
||||
msgstr "जब प्लग इन हो"
|
||||
|
||||
#: prefs.js:765 resources/ui/adw/prefs.ui:163
|
||||
msgid "Power-Saver Mode"
|
||||
msgstr "पावर-सेवर मोड"
|
||||
|
||||
#: prefs.js:766 resources/ui/adw/prefs.ui:164
|
||||
msgid "Balanced Mode"
|
||||
msgstr "संतुलित मोड"
|
||||
|
||||
#: prefs.js:767 resources/ui/adw/prefs.ui:165
|
||||
msgid "Performance Mode"
|
||||
msgstr "प्रदर्शन मोड"
|
||||
|
||||
#: prefs.js:768 resources/ui/adw/prefs.ui:166
|
||||
msgid "Power Saver or Balanced"
|
||||
msgstr "पावर सेवर या संतुलित"
|
||||
|
||||
#: prefs.js:769 resources/ui/adw/prefs.ui:167
|
||||
msgid "Balanced or Performance"
|
||||
msgstr "संतुलित या प्रदर्शन"
|
||||
|
||||
#: prefs.js:774 resources/ui/adw/prefs.ui:183
|
||||
msgid "High Priority"
|
||||
msgstr "उच्च प्राथमिकता"
|
||||
|
||||
#: prefs.js:780
|
||||
msgid "Standard Profile"
|
||||
msgstr "मानक प्रोफ़ाइल"
|
||||
|
||||
#. Translators: %s will be replaced by the effect's name.
|
||||
#: prefs.js:860
|
||||
#, javascript-format
|
||||
msgid "Preview for %s"
|
||||
msgstr "%s का पूर्वावलोकन"
|
||||
|
||||
#: prefs.js:879
|
||||
msgid "Close this Window to Preview the Effect!"
|
||||
msgstr "प्रभाव का पूर्वावलोकन करने के लिए इस विंडो को बंद करें!"
|
||||
|
||||
#: resources/ui/common/menus.ui:13
|
||||
msgid "Visit Homepage"
|
||||
msgstr "मुखपृष्ठ पर जाएं"
|
||||
|
||||
#: resources/ui/common/menus.ui:21
|
||||
msgid "View Matching Wallpapers"
|
||||
msgstr "मिलते-जुलते वॉलपेपर देखें"
|
||||
|
||||
#: resources/ui/common/menus.ui:25
|
||||
msgid "View Donors Hall-of-Fame"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:31
|
||||
msgid "Donate"
|
||||
msgstr "दान करें"
|
||||
|
||||
#: resources/ui/common/menus.ui:50
|
||||
msgid "Report a Bug"
|
||||
msgstr "बग रिपोर्ट करें"
|
||||
|
||||
#: resources/ui/common/menus.ui:54
|
||||
msgid "Create an Effect"
|
||||
msgstr "एक प्रभाव पैदा करें"
|
||||
|
||||
#: resources/ui/common/menus.ui:58
|
||||
msgid "Translate"
|
||||
msgstr "अनुवाद"
|
||||
|
||||
#: resources/ui/common/menus.ui:64
|
||||
msgid "Open Effect-Profile Directory"
|
||||
msgstr "इफ़ेक्ट-प्रोफ़ाइल निर्देशिका खोलें"
|
||||
|
||||
#: resources/ui/common/menus.ui:70
|
||||
msgid "About Burn-My-Windows"
|
||||
msgstr "Burn-My-Windows के बारे में"
|
||||
|
||||
#: resources/ui/common/menus.ui:81
|
||||
msgid "Add New Profile..."
|
||||
msgstr "नई प्रोफ़ाइल जोड़ें…"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:15 resources/ui/adw/tv-glitch.ui:14
|
||||
#: resources/ui/adw/glitch.ui:14 resources/ui/adw/matrix.ui:14
|
||||
#: resources/ui/adw/doom.ui:14 resources/ui/adw/rgbwarp.ui:17
|
||||
#: resources/ui/adw/paint-brush.ui:14 resources/ui/adw/trex.ui:14
|
||||
#: resources/ui/adw/wisps.ui:14 resources/ui/adw/aura-glow.ui:13
|
||||
#: resources/ui/adw/energize-b.ui:15 resources/ui/adw/pixel-wheel.ui:14
|
||||
#: resources/ui/adw/glide.ui:14 resources/ui/adw/apparition.ui:15
|
||||
#: resources/ui/adw/portal.ui:14 resources/ui/adw/incinerate.ui:14
|
||||
#: resources/ui/adw/hexagon.ui:14 resources/ui/adw/fire.ui:30
|
||||
#: resources/ui/adw/team-rocket.ui:17 resources/ui/adw/pixel-wipe.ui:14
|
||||
#: resources/ui/adw/snap.ui:14 resources/ui/adw/focus.ui:35
|
||||
#: resources/ui/adw/mushroom.ui:17 resources/ui/adw/energize-a.ui:14
|
||||
#: resources/ui/adw/pixelate.ui:14 resources/ui/adw/tv.ui:14
|
||||
msgid "Animation Time [ms]"
|
||||
msgstr "एनीमेशन समय [ms]"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:37 resources/ui/adw/broken-glass.ui:70
|
||||
#: resources/ui/adw/broken-glass.ui:103 resources/ui/adw/broken-glass.ui:136
|
||||
#: resources/ui/adw/broken-glass.ui:159 resources/ui/adw/tv-glitch.ui:36
|
||||
#: resources/ui/adw/tv-glitch.ui:69 resources/ui/adw/tv-glitch.ui:102
|
||||
#: resources/ui/adw/tv-glitch.ui:135 resources/ui/adw/tv-glitch.ui:160
|
||||
#: resources/ui/adw/glitch.ui:36 resources/ui/adw/glitch.ui:69
|
||||
#: resources/ui/adw/glitch.ui:102 resources/ui/adw/glitch.ui:135
|
||||
#: resources/ui/adw/glitch.ui:160 resources/ui/adw/matrix.ui:36
|
||||
#: resources/ui/adw/matrix.ui:69 resources/ui/adw/matrix.ui:102
|
||||
#: resources/ui/adw/matrix.ui:135 resources/ui/adw/matrix.ui:160
|
||||
#: resources/ui/adw/matrix.ui:185 resources/ui/adw/doom.ui:36
|
||||
#: resources/ui/adw/doom.ui:69 resources/ui/adw/doom.ui:102
|
||||
#: resources/ui/adw/doom.ui:135 resources/ui/adw/rgbwarp.ui:42
|
||||
#: resources/ui/adw/rgbwarp.ui:81 resources/ui/adw/rgbwarp.ui:118
|
||||
#: resources/ui/adw/rgbwarp.ui:155 resources/ui/adw/rgbwarp.ui:192
|
||||
#: resources/ui/adw/paint-brush.ui:36 resources/ui/adw/paint-brush.ui:69
|
||||
#: resources/ui/adw/trex.ui:36 resources/ui/adw/trex.ui:69
|
||||
#: resources/ui/adw/trex.ui:102 resources/ui/adw/trex.ui:135
|
||||
#: resources/ui/adw/trex.ui:160 resources/ui/adw/wisps.ui:36
|
||||
#: resources/ui/adw/wisps.ui:69 resources/ui/adw/wisps.ui:110
|
||||
#: resources/ui/adw/aura-glow.ui:35 resources/ui/adw/aura-glow.ui:58
|
||||
#: resources/ui/adw/aura-glow.ui:92 resources/ui/adw/aura-glow.ui:125
|
||||
#: resources/ui/adw/aura-glow.ui:158 resources/ui/adw/aura-glow.ui:191
|
||||
#: resources/ui/adw/aura-glow.ui:224 resources/ui/adw/aura-glow.ui:257
|
||||
#: resources/ui/adw/energize-b.ui:37 resources/ui/adw/energize-b.ui:70
|
||||
#: resources/ui/adw/energize-b.ui:95 resources/ui/adw/pixel-wheel.ui:36
|
||||
#: resources/ui/adw/pixel-wheel.ui:69 resources/ui/adw/pixel-wheel.ui:102
|
||||
#: resources/ui/adw/glide.ui:36 resources/ui/adw/glide.ui:69
|
||||
#: resources/ui/adw/glide.ui:102 resources/ui/adw/glide.ui:135
|
||||
#: resources/ui/adw/glide.ui:168 resources/ui/adw/apparition.ui:37
|
||||
#: resources/ui/adw/apparition.ui:70 resources/ui/adw/apparition.ui:103
|
||||
#: resources/ui/adw/apparition.ui:136 resources/ui/adw/apparition.ui:169
|
||||
#: resources/ui/adw/portal.ui:36 resources/ui/adw/portal.ui:69
|
||||
#: resources/ui/adw/portal.ui:102 resources/ui/adw/portal.ui:135
|
||||
#: resources/ui/adw/portal.ui:160 resources/ui/adw/incinerate.ui:36
|
||||
#: resources/ui/adw/incinerate.ui:69 resources/ui/adw/incinerate.ui:102
|
||||
#: resources/ui/adw/incinerate.ui:125 resources/ui/adw/incinerate.ui:150
|
||||
#: resources/ui/adw/hexagon.ui:36 resources/ui/adw/hexagon.ui:69
|
||||
#: resources/ui/adw/hexagon.ui:102 resources/ui/adw/hexagon.ui:127
|
||||
#: resources/ui/adw/hexagon.ui:152 resources/ui/adw/hexagon.ui:175
|
||||
#: resources/ui/adw/fire.ui:52 resources/ui/adw/fire.ui:85
|
||||
#: resources/ui/adw/fire.ui:118 resources/ui/adw/fire.ui:141
|
||||
#: resources/ui/adw/fire.ui:199 resources/ui/adw/team-rocket.ui:42
|
||||
#: resources/ui/adw/team-rocket.ui:80 resources/ui/adw/team-rocket.ui:102
|
||||
#: resources/ui/adw/team-rocket.ui:139 resources/ui/adw/team-rocket.ui:176
|
||||
#: resources/ui/adw/team-rocket.ui:214 resources/ui/adw/team-rocket.ui:251
|
||||
#: resources/ui/adw/pixel-wipe.ui:36 resources/ui/adw/pixel-wipe.ui:69
|
||||
#: resources/ui/adw/snap.ui:36 resources/ui/adw/snap.ui:69
|
||||
#: resources/ui/adw/snap.ui:94 resources/ui/adw/focus.ui:50
|
||||
#: resources/ui/adw/focus.ui:76 resources/ui/adw/focus.ui:102
|
||||
#: resources/ui/adw/mushroom.ui:42 resources/ui/adw/mushroom.ui:99
|
||||
#: resources/ui/adw/mushroom.ui:137 resources/ui/adw/mushroom.ui:175
|
||||
#: resources/ui/adw/mushroom.ui:209 resources/ui/adw/mushroom.ui:243
|
||||
#: resources/ui/adw/mushroom.ui:281 resources/ui/adw/mushroom.ui:319
|
||||
#: resources/ui/adw/mushroom.ui:357 resources/ui/adw/mushroom.ui:427
|
||||
#: resources/ui/adw/energize-a.ui:36 resources/ui/adw/energize-a.ui:69
|
||||
#: resources/ui/adw/energize-a.ui:94 resources/ui/adw/pixelate.ui:36
|
||||
#: resources/ui/adw/pixelate.ui:69 resources/ui/adw/pixelate.ui:102
|
||||
#: resources/ui/adw/tv.ui:36 resources/ui/adw/tv.ui:61
|
||||
msgid "Reset to Default Value"
|
||||
msgstr "तयशुदा मान पर रीसेट करें"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:48 resources/ui/adw/tv-glitch.ui:47
|
||||
#: resources/ui/adw/glitch.ui:47 resources/ui/adw/matrix.ui:47
|
||||
#: resources/ui/adw/wisps.ui:47 resources/ui/adw/energize-b.ui:48
|
||||
#: resources/ui/adw/glide.ui:47 resources/ui/adw/incinerate.ui:47
|
||||
#: resources/ui/adw/hexagon.ui:47 resources/ui/adw/fire.ui:63
|
||||
#: resources/ui/adw/snap.ui:47 resources/ui/adw/energize-a.ui:47
|
||||
msgid "Scale"
|
||||
msgstr "पैमाना"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:81
|
||||
msgid "Gravity"
|
||||
msgstr "गुरुत्व"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:114
|
||||
msgid "Blow Force"
|
||||
msgstr "प्रहार का बल"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:147
|
||||
msgid "Shatter From Pointer Location"
|
||||
msgstr "सूचक स्थान से चकनाचूर"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:148
|
||||
msgid ""
|
||||
"The shards will fly away from where your mouse pointer was when closing the "
|
||||
"window."
|
||||
msgstr "खिड़की बंद करते समय आपका माउस सूचक जहां था, वहां से टुकड़े उड़ जाएंगे।"
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
|
||||
msgid "Strength"
|
||||
msgstr "ताकत"
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:113 resources/ui/adw/glitch.ui:113
|
||||
#: resources/ui/adw/aura-glow.ui:103 resources/ui/adw/fire.ui:96
|
||||
msgid "Speed"
|
||||
msgstr "गति"
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:146 resources/ui/adw/glitch.ui:146
|
||||
#: resources/ui/adw/wisps.ui:80 resources/ui/adw/energize-b.ui:81
|
||||
#: resources/ui/adw/portal.ui:146 resources/ui/adw/incinerate.ui:136
|
||||
#: resources/ui/adw/snap.ui:80 resources/ui/adw/energize-a.ui:80
|
||||
#: resources/ui/adw/tv.ui:47
|
||||
msgid "Color"
|
||||
msgstr "रंग"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:80 resources/ui/adw/apparition.ui:48
|
||||
msgid "Randomness"
|
||||
msgstr "बेतरतीबी"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:113
|
||||
msgid "Vertical Overshooting"
|
||||
msgstr "लंबवत ओवरशूटिंग"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:146
|
||||
msgid "Trail Color"
|
||||
msgstr "पगडंडी का रंग"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:171
|
||||
msgid "Tip Color"
|
||||
msgstr "टिप का रंग"
|
||||
|
||||
#: resources/ui/adw/doom.ui:47
|
||||
msgid "Horizontal Scale"
|
||||
msgstr "क्षैतिज पैमाना"
|
||||
|
||||
#: resources/ui/adw/doom.ui:80
|
||||
msgid "Vertical Scale"
|
||||
msgstr "लंबवत पैमाना"
|
||||
|
||||
#: resources/ui/adw/doom.ui:113 resources/ui/adw/pixel-wheel.ui:80
|
||||
#: resources/ui/adw/pixel-wipe.ui:47 resources/ui/adw/pixelate.ui:80
|
||||
msgid "Pixel Size"
|
||||
msgstr "पिक्सल आकार"
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:55
|
||||
msgid "Brightness"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:93
|
||||
msgid "Red Speed"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:130
|
||||
msgid "Green Speed"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:167
|
||||
msgid "Blue Speed"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/paint-brush.ui:47
|
||||
msgid "Brush Size"
|
||||
msgstr "ब्रश का आकार"
|
||||
|
||||
#: resources/ui/adw/trex.ui:47
|
||||
msgid "Claw Scratch Scale"
|
||||
msgstr "पंजे का स्क्रैच स्केल"
|
||||
|
||||
#: resources/ui/adw/trex.ui:80
|
||||
msgid "Claw Scratch Count"
|
||||
msgstr "पंजे की खरोंच गिनती"
|
||||
|
||||
#: resources/ui/adw/trex.ui:113
|
||||
msgid "Warp Effect"
|
||||
msgstr "वार्प प्रभाव"
|
||||
|
||||
#: resources/ui/adw/trex.ui:146
|
||||
msgid "Flash Color"
|
||||
msgstr "फ़्लैश रंग"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:47
|
||||
msgid "Random Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:69
|
||||
msgid "Start Hue"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:136
|
||||
msgid "Saturation"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:169
|
||||
msgid "Edge Size"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:202
|
||||
msgid "Edge Hardness"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:235 resources/ui/adw/focus.ui:61
|
||||
msgid "Blur Amount"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/pixel-wheel.ui:47
|
||||
msgid "Spoke Count"
|
||||
msgstr "स्पोक की गिनती"
|
||||
|
||||
#: resources/ui/adw/glide.ui:80
|
||||
msgid "Squish"
|
||||
msgstr "स्क्विश"
|
||||
|
||||
#: resources/ui/adw/glide.ui:113
|
||||
msgid "Tilt"
|
||||
msgstr "झुकाव"
|
||||
|
||||
#: resources/ui/adw/glide.ui:146
|
||||
msgid "Shift"
|
||||
msgstr "बदलाव"
|
||||
|
||||
#: resources/ui/adw/apparition.ui:81
|
||||
msgid "Twirl Intensity"
|
||||
msgstr "घुमाव की तीव्रता"
|
||||
|
||||
#: resources/ui/adw/apparition.ui:114
|
||||
msgid "Shake Intensity"
|
||||
msgstr "झटकों की तीव्रता"
|
||||
|
||||
#: resources/ui/adw/apparition.ui:147
|
||||
msgid "Suction Intensity"
|
||||
msgstr "चूषण तीव्रता"
|
||||
|
||||
#: resources/ui/adw/portal.ui:47
|
||||
msgid "Rotation Speed"
|
||||
msgstr "घूर्णन गति"
|
||||
|
||||
#: resources/ui/adw/portal.ui:80
|
||||
msgid "Whirling"
|
||||
msgstr "घुमावदार"
|
||||
|
||||
#: resources/ui/adw/portal.ui:113
|
||||
msgid "Details"
|
||||
msgstr "विवरण"
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:80
|
||||
msgid "Turbulence"
|
||||
msgstr "उथल-पुथल"
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:113
|
||||
msgid "Start at Pointer"
|
||||
msgstr "सूचक से प्रारंभ करें"
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:114
|
||||
msgid "If disabled, a random location will be chosen."
|
||||
msgstr "यदि अक्षम किया गया है, तो एक यादृच्छिक स्थान चुना जाएगा।"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:80
|
||||
msgid "Mesh Line Width"
|
||||
msgstr "जाल रेखा की चौड़ाई"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:113
|
||||
msgid "Line Color"
|
||||
msgstr "रेखा रंग"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:138
|
||||
msgid "Glow Color"
|
||||
msgstr "चमकदार रंग"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:163
|
||||
msgid "Additive Blending"
|
||||
msgstr "योगात्मक सम्मिश्रण"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:164
|
||||
msgid "You may want to enable this for dark window themes."
|
||||
msgstr "आप इसे डार्क विंडो थीम के लिए सक्षम करना चाह सकते हैं।"
|
||||
|
||||
#: resources/ui/adw/fire.ui:14
|
||||
msgid "Presets"
|
||||
msgstr "प्रीसेट"
|
||||
|
||||
#: resources/ui/adw/fire.ui:19 resources/ui/adw/mushroom.ui:61
|
||||
msgid "Choose a Preset"
|
||||
msgstr "प्रीसेट चुनें"
|
||||
|
||||
#: resources/ui/adw/fire.ui:129
|
||||
msgid "3D Noise"
|
||||
msgstr "3D शोर"
|
||||
|
||||
#: resources/ui/adw/fire.ui:130
|
||||
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||
msgstr ""
|
||||
"अधिक गतिशील आग पैदा करता है लेकिन इसके लिए अधिक GPU शक्ति की आवश्यकता होती है।"
|
||||
|
||||
#: resources/ui/adw/fire.ui:152
|
||||
msgid "Gradient"
|
||||
msgstr "ग्रेडियेंट"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:54
|
||||
msgid "Animation Split"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:91
|
||||
msgid "Rotate Window"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:114
|
||||
msgid "Horizontal Sparkle Position"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:151
|
||||
msgid "Vertical Sparkle Position"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:189
|
||||
msgid "Sparkle Size"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:226
|
||||
msgid "Sparkle Rotation"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/focus.ui:87
|
||||
msgid "Blur Quality"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:65
|
||||
msgid "Effect Profile Constraints"
|
||||
msgstr "प्रभाव प्रोफ़ाइल बाधाएं"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:66
|
||||
msgid "Define when the current effect settings should be used."
|
||||
msgstr "परिभाषित करें कि वर्तमान प्रभाव सेटिंग्स का उपयोग कब किया जाना चाहिए।"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:70
|
||||
msgid "Application"
|
||||
msgstr "अनुप्रयोग"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:81 resources/ui/adw/prefs.ui:102
|
||||
#: resources/ui/adw/prefs.ui:117 resources/ui/adw/prefs.ui:132
|
||||
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
|
||||
msgid "Any"
|
||||
msgstr "कोई"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:98
|
||||
msgid "Animation Type"
|
||||
msgstr "एनिमेशन प्रकार"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:113
|
||||
msgid "Window Type"
|
||||
msgstr "विंडो प्रकार"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:128
|
||||
msgid "Color Scheme"
|
||||
msgstr "रंग योजना"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:143
|
||||
msgid "Power Mode"
|
||||
msgstr "पावर मोड"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:158
|
||||
msgid "Power Profile"
|
||||
msgstr "पावर प्रोफ़ाइल"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:179
|
||||
msgid "Advanced Profile Options"
|
||||
msgstr "उन्नत प्रोफ़ाइल विकल्प"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:184
|
||||
msgid "Use this profile even if there are better matching profiles."
|
||||
msgstr "बेहतर मिलान वाली प्रोफ़ाइल होने पर भी इस प्रोफ़ाइल का उपयोग करें।"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:204
|
||||
msgid "Delete this Profile..."
|
||||
msgstr "इस प्रोफ़ाइल को मिटाएं…"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:223
|
||||
msgid "Effect Selection"
|
||||
msgstr "प्रभाव चयन"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:224
|
||||
msgid "If multiple are selected, one is chosen randomly."
|
||||
msgstr "यदि एकाधिक का चयन किया जाता है, तो एक को यादृच्छिक रूप से चुना जाता है।"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:235
|
||||
msgid "Search..."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:250
|
||||
msgid "Enable All"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:256
|
||||
msgid "Disable All"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:55
|
||||
msgid "Effect Presets"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:73
|
||||
msgid "Scale Style"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:74
|
||||
msgid "8Bit --- Smooth"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:112
|
||||
msgid "Spark Count"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:150
|
||||
msgid "Spark Rotation"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:188
|
||||
msgid "Spark Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:222
|
||||
msgid "Rays Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:256
|
||||
msgid "Star Rings Count"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:294
|
||||
msgid "Star Ring Rotation"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:332
|
||||
msgid "Stars Count Per Ring"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:370
|
||||
msgid "Star Gradient"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/pixelate.ui:47
|
||||
msgid "Noise"
|
||||
msgstr "शोर"
|
||||
|
||||
#~ msgid "Gold Sponsors"
|
||||
#~ msgstr "स्वर्ण प्रायोजक"
|
||||
|
||||
#~ msgid "Silver Sponsors"
|
||||
#~ msgstr "रजत प्रायोजक"
|
||||
|
||||
#~ msgid "Bronze Sponsors"
|
||||
#~ msgstr "कांस्य प्रायोजक"
|
||||
|
||||
#~ msgid "Past Sponsors"
|
||||
#~ msgstr "पिछले प्रायोजक"
|
||||
|
||||
#~ msgid "All"
|
||||
#~ msgstr "सभी"
|
||||
|
||||
#~ msgid "None"
|
||||
#~ msgstr "कोई नहीं"
|
||||
@@ -0,0 +1,765 @@
|
||||
# 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: 2025-02-17 20:23+0100\n"
|
||||
"PO-Revision-Date: 2025-05-26 11:01+0000\n"
|
||||
"Last-Translator: ButterflyOfFire <boffire@users.noreply.hosted.weblate.org>\n"
|
||||
"Language-Team: Kabyle <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||
"core/kab/>\n"
|
||||
"Language: kab\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 5.12-dev\n"
|
||||
|
||||
#: src/effects/Apparition.js:80
|
||||
msgid "Apparition"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/AuraGlow.js:89
|
||||
msgid "Aura Glow"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/BrokenGlass.js:138
|
||||
msgid "Broken Glass"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Doom.js:87
|
||||
msgid "Doom"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/EnergizeA.js:74
|
||||
msgid "Energize A"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/EnergizeB.js:75
|
||||
msgid "Energize B"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Fire.js:96
|
||||
msgid "Fire"
|
||||
msgstr "Times"
|
||||
|
||||
#: src/effects/Fire.js:150
|
||||
msgid "Default Fire"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Fire.js:160
|
||||
msgid "Hell Fire"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Fire.js:170
|
||||
msgid "Dark and Smutty"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Fire.js:180
|
||||
msgid "Cold Breeze"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Fire.js:190
|
||||
msgid "Santa is Coming"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Fire.js:201
|
||||
msgid "Nuclear ☢️"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Focus.js:76
|
||||
msgid "Focus"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Glide.js:78
|
||||
msgid "Glide"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Glitch.js:80
|
||||
msgid "Glitch"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Hexagon.js:83
|
||||
msgid "Hexagon"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Incinerate.js:126
|
||||
msgid "Incinerate"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Matrix.js:109
|
||||
msgid "Matrix"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:124
|
||||
msgid "Mushroom"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:204
|
||||
msgid "8Bit Plumber"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:221
|
||||
msgid "New Bros 2 🍄"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:239
|
||||
msgid "Red White and Blue 🇺🇸"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:256
|
||||
msgid "Rainbow 🌈"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:273
|
||||
msgid "Cattuccino 😺"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:291
|
||||
msgid "Dracula 🦇"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:308
|
||||
msgid "Sparkle ✨"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/PaintBrush.js:101
|
||||
msgid "Paint Brush"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Pixelate.js:74
|
||||
msgid "Pixelate"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/PixelWheel.js:74
|
||||
msgid "Pixel Wheel"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/PixelWipe.js:100
|
||||
msgid "Pixel Wipe"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Portal.js:82
|
||||
msgid "Portal"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/RGBWarp.js:77
|
||||
msgid "RGB Warp"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/SnapOfDisintegration.js:110
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/TeamRocket.js:89
|
||||
msgid "Team Rocket"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/TRexAttack.js:109
|
||||
msgid "T-Rex Attack"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/TVEffect.js:73
|
||||
msgid "TV Effect"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/TVGlitch.js:81
|
||||
msgid "TV Glitch"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Wisps.js:85
|
||||
msgid "Wisps"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:256
|
||||
msgid "Preview this effect"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:333
|
||||
msgid "Burn-My-Windows has been updated!"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:334 resources/ui/common/menus.ui:17
|
||||
msgid "View Changelog"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:516
|
||||
msgid "Delete this Profile?"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:517
|
||||
msgid ""
|
||||
"The current effect profile with all its effect settings will be permanently "
|
||||
"lost."
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:520
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:525
|
||||
msgid "Delete"
|
||||
msgstr "Kkes"
|
||||
|
||||
#: prefs.js:757 resources/ui/adw/prefs.ui:103
|
||||
msgid "Opening Windows"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:758 resources/ui/adw/prefs.ui:104
|
||||
msgid "Closing Windows"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:759 resources/ui/adw/prefs.ui:118
|
||||
msgid "Normal Windows"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:760 resources/ui/adw/prefs.ui:119
|
||||
msgid "Dialog Windows"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:761 resources/ui/adw/prefs.ui:133
|
||||
msgid "Default Color Scheme"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:762 resources/ui/adw/prefs.ui:134
|
||||
msgid "Dark Color Scheme"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:763 resources/ui/adw/prefs.ui:148
|
||||
msgid "On Battery"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:764 resources/ui/adw/prefs.ui:149
|
||||
msgid "Plugged In"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:765 resources/ui/adw/prefs.ui:163
|
||||
msgid "Power-Saver Mode"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:766 resources/ui/adw/prefs.ui:164
|
||||
msgid "Balanced Mode"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:767 resources/ui/adw/prefs.ui:165
|
||||
msgid "Performance Mode"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:768 resources/ui/adw/prefs.ui:166
|
||||
msgid "Power Saver or Balanced"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:769 resources/ui/adw/prefs.ui:167
|
||||
msgid "Balanced or Performance"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:774 resources/ui/adw/prefs.ui:183
|
||||
msgid "High Priority"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:780
|
||||
msgid "Standard Profile"
|
||||
msgstr ""
|
||||
|
||||
#. Translators: %s will be replaced by the effect's name.
|
||||
#: prefs.js:860
|
||||
#, javascript-format
|
||||
msgid "Preview for %s"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:879
|
||||
msgid "Close this Window to Preview the Effect!"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:13
|
||||
msgid "Visit Homepage"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:21
|
||||
msgid "View Matching Wallpapers"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:25
|
||||
msgid "View Donors Hall-of-Fame"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:31
|
||||
msgid "Donate"
|
||||
msgstr "Mudd tawsa"
|
||||
|
||||
#: resources/ui/common/menus.ui:50
|
||||
msgid "Report a Bug"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:54
|
||||
msgid "Create an Effect"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:58
|
||||
msgid "Translate"
|
||||
msgstr "Suqel"
|
||||
|
||||
#: resources/ui/common/menus.ui:64
|
||||
msgid "Open Effect-Profile Directory"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:70
|
||||
msgid "About Burn-My-Windows"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:81
|
||||
msgid "Add New Profile..."
|
||||
msgstr "Rnu amaɣnu amaynut…"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:15 resources/ui/adw/tv-glitch.ui:14
|
||||
#: resources/ui/adw/glitch.ui:14 resources/ui/adw/matrix.ui:14
|
||||
#: resources/ui/adw/doom.ui:14 resources/ui/adw/rgbwarp.ui:17
|
||||
#: resources/ui/adw/paint-brush.ui:14 resources/ui/adw/trex.ui:14
|
||||
#: resources/ui/adw/wisps.ui:14 resources/ui/adw/aura-glow.ui:13
|
||||
#: resources/ui/adw/energize-b.ui:15 resources/ui/adw/pixel-wheel.ui:14
|
||||
#: resources/ui/adw/glide.ui:14 resources/ui/adw/apparition.ui:15
|
||||
#: resources/ui/adw/portal.ui:14 resources/ui/adw/incinerate.ui:14
|
||||
#: resources/ui/adw/hexagon.ui:14 resources/ui/adw/fire.ui:30
|
||||
#: resources/ui/adw/team-rocket.ui:17 resources/ui/adw/pixel-wipe.ui:14
|
||||
#: resources/ui/adw/snap.ui:14 resources/ui/adw/focus.ui:35
|
||||
#: resources/ui/adw/mushroom.ui:17 resources/ui/adw/energize-a.ui:14
|
||||
#: resources/ui/adw/pixelate.ui:14 resources/ui/adw/tv.ui:14
|
||||
msgid "Animation Time [ms]"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:37 resources/ui/adw/broken-glass.ui:70
|
||||
#: resources/ui/adw/broken-glass.ui:103 resources/ui/adw/broken-glass.ui:136
|
||||
#: resources/ui/adw/broken-glass.ui:159 resources/ui/adw/tv-glitch.ui:36
|
||||
#: resources/ui/adw/tv-glitch.ui:69 resources/ui/adw/tv-glitch.ui:102
|
||||
#: resources/ui/adw/tv-glitch.ui:135 resources/ui/adw/tv-glitch.ui:160
|
||||
#: resources/ui/adw/glitch.ui:36 resources/ui/adw/glitch.ui:69
|
||||
#: resources/ui/adw/glitch.ui:102 resources/ui/adw/glitch.ui:135
|
||||
#: resources/ui/adw/glitch.ui:160 resources/ui/adw/matrix.ui:36
|
||||
#: resources/ui/adw/matrix.ui:69 resources/ui/adw/matrix.ui:102
|
||||
#: resources/ui/adw/matrix.ui:135 resources/ui/adw/matrix.ui:160
|
||||
#: resources/ui/adw/matrix.ui:185 resources/ui/adw/doom.ui:36
|
||||
#: resources/ui/adw/doom.ui:69 resources/ui/adw/doom.ui:102
|
||||
#: resources/ui/adw/doom.ui:135 resources/ui/adw/rgbwarp.ui:42
|
||||
#: resources/ui/adw/rgbwarp.ui:81 resources/ui/adw/rgbwarp.ui:118
|
||||
#: resources/ui/adw/rgbwarp.ui:155 resources/ui/adw/rgbwarp.ui:192
|
||||
#: resources/ui/adw/paint-brush.ui:36 resources/ui/adw/paint-brush.ui:69
|
||||
#: resources/ui/adw/trex.ui:36 resources/ui/adw/trex.ui:69
|
||||
#: resources/ui/adw/trex.ui:102 resources/ui/adw/trex.ui:135
|
||||
#: resources/ui/adw/trex.ui:160 resources/ui/adw/wisps.ui:36
|
||||
#: resources/ui/adw/wisps.ui:69 resources/ui/adw/wisps.ui:110
|
||||
#: resources/ui/adw/aura-glow.ui:35 resources/ui/adw/aura-glow.ui:58
|
||||
#: resources/ui/adw/aura-glow.ui:92 resources/ui/adw/aura-glow.ui:125
|
||||
#: resources/ui/adw/aura-glow.ui:158 resources/ui/adw/aura-glow.ui:191
|
||||
#: resources/ui/adw/aura-glow.ui:224 resources/ui/adw/aura-glow.ui:257
|
||||
#: resources/ui/adw/energize-b.ui:37 resources/ui/adw/energize-b.ui:70
|
||||
#: resources/ui/adw/energize-b.ui:95 resources/ui/adw/pixel-wheel.ui:36
|
||||
#: resources/ui/adw/pixel-wheel.ui:69 resources/ui/adw/pixel-wheel.ui:102
|
||||
#: resources/ui/adw/glide.ui:36 resources/ui/adw/glide.ui:69
|
||||
#: resources/ui/adw/glide.ui:102 resources/ui/adw/glide.ui:135
|
||||
#: resources/ui/adw/glide.ui:168 resources/ui/adw/apparition.ui:37
|
||||
#: resources/ui/adw/apparition.ui:70 resources/ui/adw/apparition.ui:103
|
||||
#: resources/ui/adw/apparition.ui:136 resources/ui/adw/apparition.ui:169
|
||||
#: resources/ui/adw/portal.ui:36 resources/ui/adw/portal.ui:69
|
||||
#: resources/ui/adw/portal.ui:102 resources/ui/adw/portal.ui:135
|
||||
#: resources/ui/adw/portal.ui:160 resources/ui/adw/incinerate.ui:36
|
||||
#: resources/ui/adw/incinerate.ui:69 resources/ui/adw/incinerate.ui:102
|
||||
#: resources/ui/adw/incinerate.ui:125 resources/ui/adw/incinerate.ui:150
|
||||
#: resources/ui/adw/hexagon.ui:36 resources/ui/adw/hexagon.ui:69
|
||||
#: resources/ui/adw/hexagon.ui:102 resources/ui/adw/hexagon.ui:127
|
||||
#: resources/ui/adw/hexagon.ui:152 resources/ui/adw/hexagon.ui:175
|
||||
#: resources/ui/adw/fire.ui:52 resources/ui/adw/fire.ui:85
|
||||
#: resources/ui/adw/fire.ui:118 resources/ui/adw/fire.ui:141
|
||||
#: resources/ui/adw/fire.ui:199 resources/ui/adw/team-rocket.ui:42
|
||||
#: resources/ui/adw/team-rocket.ui:80 resources/ui/adw/team-rocket.ui:102
|
||||
#: resources/ui/adw/team-rocket.ui:139 resources/ui/adw/team-rocket.ui:176
|
||||
#: resources/ui/adw/team-rocket.ui:214 resources/ui/adw/team-rocket.ui:251
|
||||
#: resources/ui/adw/pixel-wipe.ui:36 resources/ui/adw/pixel-wipe.ui:69
|
||||
#: resources/ui/adw/snap.ui:36 resources/ui/adw/snap.ui:69
|
||||
#: resources/ui/adw/snap.ui:94 resources/ui/adw/focus.ui:50
|
||||
#: resources/ui/adw/focus.ui:76 resources/ui/adw/focus.ui:102
|
||||
#: resources/ui/adw/mushroom.ui:42 resources/ui/adw/mushroom.ui:99
|
||||
#: resources/ui/adw/mushroom.ui:137 resources/ui/adw/mushroom.ui:175
|
||||
#: resources/ui/adw/mushroom.ui:209 resources/ui/adw/mushroom.ui:243
|
||||
#: resources/ui/adw/mushroom.ui:281 resources/ui/adw/mushroom.ui:319
|
||||
#: resources/ui/adw/mushroom.ui:357 resources/ui/adw/mushroom.ui:427
|
||||
#: resources/ui/adw/energize-a.ui:36 resources/ui/adw/energize-a.ui:69
|
||||
#: resources/ui/adw/energize-a.ui:94 resources/ui/adw/pixelate.ui:36
|
||||
#: resources/ui/adw/pixelate.ui:69 resources/ui/adw/pixelate.ui:102
|
||||
#: resources/ui/adw/tv.ui:36 resources/ui/adw/tv.ui:61
|
||||
msgid "Reset to Default Value"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:48 resources/ui/adw/tv-glitch.ui:47
|
||||
#: resources/ui/adw/glitch.ui:47 resources/ui/adw/matrix.ui:47
|
||||
#: resources/ui/adw/wisps.ui:47 resources/ui/adw/energize-b.ui:48
|
||||
#: resources/ui/adw/glide.ui:47 resources/ui/adw/incinerate.ui:47
|
||||
#: resources/ui/adw/hexagon.ui:47 resources/ui/adw/fire.ui:63
|
||||
#: resources/ui/adw/snap.ui:47 resources/ui/adw/energize-a.ui:47
|
||||
msgid "Scale"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:81
|
||||
msgid "Gravity"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:114
|
||||
msgid "Blow Force"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:147
|
||||
msgid "Shatter From Pointer Location"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:148
|
||||
msgid ""
|
||||
"The shards will fly away from where your mouse pointer was when closing the "
|
||||
"window."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
|
||||
msgid "Strength"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:113 resources/ui/adw/glitch.ui:113
|
||||
#: resources/ui/adw/aura-glow.ui:103 resources/ui/adw/fire.ui:96
|
||||
msgid "Speed"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:146 resources/ui/adw/glitch.ui:146
|
||||
#: resources/ui/adw/wisps.ui:80 resources/ui/adw/energize-b.ui:81
|
||||
#: resources/ui/adw/portal.ui:146 resources/ui/adw/incinerate.ui:136
|
||||
#: resources/ui/adw/snap.ui:80 resources/ui/adw/energize-a.ui:80
|
||||
#: resources/ui/adw/tv.ui:47
|
||||
msgid "Color"
|
||||
msgstr "Ini"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:80 resources/ui/adw/apparition.ui:48
|
||||
msgid "Randomness"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/matrix.ui:113
|
||||
msgid "Vertical Overshooting"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/matrix.ui:146
|
||||
msgid "Trail Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/matrix.ui:171
|
||||
msgid "Tip Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/doom.ui:47
|
||||
msgid "Horizontal Scale"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/doom.ui:80
|
||||
msgid "Vertical Scale"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/doom.ui:113 resources/ui/adw/pixel-wheel.ui:80
|
||||
#: resources/ui/adw/pixel-wipe.ui:47 resources/ui/adw/pixelate.ui:80
|
||||
msgid "Pixel Size"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:55
|
||||
msgid "Brightness"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:93
|
||||
msgid "Red Speed"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:130
|
||||
msgid "Green Speed"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:167
|
||||
msgid "Blue Speed"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/paint-brush.ui:47
|
||||
msgid "Brush Size"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/trex.ui:47
|
||||
msgid "Claw Scratch Scale"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/trex.ui:80
|
||||
msgid "Claw Scratch Count"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/trex.ui:113
|
||||
msgid "Warp Effect"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/trex.ui:146
|
||||
msgid "Flash Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:47
|
||||
msgid "Random Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:69
|
||||
msgid "Start Hue"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:136
|
||||
msgid "Saturation"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:169
|
||||
msgid "Edge Size"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:202
|
||||
msgid "Edge Hardness"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:235 resources/ui/adw/focus.ui:61
|
||||
msgid "Blur Amount"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/pixel-wheel.ui:47
|
||||
msgid "Spoke Count"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/glide.ui:80
|
||||
msgid "Squish"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/glide.ui:113
|
||||
msgid "Tilt"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/glide.ui:146
|
||||
msgid "Shift"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/apparition.ui:81
|
||||
msgid "Twirl Intensity"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/apparition.ui:114
|
||||
msgid "Shake Intensity"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/apparition.ui:147
|
||||
msgid "Suction Intensity"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/portal.ui:47
|
||||
msgid "Rotation Speed"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/portal.ui:80
|
||||
msgid "Whirling"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/portal.ui:113
|
||||
msgid "Details"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:80
|
||||
msgid "Turbulence"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:113
|
||||
msgid "Start at Pointer"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:114
|
||||
msgid "If disabled, a random location will be chosen."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:80
|
||||
msgid "Mesh Line Width"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:113
|
||||
msgid "Line Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:138
|
||||
msgid "Glow Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:163
|
||||
msgid "Additive Blending"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:164
|
||||
msgid "You may want to enable this for dark window themes."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/fire.ui:14
|
||||
msgid "Presets"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/fire.ui:19 resources/ui/adw/mushroom.ui:61
|
||||
msgid "Choose a Preset"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/fire.ui:129
|
||||
msgid "3D Noise"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/fire.ui:130
|
||||
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/fire.ui:152
|
||||
msgid "Gradient"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:54
|
||||
msgid "Animation Split"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:91
|
||||
msgid "Rotate Window"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:114
|
||||
msgid "Horizontal Sparkle Position"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:151
|
||||
msgid "Vertical Sparkle Position"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:189
|
||||
msgid "Sparkle Size"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:226
|
||||
msgid "Sparkle Rotation"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/focus.ui:87
|
||||
msgid "Blur Quality"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:65
|
||||
msgid "Effect Profile Constraints"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:66
|
||||
msgid "Define when the current effect settings should be used."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:70
|
||||
msgid "Application"
|
||||
msgstr "Asnas"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:81 resources/ui/adw/prefs.ui:102
|
||||
#: resources/ui/adw/prefs.ui:117 resources/ui/adw/prefs.ui:132
|
||||
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:98
|
||||
msgid "Animation Type"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:113
|
||||
msgid "Window Type"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:128
|
||||
msgid "Color Scheme"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:143
|
||||
msgid "Power Mode"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:158
|
||||
msgid "Power Profile"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:179
|
||||
msgid "Advanced Profile Options"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:184
|
||||
msgid "Use this profile even if there are better matching profiles."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:204
|
||||
msgid "Delete this Profile..."
|
||||
msgstr "Kkes amaɣnu-a…"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:223
|
||||
msgid "Effect Selection"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:224
|
||||
msgid "If multiple are selected, one is chosen randomly."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:235
|
||||
msgid "Search..."
|
||||
msgstr "Nadi..."
|
||||
|
||||
#: resources/ui/adw/prefs.ui:250
|
||||
msgid "Enable All"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:256
|
||||
msgid "Disable All"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:55
|
||||
msgid "Effect Presets"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:73
|
||||
msgid "Scale Style"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:74
|
||||
msgid "8Bit --- Smooth"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:112
|
||||
msgid "Spark Count"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:150
|
||||
msgid "Spark Rotation"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:188
|
||||
msgid "Spark Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:222
|
||||
msgid "Rays Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:256
|
||||
msgid "Star Rings Count"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:294
|
||||
msgid "Star Ring Rotation"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:332
|
||||
msgid "Stars Count Per Ring"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:370
|
||||
msgid "Star Gradient"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/pixelate.ui:47
|
||||
msgid "Noise"
|
||||
msgstr ""
|
||||
@@ -0,0 +1,765 @@
|
||||
# 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: 2025-02-17 20:23+0100\n"
|
||||
"PO-Revision-Date: 2025-11-08 17:51+0000\n"
|
||||
"Last-Translator: bgo-eiu <huyaqoob+toolforge@gmail.com>\n"
|
||||
"Language-Team: Turkish (Ottoman) <https://hosted.weblate.org/projects/"
|
||||
"burn-my-windows/core/ota/>\n"
|
||||
"Language: ota\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 5.15-dev\n"
|
||||
|
||||
#: src/effects/Apparition.js:80
|
||||
msgid "Apparition"
|
||||
msgstr "خیالت"
|
||||
|
||||
#: src/effects/AuraGlow.js:89
|
||||
msgid "Aura Glow"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/BrokenGlass.js:138
|
||||
msgid "Broken Glass"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Doom.js:87
|
||||
msgid "Doom"
|
||||
msgstr "قیامت"
|
||||
|
||||
#: src/effects/EnergizeA.js:74
|
||||
msgid "Energize A"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/EnergizeB.js:75
|
||||
msgid "Energize B"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Fire.js:96
|
||||
msgid "Fire"
|
||||
msgstr "آتش"
|
||||
|
||||
#: src/effects/Fire.js:150
|
||||
msgid "Default Fire"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Fire.js:160
|
||||
msgid "Hell Fire"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Fire.js:170
|
||||
msgid "Dark and Smutty"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Fire.js:180
|
||||
msgid "Cold Breeze"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Fire.js:190
|
||||
msgid "Santa is Coming"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Fire.js:201
|
||||
msgid "Nuclear ☢️"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Focus.js:76
|
||||
msgid "Focus"
|
||||
msgstr "اوداقلان"
|
||||
|
||||
#: src/effects/Glide.js:78
|
||||
msgid "Glide"
|
||||
msgstr "سوزولمە"
|
||||
|
||||
#: src/effects/Glitch.js:80
|
||||
msgid "Glitch"
|
||||
msgstr "قصور"
|
||||
|
||||
#: src/effects/Hexagon.js:83
|
||||
msgid "Hexagon"
|
||||
msgstr "آلتیگن"
|
||||
|
||||
#: src/effects/Incinerate.js:126
|
||||
msgid "Incinerate"
|
||||
msgstr "یانمە"
|
||||
|
||||
#: src/effects/Matrix.js:109
|
||||
msgid "Matrix"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:124
|
||||
msgid "Mushroom"
|
||||
msgstr "منطار"
|
||||
|
||||
#: src/effects/Mushroom.js:204
|
||||
msgid "8Bit Plumber"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:221
|
||||
msgid "New Bros 2 🍄"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:239
|
||||
msgid "Red White and Blue 🇺🇸"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:256
|
||||
msgid "Rainbow 🌈"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:273
|
||||
msgid "Cattuccino 😺"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:291
|
||||
msgid "Dracula 🦇"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Mushroom.js:308
|
||||
msgid "Sparkle ✨"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/PaintBrush.js:101
|
||||
msgid "Paint Brush"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Pixelate.js:74
|
||||
msgid "Pixelate"
|
||||
msgstr "پیكسللشتیرمە"
|
||||
|
||||
#: src/effects/PixelWheel.js:74
|
||||
msgid "Pixel Wheel"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/PixelWipe.js:100
|
||||
msgid "Pixel Wipe"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Portal.js:82
|
||||
msgid "Portal"
|
||||
msgstr "پورتال"
|
||||
|
||||
#: src/effects/RGBWarp.js:77
|
||||
msgid "RGB Warp"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/SnapOfDisintegration.js:110
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/TeamRocket.js:89
|
||||
msgid "Team Rocket"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/TRexAttack.js:109
|
||||
msgid "T-Rex Attack"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/TVEffect.js:73
|
||||
msgid "TV Effect"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/TVGlitch.js:81
|
||||
msgid "TV Glitch"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Wisps.js:85
|
||||
msgid "Wisps"
|
||||
msgstr "سحر"
|
||||
|
||||
#: prefs.js:256
|
||||
msgid "Preview this effect"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:333
|
||||
msgid "Burn-My-Windows has been updated!"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:334 resources/ui/common/menus.ui:17
|
||||
msgid "View Changelog"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:516
|
||||
msgid "Delete this Profile?"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:517
|
||||
msgid ""
|
||||
"The current effect profile with all its effect settings will be permanently "
|
||||
"lost."
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:520
|
||||
msgid "Cancel"
|
||||
msgstr "ابطال"
|
||||
|
||||
#: prefs.js:525
|
||||
msgid "Delete"
|
||||
msgstr "سیل"
|
||||
|
||||
#: prefs.js:757 resources/ui/adw/prefs.ui:103
|
||||
msgid "Opening Windows"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:758 resources/ui/adw/prefs.ui:104
|
||||
msgid "Closing Windows"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:759 resources/ui/adw/prefs.ui:118
|
||||
msgid "Normal Windows"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:760 resources/ui/adw/prefs.ui:119
|
||||
msgid "Dialog Windows"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:761 resources/ui/adw/prefs.ui:133
|
||||
msgid "Default Color Scheme"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:762 resources/ui/adw/prefs.ui:134
|
||||
msgid "Dark Color Scheme"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:763 resources/ui/adw/prefs.ui:148
|
||||
msgid "On Battery"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:764 resources/ui/adw/prefs.ui:149
|
||||
msgid "Plugged In"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:765 resources/ui/adw/prefs.ui:163
|
||||
msgid "Power-Saver Mode"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:766 resources/ui/adw/prefs.ui:164
|
||||
msgid "Balanced Mode"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:767 resources/ui/adw/prefs.ui:165
|
||||
msgid "Performance Mode"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:768 resources/ui/adw/prefs.ui:166
|
||||
msgid "Power Saver or Balanced"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:769 resources/ui/adw/prefs.ui:167
|
||||
msgid "Balanced or Performance"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:774 resources/ui/adw/prefs.ui:183
|
||||
msgid "High Priority"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:780
|
||||
msgid "Standard Profile"
|
||||
msgstr ""
|
||||
|
||||
#. Translators: %s will be replaced by the effect's name.
|
||||
#: prefs.js:860
|
||||
#, javascript-format
|
||||
msgid "Preview for %s"
|
||||
msgstr ""
|
||||
|
||||
#: prefs.js:879
|
||||
msgid "Close this Window to Preview the Effect!"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:13
|
||||
msgid "Visit Homepage"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:21
|
||||
msgid "View Matching Wallpapers"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:25
|
||||
msgid "View Donors Hall-of-Fame"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:31
|
||||
msgid "Donate"
|
||||
msgstr "باغیش"
|
||||
|
||||
#: resources/ui/common/menus.ui:50
|
||||
msgid "Report a Bug"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:54
|
||||
msgid "Create an Effect"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:58
|
||||
msgid "Translate"
|
||||
msgstr "چویر"
|
||||
|
||||
#: resources/ui/common/menus.ui:64
|
||||
msgid "Open Effect-Profile Directory"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:70
|
||||
msgid "About Burn-My-Windows"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:81
|
||||
msgid "Add New Profile..."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:15 resources/ui/adw/tv-glitch.ui:14
|
||||
#: resources/ui/adw/glitch.ui:14 resources/ui/adw/matrix.ui:14
|
||||
#: resources/ui/adw/doom.ui:14 resources/ui/adw/rgbwarp.ui:17
|
||||
#: resources/ui/adw/paint-brush.ui:14 resources/ui/adw/trex.ui:14
|
||||
#: resources/ui/adw/wisps.ui:14 resources/ui/adw/aura-glow.ui:13
|
||||
#: resources/ui/adw/energize-b.ui:15 resources/ui/adw/pixel-wheel.ui:14
|
||||
#: resources/ui/adw/glide.ui:14 resources/ui/adw/apparition.ui:15
|
||||
#: resources/ui/adw/portal.ui:14 resources/ui/adw/incinerate.ui:14
|
||||
#: resources/ui/adw/hexagon.ui:14 resources/ui/adw/fire.ui:30
|
||||
#: resources/ui/adw/team-rocket.ui:17 resources/ui/adw/pixel-wipe.ui:14
|
||||
#: resources/ui/adw/snap.ui:14 resources/ui/adw/focus.ui:35
|
||||
#: resources/ui/adw/mushroom.ui:17 resources/ui/adw/energize-a.ui:14
|
||||
#: resources/ui/adw/pixelate.ui:14 resources/ui/adw/tv.ui:14
|
||||
msgid "Animation Time [ms]"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:37 resources/ui/adw/broken-glass.ui:70
|
||||
#: resources/ui/adw/broken-glass.ui:103 resources/ui/adw/broken-glass.ui:136
|
||||
#: resources/ui/adw/broken-glass.ui:159 resources/ui/adw/tv-glitch.ui:36
|
||||
#: resources/ui/adw/tv-glitch.ui:69 resources/ui/adw/tv-glitch.ui:102
|
||||
#: resources/ui/adw/tv-glitch.ui:135 resources/ui/adw/tv-glitch.ui:160
|
||||
#: resources/ui/adw/glitch.ui:36 resources/ui/adw/glitch.ui:69
|
||||
#: resources/ui/adw/glitch.ui:102 resources/ui/adw/glitch.ui:135
|
||||
#: resources/ui/adw/glitch.ui:160 resources/ui/adw/matrix.ui:36
|
||||
#: resources/ui/adw/matrix.ui:69 resources/ui/adw/matrix.ui:102
|
||||
#: resources/ui/adw/matrix.ui:135 resources/ui/adw/matrix.ui:160
|
||||
#: resources/ui/adw/matrix.ui:185 resources/ui/adw/doom.ui:36
|
||||
#: resources/ui/adw/doom.ui:69 resources/ui/adw/doom.ui:102
|
||||
#: resources/ui/adw/doom.ui:135 resources/ui/adw/rgbwarp.ui:42
|
||||
#: resources/ui/adw/rgbwarp.ui:81 resources/ui/adw/rgbwarp.ui:118
|
||||
#: resources/ui/adw/rgbwarp.ui:155 resources/ui/adw/rgbwarp.ui:192
|
||||
#: resources/ui/adw/paint-brush.ui:36 resources/ui/adw/paint-brush.ui:69
|
||||
#: resources/ui/adw/trex.ui:36 resources/ui/adw/trex.ui:69
|
||||
#: resources/ui/adw/trex.ui:102 resources/ui/adw/trex.ui:135
|
||||
#: resources/ui/adw/trex.ui:160 resources/ui/adw/wisps.ui:36
|
||||
#: resources/ui/adw/wisps.ui:69 resources/ui/adw/wisps.ui:110
|
||||
#: resources/ui/adw/aura-glow.ui:35 resources/ui/adw/aura-glow.ui:58
|
||||
#: resources/ui/adw/aura-glow.ui:92 resources/ui/adw/aura-glow.ui:125
|
||||
#: resources/ui/adw/aura-glow.ui:158 resources/ui/adw/aura-glow.ui:191
|
||||
#: resources/ui/adw/aura-glow.ui:224 resources/ui/adw/aura-glow.ui:257
|
||||
#: resources/ui/adw/energize-b.ui:37 resources/ui/adw/energize-b.ui:70
|
||||
#: resources/ui/adw/energize-b.ui:95 resources/ui/adw/pixel-wheel.ui:36
|
||||
#: resources/ui/adw/pixel-wheel.ui:69 resources/ui/adw/pixel-wheel.ui:102
|
||||
#: resources/ui/adw/glide.ui:36 resources/ui/adw/glide.ui:69
|
||||
#: resources/ui/adw/glide.ui:102 resources/ui/adw/glide.ui:135
|
||||
#: resources/ui/adw/glide.ui:168 resources/ui/adw/apparition.ui:37
|
||||
#: resources/ui/adw/apparition.ui:70 resources/ui/adw/apparition.ui:103
|
||||
#: resources/ui/adw/apparition.ui:136 resources/ui/adw/apparition.ui:169
|
||||
#: resources/ui/adw/portal.ui:36 resources/ui/adw/portal.ui:69
|
||||
#: resources/ui/adw/portal.ui:102 resources/ui/adw/portal.ui:135
|
||||
#: resources/ui/adw/portal.ui:160 resources/ui/adw/incinerate.ui:36
|
||||
#: resources/ui/adw/incinerate.ui:69 resources/ui/adw/incinerate.ui:102
|
||||
#: resources/ui/adw/incinerate.ui:125 resources/ui/adw/incinerate.ui:150
|
||||
#: resources/ui/adw/hexagon.ui:36 resources/ui/adw/hexagon.ui:69
|
||||
#: resources/ui/adw/hexagon.ui:102 resources/ui/adw/hexagon.ui:127
|
||||
#: resources/ui/adw/hexagon.ui:152 resources/ui/adw/hexagon.ui:175
|
||||
#: resources/ui/adw/fire.ui:52 resources/ui/adw/fire.ui:85
|
||||
#: resources/ui/adw/fire.ui:118 resources/ui/adw/fire.ui:141
|
||||
#: resources/ui/adw/fire.ui:199 resources/ui/adw/team-rocket.ui:42
|
||||
#: resources/ui/adw/team-rocket.ui:80 resources/ui/adw/team-rocket.ui:102
|
||||
#: resources/ui/adw/team-rocket.ui:139 resources/ui/adw/team-rocket.ui:176
|
||||
#: resources/ui/adw/team-rocket.ui:214 resources/ui/adw/team-rocket.ui:251
|
||||
#: resources/ui/adw/pixel-wipe.ui:36 resources/ui/adw/pixel-wipe.ui:69
|
||||
#: resources/ui/adw/snap.ui:36 resources/ui/adw/snap.ui:69
|
||||
#: resources/ui/adw/snap.ui:94 resources/ui/adw/focus.ui:50
|
||||
#: resources/ui/adw/focus.ui:76 resources/ui/adw/focus.ui:102
|
||||
#: resources/ui/adw/mushroom.ui:42 resources/ui/adw/mushroom.ui:99
|
||||
#: resources/ui/adw/mushroom.ui:137 resources/ui/adw/mushroom.ui:175
|
||||
#: resources/ui/adw/mushroom.ui:209 resources/ui/adw/mushroom.ui:243
|
||||
#: resources/ui/adw/mushroom.ui:281 resources/ui/adw/mushroom.ui:319
|
||||
#: resources/ui/adw/mushroom.ui:357 resources/ui/adw/mushroom.ui:427
|
||||
#: resources/ui/adw/energize-a.ui:36 resources/ui/adw/energize-a.ui:69
|
||||
#: resources/ui/adw/energize-a.ui:94 resources/ui/adw/pixelate.ui:36
|
||||
#: resources/ui/adw/pixelate.ui:69 resources/ui/adw/pixelate.ui:102
|
||||
#: resources/ui/adw/tv.ui:36 resources/ui/adw/tv.ui:61
|
||||
msgid "Reset to Default Value"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:48 resources/ui/adw/tv-glitch.ui:47
|
||||
#: resources/ui/adw/glitch.ui:47 resources/ui/adw/matrix.ui:47
|
||||
#: resources/ui/adw/wisps.ui:47 resources/ui/adw/energize-b.ui:48
|
||||
#: resources/ui/adw/glide.ui:47 resources/ui/adw/incinerate.ui:47
|
||||
#: resources/ui/adw/hexagon.ui:47 resources/ui/adw/fire.ui:63
|
||||
#: resources/ui/adw/snap.ui:47 resources/ui/adw/energize-a.ui:47
|
||||
msgid "Scale"
|
||||
msgstr "اولچك"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:81
|
||||
msgid "Gravity"
|
||||
msgstr "یر چكیمی"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:114
|
||||
msgid "Blow Force"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:147
|
||||
msgid "Shatter From Pointer Location"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:148
|
||||
msgid ""
|
||||
"The shards will fly away from where your mouse pointer was when closing the "
|
||||
"window."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
|
||||
msgid "Strength"
|
||||
msgstr "گوچ"
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:113 resources/ui/adw/glitch.ui:113
|
||||
#: resources/ui/adw/aura-glow.ui:103 resources/ui/adw/fire.ui:96
|
||||
msgid "Speed"
|
||||
msgstr "خیز"
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:146 resources/ui/adw/glitch.ui:146
|
||||
#: resources/ui/adw/wisps.ui:80 resources/ui/adw/energize-b.ui:81
|
||||
#: resources/ui/adw/portal.ui:146 resources/ui/adw/incinerate.ui:136
|
||||
#: resources/ui/adw/snap.ui:80 resources/ui/adw/energize-a.ui:80
|
||||
#: resources/ui/adw/tv.ui:47
|
||||
msgid "Color"
|
||||
msgstr "رنگ"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:80 resources/ui/adw/apparition.ui:48
|
||||
msgid "Randomness"
|
||||
msgstr "راستگلەلك"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:113
|
||||
msgid "Vertical Overshooting"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/matrix.ui:146
|
||||
msgid "Trail Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/matrix.ui:171
|
||||
msgid "Tip Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/doom.ui:47
|
||||
msgid "Horizontal Scale"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/doom.ui:80
|
||||
msgid "Vertical Scale"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/doom.ui:113 resources/ui/adw/pixel-wheel.ui:80
|
||||
#: resources/ui/adw/pixel-wipe.ui:47 resources/ui/adw/pixelate.ui:80
|
||||
msgid "Pixel Size"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:55
|
||||
msgid "Brightness"
|
||||
msgstr "پارلاقلق"
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:93
|
||||
msgid "Red Speed"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:130
|
||||
msgid "Green Speed"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:167
|
||||
msgid "Blue Speed"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/paint-brush.ui:47
|
||||
msgid "Brush Size"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/trex.ui:47
|
||||
msgid "Claw Scratch Scale"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/trex.ui:80
|
||||
msgid "Claw Scratch Count"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/trex.ui:113
|
||||
msgid "Warp Effect"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/trex.ui:146
|
||||
msgid "Flash Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:47
|
||||
msgid "Random Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:69
|
||||
msgid "Start Hue"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:136
|
||||
msgid "Saturation"
|
||||
msgstr "دویغونلق"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:169
|
||||
msgid "Edge Size"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:202
|
||||
msgid "Edge Hardness"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:235 resources/ui/adw/focus.ui:61
|
||||
msgid "Blur Amount"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/pixel-wheel.ui:47
|
||||
msgid "Spoke Count"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/glide.ui:80
|
||||
msgid "Squish"
|
||||
msgstr "ازمك"
|
||||
|
||||
#: resources/ui/adw/glide.ui:113
|
||||
msgid "Tilt"
|
||||
msgstr "اگیم"
|
||||
|
||||
#: resources/ui/adw/glide.ui:146
|
||||
msgid "Shift"
|
||||
msgstr "قایمە"
|
||||
|
||||
#: resources/ui/adw/apparition.ui:81
|
||||
msgid "Twirl Intensity"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/apparition.ui:114
|
||||
msgid "Shake Intensity"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/apparition.ui:147
|
||||
msgid "Suction Intensity"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/portal.ui:47
|
||||
msgid "Rotation Speed"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/portal.ui:80
|
||||
msgid "Whirling"
|
||||
msgstr "دونمە"
|
||||
|
||||
#: resources/ui/adw/portal.ui:113
|
||||
msgid "Details"
|
||||
msgstr "آیریندیلر"
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:80
|
||||
msgid "Turbulence"
|
||||
msgstr "توربولانس"
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:113
|
||||
msgid "Start at Pointer"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:114
|
||||
msgid "If disabled, a random location will be chosen."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:80
|
||||
msgid "Mesh Line Width"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:113
|
||||
msgid "Line Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:138
|
||||
msgid "Glow Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:163
|
||||
msgid "Additive Blending"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:164
|
||||
msgid "You may want to enable this for dark window themes."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/fire.ui:14
|
||||
msgid "Presets"
|
||||
msgstr "شابلون"
|
||||
|
||||
#: resources/ui/adw/fire.ui:19 resources/ui/adw/mushroom.ui:61
|
||||
msgid "Choose a Preset"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/fire.ui:129
|
||||
msgid "3D Noise"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/fire.ui:130
|
||||
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/fire.ui:152
|
||||
msgid "Gradient"
|
||||
msgstr "غرادیان"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:54
|
||||
msgid "Animation Split"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:91
|
||||
msgid "Rotate Window"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:114
|
||||
msgid "Horizontal Sparkle Position"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:151
|
||||
msgid "Vertical Sparkle Position"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:189
|
||||
msgid "Sparkle Size"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:226
|
||||
msgid "Sparkle Rotation"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/focus.ui:87
|
||||
msgid "Blur Quality"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:65
|
||||
msgid "Effect Profile Constraints"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:66
|
||||
msgid "Define when the current effect settings should be used."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:70
|
||||
msgid "Application"
|
||||
msgstr "اویغولامە"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:81 resources/ui/adw/prefs.ui:102
|
||||
#: resources/ui/adw/prefs.ui:117 resources/ui/adw/prefs.ui:132
|
||||
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:98
|
||||
msgid "Animation Type"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:113
|
||||
msgid "Window Type"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:128
|
||||
msgid "Color Scheme"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:143
|
||||
msgid "Power Mode"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:158
|
||||
msgid "Power Profile"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:179
|
||||
msgid "Advanced Profile Options"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:184
|
||||
msgid "Use this profile even if there are better matching profiles."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:204
|
||||
msgid "Delete this Profile..."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:223
|
||||
msgid "Effect Selection"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:224
|
||||
msgid "If multiple are selected, one is chosen randomly."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:235
|
||||
msgid "Search..."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:250
|
||||
msgid "Enable All"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/prefs.ui:256
|
||||
msgid "Disable All"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:55
|
||||
msgid "Effect Presets"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:73
|
||||
msgid "Scale Style"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:74
|
||||
msgid "8Bit --- Smooth"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:112
|
||||
msgid "Spark Count"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:150
|
||||
msgid "Spark Rotation"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:188
|
||||
msgid "Spark Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:222
|
||||
msgid "Rays Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:256
|
||||
msgid "Star Rings Count"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:294
|
||||
msgid "Star Ring Rotation"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:332
|
||||
msgid "Stars Count Per Ring"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:370
|
||||
msgid "Star Gradient"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/adw/pixelate.ui:47
|
||||
msgid "Noise"
|
||||
msgstr ""
|
||||
@@ -0,0 +1,768 @@
|
||||
# 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: 2025-02-17 20:23+0100\n"
|
||||
"PO-Revision-Date: 2026-06-22 06:01+0000\n"
|
||||
"Last-Translator: தமிழ்நேரம் <tamilneram247@gmail.com>\n"
|
||||
"Language-Team: Tamil <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||
"core/ta/>\n"
|
||||
"Language: ta\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 2026.7.dev0\n"
|
||||
|
||||
#: src/effects/Apparition.js:80
|
||||
msgid "Apparition"
|
||||
msgstr "தோற்றம்"
|
||||
|
||||
#: src/effects/AuraGlow.js:89
|
||||
msgid "Aura Glow"
|
||||
msgstr "ஆரா க்ளோ"
|
||||
|
||||
#: src/effects/BrokenGlass.js:138
|
||||
msgid "Broken Glass"
|
||||
msgstr "உடைந்த கண்ணாடி"
|
||||
|
||||
#: src/effects/Doom.js:87
|
||||
msgid "Doom"
|
||||
msgstr "டூம்"
|
||||
|
||||
#: src/effects/EnergizeA.js:74
|
||||
msgid "Energize A"
|
||||
msgstr "ஒரு ஆற்றல்"
|
||||
|
||||
#: src/effects/EnergizeB.js:75
|
||||
msgid "Energize B"
|
||||
msgstr "ஆற்றல் ஆ"
|
||||
|
||||
#: src/effects/Fire.js:96
|
||||
msgid "Fire"
|
||||
msgstr "தீ"
|
||||
|
||||
#: src/effects/Fire.js:150
|
||||
msgid "Default Fire"
|
||||
msgstr "இயல்புநிலை Fire"
|
||||
|
||||
#: src/effects/Fire.js:160
|
||||
msgid "Hell Fire"
|
||||
msgstr "நரக நெருப்பு"
|
||||
|
||||
#: src/effects/Fire.js:170
|
||||
msgid "Dark and Smutty"
|
||||
msgstr "இருண்ட மற்றும் ச்முட்டி"
|
||||
|
||||
#: src/effects/Fire.js:180
|
||||
msgid "Cold Breeze"
|
||||
msgstr "குளிர் காற்று"
|
||||
|
||||
#: src/effects/Fire.js:190
|
||||
msgid "Santa is Coming"
|
||||
msgstr "சாண்டா வருகிறார்"
|
||||
|
||||
#: src/effects/Fire.js:201
|
||||
msgid "Nuclear ☢️"
|
||||
msgstr "அணு ☢️"
|
||||
|
||||
#: src/effects/Focus.js:76
|
||||
msgid "Focus"
|
||||
msgstr "குவி"
|
||||
|
||||
#: src/effects/Glide.js:78
|
||||
msgid "Glide"
|
||||
msgstr "சறுக்கு"
|
||||
|
||||
#: src/effects/Glitch.js:80
|
||||
msgid "Glitch"
|
||||
msgstr "தடுமாற்றம்"
|
||||
|
||||
#: src/effects/Hexagon.js:83
|
||||
msgid "Hexagon"
|
||||
msgstr "அறுகோண"
|
||||
|
||||
#: src/effects/Incinerate.js:126
|
||||
msgid "Incinerate"
|
||||
msgstr "எரியும்"
|
||||
|
||||
#: src/effects/Matrix.js:109
|
||||
msgid "Matrix"
|
||||
msgstr "அணி"
|
||||
|
||||
#: src/effects/Mushroom.js:124
|
||||
msgid "Mushroom"
|
||||
msgstr "நாய்க்குடை, காளான்"
|
||||
|
||||
#: src/effects/Mushroom.js:204
|
||||
msgid "8Bit Plumber"
|
||||
msgstr "8 பிட் பிளம்பர்"
|
||||
|
||||
#: src/effects/Mushroom.js:221
|
||||
msgid "New Bros 2 🍄"
|
||||
msgstr "புதிய சகோதரர்கள் 2 🍄"
|
||||
|
||||
#: src/effects/Mushroom.js:239
|
||||
msgid "Red White and Blue 🇺🇸"
|
||||
msgstr "சிவப்பு வெள்ளை மற்றும் நீலம் 🇺🇸"
|
||||
|
||||
#: src/effects/Mushroom.js:256
|
||||
msgid "Rainbow 🌈"
|
||||
msgstr "வானவில் 🌈"
|
||||
|
||||
#: src/effects/Mushroom.js:273
|
||||
msgid "Cattuccino 😺"
|
||||
msgstr "கட்டுச்சினோ 😺"
|
||||
|
||||
#: src/effects/Mushroom.js:291
|
||||
msgid "Dracula 🦇"
|
||||
msgstr "டிராகுலா 🦇"
|
||||
|
||||
#: src/effects/Mushroom.js:308
|
||||
msgid "Sparkle ✨"
|
||||
msgstr "ஒளி ✨"
|
||||
|
||||
#: src/effects/PaintBrush.js:101
|
||||
msgid "Paint Brush"
|
||||
msgstr "Paint மின்தொடி"
|
||||
|
||||
#: src/effects/Pixelate.js:74
|
||||
msgid "Pixelate"
|
||||
msgstr "பிக்சலேட்"
|
||||
|
||||
#: src/effects/PixelWheel.js:74
|
||||
msgid "Pixel Wheel"
|
||||
msgstr "படப்புள்ளி சக்கரம்"
|
||||
|
||||
#: src/effects/PixelWipe.js:100
|
||||
msgid "Pixel Wipe"
|
||||
msgstr "படப்புள்ளி துடைப்பது"
|
||||
|
||||
#: src/effects/Portal.js:82
|
||||
msgid "Portal"
|
||||
msgstr "போர்டல்"
|
||||
|
||||
#: src/effects/RGBWarp.js:77
|
||||
msgid "RGB Warp"
|
||||
msgstr "RGB வார்ப்"
|
||||
|
||||
#: src/effects/SnapOfDisintegration.js:110
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr "சிதைவின் நொறுக்குதல்"
|
||||
|
||||
#: src/effects/TeamRocket.js:89
|
||||
msgid "Team Rocket"
|
||||
msgstr "குழு ராக்கெட்"
|
||||
|
||||
#: src/effects/TRexAttack.js:109
|
||||
msgid "T-Rex Attack"
|
||||
msgstr "டி-ரெக்ச் தாக்குதல்"
|
||||
|
||||
#: src/effects/TVEffect.js:73
|
||||
msgid "TV Effect"
|
||||
msgstr "டிவி விளைவு"
|
||||
|
||||
#: src/effects/TVGlitch.js:81
|
||||
msgid "TV Glitch"
|
||||
msgstr "டிவி தடுமாற்றம்"
|
||||
|
||||
#: src/effects/Wisps.js:85
|
||||
msgid "Wisps"
|
||||
msgstr "விருப்பங்கள்"
|
||||
|
||||
#: prefs.js:256
|
||||
msgid "Preview this effect"
|
||||
msgstr "இந்த விளைவை முன்னோட்டமிடுங்கள்"
|
||||
|
||||
#: prefs.js:333
|
||||
msgid "Burn-My-Windows has been updated!"
|
||||
msgstr "பர்ன்-மை-விண்டோச் புதுப்பிக்கப்பட்டுள்ளது!"
|
||||
|
||||
#: prefs.js:334 resources/ui/common/menus.ui:17
|
||||
msgid "View Changelog"
|
||||
msgstr "சேஞ்ச்லாக் காண்க"
|
||||
|
||||
#: prefs.js:516
|
||||
msgid "Delete this Profile?"
|
||||
msgstr "இந்த சுயவிவரத்தை நீக்கவா?"
|
||||
|
||||
#: prefs.js:517
|
||||
msgid ""
|
||||
"The current effect profile with all its effect settings will be permanently "
|
||||
"lost."
|
||||
msgstr ""
|
||||
"அதன் அனைத்து விளைவு அமைப்புகளுடன் தற்போதைய விளைவு சுயவிவரம் நிரந்தரமாக இழக்கப்படும்."
|
||||
|
||||
#: prefs.js:520
|
||||
msgid "Cancel"
|
||||
msgstr "ரத்துசெய்"
|
||||
|
||||
#: prefs.js:525
|
||||
msgid "Delete"
|
||||
msgstr "நீக்கு"
|
||||
|
||||
#: prefs.js:757 resources/ui/adw/prefs.ui:103
|
||||
msgid "Opening Windows"
|
||||
msgstr "சன்னல்களைத் திறக்கிறது"
|
||||
|
||||
#: prefs.js:758 resources/ui/adw/prefs.ui:104
|
||||
msgid "Closing Windows"
|
||||
msgstr "சன்னல்களை மூடுவது"
|
||||
|
||||
#: prefs.js:759 resources/ui/adw/prefs.ui:118
|
||||
msgid "Normal Windows"
|
||||
msgstr "சாதாரண சாளரங்கள்"
|
||||
|
||||
#: prefs.js:760 resources/ui/adw/prefs.ui:119
|
||||
msgid "Dialog Windows"
|
||||
msgstr "உரையாடல் சாளரங்கள்"
|
||||
|
||||
#: prefs.js:761 resources/ui/adw/prefs.ui:133
|
||||
msgid "Default Color Scheme"
|
||||
msgstr "இயல்புநிலை வண்ணத் திட்டம்"
|
||||
|
||||
#: prefs.js:762 resources/ui/adw/prefs.ui:134
|
||||
msgid "Dark Color Scheme"
|
||||
msgstr "இருண்ட வண்ண திட்டம்"
|
||||
|
||||
#: prefs.js:763 resources/ui/adw/prefs.ui:148
|
||||
msgid "On Battery"
|
||||
msgstr "பேட்டரியில்"
|
||||
|
||||
#: prefs.js:764 resources/ui/adw/prefs.ui:149
|
||||
msgid "Plugged In"
|
||||
msgstr "செருகப்பட்டது"
|
||||
|
||||
#: prefs.js:765 resources/ui/adw/prefs.ui:163
|
||||
msgid "Power-Saver Mode"
|
||||
msgstr "பவர்-சேவர் பயன்முறை"
|
||||
|
||||
#: prefs.js:766 resources/ui/adw/prefs.ui:164
|
||||
msgid "Balanced Mode"
|
||||
msgstr "சீரான பயன்முறை"
|
||||
|
||||
#: prefs.js:767 resources/ui/adw/prefs.ui:165
|
||||
msgid "Performance Mode"
|
||||
msgstr "செயல்திறன் பயன்முறை"
|
||||
|
||||
#: prefs.js:768 resources/ui/adw/prefs.ui:166
|
||||
msgid "Power Saver or Balanced"
|
||||
msgstr "பவர் சேவர் அல்லது சீரான"
|
||||
|
||||
#: prefs.js:769 resources/ui/adw/prefs.ui:167
|
||||
msgid "Balanced or Performance"
|
||||
msgstr "சீரான அல்லது செயல்திறன்"
|
||||
|
||||
#: prefs.js:774 resources/ui/adw/prefs.ui:183
|
||||
msgid "High Priority"
|
||||
msgstr "அதிக முன்னுரிமை"
|
||||
|
||||
#: prefs.js:780
|
||||
msgid "Standard Profile"
|
||||
msgstr "நிலையான சுயவிவரம்"
|
||||
|
||||
#. Translators: %s will be replaced by the effect's name.
|
||||
#: prefs.js:860
|
||||
#, javascript-format
|
||||
msgid "Preview for %s"
|
||||
msgstr "%s க்கான முன்னோட்டம்"
|
||||
|
||||
#: prefs.js:879
|
||||
msgid "Close this Window to Preview the Effect!"
|
||||
msgstr "விளைவை முன்னோட்டமிட இந்த சாளரத்தை மூடு!"
|
||||
|
||||
#: resources/ui/common/menus.ui:13
|
||||
msgid "Visit Homepage"
|
||||
msgstr "முகப்புப்பக்கத்தைப் பார்வையிடவும்"
|
||||
|
||||
#: resources/ui/common/menus.ui:21
|
||||
msgid "View Matching Wallpapers"
|
||||
msgstr "பொருந்தக்கூடிய வால்பேப்பர்களைக் காண்க"
|
||||
|
||||
#: resources/ui/common/menus.ui:25
|
||||
msgid "View Donors Hall-of-Fame"
|
||||
msgstr "நன்கொடையாளர்களைக் காண்க ஆல்-ஆஃப்-ஃபேம்"
|
||||
|
||||
#: resources/ui/common/menus.ui:31
|
||||
msgid "Donate"
|
||||
msgstr "நன்கொடை"
|
||||
|
||||
#: resources/ui/common/menus.ui:50
|
||||
msgid "Report a Bug"
|
||||
msgstr "ஒரு பிழையைப் புகாரளிக்கவும்"
|
||||
|
||||
#: resources/ui/common/menus.ui:54
|
||||
msgid "Create an Effect"
|
||||
msgstr "ஒரு விளைவை உருவாக்கவும்"
|
||||
|
||||
#: resources/ui/common/menus.ui:58
|
||||
msgid "Translate"
|
||||
msgstr "மொழிபெயர்த்திடு"
|
||||
|
||||
#: resources/ui/common/menus.ui:64
|
||||
msgid "Open Effect-Profile Directory"
|
||||
msgstr "திறந்த விளைவு-சுயவிவர அடைவு"
|
||||
|
||||
#: resources/ui/common/menus.ui:70
|
||||
msgid "About Burn-My-Windows"
|
||||
msgstr "எரியும்-என்-சாளரத்தைப் பற்றி"
|
||||
|
||||
#: resources/ui/common/menus.ui:81
|
||||
msgid "Add New Profile..."
|
||||
msgstr "புதிய சுயவிவரத்தைச் சேர்க்கவும் ..."
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:15 resources/ui/adw/tv-glitch.ui:14
|
||||
#: resources/ui/adw/glitch.ui:14 resources/ui/adw/matrix.ui:14
|
||||
#: resources/ui/adw/doom.ui:14 resources/ui/adw/rgbwarp.ui:17
|
||||
#: resources/ui/adw/paint-brush.ui:14 resources/ui/adw/trex.ui:14
|
||||
#: resources/ui/adw/wisps.ui:14 resources/ui/adw/aura-glow.ui:13
|
||||
#: resources/ui/adw/energize-b.ui:15 resources/ui/adw/pixel-wheel.ui:14
|
||||
#: resources/ui/adw/glide.ui:14 resources/ui/adw/apparition.ui:15
|
||||
#: resources/ui/adw/portal.ui:14 resources/ui/adw/incinerate.ui:14
|
||||
#: resources/ui/adw/hexagon.ui:14 resources/ui/adw/fire.ui:30
|
||||
#: resources/ui/adw/team-rocket.ui:17 resources/ui/adw/pixel-wipe.ui:14
|
||||
#: resources/ui/adw/snap.ui:14 resources/ui/adw/focus.ui:35
|
||||
#: resources/ui/adw/mushroom.ui:17 resources/ui/adw/energize-a.ui:14
|
||||
#: resources/ui/adw/pixelate.ui:14 resources/ui/adw/tv.ui:14
|
||||
msgid "Animation Time [ms]"
|
||||
msgstr "அனிமேசன் நேரம் [எம்.எச்]"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:37 resources/ui/adw/broken-glass.ui:70
|
||||
#: resources/ui/adw/broken-glass.ui:103 resources/ui/adw/broken-glass.ui:136
|
||||
#: resources/ui/adw/broken-glass.ui:159 resources/ui/adw/tv-glitch.ui:36
|
||||
#: resources/ui/adw/tv-glitch.ui:69 resources/ui/adw/tv-glitch.ui:102
|
||||
#: resources/ui/adw/tv-glitch.ui:135 resources/ui/adw/tv-glitch.ui:160
|
||||
#: resources/ui/adw/glitch.ui:36 resources/ui/adw/glitch.ui:69
|
||||
#: resources/ui/adw/glitch.ui:102 resources/ui/adw/glitch.ui:135
|
||||
#: resources/ui/adw/glitch.ui:160 resources/ui/adw/matrix.ui:36
|
||||
#: resources/ui/adw/matrix.ui:69 resources/ui/adw/matrix.ui:102
|
||||
#: resources/ui/adw/matrix.ui:135 resources/ui/adw/matrix.ui:160
|
||||
#: resources/ui/adw/matrix.ui:185 resources/ui/adw/doom.ui:36
|
||||
#: resources/ui/adw/doom.ui:69 resources/ui/adw/doom.ui:102
|
||||
#: resources/ui/adw/doom.ui:135 resources/ui/adw/rgbwarp.ui:42
|
||||
#: resources/ui/adw/rgbwarp.ui:81 resources/ui/adw/rgbwarp.ui:118
|
||||
#: resources/ui/adw/rgbwarp.ui:155 resources/ui/adw/rgbwarp.ui:192
|
||||
#: resources/ui/adw/paint-brush.ui:36 resources/ui/adw/paint-brush.ui:69
|
||||
#: resources/ui/adw/trex.ui:36 resources/ui/adw/trex.ui:69
|
||||
#: resources/ui/adw/trex.ui:102 resources/ui/adw/trex.ui:135
|
||||
#: resources/ui/adw/trex.ui:160 resources/ui/adw/wisps.ui:36
|
||||
#: resources/ui/adw/wisps.ui:69 resources/ui/adw/wisps.ui:110
|
||||
#: resources/ui/adw/aura-glow.ui:35 resources/ui/adw/aura-glow.ui:58
|
||||
#: resources/ui/adw/aura-glow.ui:92 resources/ui/adw/aura-glow.ui:125
|
||||
#: resources/ui/adw/aura-glow.ui:158 resources/ui/adw/aura-glow.ui:191
|
||||
#: resources/ui/adw/aura-glow.ui:224 resources/ui/adw/aura-glow.ui:257
|
||||
#: resources/ui/adw/energize-b.ui:37 resources/ui/adw/energize-b.ui:70
|
||||
#: resources/ui/adw/energize-b.ui:95 resources/ui/adw/pixel-wheel.ui:36
|
||||
#: resources/ui/adw/pixel-wheel.ui:69 resources/ui/adw/pixel-wheel.ui:102
|
||||
#: resources/ui/adw/glide.ui:36 resources/ui/adw/glide.ui:69
|
||||
#: resources/ui/adw/glide.ui:102 resources/ui/adw/glide.ui:135
|
||||
#: resources/ui/adw/glide.ui:168 resources/ui/adw/apparition.ui:37
|
||||
#: resources/ui/adw/apparition.ui:70 resources/ui/adw/apparition.ui:103
|
||||
#: resources/ui/adw/apparition.ui:136 resources/ui/adw/apparition.ui:169
|
||||
#: resources/ui/adw/portal.ui:36 resources/ui/adw/portal.ui:69
|
||||
#: resources/ui/adw/portal.ui:102 resources/ui/adw/portal.ui:135
|
||||
#: resources/ui/adw/portal.ui:160 resources/ui/adw/incinerate.ui:36
|
||||
#: resources/ui/adw/incinerate.ui:69 resources/ui/adw/incinerate.ui:102
|
||||
#: resources/ui/adw/incinerate.ui:125 resources/ui/adw/incinerate.ui:150
|
||||
#: resources/ui/adw/hexagon.ui:36 resources/ui/adw/hexagon.ui:69
|
||||
#: resources/ui/adw/hexagon.ui:102 resources/ui/adw/hexagon.ui:127
|
||||
#: resources/ui/adw/hexagon.ui:152 resources/ui/adw/hexagon.ui:175
|
||||
#: resources/ui/adw/fire.ui:52 resources/ui/adw/fire.ui:85
|
||||
#: resources/ui/adw/fire.ui:118 resources/ui/adw/fire.ui:141
|
||||
#: resources/ui/adw/fire.ui:199 resources/ui/adw/team-rocket.ui:42
|
||||
#: resources/ui/adw/team-rocket.ui:80 resources/ui/adw/team-rocket.ui:102
|
||||
#: resources/ui/adw/team-rocket.ui:139 resources/ui/adw/team-rocket.ui:176
|
||||
#: resources/ui/adw/team-rocket.ui:214 resources/ui/adw/team-rocket.ui:251
|
||||
#: resources/ui/adw/pixel-wipe.ui:36 resources/ui/adw/pixel-wipe.ui:69
|
||||
#: resources/ui/adw/snap.ui:36 resources/ui/adw/snap.ui:69
|
||||
#: resources/ui/adw/snap.ui:94 resources/ui/adw/focus.ui:50
|
||||
#: resources/ui/adw/focus.ui:76 resources/ui/adw/focus.ui:102
|
||||
#: resources/ui/adw/mushroom.ui:42 resources/ui/adw/mushroom.ui:99
|
||||
#: resources/ui/adw/mushroom.ui:137 resources/ui/adw/mushroom.ui:175
|
||||
#: resources/ui/adw/mushroom.ui:209 resources/ui/adw/mushroom.ui:243
|
||||
#: resources/ui/adw/mushroom.ui:281 resources/ui/adw/mushroom.ui:319
|
||||
#: resources/ui/adw/mushroom.ui:357 resources/ui/adw/mushroom.ui:427
|
||||
#: resources/ui/adw/energize-a.ui:36 resources/ui/adw/energize-a.ui:69
|
||||
#: resources/ui/adw/energize-a.ui:94 resources/ui/adw/pixelate.ui:36
|
||||
#: resources/ui/adw/pixelate.ui:69 resources/ui/adw/pixelate.ui:102
|
||||
#: resources/ui/adw/tv.ui:36 resources/ui/adw/tv.ui:61
|
||||
msgid "Reset to Default Value"
|
||||
msgstr "இயல்புநிலை மதிப்புக்கு மீட்டமைக்கவும்"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:48 resources/ui/adw/tv-glitch.ui:47
|
||||
#: resources/ui/adw/glitch.ui:47 resources/ui/adw/matrix.ui:47
|
||||
#: resources/ui/adw/wisps.ui:47 resources/ui/adw/energize-b.ui:48
|
||||
#: resources/ui/adw/glide.ui:47 resources/ui/adw/incinerate.ui:47
|
||||
#: resources/ui/adw/hexagon.ui:47 resources/ui/adw/fire.ui:63
|
||||
#: resources/ui/adw/snap.ui:47 resources/ui/adw/energize-a.ui:47
|
||||
msgid "Scale"
|
||||
msgstr "அளவு"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:81
|
||||
msgid "Gravity"
|
||||
msgstr "ஈர்ப்பு"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:114
|
||||
msgid "Blow Force"
|
||||
msgstr "ஊதி ஆற்றல்"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:147
|
||||
msgid "Shatter From Pointer Location"
|
||||
msgstr "சுட்டிக்காட்டி இருப்பிடத்திலிருந்து சிதறுங்கள்"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:148
|
||||
msgid ""
|
||||
"The shards will fly away from where your mouse pointer was when closing the "
|
||||
"window."
|
||||
msgstr ""
|
||||
"சாளரத்தை மூடும்போது உங்கள் சுட்டி சுட்டிக்காட்டி இருந்த இடத்திலிருந்து துண்டுகள் பறக்கும்."
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
|
||||
msgid "Strength"
|
||||
msgstr "வலிமை"
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:113 resources/ui/adw/glitch.ui:113
|
||||
#: resources/ui/adw/aura-glow.ui:103 resources/ui/adw/fire.ui:96
|
||||
msgid "Speed"
|
||||
msgstr "வேகம்"
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:146 resources/ui/adw/glitch.ui:146
|
||||
#: resources/ui/adw/wisps.ui:80 resources/ui/adw/energize-b.ui:81
|
||||
#: resources/ui/adw/portal.ui:146 resources/ui/adw/incinerate.ui:136
|
||||
#: resources/ui/adw/snap.ui:80 resources/ui/adw/energize-a.ui:80
|
||||
#: resources/ui/adw/tv.ui:47
|
||||
msgid "Color"
|
||||
msgstr "நிறம்"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:80 resources/ui/adw/apparition.ui:48
|
||||
msgid "Randomness"
|
||||
msgstr "சீரற்ற தன்மை"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:113
|
||||
msgid "Vertical Overshooting"
|
||||
msgstr "செங்குத்து ஓவர்சூட்டிங்"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:146
|
||||
msgid "Trail Color"
|
||||
msgstr "பாதை நிறம்"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:171
|
||||
msgid "Tip Color"
|
||||
msgstr "முனை நிறம்"
|
||||
|
||||
#: resources/ui/adw/doom.ui:47
|
||||
msgid "Horizontal Scale"
|
||||
msgstr "கிடைமட்ட அளவு"
|
||||
|
||||
#: resources/ui/adw/doom.ui:80
|
||||
msgid "Vertical Scale"
|
||||
msgstr "செங்குத்து அளவு"
|
||||
|
||||
#: resources/ui/adw/doom.ui:113 resources/ui/adw/pixel-wheel.ui:80
|
||||
#: resources/ui/adw/pixel-wipe.ui:47 resources/ui/adw/pixelate.ui:80
|
||||
msgid "Pixel Size"
|
||||
msgstr "படப்புள்ளி அளவு"
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:55
|
||||
msgid "Brightness"
|
||||
msgstr "ஒளி"
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:93
|
||||
msgid "Red Speed"
|
||||
msgstr "சிவப்பு விரைவு"
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:130
|
||||
msgid "Green Speed"
|
||||
msgstr "பச்சை விரைவு"
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:167
|
||||
msgid "Blue Speed"
|
||||
msgstr "நீல விரைவு"
|
||||
|
||||
#: resources/ui/adw/paint-brush.ui:47
|
||||
msgid "Brush Size"
|
||||
msgstr "தூரிகை அளவு"
|
||||
|
||||
#: resources/ui/adw/trex.ui:47
|
||||
msgid "Claw Scratch Scale"
|
||||
msgstr "நகம் கீறல் அளவு"
|
||||
|
||||
#: resources/ui/adw/trex.ui:80
|
||||
msgid "Claw Scratch Count"
|
||||
msgstr "நகம் கீறல் எண்ணிக்கை"
|
||||
|
||||
#: resources/ui/adw/trex.ui:113
|
||||
msgid "Warp Effect"
|
||||
msgstr "வார்ப் விளைவு"
|
||||
|
||||
#: resources/ui/adw/trex.ui:146
|
||||
msgid "Flash Color"
|
||||
msgstr "ஃபிளாச் நிறம்"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:47
|
||||
msgid "Random Color"
|
||||
msgstr "சீரற்ற நிறம்"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:69
|
||||
msgid "Start Hue"
|
||||
msgstr "சாயலைத் தொடங்கவும்"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:136
|
||||
msgid "Saturation"
|
||||
msgstr "தெவிட்டல்"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:169
|
||||
msgid "Edge Size"
|
||||
msgstr "விளிம்பு அளவு"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:202
|
||||
msgid "Edge Hardness"
|
||||
msgstr "விளிம்பு கடினத்தன்மை"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:235 resources/ui/adw/focus.ui:61
|
||||
msgid "Blur Amount"
|
||||
msgstr "மங்கலான தொகை"
|
||||
|
||||
#: resources/ui/adw/pixel-wheel.ui:47
|
||||
msgid "Spoke Count"
|
||||
msgstr "பேசப்பட்ட எண்ணிக்கை"
|
||||
|
||||
#: resources/ui/adw/glide.ui:80
|
||||
msgid "Squish"
|
||||
msgstr "ச்க்விச்"
|
||||
|
||||
#: resources/ui/adw/glide.ui:113
|
||||
msgid "Tilt"
|
||||
msgstr "சாய்"
|
||||
|
||||
#: resources/ui/adw/glide.ui:146
|
||||
msgid "Shift"
|
||||
msgstr "உயர்த்து"
|
||||
|
||||
#: resources/ui/adw/apparition.ui:81
|
||||
msgid "Twirl Intensity"
|
||||
msgstr "சுழல் தீவிரம்"
|
||||
|
||||
#: resources/ui/adw/apparition.ui:114
|
||||
msgid "Shake Intensity"
|
||||
msgstr "குலுக்கல் தீவிரம்"
|
||||
|
||||
#: resources/ui/adw/apparition.ui:147
|
||||
msgid "Suction Intensity"
|
||||
msgstr "உறிஞ்சும் தீவிரம்"
|
||||
|
||||
#: resources/ui/adw/portal.ui:47
|
||||
msgid "Rotation Speed"
|
||||
msgstr "சுழற்சி விரைவு"
|
||||
|
||||
#: resources/ui/adw/portal.ui:80
|
||||
msgid "Whirling"
|
||||
msgstr "சுழல்"
|
||||
|
||||
#: resources/ui/adw/portal.ui:113
|
||||
msgid "Details"
|
||||
msgstr "விவரங்கள்"
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:80
|
||||
msgid "Turbulence"
|
||||
msgstr "(காற்றுக்)கொந்தளிப்பு"
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:113
|
||||
msgid "Start at Pointer"
|
||||
msgstr "சுட்டிக்காட்டி தொடங்கவும்"
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:114
|
||||
msgid "If disabled, a random location will be chosen."
|
||||
msgstr "முடக்கப்பட்டால், ஒரு சீரற்ற இடம் தேர்வு செய்யப்படும்."
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:80
|
||||
msgid "Mesh Line Width"
|
||||
msgstr "கண்ணி வரி அகலம்"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:113
|
||||
msgid "Line Color"
|
||||
msgstr "வரி நிறம்"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:138
|
||||
msgid "Glow Color"
|
||||
msgstr "பளபளப்பான நிறம்"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:163
|
||||
msgid "Additive Blending"
|
||||
msgstr "சேர்க்கை கலத்தல்"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:164
|
||||
msgid "You may want to enable this for dark window themes."
|
||||
msgstr "இருண்ட சாளர கருப்பொருள்களுக்கு இதை இயக்க நீங்கள் விரும்பலாம்."
|
||||
|
||||
#: resources/ui/adw/fire.ui:14
|
||||
msgid "Presets"
|
||||
msgstr "முன்னமைவுகள்"
|
||||
|
||||
#: resources/ui/adw/fire.ui:19 resources/ui/adw/mushroom.ui:61
|
||||
msgid "Choose a Preset"
|
||||
msgstr "முன்னமைவைத் தேர்வுசெய்க"
|
||||
|
||||
#: resources/ui/adw/fire.ui:129
|
||||
msgid "3D Noise"
|
||||
msgstr "3 டி ஒலி"
|
||||
|
||||
#: resources/ui/adw/fire.ui:130
|
||||
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||
msgstr ""
|
||||
"மிகவும் மாறும் நெருப்பை உருவாக்குகிறது, ஆனால் அதிக சி.பீ.யூ ஆற்றல் தேவைப்படுகிறது."
|
||||
|
||||
#: resources/ui/adw/fire.ui:152
|
||||
msgid "Gradient"
|
||||
msgstr "சரிவு"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:54
|
||||
msgid "Animation Split"
|
||||
msgstr "அனிமேசன் பிளவு"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:91
|
||||
msgid "Rotate Window"
|
||||
msgstr "சாளரத்தை சுழற்று"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:114
|
||||
msgid "Horizontal Sparkle Position"
|
||||
msgstr "கிடைமட்ட ஒளி நிலை"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:151
|
||||
msgid "Vertical Sparkle Position"
|
||||
msgstr "செங்குத்து ஒளி நிலை"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:189
|
||||
msgid "Sparkle Size"
|
||||
msgstr "பிரகாசிக்கும் அளவு"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:226
|
||||
msgid "Sparkle Rotation"
|
||||
msgstr "பிரகாச சுழற்சி"
|
||||
|
||||
#: resources/ui/adw/focus.ui:87
|
||||
msgid "Blur Quality"
|
||||
msgstr "மங்கலான தகுதி"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:65
|
||||
msgid "Effect Profile Constraints"
|
||||
msgstr "விளைவு சுயவிவரக் கட்டுப்பாடுகள்"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:66
|
||||
msgid "Define when the current effect settings should be used."
|
||||
msgstr "தற்போதைய விளைவு அமைப்புகள் எப்போது பயன்படுத்தப்பட வேண்டும் என்பதை வரையறுக்கவும்."
|
||||
|
||||
#: resources/ui/adw/prefs.ui:70
|
||||
msgid "Application"
|
||||
msgstr "பயன்பாடு"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:81 resources/ui/adw/prefs.ui:102
|
||||
#: resources/ui/adw/prefs.ui:117 resources/ui/adw/prefs.ui:132
|
||||
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
|
||||
msgid "Any"
|
||||
msgstr "ஏதேனும்"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:98
|
||||
msgid "Animation Type"
|
||||
msgstr "அனிமேசன் வகை"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:113
|
||||
msgid "Window Type"
|
||||
msgstr "சாளரம் வகை"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:128
|
||||
msgid "Color Scheme"
|
||||
msgstr "வண்ணத் திட்டம்"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:143
|
||||
msgid "Power Mode"
|
||||
msgstr "ஆற்றல் முறை"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:158
|
||||
msgid "Power Profile"
|
||||
msgstr "ஆற்றல் சுயவிவரம்"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:179
|
||||
msgid "Advanced Profile Options"
|
||||
msgstr "மேம்பட்ட சுயவிவர விருப்பங்கள்"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:184
|
||||
msgid "Use this profile even if there are better matching profiles."
|
||||
msgstr "சிறந்த பொருந்தக்கூடிய சுயவிவரங்கள் இருந்தாலும் இந்த சுயவிவரத்தைப் பயன்படுத்தவும்."
|
||||
|
||||
#: resources/ui/adw/prefs.ui:204
|
||||
msgid "Delete this Profile..."
|
||||
msgstr "இந்த சுயவிவரத்தை நீக்கு ..."
|
||||
|
||||
#: resources/ui/adw/prefs.ui:223
|
||||
msgid "Effect Selection"
|
||||
msgstr "விளைவு தேர்வு"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:224
|
||||
msgid "If multiple are selected, one is chosen randomly."
|
||||
msgstr "பல தேர்ந்தெடுக்கப்பட்டால், ஒன்று தோராயமாக தேர்ந்தெடுக்கப்படுகிறது."
|
||||
|
||||
#: resources/ui/adw/prefs.ui:235
|
||||
msgid "Search..."
|
||||
msgstr "தேடுங்கள் ..."
|
||||
|
||||
#: resources/ui/adw/prefs.ui:250
|
||||
msgid "Enable All"
|
||||
msgstr "அனைத்தையும் இயக்கு"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:256
|
||||
msgid "Disable All"
|
||||
msgstr "அனைத்தையும் முடக்கு"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:55
|
||||
msgid "Effect Presets"
|
||||
msgstr "விளைவு முன்னமைவுகள்"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:73
|
||||
msgid "Scale Style"
|
||||
msgstr "அளவு நடை"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:74
|
||||
msgid "8Bit --- Smooth"
|
||||
msgstr "8 பிட் --- மென்மையானது"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:112
|
||||
msgid "Spark Count"
|
||||
msgstr "தீப்பொறி எண்ணிக்கை"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:150
|
||||
msgid "Spark Rotation"
|
||||
msgstr "தீப்பொறி சுழற்சி"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:188
|
||||
msgid "Spark Color"
|
||||
msgstr "தீப்பொறி நிறம்"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:222
|
||||
msgid "Rays Color"
|
||||
msgstr "கதிர்களின் நிறம்"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:256
|
||||
msgid "Star Rings Count"
|
||||
msgstr "நட்சத்திர மோதிர எண்ணிக்கை"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:294
|
||||
msgid "Star Ring Rotation"
|
||||
msgstr "நட்சத்திர மோதிரம் சுழற்சி"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:332
|
||||
msgid "Stars Count Per Ring"
|
||||
msgstr "ஒரு வளையத்திற்கு நட்சத்திரங்களின் எண்ணிக்கை"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:370
|
||||
msgid "Star Gradient"
|
||||
msgstr "நட்சத்திர சாய்வு"
|
||||
|
||||
#: resources/ui/adw/pixelate.ui:47
|
||||
msgid "Noise"
|
||||
msgstr "இரைச்சல்"
|
||||
@@ -0,0 +1,783 @@
|
||||
# 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: 2025-02-17 20:23+0100\n"
|
||||
"PO-Revision-Date: 2026-06-01 08:01+0000\n"
|
||||
"Last-Translator: Alang Hsu <alang.hsu@gmail.com>\n"
|
||||
"Language-Team: Chinese (Traditional Han script) <https://hosted.weblate.org/"
|
||||
"projects/burn-my-windows/core/zh_Hant/>\n"
|
||||
"Language: zh_Hant\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 2026.6\n"
|
||||
|
||||
#: src/effects/Apparition.js:80
|
||||
msgid "Apparition"
|
||||
msgstr "幽靈旋風"
|
||||
|
||||
#: src/effects/AuraGlow.js:89
|
||||
msgid "Aura Glow"
|
||||
msgstr "光暈光輝"
|
||||
|
||||
#: src/effects/BrokenGlass.js:138
|
||||
msgid "Broken Glass"
|
||||
msgstr "玻璃碎裂"
|
||||
|
||||
#: src/effects/Doom.js:87
|
||||
msgid "Doom"
|
||||
msgstr "毀滅戰士"
|
||||
|
||||
#: src/effects/EnergizeA.js:74
|
||||
msgid "Energize A"
|
||||
msgstr "碎片融解A"
|
||||
|
||||
#: src/effects/EnergizeB.js:75
|
||||
msgid "Energize B"
|
||||
msgstr "碎片融解B"
|
||||
|
||||
#: src/effects/Fire.js:96
|
||||
msgid "Fire"
|
||||
msgstr "烈火燃燒"
|
||||
|
||||
#: src/effects/Fire.js:150
|
||||
msgid "Default Fire"
|
||||
msgstr "預設烈火燃燒效果"
|
||||
|
||||
#: src/effects/Fire.js:160
|
||||
msgid "Hell Fire"
|
||||
msgstr "地獄之火"
|
||||
|
||||
#: src/effects/Fire.js:170
|
||||
msgid "Dark and Smutty"
|
||||
msgstr "暗黑之火"
|
||||
|
||||
#: src/effects/Fire.js:180
|
||||
msgid "Cold Breeze"
|
||||
msgstr "冰火之舞"
|
||||
|
||||
#: src/effects/Fire.js:190
|
||||
msgid "Santa is Coming"
|
||||
msgstr "聖誕節來臨"
|
||||
|
||||
#: src/effects/Fire.js:201
|
||||
msgid "Nuclear ☢️"
|
||||
msgstr "核子 ☢️"
|
||||
|
||||
#: src/effects/Focus.js:76
|
||||
msgid "Focus"
|
||||
msgstr "焦距模糊"
|
||||
|
||||
#: src/effects/Glide.js:78
|
||||
msgid "Glide"
|
||||
msgstr "滑翔"
|
||||
|
||||
#: src/effects/Glitch.js:80
|
||||
msgid "Glitch"
|
||||
msgstr "電子脈衝"
|
||||
|
||||
#: src/effects/Hexagon.js:83
|
||||
msgid "Hexagon"
|
||||
msgstr "蜂巢拼圖"
|
||||
|
||||
#: src/effects/Incinerate.js:126
|
||||
msgid "Incinerate"
|
||||
msgstr "燃燒蔓開"
|
||||
|
||||
#: src/effects/Matrix.js:109
|
||||
msgid "Matrix"
|
||||
msgstr "駭客任務"
|
||||
|
||||
#: src/effects/Mushroom.js:124
|
||||
msgid "Mushroom"
|
||||
msgstr "蘑菇爆炸"
|
||||
|
||||
#: src/effects/Mushroom.js:204
|
||||
msgid "8Bit Plumber"
|
||||
msgstr "8位元水管工"
|
||||
|
||||
#: src/effects/Mushroom.js:221
|
||||
msgid "New Bros 2 🍄"
|
||||
msgstr "新超級兄弟2 🍄"
|
||||
|
||||
#: src/effects/Mushroom.js:239
|
||||
msgid "Red White and Blue 🇺🇸"
|
||||
msgstr "紅白藍 🇺🇸"
|
||||
|
||||
#: src/effects/Mushroom.js:256
|
||||
msgid "Rainbow 🌈"
|
||||
msgstr "彩虹 🌈"
|
||||
|
||||
#: src/effects/Mushroom.js:273
|
||||
msgid "Cattuccino 😺"
|
||||
msgstr "貓咪奇諾 😺"
|
||||
|
||||
#: src/effects/Mushroom.js:291
|
||||
msgid "Dracula 🦇"
|
||||
msgstr "德古拉 🦇"
|
||||
|
||||
#: src/effects/Mushroom.js:308
|
||||
msgid "Sparkle ✨"
|
||||
msgstr "閃耀 ✨"
|
||||
|
||||
#: src/effects/PaintBrush.js:101
|
||||
msgid "Paint Brush"
|
||||
msgstr "畫筆"
|
||||
|
||||
#: src/effects/Pixelate.js:74
|
||||
msgid "Pixelate"
|
||||
msgstr "像素化"
|
||||
|
||||
#: src/effects/PixelWheel.js:74
|
||||
msgid "Pixel Wheel"
|
||||
msgstr "像素輪"
|
||||
|
||||
#: src/effects/PixelWipe.js:100
|
||||
msgid "Pixel Wipe"
|
||||
msgstr "像素清除"
|
||||
|
||||
#: src/effects/Portal.js:82
|
||||
msgid "Portal"
|
||||
msgstr "傳送門"
|
||||
|
||||
#: src/effects/RGBWarp.js:77
|
||||
msgid "RGB Warp"
|
||||
msgstr "RGB扭曲"
|
||||
|
||||
#: src/effects/SnapOfDisintegration.js:110
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr "碎片掉落"
|
||||
|
||||
#: src/effects/TeamRocket.js:89
|
||||
msgid "Team Rocket"
|
||||
msgstr "火箭隊"
|
||||
|
||||
#: src/effects/TRexAttack.js:109
|
||||
msgid "T-Rex Attack"
|
||||
msgstr "霸王龍攻擊"
|
||||
|
||||
#: src/effects/TVEffect.js:73
|
||||
msgid "TV Effect"
|
||||
msgstr "電視效果"
|
||||
|
||||
#: src/effects/TVGlitch.js:81
|
||||
msgid "TV Glitch"
|
||||
msgstr "電視故障"
|
||||
|
||||
#: src/effects/Wisps.js:85
|
||||
msgid "Wisps"
|
||||
msgstr "精靈飛散"
|
||||
|
||||
#: prefs.js:256
|
||||
msgid "Preview this effect"
|
||||
msgstr "預覽此效果"
|
||||
|
||||
#: prefs.js:333
|
||||
msgid "Burn-My-Windows has been updated!"
|
||||
msgstr "Burn-My-Windows已更新!"
|
||||
|
||||
#: prefs.js:334 resources/ui/common/menus.ui:17
|
||||
msgid "View Changelog"
|
||||
msgstr "查看更新日誌"
|
||||
|
||||
#: prefs.js:516
|
||||
msgid "Delete this Profile?"
|
||||
msgstr "刪除此配置嗎?"
|
||||
|
||||
#: prefs.js:517
|
||||
msgid ""
|
||||
"The current effect profile with all its effect settings will be permanently "
|
||||
"lost."
|
||||
msgstr "目前效果設定檔設定的所有效果都將永久遺失。"
|
||||
|
||||
#: prefs.js:520
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
#: prefs.js:525
|
||||
msgid "Delete"
|
||||
msgstr "刪除"
|
||||
|
||||
#: prefs.js:757 resources/ui/adw/prefs.ui:103
|
||||
msgid "Opening Windows"
|
||||
msgstr "打開視窗"
|
||||
|
||||
#: prefs.js:758 resources/ui/adw/prefs.ui:104
|
||||
msgid "Closing Windows"
|
||||
msgstr "關閉視窗"
|
||||
|
||||
#: prefs.js:759 resources/ui/adw/prefs.ui:118
|
||||
msgid "Normal Windows"
|
||||
msgstr "常規視窗"
|
||||
|
||||
#: prefs.js:760 resources/ui/adw/prefs.ui:119
|
||||
msgid "Dialog Windows"
|
||||
msgstr "對話視窗"
|
||||
|
||||
#: prefs.js:761 resources/ui/adw/prefs.ui:133
|
||||
msgid "Default Color Scheme"
|
||||
msgstr "預設色彩方案"
|
||||
|
||||
#: prefs.js:762 resources/ui/adw/prefs.ui:134
|
||||
msgid "Dark Color Scheme"
|
||||
msgstr "暗色色彩方案"
|
||||
|
||||
#: prefs.js:763 resources/ui/adw/prefs.ui:148
|
||||
msgid "On Battery"
|
||||
msgstr "使用電池時"
|
||||
|
||||
#: prefs.js:764 resources/ui/adw/prefs.ui:149
|
||||
msgid "Plugged In"
|
||||
msgstr "插入電源時"
|
||||
|
||||
#: prefs.js:765 resources/ui/adw/prefs.ui:163
|
||||
msgid "Power-Saver Mode"
|
||||
msgstr "節電模式"
|
||||
|
||||
#: prefs.js:766 resources/ui/adw/prefs.ui:164
|
||||
msgid "Balanced Mode"
|
||||
msgstr "平衡模式"
|
||||
|
||||
#: prefs.js:767 resources/ui/adw/prefs.ui:165
|
||||
msgid "Performance Mode"
|
||||
msgstr "性能模式"
|
||||
|
||||
#: prefs.js:768 resources/ui/adw/prefs.ui:166
|
||||
msgid "Power Saver or Balanced"
|
||||
msgstr "節電或平衡"
|
||||
|
||||
#: prefs.js:769 resources/ui/adw/prefs.ui:167
|
||||
msgid "Balanced or Performance"
|
||||
msgstr "平衡或效能"
|
||||
|
||||
#: prefs.js:774 resources/ui/adw/prefs.ui:183
|
||||
msgid "High Priority"
|
||||
msgstr "高優先級"
|
||||
|
||||
#: prefs.js:780
|
||||
msgid "Standard Profile"
|
||||
msgstr "標準參數"
|
||||
|
||||
#. Translators: %s will be replaced by the effect's name.
|
||||
#: prefs.js:860
|
||||
#, javascript-format
|
||||
msgid "Preview for %s"
|
||||
msgstr "%s 的預覽"
|
||||
|
||||
#: prefs.js:879
|
||||
msgid "Close this Window to Preview the Effect!"
|
||||
msgstr "關閉此窗,預覽效果!"
|
||||
|
||||
#: resources/ui/common/menus.ui:13
|
||||
msgid "Visit Homepage"
|
||||
msgstr "訪問主頁"
|
||||
|
||||
#: resources/ui/common/menus.ui:21
|
||||
msgid "View Matching Wallpapers"
|
||||
msgstr "查看相符的壁紙"
|
||||
|
||||
#: resources/ui/common/menus.ui:25
|
||||
msgid "View Donors Hall-of-Fame"
|
||||
msgstr "查看贊助名人堂"
|
||||
|
||||
#: resources/ui/common/menus.ui:31
|
||||
msgid "Donate"
|
||||
msgstr "捐贈"
|
||||
|
||||
#: resources/ui/common/menus.ui:50
|
||||
msgid "Report a Bug"
|
||||
msgstr "報告錯誤"
|
||||
|
||||
#: resources/ui/common/menus.ui:54
|
||||
msgid "Create an Effect"
|
||||
msgstr "創建特效"
|
||||
|
||||
#: resources/ui/common/menus.ui:58
|
||||
msgid "Translate"
|
||||
msgstr "翻譯"
|
||||
|
||||
#: resources/ui/common/menus.ui:64
|
||||
msgid "Open Effect-Profile Directory"
|
||||
msgstr "開啟效果設定檔目錄"
|
||||
|
||||
#: resources/ui/common/menus.ui:70
|
||||
msgid "About Burn-My-Windows"
|
||||
msgstr "關於 Burn-My-Windows"
|
||||
|
||||
#: resources/ui/common/menus.ui:81
|
||||
msgid "Add New Profile..."
|
||||
msgstr "新建配置…"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:15 resources/ui/adw/tv-glitch.ui:14
|
||||
#: resources/ui/adw/glitch.ui:14 resources/ui/adw/matrix.ui:14
|
||||
#: resources/ui/adw/doom.ui:14 resources/ui/adw/rgbwarp.ui:17
|
||||
#: resources/ui/adw/paint-brush.ui:14 resources/ui/adw/trex.ui:14
|
||||
#: resources/ui/adw/wisps.ui:14 resources/ui/adw/aura-glow.ui:13
|
||||
#: resources/ui/adw/energize-b.ui:15 resources/ui/adw/pixel-wheel.ui:14
|
||||
#: resources/ui/adw/glide.ui:14 resources/ui/adw/apparition.ui:15
|
||||
#: resources/ui/adw/portal.ui:14 resources/ui/adw/incinerate.ui:14
|
||||
#: resources/ui/adw/hexagon.ui:14 resources/ui/adw/fire.ui:30
|
||||
#: resources/ui/adw/team-rocket.ui:17 resources/ui/adw/pixel-wipe.ui:14
|
||||
#: resources/ui/adw/snap.ui:14 resources/ui/adw/focus.ui:35
|
||||
#: resources/ui/adw/mushroom.ui:17 resources/ui/adw/energize-a.ui:14
|
||||
#: resources/ui/adw/pixelate.ui:14 resources/ui/adw/tv.ui:14
|
||||
msgid "Animation Time [ms]"
|
||||
msgstr "動畫時間 [毫秒]"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:37 resources/ui/adw/broken-glass.ui:70
|
||||
#: resources/ui/adw/broken-glass.ui:103 resources/ui/adw/broken-glass.ui:136
|
||||
#: resources/ui/adw/broken-glass.ui:159 resources/ui/adw/tv-glitch.ui:36
|
||||
#: resources/ui/adw/tv-glitch.ui:69 resources/ui/adw/tv-glitch.ui:102
|
||||
#: resources/ui/adw/tv-glitch.ui:135 resources/ui/adw/tv-glitch.ui:160
|
||||
#: resources/ui/adw/glitch.ui:36 resources/ui/adw/glitch.ui:69
|
||||
#: resources/ui/adw/glitch.ui:102 resources/ui/adw/glitch.ui:135
|
||||
#: resources/ui/adw/glitch.ui:160 resources/ui/adw/matrix.ui:36
|
||||
#: resources/ui/adw/matrix.ui:69 resources/ui/adw/matrix.ui:102
|
||||
#: resources/ui/adw/matrix.ui:135 resources/ui/adw/matrix.ui:160
|
||||
#: resources/ui/adw/matrix.ui:185 resources/ui/adw/doom.ui:36
|
||||
#: resources/ui/adw/doom.ui:69 resources/ui/adw/doom.ui:102
|
||||
#: resources/ui/adw/doom.ui:135 resources/ui/adw/rgbwarp.ui:42
|
||||
#: resources/ui/adw/rgbwarp.ui:81 resources/ui/adw/rgbwarp.ui:118
|
||||
#: resources/ui/adw/rgbwarp.ui:155 resources/ui/adw/rgbwarp.ui:192
|
||||
#: resources/ui/adw/paint-brush.ui:36 resources/ui/adw/paint-brush.ui:69
|
||||
#: resources/ui/adw/trex.ui:36 resources/ui/adw/trex.ui:69
|
||||
#: resources/ui/adw/trex.ui:102 resources/ui/adw/trex.ui:135
|
||||
#: resources/ui/adw/trex.ui:160 resources/ui/adw/wisps.ui:36
|
||||
#: resources/ui/adw/wisps.ui:69 resources/ui/adw/wisps.ui:110
|
||||
#: resources/ui/adw/aura-glow.ui:35 resources/ui/adw/aura-glow.ui:58
|
||||
#: resources/ui/adw/aura-glow.ui:92 resources/ui/adw/aura-glow.ui:125
|
||||
#: resources/ui/adw/aura-glow.ui:158 resources/ui/adw/aura-glow.ui:191
|
||||
#: resources/ui/adw/aura-glow.ui:224 resources/ui/adw/aura-glow.ui:257
|
||||
#: resources/ui/adw/energize-b.ui:37 resources/ui/adw/energize-b.ui:70
|
||||
#: resources/ui/adw/energize-b.ui:95 resources/ui/adw/pixel-wheel.ui:36
|
||||
#: resources/ui/adw/pixel-wheel.ui:69 resources/ui/adw/pixel-wheel.ui:102
|
||||
#: resources/ui/adw/glide.ui:36 resources/ui/adw/glide.ui:69
|
||||
#: resources/ui/adw/glide.ui:102 resources/ui/adw/glide.ui:135
|
||||
#: resources/ui/adw/glide.ui:168 resources/ui/adw/apparition.ui:37
|
||||
#: resources/ui/adw/apparition.ui:70 resources/ui/adw/apparition.ui:103
|
||||
#: resources/ui/adw/apparition.ui:136 resources/ui/adw/apparition.ui:169
|
||||
#: resources/ui/adw/portal.ui:36 resources/ui/adw/portal.ui:69
|
||||
#: resources/ui/adw/portal.ui:102 resources/ui/adw/portal.ui:135
|
||||
#: resources/ui/adw/portal.ui:160 resources/ui/adw/incinerate.ui:36
|
||||
#: resources/ui/adw/incinerate.ui:69 resources/ui/adw/incinerate.ui:102
|
||||
#: resources/ui/adw/incinerate.ui:125 resources/ui/adw/incinerate.ui:150
|
||||
#: resources/ui/adw/hexagon.ui:36 resources/ui/adw/hexagon.ui:69
|
||||
#: resources/ui/adw/hexagon.ui:102 resources/ui/adw/hexagon.ui:127
|
||||
#: resources/ui/adw/hexagon.ui:152 resources/ui/adw/hexagon.ui:175
|
||||
#: resources/ui/adw/fire.ui:52 resources/ui/adw/fire.ui:85
|
||||
#: resources/ui/adw/fire.ui:118 resources/ui/adw/fire.ui:141
|
||||
#: resources/ui/adw/fire.ui:199 resources/ui/adw/team-rocket.ui:42
|
||||
#: resources/ui/adw/team-rocket.ui:80 resources/ui/adw/team-rocket.ui:102
|
||||
#: resources/ui/adw/team-rocket.ui:139 resources/ui/adw/team-rocket.ui:176
|
||||
#: resources/ui/adw/team-rocket.ui:214 resources/ui/adw/team-rocket.ui:251
|
||||
#: resources/ui/adw/pixel-wipe.ui:36 resources/ui/adw/pixel-wipe.ui:69
|
||||
#: resources/ui/adw/snap.ui:36 resources/ui/adw/snap.ui:69
|
||||
#: resources/ui/adw/snap.ui:94 resources/ui/adw/focus.ui:50
|
||||
#: resources/ui/adw/focus.ui:76 resources/ui/adw/focus.ui:102
|
||||
#: resources/ui/adw/mushroom.ui:42 resources/ui/adw/mushroom.ui:99
|
||||
#: resources/ui/adw/mushroom.ui:137 resources/ui/adw/mushroom.ui:175
|
||||
#: resources/ui/adw/mushroom.ui:209 resources/ui/adw/mushroom.ui:243
|
||||
#: resources/ui/adw/mushroom.ui:281 resources/ui/adw/mushroom.ui:319
|
||||
#: resources/ui/adw/mushroom.ui:357 resources/ui/adw/mushroom.ui:427
|
||||
#: resources/ui/adw/energize-a.ui:36 resources/ui/adw/energize-a.ui:69
|
||||
#: resources/ui/adw/energize-a.ui:94 resources/ui/adw/pixelate.ui:36
|
||||
#: resources/ui/adw/pixelate.ui:69 resources/ui/adw/pixelate.ui:102
|
||||
#: resources/ui/adw/tv.ui:36 resources/ui/adw/tv.ui:61
|
||||
msgid "Reset to Default Value"
|
||||
msgstr "重設為預設值"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:48 resources/ui/adw/tv-glitch.ui:47
|
||||
#: resources/ui/adw/glitch.ui:47 resources/ui/adw/matrix.ui:47
|
||||
#: resources/ui/adw/wisps.ui:47 resources/ui/adw/energize-b.ui:48
|
||||
#: resources/ui/adw/glide.ui:47 resources/ui/adw/incinerate.ui:47
|
||||
#: resources/ui/adw/hexagon.ui:47 resources/ui/adw/fire.ui:63
|
||||
#: resources/ui/adw/snap.ui:47 resources/ui/adw/energize-a.ui:47
|
||||
msgid "Scale"
|
||||
msgstr "比例"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:81
|
||||
msgid "Gravity"
|
||||
msgstr "重力"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:114
|
||||
msgid "Blow Force"
|
||||
msgstr "彈拉力度"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:147
|
||||
msgid "Shatter From Pointer Location"
|
||||
msgstr "從遊標位置破碎"
|
||||
|
||||
#: resources/ui/adw/broken-glass.ui:148
|
||||
msgid ""
|
||||
"The shards will fly away from where your mouse pointer was when closing the "
|
||||
"window."
|
||||
msgstr "視窗破碎效果將會從遊標位置開始。"
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
|
||||
msgid "Strength"
|
||||
msgstr "強度"
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:113 resources/ui/adw/glitch.ui:113
|
||||
#: resources/ui/adw/aura-glow.ui:103 resources/ui/adw/fire.ui:96
|
||||
msgid "Speed"
|
||||
msgstr "速度"
|
||||
|
||||
#: resources/ui/adw/tv-glitch.ui:146 resources/ui/adw/glitch.ui:146
|
||||
#: resources/ui/adw/wisps.ui:80 resources/ui/adw/energize-b.ui:81
|
||||
#: resources/ui/adw/portal.ui:146 resources/ui/adw/incinerate.ui:136
|
||||
#: resources/ui/adw/snap.ui:80 resources/ui/adw/energize-a.ui:80
|
||||
#: resources/ui/adw/tv.ui:47
|
||||
msgid "Color"
|
||||
msgstr "顏色"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:80 resources/ui/adw/apparition.ui:48
|
||||
msgid "Randomness"
|
||||
msgstr "隨機值"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:113
|
||||
msgid "Vertical Overshooting"
|
||||
msgstr "超出垂直範圍"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:146
|
||||
msgid "Trail Color"
|
||||
msgstr "尾跡顏色"
|
||||
|
||||
#: resources/ui/adw/matrix.ui:171
|
||||
msgid "Tip Color"
|
||||
msgstr "提示顏色"
|
||||
|
||||
#: resources/ui/adw/doom.ui:47
|
||||
msgid "Horizontal Scale"
|
||||
msgstr "水平比例"
|
||||
|
||||
#: resources/ui/adw/doom.ui:80
|
||||
msgid "Vertical Scale"
|
||||
msgstr "垂直比例"
|
||||
|
||||
#: resources/ui/adw/doom.ui:113 resources/ui/adw/pixel-wheel.ui:80
|
||||
#: resources/ui/adw/pixel-wipe.ui:47 resources/ui/adw/pixelate.ui:80
|
||||
msgid "Pixel Size"
|
||||
msgstr "像素大小"
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:55
|
||||
msgid "Brightness"
|
||||
msgstr "亮度"
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:93
|
||||
msgid "Red Speed"
|
||||
msgstr "紅色速度"
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:130
|
||||
msgid "Green Speed"
|
||||
msgstr "綠色速度"
|
||||
|
||||
#: resources/ui/adw/rgbwarp.ui:167
|
||||
msgid "Blue Speed"
|
||||
msgstr "藍色速度"
|
||||
|
||||
#: resources/ui/adw/paint-brush.ui:47
|
||||
msgid "Brush Size"
|
||||
msgstr "筆刷大小"
|
||||
|
||||
#: resources/ui/adw/trex.ui:47
|
||||
msgid "Claw Scratch Scale"
|
||||
msgstr "爪痕大小"
|
||||
|
||||
#: resources/ui/adw/trex.ui:80
|
||||
msgid "Claw Scratch Count"
|
||||
msgstr "爪痕數量"
|
||||
|
||||
#: resources/ui/adw/trex.ui:113
|
||||
msgid "Warp Effect"
|
||||
msgstr "扭曲效果"
|
||||
|
||||
#: resources/ui/adw/trex.ui:146
|
||||
msgid "Flash Color"
|
||||
msgstr "閃爍顏色"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:47
|
||||
msgid "Random Color"
|
||||
msgstr "隨機顏色"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:69
|
||||
msgid "Start Hue"
|
||||
msgstr "起始色相"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:136
|
||||
msgid "Saturation"
|
||||
msgstr "飽和度"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:169
|
||||
msgid "Edge Size"
|
||||
msgstr "邊緣大小"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:202
|
||||
msgid "Edge Hardness"
|
||||
msgstr "邊緣硬度"
|
||||
|
||||
#: resources/ui/adw/aura-glow.ui:235 resources/ui/adw/focus.ui:61
|
||||
msgid "Blur Amount"
|
||||
msgstr "模糊程度"
|
||||
|
||||
#: resources/ui/adw/pixel-wheel.ui:47
|
||||
msgid "Spoke Count"
|
||||
msgstr "輻條數量"
|
||||
|
||||
#: resources/ui/adw/glide.ui:80
|
||||
msgid "Squish"
|
||||
msgstr "擠壓程度"
|
||||
|
||||
#: resources/ui/adw/glide.ui:113
|
||||
msgid "Tilt"
|
||||
msgstr "傾斜"
|
||||
|
||||
#: resources/ui/adw/glide.ui:146
|
||||
msgid "Shift"
|
||||
msgstr "偏移"
|
||||
|
||||
#: resources/ui/adw/apparition.ui:81
|
||||
msgid "Twirl Intensity"
|
||||
msgstr "扭曲力度"
|
||||
|
||||
#: resources/ui/adw/apparition.ui:114
|
||||
msgid "Shake Intensity"
|
||||
msgstr "晃動力度"
|
||||
|
||||
#: resources/ui/adw/apparition.ui:147
|
||||
msgid "Suction Intensity"
|
||||
msgstr "吸入力度"
|
||||
|
||||
#: resources/ui/adw/portal.ui:47
|
||||
msgid "Rotation Speed"
|
||||
msgstr "旋轉速度"
|
||||
|
||||
#: resources/ui/adw/portal.ui:80
|
||||
msgid "Whirling"
|
||||
msgstr "迴旋"
|
||||
|
||||
#: resources/ui/adw/portal.ui:113
|
||||
msgid "Details"
|
||||
msgstr "細節"
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:80
|
||||
msgid "Turbulence"
|
||||
msgstr "擾動"
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:113
|
||||
msgid "Start at Pointer"
|
||||
msgstr "從遊標位置開始"
|
||||
|
||||
#: resources/ui/adw/incinerate.ui:114
|
||||
msgid "If disabled, a random location will be chosen."
|
||||
msgstr "如果禁用,將從隨機位置開始。"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:80
|
||||
msgid "Mesh Line Width"
|
||||
msgstr "網格線寬"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:113
|
||||
msgid "Line Color"
|
||||
msgstr "線條顏色"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:138
|
||||
msgid "Glow Color"
|
||||
msgstr "光暈顏色"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:163
|
||||
msgid "Additive Blending"
|
||||
msgstr "疊加融合"
|
||||
|
||||
#: resources/ui/adw/hexagon.ui:164
|
||||
msgid "You may want to enable this for dark window themes."
|
||||
msgstr "在暗黑視窗主題中,您可能需要此特效。"
|
||||
|
||||
#: resources/ui/adw/fire.ui:14
|
||||
msgid "Presets"
|
||||
msgstr "預設"
|
||||
|
||||
#: resources/ui/adw/fire.ui:19 resources/ui/adw/mushroom.ui:61
|
||||
msgid "Choose a Preset"
|
||||
msgstr "選取預設配置"
|
||||
|
||||
#: resources/ui/adw/fire.ui:129
|
||||
msgid "3D Noise"
|
||||
msgstr "3D雜訊"
|
||||
|
||||
#: resources/ui/adw/fire.ui:130
|
||||
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||
msgstr "創造更多動態火焰,但更耗費顯示卡資源。"
|
||||
|
||||
#: resources/ui/adw/fire.ui:152
|
||||
msgid "Gradient"
|
||||
msgstr "漸層色"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:54
|
||||
msgid "Animation Split"
|
||||
msgstr "動畫分割"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:91
|
||||
msgid "Rotate Window"
|
||||
msgstr "旋轉視窗"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:114
|
||||
msgid "Horizontal Sparkle Position"
|
||||
msgstr "水平閃爍位置"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:151
|
||||
msgid "Vertical Sparkle Position"
|
||||
msgstr "垂直閃爍位置"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:189
|
||||
msgid "Sparkle Size"
|
||||
msgstr "閃爍大小"
|
||||
|
||||
#: resources/ui/adw/team-rocket.ui:226
|
||||
msgid "Sparkle Rotation"
|
||||
msgstr "閃爍旋轉"
|
||||
|
||||
#: resources/ui/adw/focus.ui:87
|
||||
msgid "Blur Quality"
|
||||
msgstr "模糊品質"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:65
|
||||
msgid "Effect Profile Constraints"
|
||||
msgstr "效果配置限制"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:66
|
||||
msgid "Define when the current effect settings should be used."
|
||||
msgstr "定義何時使用目前效果設定。"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:70
|
||||
msgid "Application"
|
||||
msgstr "程式"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:81 resources/ui/adw/prefs.ui:102
|
||||
#: resources/ui/adw/prefs.ui:117 resources/ui/adw/prefs.ui:132
|
||||
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
|
||||
msgid "Any"
|
||||
msgstr "任意"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:98
|
||||
msgid "Animation Type"
|
||||
msgstr "動畫類型"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:113
|
||||
msgid "Window Type"
|
||||
msgstr "視窗類型"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:128
|
||||
msgid "Color Scheme"
|
||||
msgstr "色彩方案"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:143
|
||||
msgid "Power Mode"
|
||||
msgstr "電池模式"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:158
|
||||
msgid "Power Profile"
|
||||
msgstr "電源配置"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:179
|
||||
msgid "Advanced Profile Options"
|
||||
msgstr "進階配置選項"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:184
|
||||
msgid "Use this profile even if there are better matching profiles."
|
||||
msgstr "即使有更好匹配的配置文件,也使用此配置。"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:204
|
||||
msgid "Delete this Profile..."
|
||||
msgstr "刪除此配置…"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:223
|
||||
msgid "Effect Selection"
|
||||
msgstr "效果選擇"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:224
|
||||
msgid "If multiple are selected, one is chosen randomly."
|
||||
msgstr "如果多選,則每次隨機。"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:235
|
||||
msgid "Search..."
|
||||
msgstr "搜尋…"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:250
|
||||
msgid "Enable All"
|
||||
msgstr "啟用全部"
|
||||
|
||||
#: resources/ui/adw/prefs.ui:256
|
||||
msgid "Disable All"
|
||||
msgstr "停用全部"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:55
|
||||
msgid "Effect Presets"
|
||||
msgstr "效果預設集"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:73
|
||||
msgid "Scale Style"
|
||||
msgstr "縮放樣式"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:74
|
||||
msgid "8Bit --- Smooth"
|
||||
msgstr "8位元 --- 平滑"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:112
|
||||
msgid "Spark Count"
|
||||
msgstr "火花數量"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:150
|
||||
msgid "Spark Rotation"
|
||||
msgstr "火花旋轉"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:188
|
||||
msgid "Spark Color"
|
||||
msgstr "火花顏色"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:222
|
||||
msgid "Rays Color"
|
||||
msgstr "光芒顏色"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:256
|
||||
msgid "Star Rings Count"
|
||||
msgstr "星環數量"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:294
|
||||
msgid "Star Ring Rotation"
|
||||
msgstr "星環旋轉"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:332
|
||||
msgid "Stars Count Per Ring"
|
||||
msgstr "每環星星數"
|
||||
|
||||
#: resources/ui/adw/mushroom.ui:370
|
||||
msgid "Star Gradient"
|
||||
msgstr "星星漸層"
|
||||
|
||||
#: resources/ui/adw/pixelate.ui:47
|
||||
msgid "Noise"
|
||||
msgstr "雜訊"
|
||||
|
||||
#~ msgid "Gold Sponsors"
|
||||
#~ msgstr "金牌贊助商"
|
||||
|
||||
#~ msgid "Silver Sponsors"
|
||||
#~ msgstr "銀牌贊助商"
|
||||
|
||||
#~ msgid "Bronze Sponsors"
|
||||
#~ msgstr "銅牌贊助商"
|
||||
|
||||
#~ msgid "Past Sponsors"
|
||||
#~ msgstr "往屆贊助商"
|
||||
|
||||
#~ msgid "All"
|
||||
#~ msgstr "全部"
|
||||
|
||||
#~ msgid "None"
|
||||
#~ msgstr "無"
|
||||
@@ -1,86 +0,0 @@
|
||||
{
|
||||
"gold": [
|
||||
{
|
||||
"name": "D3vil0p3r",
|
||||
"url": "https://github.com/D3vil0p3r"
|
||||
},
|
||||
{
|
||||
"name": "Maxence Sebald",
|
||||
"url": ""
|
||||
}
|
||||
],
|
||||
"silver": [
|
||||
{
|
||||
"name": "@danielheadbang",
|
||||
"url": "https://github.com/danielheadbang"
|
||||
},
|
||||
{
|
||||
"name": "Jorge Castro",
|
||||
"url": "https://github.com/castrojo"
|
||||
}
|
||||
],
|
||||
"bronze": [
|
||||
{
|
||||
"name": "@SubOptimal",
|
||||
"url": "https://github.com/SubOptimal"
|
||||
},
|
||||
{
|
||||
"name": "@vlazic",
|
||||
"url": "https://github.com/vlazic"
|
||||
}
|
||||
],
|
||||
"past": [
|
||||
{
|
||||
"name": "Dennis ten Hoove",
|
||||
"url": "https://github.com/dennis1248"
|
||||
},
|
||||
{
|
||||
"name": "@MRR-dev",
|
||||
"url": "https://github.com/MRR-dev"
|
||||
},
|
||||
{
|
||||
"name": "Angel Brielez",
|
||||
"url": "https://github.com/AngelBrielez"
|
||||
},
|
||||
{
|
||||
"name": "@taconomix",
|
||||
"url": "https://github.com/taconomix"
|
||||
},
|
||||
{
|
||||
"name": "@enolive",
|
||||
"url": "https://github.com/enolive"
|
||||
},
|
||||
{
|
||||
"name": "@Aggraxis",
|
||||
"url": "https://github.com/Aggraxis"
|
||||
},
|
||||
{
|
||||
"name": "tj3k",
|
||||
"url": "https://twitter.com/tjiiik"
|
||||
},
|
||||
{
|
||||
"name": "@wolfyrion",
|
||||
"url": "https://github.com/wolfyrion"
|
||||
},
|
||||
{
|
||||
"name": "@MrTomRod",
|
||||
"url": "https://github.com/MrTomRod"
|
||||
},
|
||||
{
|
||||
"name": "Pouhiou",
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"name": "DAPREMONT Christophe",
|
||||
"url": ""
|
||||
},
|
||||
{
|
||||
"name": "@manero6",
|
||||
"url": "https://github.com/manero6"
|
||||
},
|
||||
{
|
||||
"name": "@RickStanley",
|
||||
"url": "https://github.com/RickStanley"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,434 +1,524 @@
|
||||
[
|
||||
{
|
||||
"Turkish": [
|
||||
[
|
||||
"tcreeper.earth@gmail.com",
|
||||
"TCr3",
|
||||
23
|
||||
],
|
||||
[
|
||||
"muhaaliss@pm.me",
|
||||
"Muha Aliss",
|
||||
52
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Lithuanian": [
|
||||
[
|
||||
"hazap@hotmail.com",
|
||||
"Moo",
|
||||
43
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Portuguese (Brazil)": [
|
||||
[
|
||||
"mr-isaac@ig.com.br",
|
||||
"Isaac Dias",
|
||||
93
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"German": [
|
||||
[
|
||||
"atalanttore@googlemail.com",
|
||||
"Ettore Atalan",
|
||||
1
|
||||
],
|
||||
[
|
||||
"code@simonschneegans.de",
|
||||
"Simon Schneegans",
|
||||
119
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Esperanto": [
|
||||
[
|
||||
"phlostically@mailinator.com",
|
||||
"phlostically",
|
||||
72
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Russian": [
|
||||
[
|
||||
"sergei@racingrebel.com",
|
||||
"\u041c\u0438\u0441\u0442\u0435\u0440 \u041f\u0435\u0440\u0435\u0432\u043e\u0434",
|
||||
11
|
||||
],
|
||||
[
|
||||
"ddaudix@gmail.com",
|
||||
"Daudix UFO",
|
||||
31
|
||||
],
|
||||
[
|
||||
"eg.ermakov2016@yandex.ru",
|
||||
"\u0415\u0433\u043e\u0440 \u0415\u0440\u043c\u0430\u043a\u043e\u0432",
|
||||
33
|
||||
],
|
||||
[
|
||||
"franigoyt@gmail.com",
|
||||
"ANIGO R. (AR)",
|
||||
49
|
||||
],
|
||||
[
|
||||
"lenemter@gmail.com",
|
||||
"lenemter",
|
||||
50
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Romanian": [
|
||||
[
|
||||
"softexpert@gmail.com",
|
||||
"SoftExpert",
|
||||
127
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Ukrainian": [
|
||||
[
|
||||
"cakestwix1@gmail.com",
|
||||
"CakesTwix",
|
||||
36
|
||||
],
|
||||
[
|
||||
"911us@duck.com",
|
||||
"Petro S.",
|
||||
44
|
||||
],
|
||||
[
|
||||
"yuridm@gmail.com",
|
||||
"\u042e\u0440\u0456\u0439 \u0414\u043c\u0438\u0442\u0440\u0435\u043d\u043a\u043e",
|
||||
48
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Japanese": [
|
||||
[
|
||||
"ryuichi.ya220@gmail.com",
|
||||
"Ryan Y",
|
||||
79
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Czech": [
|
||||
[
|
||||
"yuridm@gmail.com",
|
||||
"\u042e\u0440\u0456\u0439 \u0414\u043c\u0438\u0442\u0440\u0435\u043d\u043a\u043e",
|
||||
1
|
||||
],
|
||||
[
|
||||
"jose1711@gmail.com",
|
||||
"Jose Riha",
|
||||
4
|
||||
],
|
||||
[
|
||||
"jiri.doubravsky@gmail.com",
|
||||
"Ji\u0159\u00ed Doubravsk\u00fd",
|
||||
60
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Portuguese": [
|
||||
[
|
||||
"ssantos@web.de",
|
||||
"ssantos",
|
||||
1
|
||||
],
|
||||
[
|
||||
"dyegoaurelio@gmail.com",
|
||||
"dyegoaurelio",
|
||||
8
|
||||
],
|
||||
[
|
||||
"pedro.hvn.2018@gmail.com",
|
||||
"KrulesExGamer",
|
||||
70
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Hungarian": [
|
||||
[
|
||||
"superh552@gmail.com",
|
||||
"KinteLiX",
|
||||
79
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Hebrew": [
|
||||
[
|
||||
"hvusvvnkl12345@gmail.com",
|
||||
"\u05d9\u05d4\u05d5\u05d3\u05d4 \u05d0\u05dc\u05d9\u05e1\u05e3",
|
||||
37
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Polish": [
|
||||
[
|
||||
"gnu.ewm@protonmail.com",
|
||||
"Eryk Michalak",
|
||||
10
|
||||
],
|
||||
[
|
||||
"sto@tutanota.de",
|
||||
"WaldiS",
|
||||
39
|
||||
],
|
||||
[
|
||||
"pwrzonca@gmail.com",
|
||||
"Pawe\u0142 Rzo\u0144ca",
|
||||
77
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Italian": [
|
||||
[
|
||||
"mario03@gmail.com",
|
||||
"Mario",
|
||||
1
|
||||
],
|
||||
[
|
||||
"albano_battistella@hotmail.com",
|
||||
"albanobattistella",
|
||||
127
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Arabic": [
|
||||
[
|
||||
"hamzah.abusamak@gmail.com",
|
||||
"bonbonboi",
|
||||
5
|
||||
],
|
||||
[
|
||||
"dabsantamer@yahoo.com",
|
||||
"tamer dab",
|
||||
7
|
||||
],
|
||||
[
|
||||
"yamen.malik2@gmail.com",
|
||||
"Yamen Malik",
|
||||
7
|
||||
],
|
||||
[
|
||||
"fawaz27000@hotmail.com",
|
||||
"fawaz006",
|
||||
68
|
||||
]
|
||||
{
|
||||
"email": "fawaz27000@hotmail.com",
|
||||
"full_name": "fawaz006",
|
||||
"change_count": 64
|
||||
},
|
||||
{
|
||||
"email": "dabsantamer@yahoo.com",
|
||||
"full_name": "tamer dab",
|
||||
"change_count": 7
|
||||
},
|
||||
{
|
||||
"email": "yamen.malik2@gmail.com",
|
||||
"full_name": "Yamen Malik",
|
||||
"change_count": 7
|
||||
},
|
||||
{
|
||||
"email": "hamzah.abusamak@gmail.com",
|
||||
"full_name": "bonbonboi",
|
||||
"change_count": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Azerbaijani": [
|
||||
[
|
||||
"xxmn77@gmail.com",
|
||||
"X\u0259yyam Qocayev",
|
||||
67
|
||||
]
|
||||
{
|
||||
"email": "xxmn77@gmail.com",
|
||||
"full_name": "X\u0259yyam Qocayev",
|
||||
"change_count": 63
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Indonesian": [
|
||||
[
|
||||
"randompsyduck@duck.com",
|
||||
"Sir-Ivysaur",
|
||||
75
|
||||
]
|
||||
"Chinese (Simplified Han script)": [
|
||||
{
|
||||
"email": "aerowolf_sn@qq.com",
|
||||
"full_name": "aerowolf",
|
||||
"change_count": 101
|
||||
},
|
||||
{
|
||||
"email": "poonsters6@gmail.com",
|
||||
"full_name": "merelymyself",
|
||||
"change_count": 32
|
||||
},
|
||||
{
|
||||
"email": "lyuutau@outlook.com",
|
||||
"full_name": "\u5218\u97ec",
|
||||
"change_count": 30
|
||||
},
|
||||
{
|
||||
"email": "coelacanthushex@gmail.com",
|
||||
"full_name": "Celeste Liu",
|
||||
"change_count": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Chinese (Traditional Han script)": [
|
||||
{
|
||||
"email": "ghost20090105@gmail.com",
|
||||
"full_name": "GholtsMxv",
|
||||
"change_count": 120
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Czech": [
|
||||
{
|
||||
"email": "6325410@seznam.cz",
|
||||
"full_name": "Miraficus",
|
||||
"change_count": 77
|
||||
},
|
||||
{
|
||||
"email": "jiri.doubravsky@gmail.com",
|
||||
"full_name": "Ji\u0159\u00ed Doubravsk\u00fd",
|
||||
"change_count": 60
|
||||
},
|
||||
{
|
||||
"email": "jose1711@gmail.com",
|
||||
"full_name": "Jose Riha",
|
||||
"change_count": 4
|
||||
},
|
||||
{
|
||||
"email": "yuridm@gmail.com",
|
||||
"full_name": "\u042e\u0440\u0456\u0439 \u0414\u043c\u0438\u0442\u0440\u0435\u043d\u043a\u043e",
|
||||
"change_count": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Danish": [
|
||||
{
|
||||
"email": "symmetricalmegalomania@gmail.com",
|
||||
"full_name": "symegac",
|
||||
"change_count": 129
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Dutch": [
|
||||
[
|
||||
"philip.goto@gmail.com",
|
||||
"Philip Goto",
|
||||
1
|
||||
],
|
||||
[
|
||||
"code@simonschneegans.de",
|
||||
"Simon Schneegans",
|
||||
1
|
||||
],
|
||||
[
|
||||
"vistausss@fastmail.com",
|
||||
"Heimen Stoffels",
|
||||
127
|
||||
]
|
||||
{
|
||||
"email": "vistausss@fastmail.com",
|
||||
"full_name": "Heimen Stoffels",
|
||||
"change_count": 122
|
||||
},
|
||||
{
|
||||
"email": "philip.goto@gmail.com",
|
||||
"full_name": "Philip Goto",
|
||||
"change_count": 5
|
||||
},
|
||||
{
|
||||
"email": "code@simonschneegans.de",
|
||||
"full_name": "Simon Schneegans",
|
||||
"change_count": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Spanish": [
|
||||
[
|
||||
"jorgec2005@gmail.com",
|
||||
"Jorge C",
|
||||
5
|
||||
],
|
||||
[
|
||||
"fitojb@ubuntu.com",
|
||||
"Adolfo Jayme Barrientos",
|
||||
7
|
||||
],
|
||||
[
|
||||
"andres.segarra.aparicio@gmail.com",
|
||||
"Andres Segarra",
|
||||
10
|
||||
],
|
||||
[
|
||||
"fran-carro@hotmail.es",
|
||||
"gallegonovato",
|
||||
14
|
||||
],
|
||||
[
|
||||
"dev.n47os@aleeas.com",
|
||||
"Ulices",
|
||||
40
|
||||
],
|
||||
[
|
||||
"oscfdezdz@tuta.io",
|
||||
"\u00d3scar Fern\u00e1ndez D\u00edaz",
|
||||
60
|
||||
]
|
||||
"English": [
|
||||
{
|
||||
"email": "softexpert@gmail.com",
|
||||
"full_name": "SoftExpert",
|
||||
"change_count": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"French": [
|
||||
[
|
||||
"matshot03@gmail.com",
|
||||
"Mathis Chabrier",
|
||||
2
|
||||
],
|
||||
[
|
||||
"redxxiii@zaclys.net",
|
||||
"Reda",
|
||||
10
|
||||
],
|
||||
[
|
||||
"theo.remon+weblate@uswery.eu",
|
||||
"Th\u00e9o Remon",
|
||||
22
|
||||
],
|
||||
[
|
||||
"mathieu.bousquet2@gmail.com",
|
||||
"Mathieu B.",
|
||||
26
|
||||
],
|
||||
[
|
||||
"bonnemainsnathan@gmail.com",
|
||||
"Nathan",
|
||||
38
|
||||
],
|
||||
[
|
||||
"softexpert@gmail.com",
|
||||
"SoftExpert",
|
||||
52
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Swedish": [
|
||||
[
|
||||
"obslsessed@duck.com",
|
||||
"obslsessed",
|
||||
5
|
||||
],
|
||||
[
|
||||
"droidbittin@gmail.com",
|
||||
"Luna Jernberg",
|
||||
9
|
||||
],
|
||||
[
|
||||
"swedishsailfishosuser@tutanota.com",
|
||||
"Kristoffer Grundstr\u00f6m",
|
||||
48
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Persian": [
|
||||
[
|
||||
"eshagh094@gmail.com",
|
||||
"Eshagh shahidani",
|
||||
65
|
||||
]
|
||||
"Esperanto": [
|
||||
{
|
||||
"email": "phlostically@mailinator.com",
|
||||
"full_name": "phlostically",
|
||||
"change_count": 68
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Finnish": [
|
||||
[
|
||||
"jiri.gronroos@iki.fi",
|
||||
"Jiri Gr\u00f6nroos",
|
||||
47
|
||||
]
|
||||
{
|
||||
"email": "jiri.gronroos@iki.fi",
|
||||
"full_name": "Jiri Gr\u00f6nroos",
|
||||
"change_count": 43
|
||||
},
|
||||
{
|
||||
"email": "jouko.tiilikainen@gmail.com",
|
||||
"full_name": "Tinde (Joke)",
|
||||
"change_count": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"French": [
|
||||
{
|
||||
"email": "softexpert@gmail.com",
|
||||
"full_name": "SoftExpert",
|
||||
"change_count": 52
|
||||
},
|
||||
{
|
||||
"email": "bonnemainsnathan@gmail.com",
|
||||
"full_name": "Nathan",
|
||||
"change_count": 38
|
||||
},
|
||||
{
|
||||
"email": "mathieu.bousquet2@gmail.com",
|
||||
"full_name": "Mathieu B.",
|
||||
"change_count": 26
|
||||
},
|
||||
{
|
||||
"email": "theo.remon+weblate@uswery.eu",
|
||||
"full_name": "Th\u00e9o Remon",
|
||||
"change_count": 22
|
||||
},
|
||||
{
|
||||
"email": "redxxiii@zaclys.net",
|
||||
"full_name": "Reda",
|
||||
"change_count": 6
|
||||
},
|
||||
{
|
||||
"email": "brice.laurencin@gmail.com",
|
||||
"full_name": "Brice Laurencin",
|
||||
"change_count": 5
|
||||
},
|
||||
{
|
||||
"email": "matshot03@gmail.com",
|
||||
"full_name": "Mathis Chabrier",
|
||||
"change_count": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"German": [
|
||||
{
|
||||
"email": "code@simonschneegans.de",
|
||||
"full_name": "Simon Schneegans",
|
||||
"change_count": 123
|
||||
},
|
||||
{
|
||||
"email": "atalanttore@googlemail.com",
|
||||
"full_name": "Ettore Atalan",
|
||||
"change_count": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Hebrew": [
|
||||
{
|
||||
"email": "hvusvvnkl12345@gmail.com",
|
||||
"full_name": "\u05d9\u05d4\u05d5\u05d3\u05d4 \u05d0\u05dc\u05d9\u05e1\u05e3",
|
||||
"change_count": 33
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Hindi": [
|
||||
{
|
||||
"email": "weblate.scrambled777@simplelogin.com",
|
||||
"full_name": "Scrambled777",
|
||||
"change_count": 154
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Hungarian": [
|
||||
{
|
||||
"email": "atomkapa@gmail.com",
|
||||
"full_name": "atomkapa atomkapa",
|
||||
"change_count": 87
|
||||
},
|
||||
{
|
||||
"email": "superh552@gmail.com",
|
||||
"full_name": "KinteLiX",
|
||||
"change_count": 75
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Indonesian": [
|
||||
{
|
||||
"email": "randompsyduck@duck.com",
|
||||
"full_name": "Sir-Ivysaur",
|
||||
"change_count": 71
|
||||
},
|
||||
{
|
||||
"email": "rezaalmanda27@gmail.com",
|
||||
"full_name": "Reza Almanda",
|
||||
"change_count": 56
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Italian": [
|
||||
{
|
||||
"email": "albano_battistella@hotmail.com",
|
||||
"full_name": "albanobattistella",
|
||||
"change_count": 131
|
||||
},
|
||||
{
|
||||
"email": "mceyes@protonmail.com",
|
||||
"full_name": "Frankie McEyes",
|
||||
"change_count": 2
|
||||
},
|
||||
{ "email": "mario03@gmail.com", "full_name": "Mario", "change_count": 1 }
|
||||
]
|
||||
},
|
||||
{
|
||||
"Japanese": [
|
||||
{
|
||||
"email": "ryuichi.ya220@gmail.com",
|
||||
"full_name": "Ryan Y",
|
||||
"change_count": 75
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Korean": [
|
||||
[
|
||||
"darkcircle.0426@gmail.com",
|
||||
"Seong-ho Cho",
|
||||
129
|
||||
]
|
||||
{
|
||||
"email": "darkcircle.0426@gmail.com",
|
||||
"full_name": "Seong-ho Cho",
|
||||
"change_count": 128
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Slovak": [
|
||||
[
|
||||
"jose1711@gmail.com",
|
||||
"Jose Riha",
|
||||
129
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"Chinese (Simplified)": [
|
||||
[
|
||||
"coelacanthushex@gmail.com",
|
||||
"Celeste Liu",
|
||||
3
|
||||
],
|
||||
[
|
||||
"lyuutau@outlook.com",
|
||||
"\u5218\u97ec",
|
||||
34
|
||||
],
|
||||
[
|
||||
"poonsters6@gmail.com",
|
||||
"merelymyself",
|
||||
38
|
||||
],
|
||||
[
|
||||
"aerowolf@tom.com",
|
||||
"aerowolf",
|
||||
42
|
||||
]
|
||||
"Lithuanian": [
|
||||
{ "email": "hazap@hotmail.com", "full_name": "Moo", "change_count": 79 }
|
||||
]
|
||||
},
|
||||
{
|
||||
"Norwegian Bokm\u00e5l": [
|
||||
[
|
||||
"code@simonschneegans.de",
|
||||
"Simon Schneegans",
|
||||
1
|
||||
],
|
||||
[
|
||||
"epost@anotheragency.no",
|
||||
"Allan Nordh\u00f8y",
|
||||
44
|
||||
]
|
||||
{
|
||||
"email": "epost@anotheragency.no",
|
||||
"full_name": "Allan Nordh\u00f8y",
|
||||
"change_count": 40
|
||||
},
|
||||
{
|
||||
"email": "code@simonschneegans.de",
|
||||
"full_name": "Simon Schneegans",
|
||||
"change_count": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Persian": [
|
||||
{
|
||||
"email": "lijeyol367@nickolis.com",
|
||||
"full_name": "lijeyol367",
|
||||
"change_count": 80
|
||||
},
|
||||
{
|
||||
"email": "eshagh094@gmail.com",
|
||||
"full_name": "Eshagh shahidani",
|
||||
"change_count": 61
|
||||
},
|
||||
{
|
||||
"email": "dani.behzi@ubuntu.com",
|
||||
"full_name": "Danial Behzadi",
|
||||
"change_count": 39
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Polish": [
|
||||
{
|
||||
"email": "pwrzonca@gmail.com",
|
||||
"full_name": "Pawe\u0142 Rzo\u0144ca",
|
||||
"change_count": 73
|
||||
},
|
||||
{ "email": "sto@tutanota.de", "full_name": "WaldiS", "change_count": 38 },
|
||||
{
|
||||
"email": "gnu.ewm@protonmail.com",
|
||||
"full_name": "Eryk Michalak",
|
||||
"change_count": 10
|
||||
},
|
||||
{
|
||||
"email": "krzys.chorzempa@gmail.com",
|
||||
"full_name": "Krzysztof Chorzempa",
|
||||
"change_count": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Portuguese": [
|
||||
{
|
||||
"email": "pedro.hvn.2018@gmail.com",
|
||||
"full_name": "KrulesExGamer",
|
||||
"change_count": 65
|
||||
},
|
||||
{ "email": "ssantos@web.de", "full_name": "ssantos", "change_count": 55 },
|
||||
{
|
||||
"email": "dyegoaurelio@gmail.com",
|
||||
"full_name": "dyegoaurelio",
|
||||
"change_count": 8
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Portuguese (Brazil)": [
|
||||
{
|
||||
"email": "mr-isaac@ig.com.br",
|
||||
"full_name": "Isaac Dias",
|
||||
"change_count": 89
|
||||
},
|
||||
{
|
||||
"email": "fefehex12@gmail.com",
|
||||
"full_name": "Fernando Lopes",
|
||||
"change_count": 49
|
||||
},
|
||||
{
|
||||
"email": "gutojusto22@gmail.com",
|
||||
"full_name": "Gustavo",
|
||||
"change_count": 24
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Romanian": [
|
||||
{
|
||||
"email": "softexpert@gmail.com",
|
||||
"full_name": "SoftExpert",
|
||||
"change_count": 126
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Russian": [
|
||||
{
|
||||
"email": "lenemter@gmail.com",
|
||||
"full_name": "lenemter",
|
||||
"change_count": 49
|
||||
},
|
||||
{
|
||||
"email": "franigoyt@gmail.com",
|
||||
"full_name": "ANIGO R. (AR)",
|
||||
"change_count": 45
|
||||
},
|
||||
{
|
||||
"email": "eg.ermakov2016@yandex.ru",
|
||||
"full_name": "\u0415\u0433\u043e\u0440 \u0415\u0440\u043c\u0430\u043a\u043e\u0432",
|
||||
"change_count": 33
|
||||
},
|
||||
{
|
||||
"email": "ddaudix@gmail.com",
|
||||
"full_name": "David Lapshin",
|
||||
"change_count": 31
|
||||
},
|
||||
{
|
||||
"email": "sergei@racingrebel.com",
|
||||
"full_name": "\u041c\u0438\u0441\u0442\u0435\u0440 \u041f\u0435\u0440\u0435\u0432\u043e\u0434",
|
||||
"change_count": 11
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Slovak": [
|
||||
{
|
||||
"email": "jose1711@gmail.com",
|
||||
"full_name": "Jose Riha",
|
||||
"change_count": 124
|
||||
},
|
||||
{
|
||||
"email": "salka.milan@googlemail.com",
|
||||
"full_name": "Milan \u0160alka",
|
||||
"change_count": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Spanish": [
|
||||
{
|
||||
"email": "oscfdezdz@tuta.io",
|
||||
"full_name": "\u00d3scar Fern\u00e1ndez D\u00edaz",
|
||||
"change_count": 59
|
||||
},
|
||||
{
|
||||
"email": "hasecilu@tuta.io",
|
||||
"full_name": "Ulices",
|
||||
"change_count": 35
|
||||
},
|
||||
{
|
||||
"email": "fran-carro@hotmail.es",
|
||||
"full_name": "gallegonovato",
|
||||
"change_count": 25
|
||||
},
|
||||
{
|
||||
"email": "andres.segarra.aparicio@gmail.com",
|
||||
"full_name": "Andres Segarra",
|
||||
"change_count": 10
|
||||
},
|
||||
{
|
||||
"email": "fitojb@ubuntu.com",
|
||||
"full_name": "Adolfo Jayme Barrientos",
|
||||
"change_count": 7
|
||||
},
|
||||
{
|
||||
"email": "jorgec2005@gmail.com",
|
||||
"full_name": "Jorge C",
|
||||
"change_count": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Swedish": [
|
||||
{
|
||||
"email": "swedishsailfishosuser@tutanota.com",
|
||||
"full_name": "Kristoffer Grundstr\u00f6m",
|
||||
"change_count": 46
|
||||
},
|
||||
{
|
||||
"email": "droidbittin@gmail.com",
|
||||
"full_name": "Luna Jernberg",
|
||||
"change_count": 9
|
||||
},
|
||||
{
|
||||
"email": "obslsessed@duck.com",
|
||||
"full_name": "obslsessed",
|
||||
"change_count": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Turkish": [
|
||||
{
|
||||
"email": "noreply+13144@weblate.org",
|
||||
"full_name": "Deleted User",
|
||||
"change_count": 72
|
||||
},
|
||||
{
|
||||
"email": "muhaaliss@pm.me",
|
||||
"full_name": "Muha Aliss",
|
||||
"change_count": 48
|
||||
},
|
||||
{
|
||||
"email": "tcreeper.earth@gmail.com",
|
||||
"full_name": "TCr3",
|
||||
"change_count": 24
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Ukrainian": [
|
||||
{
|
||||
"email": "yuridm@gmail.com",
|
||||
"full_name": "\u042e\u0440\u0456\u0439 \u0414\u043c\u0438\u0442\u0440\u0435\u043d\u043a\u043e",
|
||||
"change_count": 44
|
||||
},
|
||||
{
|
||||
"email": "911us@duck.com",
|
||||
"full_name": "Petro S.",
|
||||
"change_count": 44
|
||||
},
|
||||
{
|
||||
"email": "cakestwix1@gmail.com",
|
||||
"full_name": "CakesTwix",
|
||||
"change_count": 35
|
||||
},
|
||||
{
|
||||
"email": "sergiy.goncharuk.1@gmail.com",
|
||||
"full_name": "\u0421\u0435\u0440\u0433\u0456\u0439",
|
||||
"change_count": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
]
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
/*
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: CC0-1.0
|
||||
*/
|
||||
|
||||
row {
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.effect-row {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.effect-row-header,
|
||||
.effect-row list {
|
||||
padding: 8px;
|
||||
border: 0 solid @borders;
|
||||
border-bottom-width: 1px;
|
||||
}
|
||||
|
||||
.revealer-arrow {
|
||||
margin-right: 6px;
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
/*
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: CC0-1.0
|
||||
*/
|
||||
|
||||
/* These are only used if not using libadwaita */
|
||||
|
||||
.effect-row {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.effect-row-header,
|
||||
.effect-row list {
|
||||
padding: 8px;
|
||||
border: 0 solid @borders;
|
||||
border-bottom-width: 1px;
|
||||
}
|
||||
|
||||
.revealer-arrow {
|
||||
margin-right: 6px;
|
||||
transition: transform 250ms;
|
||||
}
|
||||
|
||||
.revealer-arrow.revealed {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
|
After Width: | Height: | Size: 955 KiB |
@@ -0,0 +1,117 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// ) ( //
|
||||
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||
// |__/ //
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// SPDX-FileCopyrightText: Justin Garza <JGarza9788@gmail.com>
|
||||
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// The content from common.glsl is automatically prepended to each shader effect. This
|
||||
// provides the standard input:
|
||||
|
||||
// vec2 iTexCoord: Texture coordinates for retrieving the window input color.
|
||||
// bool uIsFullscreen: True if the window is maximized or in fullscreen mode.
|
||||
// bool uForOpening: True if a window-open animation is ongoing, false otherwise.
|
||||
// float uProgress: A value which transitions from 0 to 1 during the animation.
|
||||
// float uDuration: The duration of the current animation in seconds.
|
||||
// vec2 uSize: The size of uTexture in pixels.
|
||||
// float uPadding: The empty area around the actual window (e.g. where the shadow
|
||||
// is drawn). For now, this will only be set on GNOME.
|
||||
|
||||
// Furthermore, there are two global methods for reading the window input color and
|
||||
// setting the shader output color. Both methods assume straight alpha:
|
||||
|
||||
// vec4 getInputColor(vec2 coords)
|
||||
// void setOutputColor(vec4 outColor)
|
||||
|
||||
uniform float uSpeed;
|
||||
uniform bool uRandomColor;
|
||||
uniform float uStartHue;
|
||||
uniform float uSaturation;
|
||||
uniform float uBlur;
|
||||
uniform vec2 uSeed;
|
||||
uniform float uEdgeSize;
|
||||
uniform float uEdgeHardness;
|
||||
|
||||
void main() {
|
||||
|
||||
// We simply inverse the progress for opening windows.
|
||||
float progress = uForOpening ? uProgress : 1.0 - uProgress;
|
||||
|
||||
// Map UV to window content (without the shadow padding).
|
||||
vec2 uv = (iTexCoord.st - 0.5) * uSize / (vec2(1.0) - vec2(uPadding * 2.0) / uSize);
|
||||
uv = uv / uSize + 0.5;
|
||||
|
||||
// We want the shapes of the masks at the end of the animation to have a 1:1 aspect
|
||||
// ratio. For this, we scale the UV coordinates based on the aspect ratio of the window
|
||||
// and later blend between the original UV and the 1:1 UV based on the progress.
|
||||
vec2 oneToOneUV = uv;
|
||||
oneToOneUV -= 0.5;
|
||||
|
||||
if (uSize.x > uSize.y) {
|
||||
oneToOneUV.y *= uSize.y / uSize.x;
|
||||
} else {
|
||||
oneToOneUV.x *= uSize.x / uSize.y;
|
||||
}
|
||||
|
||||
oneToOneUV += 0.5;
|
||||
|
||||
uv = mix(oneToOneUV, uv, progress);
|
||||
|
||||
// This blends between a square-shaped gradient towards the window edges and a circular
|
||||
// gradient.
|
||||
float shape = mix(2.0, 100.0, pow(progress, 5.0));
|
||||
float gradient = pow(abs(uv.x - 0.5) * 2.0, shape) + pow(abs(uv.y - 0.5) * 2.0, shape);
|
||||
gradient += simplex2D((iTexCoord + uSeed)) * 0.5;
|
||||
|
||||
// This mask is used for the color overlay.
|
||||
float glowMask = (progress - gradient) / (uEdgeSize + 0.1);
|
||||
glowMask = 1.0 - clamp(glowMask, 0.0, 1.0);
|
||||
|
||||
// Quickly fade out the glow mask at the end of the animation.
|
||||
glowMask *= easeOutSine(min(1.0, (1.0 - progress) * 4.0));
|
||||
|
||||
// Get the color from the window texture. We gradually blur the input color based on
|
||||
// the progress of the animation. We also slightly scale the UV coordinates to make
|
||||
// the window scale up during the animation.
|
||||
vec2 windowUV = (iTexCoord.st - 0.5) * mix(1.1, 1.0, easeOutCubic(progress)) + 0.5;
|
||||
vec4 windowColor;
|
||||
if (uBlur > 0.0) {
|
||||
windowColor = getBlurredInputColor(windowUV, (1.0 - progress) * uBlur, 3.0);
|
||||
} else {
|
||||
windowColor = getInputColor(windowUV);
|
||||
}
|
||||
glowMask *= windowColor.a;
|
||||
|
||||
vec3 glowColor = cos(progress * uSpeed + uv.xyx + vec3(0, 2, 4)).xyz;
|
||||
float colorOffset = (uRandomColor) ? hash12(uSeed) : uStartHue;
|
||||
glowColor = offsetHue(glowColor, colorOffset + 0.1);
|
||||
glowColor = clamp(glowColor * uSaturation, vec3(0.0), vec3(1.0));
|
||||
|
||||
windowColor.rgb += glowColor * glowMask;
|
||||
|
||||
// To make this look better on light themes, we also add some color non-additively.
|
||||
windowColor = alphaOver(windowColor, vec4(glowColor, glowMask * 0.2));
|
||||
|
||||
// A mask which will crop the window gradually into a circle.
|
||||
float softCrop = 1.0 - smoothstep(progress - 0.5, progress + 0.5, gradient);
|
||||
float hardCrop = 1.0 - smoothstep(progress - 0.05, progress + 0.05, gradient);
|
||||
float cropMask = mix(softCrop, hardCrop, uEdgeHardness);
|
||||
|
||||
// Quickly fade in the alpha mask at the beginning of the animation.
|
||||
cropMask *= easeInSine(min(1.0, progress * 2.0));
|
||||
|
||||
// Quickly fade out the alpha mask at the end of the animation.
|
||||
cropMask = max(cropMask, 1.0 - easeOutSine(min(1.0, (1.0 - progress) * 4.0)));
|
||||
|
||||
windowColor.a *= cropMask;
|
||||
|
||||
setOutputColor(windowColor);
|
||||
}
|
||||
@@ -20,13 +20,14 @@
|
||||
|
||||
// Each shader can access these standard input values:
|
||||
|
||||
// vec2 iTexCoord: Texture coordinates for retrieving the window input color.
|
||||
// bool uForOpening: True if a window-open animation is ongoing, false otherwise.
|
||||
// float uProgress: A value which transitions from 0 to 1 during the animation.
|
||||
// float uDuration: The duration of the current animation in seconds.
|
||||
// vec2 uSize: The size of uTexture in pixels.
|
||||
// float uPadding: The empty area around the actual window (e.g. where the shadow
|
||||
// is drawn). For now, this will only be set on GNOME.
|
||||
// vec2 iTexCoord: Texture coordinates for retrieving the window input color.
|
||||
// bool uIsFullscreen: True if the window is maximized or in fullscreen mode.
|
||||
// bool uForOpening: True if a window-open animation is ongoing, false otherwise.
|
||||
// float uProgress: A value which transitions from 0 to 1 during the animation.
|
||||
// float uDuration: The duration of the current animation in seconds.
|
||||
// vec2 uSize: The size of uTexture in pixels.
|
||||
// float uPadding: The empty area around the actual window (e.g. where the shadow
|
||||
// is drawn). For now, this will only be set on GNOME.
|
||||
|
||||
// Furthermore, there are two global methods for reading the window input color and
|
||||
// setting the shader output color. Both methods assume straight alpha:
|
||||
@@ -35,11 +36,16 @@
|
||||
// void setOutputColor(vec4 outColor)
|
||||
|
||||
uniform bool uForOpening;
|
||||
uniform bool uIsFullscreen;
|
||||
uniform float uProgress;
|
||||
uniform float uDuration;
|
||||
|
||||
#if defined(KWIN) // --------------------------------------------------------------------
|
||||
|
||||
#if defined(PLASMA6)
|
||||
#include "colormanagement.glsl"
|
||||
#endif
|
||||
|
||||
uniform sampler2D sampler;
|
||||
uniform int textureWidth;
|
||||
uniform int textureHeight;
|
||||
@@ -62,11 +68,29 @@ vec4 getInputColor(vec2 coords) {
|
||||
}
|
||||
|
||||
void setOutputColor(vec4 outColor) {
|
||||
|
||||
// If a uniform is not used, it will be optimized away. This condition is always
|
||||
// false, but it will prevent the compiler from optimizing away the uniforms uForOpening
|
||||
// and uIsFullscreen. On KWin, we need to do this as we do not have a way to check if a
|
||||
// uniform is used in the shader.
|
||||
if (outColor.a > 1000.0 && uForOpening && uIsFullscreen) {
|
||||
outColor = vec4(0.0);
|
||||
}
|
||||
|
||||
fragColor = vec4(outColor.rgb * outColor.a, outColor.a);
|
||||
|
||||
#if defined(PLASMA6)
|
||||
fragColor = sourceEncodingToNitsInDestinationColorspace(fragColor);
|
||||
fragColor = nitsToDestinationEncoding(fragColor);
|
||||
#endif
|
||||
}
|
||||
|
||||
#elif defined(KWIN_LEGACY) // -----------------------------------------------------------
|
||||
|
||||
#if defined(PLASMA6)
|
||||
#include "colormanagement.glsl"
|
||||
#endif
|
||||
|
||||
uniform sampler2D sampler;
|
||||
uniform int textureWidth;
|
||||
uniform int textureHeight;
|
||||
@@ -88,7 +112,20 @@ vec4 getInputColor(vec2 coords) {
|
||||
}
|
||||
|
||||
void setOutputColor(vec4 outColor) {
|
||||
// If a uniform is not used, it will be optimized away. This condition is always
|
||||
// false, but it will prevent the compiler from optimizing away the uniforms uForOpening
|
||||
// and uIsFullscreen. On KWin, we need to do this as we do not have a way to check if a
|
||||
// uniform is used in the shader.
|
||||
if (outColor.a > 1000.0 && uForOpening && uIsFullscreen) {
|
||||
outColor = vec4(0.0);
|
||||
}
|
||||
|
||||
gl_FragColor = vec4(outColor.rgb * outColor.a, outColor.a);
|
||||
|
||||
#if defined(PLASMA6)
|
||||
fragColor = sourceEncodingToNitsInDestinationColorspace(fragColor);
|
||||
fragColor = nitsToDestinationEncoding(fragColor);
|
||||
#endif
|
||||
}
|
||||
|
||||
#else // GNOME --------------------------------------------------------------------------
|
||||
@@ -116,6 +153,35 @@ void setOutputColor(vec4 outColor) { cogl_color_out = outColor; }
|
||||
|
||||
#endif // -------------------------------------------------------------------------------
|
||||
|
||||
// A simple blur function
|
||||
vec4 getBlurredInputColor(vec2 uv, float radius, float samples) {
|
||||
// Initialize the color accumulator to zero.
|
||||
vec4 color = vec4(0.0);
|
||||
|
||||
// Define a constant for 2 * PI (tau), which represents a full circle in radians.
|
||||
const float tau = 6.28318530718;
|
||||
|
||||
// Number of directions for sampling around the circle.
|
||||
const float directions = 15.0;
|
||||
|
||||
// Outer loop iterates over multiple directions evenly spaced around a circle.
|
||||
for (float d = 0.0; d < tau; d += tau / directions) {
|
||||
// Inner loop samples along each direction, with decreasing intensity.
|
||||
for (float s = 0.0; s < 1.0; s += 1.0 / samples) {
|
||||
// Calculate the offset for this sample based on direction, radius, and step.
|
||||
// The (1.0 - s) term ensures more sampling occurs closer to the center.
|
||||
vec2 offset = vec2(cos(d), sin(d)) * radius * (1.0 - s) / uSize;
|
||||
|
||||
// Add the sampled color at the offset position to the accumulator.
|
||||
color += getInputColor(uv + offset);
|
||||
}
|
||||
}
|
||||
|
||||
// Normalize the accumulated color by dividing by the total number of samples
|
||||
// and directions to ensure the result is averaged.
|
||||
return color / samples / directions;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------- compositing operators
|
||||
|
||||
// The Shell.GLSLEffect uses straight alpha blending. This helper method allows
|
||||
@@ -148,6 +214,54 @@ vec3 darken(vec3 color, float fac) { return color * (1.0 - fac); }
|
||||
// color will be white.
|
||||
vec3 lighten(vec3 color, float fac) { return color + (vec3(1.0) - color) * fac; }
|
||||
|
||||
// change the color based on an offset amount
|
||||
vec3 offsetHue(vec3 color, float hueOffset) {
|
||||
// Convert RGB to HSV
|
||||
float maxC = max(max(color.r, color.g), color.b);
|
||||
float minC = min(min(color.r, color.g), color.b);
|
||||
float delta = maxC - minC;
|
||||
|
||||
float hue = 0.0;
|
||||
if (delta > 0.0) {
|
||||
if (maxC == color.r) {
|
||||
hue = mod((color.g - color.b) / delta, 6.0);
|
||||
} else if (maxC == color.g) {
|
||||
hue = (color.b - color.r) / delta + 2.0;
|
||||
} else {
|
||||
hue = (color.r - color.g) / delta + 4.0;
|
||||
}
|
||||
}
|
||||
hue /= 6.0;
|
||||
|
||||
float saturation = (maxC > 0.0) ? (delta / maxC) : 0.0;
|
||||
float value = maxC;
|
||||
|
||||
// Offset the hue
|
||||
hue = mod(hue + hueOffset, 1.0);
|
||||
|
||||
// Convert HSV back to RGB
|
||||
float c = value * saturation;
|
||||
float x = c * (1.0 - abs(mod(hue * 6.0, 2.0) - 1.0));
|
||||
float m = value - c;
|
||||
|
||||
vec3 rgb;
|
||||
if (hue < 1.0 / 6.0) {
|
||||
rgb = vec3(c, x, 0.0);
|
||||
} else if (hue < 2.0 / 6.0) {
|
||||
rgb = vec3(x, c, 0.0);
|
||||
} else if (hue < 3.0 / 6.0) {
|
||||
rgb = vec3(0.0, c, x);
|
||||
} else if (hue < 4.0 / 6.0) {
|
||||
rgb = vec3(0.0, x, c);
|
||||
} else if (hue < 5.0 / 6.0) {
|
||||
rgb = vec3(x, 0.0, c);
|
||||
} else {
|
||||
rgb = vec3(c, 0.0, x);
|
||||
}
|
||||
|
||||
return rgb + m;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------- easing functions
|
||||
|
||||
// Here are some basic easing function. More can be added if required!
|
||||
@@ -165,17 +279,136 @@ float easeOutBack(float x, float e) {
|
||||
return p * p * ((e + 1.0) * p + e) + 1.0;
|
||||
}
|
||||
|
||||
// https://easings.net/
|
||||
/*
|
||||
Easing functions define the rate of change of a parameter over time, commonly used in
|
||||
animations, UI transitions, and game development. They provide a way to make movements
|
||||
more natural or visually appealing rather than linear and mechanical. Popular categories
|
||||
of easing functions include:
|
||||
|
||||
Linear: Constant speed from start to finish.
|
||||
Quadratic (Ease In, Ease Out, Ease In Out): Changes at varying rates, with smoother starts
|
||||
or stops. Cubic: Similar to quadratic but allows for even more nuanced transitions.
|
||||
Exponential: Drastic changes at the start or end, often used for dramatic effects.
|
||||
Bounce: Mimics a bouncing object with oscillations.
|
||||
Elastic: Simulates the behavior of a spring, with overshooting and oscillations.
|
||||
Below are text-based "graphs" of some easing functions, where the horizontal axis
|
||||
represents time and the vertical axis represents progress.
|
||||
*/
|
||||
|
||||
// Quadratic Easing
|
||||
// Smooth acceleration and deceleration using quadratic (t^2) curves.
|
||||
|
||||
float easeInOutQuad(float t) {
|
||||
// Accelerates for the first half, decelerates for the second half.
|
||||
return t < 0.5 ? 2.0 * t * t : -1.0 + (4.0 - 2.0 * t) * t;
|
||||
}
|
||||
|
||||
// Cubic Easing
|
||||
// Smoother transitions compared to quadratic easing using cubic (t^3) curves.
|
||||
|
||||
float easeInCubic(float t) {
|
||||
// Starts slow and accelerates as t increases.
|
||||
return t * t * t;
|
||||
}
|
||||
|
||||
float easeOutCubic(float t) {
|
||||
// Starts fast and decelerates as t approaches 1.0.
|
||||
float f = t - 1.0;
|
||||
return f * f * f + 1.0;
|
||||
}
|
||||
|
||||
float easeInOutCubic(float t) {
|
||||
// Combines easeIn and easeOut cubic behavior for smooth transitions.
|
||||
return t < 0.5 ? 4.0 * t * t * t : (t - 1.0) * (2.0 * t - 2.0) * (2.0 * t - 2.0) + 1.0;
|
||||
}
|
||||
|
||||
// Quartic Easing
|
||||
// Even smoother transitions than cubic, using quartic (t^4) curves.
|
||||
|
||||
float easeInQuart(float t) {
|
||||
// Starts very slow and accelerates steeply.
|
||||
return t * t * t * t;
|
||||
}
|
||||
|
||||
float easeOutQuart(float t) {
|
||||
// Starts steeply and slows down dramatically.
|
||||
float f = t - 1.0;
|
||||
return 1.0 - f * f * f * f;
|
||||
}
|
||||
|
||||
float easeInOutQuart(float t) {
|
||||
// Combines easeIn and easeOut quartic behavior for very smooth transitions.
|
||||
return t < 0.5 ? 8.0 * t * t * t * t
|
||||
: 1.0 - 8.0 * (t - 1.0) * (t - 1.0) * (t - 1.0) * (t - 1.0);
|
||||
}
|
||||
|
||||
// Sine Easing
|
||||
// Smooth, wave-like acceleration and deceleration using sine curves.
|
||||
|
||||
float easeInSine(float t) {
|
||||
// Starts very slow, following a sine wave curve.
|
||||
return 1.0 - cos((t * 3.141592653589793) / 2.0);
|
||||
}
|
||||
|
||||
float easeOutSine(float t) {
|
||||
// Starts fast and slows down following a sine wave curve.
|
||||
return sin((t * 3.141592653589793) / 2.0);
|
||||
}
|
||||
|
||||
float easeInOutSine(float t) {
|
||||
// Smooth start and end, mimicking half a sine wave.
|
||||
return -0.5 * (cos(3.141592653589793 * t) - 1.0);
|
||||
}
|
||||
|
||||
// Exponential Easing
|
||||
// Sharp transitions with rapid acceleration and deceleration.
|
||||
|
||||
float easeInExpo(float t) {
|
||||
// Very slow start, accelerates exponentially.
|
||||
return t == 0.0 ? 0.0 : pow(2.0, 10.0 * (t - 1.0));
|
||||
}
|
||||
|
||||
float easeOutExpo(float t) {
|
||||
// Starts fast and slows down exponentially.
|
||||
return t == 1.0 ? 1.0 : 1.0 - pow(2.0, -10.0 * t);
|
||||
}
|
||||
|
||||
float easeInOutExpo(float t) {
|
||||
// Combines easeIn and easeOut exponential for sharp transitions.
|
||||
if (t == 0.0) return 0.0;
|
||||
if (t == 1.0) return 1.0;
|
||||
return t < 0.5 ? 0.5 * pow(2.0, 20.0 * t - 10.0)
|
||||
: 1.0 - 0.5 * pow(2.0, -20.0 * t + 10.0);
|
||||
}
|
||||
|
||||
// Back Easing
|
||||
// Creates an overshooting effect for more dynamic animations.
|
||||
|
||||
float easeInOutBack(float t) {
|
||||
// Uses constants to define the overshooting magnitude.
|
||||
const float c1 = 1.70158;
|
||||
const float c2 = c1 * 1.525;
|
||||
return t < 0.5
|
||||
? (pow(2.0 * t, 2.0) * ((c2 + 1.0) * 2.0 * t - c2)) / 2.0
|
||||
: (pow(2.0 * t - 2.0, 2.0) * ((c2 + 1.0) * (t * 2.0 - 2.0) + c2) + 2.0) / 2.0;
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------- edge mask helpers
|
||||
|
||||
// This method returns a mask which smoothly transitions towards zero when approaching
|
||||
// the window's borders. There is a variant which takes the transition area width in
|
||||
// the window's borders. If the window is currently maximized or in fullscreen mode, this
|
||||
// will return 1.0 everywhere. There is a variant which takes the transition area width in
|
||||
// pixels and one which takes this as a percentage.
|
||||
float getEdgeMask(vec2 uv, vec2 maxUV, float fadeWidth) {
|
||||
float mask = 1.0;
|
||||
mask *= smoothstep(0.0, 1.0, clamp(uv.x / fadeWidth, 0.0, 1.0));
|
||||
mask *= smoothstep(0.0, 1.0, clamp(uv.y / fadeWidth, 0.0, 1.0));
|
||||
mask *= smoothstep(0.0, 1.0, clamp((maxUV.x - uv.x) / fadeWidth, 0.0, 1.0));
|
||||
mask *= smoothstep(0.0, 1.0, clamp((maxUV.y - uv.y) / fadeWidth, 0.0, 1.0));
|
||||
|
||||
if (!uIsFullscreen) {
|
||||
mask *= smoothstep(0.0, 1.0, clamp(uv.x / fadeWidth, 0.0, 1.0));
|
||||
mask *= smoothstep(0.0, 1.0, clamp(uv.y / fadeWidth, 0.0, 1.0));
|
||||
mask *= smoothstep(0.0, 1.0, clamp((maxUV.x - uv.x) / fadeWidth, 0.0, 1.0));
|
||||
mask *= smoothstep(0.0, 1.0, clamp((maxUV.y - uv.y) / fadeWidth, 0.0, 1.0));
|
||||
}
|
||||
|
||||
return mask;
|
||||
}
|
||||
@@ -184,7 +417,7 @@ float getEdgeMask(vec2 uv, vec2 maxUV, float fadeWidth) {
|
||||
// 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
|
||||
// The offset parameter 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) {
|
||||
@@ -228,6 +461,12 @@ vec2 rotate(vec2 a, float angle) {
|
||||
return vec2(a.x * cos(angle) - a.y * sin(angle), a.x * sin(angle) + a.y * cos(angle));
|
||||
}
|
||||
|
||||
// rotates a given 2d vector, around a given center (angle is in radians)
|
||||
vec2 rotate(vec2 a, float angle, vec2 center) {
|
||||
return vec2(cos(angle) * (a.x - center.x) + sin(angle) * (a.y - center.y) + center.x,
|
||||
cos(angle) * (a.y - center.y) - sin(angle) * (a.x - center.x) + center.y);
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------------- noise
|
||||
|
||||
// These noise algorithms are based on implementations by various authors from
|
||||
@@ -429,3 +668,55 @@ float simplex3DFractal(vec3 m) {
|
||||
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);
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------------- remap
|
||||
|
||||
/*
|
||||
These functions remap a given value from one range to another.
|
||||
The remap operation is particularly useful in shader programming
|
||||
to scale or normalize data, ensuring compatibility across various
|
||||
input ranges. Each version of the remap function supports a
|
||||
different data type:
|
||||
|
||||
1. float: Remap a single scalar value.
|
||||
2. vec2: Remap a 2D vector.
|
||||
3. vec3: Remap a 3D vector.
|
||||
4. vec4: Remap a 4D vector.
|
||||
|
||||
The general formula used is:
|
||||
newMin + (value - oldMin) * (newMax - newMin) / (oldMax - oldMin)
|
||||
|
||||
This ensures a linear transformation from the old range to the new range.
|
||||
*/
|
||||
|
||||
// Remap for float
|
||||
// Maps a float value from one range [oldMin, oldMax] to another range [newMin, newMax].
|
||||
// This is useful for normalizing or scaling scalar values to fit within a desired range.
|
||||
float remap(float value, float oldMin, float oldMax, float newMin, float newMax) {
|
||||
return clamp(newMin + (value - oldMin) * (newMax - newMin) / (oldMax - oldMin), newMin,
|
||||
newMax);
|
||||
}
|
||||
|
||||
// Remap for vec2
|
||||
// Maps a 2D vector (vec2) from one range [oldMin, oldMax] to another range [newMin,
|
||||
// newMax]. Each component of the vec2 is individually scaled and transformed.
|
||||
vec2 remap(vec2 value, vec2 oldMin, vec2 oldMax, vec2 newMin, vec2 newMax) {
|
||||
return clamp(newMin + (value - oldMin) * (newMax - newMin) / (oldMax - oldMin), newMin,
|
||||
newMax);
|
||||
}
|
||||
|
||||
// Remap for vec3
|
||||
// Maps a 3D vector (vec3) from one range [oldMin, oldMax] to another range [newMin,
|
||||
// newMax]. Each component of the vec3 is individually scaled and transformed.
|
||||
vec3 remap(vec3 value, vec3 oldMin, vec3 oldMax, vec3 newMin, vec3 newMax) {
|
||||
return clamp(newMin + (value - oldMin) * (newMax - newMin) / (oldMax - oldMin), newMin,
|
||||
newMax);
|
||||
}
|
||||
|
||||
// Remap for vec4
|
||||
// Maps a 4D vector (vec4) from one range [oldMin, oldMax] to another range [newMin,
|
||||
// newMax]. Each component of the vec4 is individually scaled and transformed.
|
||||
vec4 remap(vec4 value, vec4 oldMin, vec4 oldMax, vec4 newMin, vec4 newMax) {
|
||||
return clamp(newMin + (value - oldMin) * (newMax - newMin) / (oldMax - oldMin), newMin,
|
||||
newMax);
|
||||
}
|
||||
|
||||
@@ -22,6 +22,8 @@ uniform vec4 uGradient2;
|
||||
uniform vec4 uGradient3;
|
||||
uniform vec4 uGradient4;
|
||||
uniform vec4 uGradient5;
|
||||
uniform bool uRandomColor;
|
||||
uniform float uSeed;
|
||||
|
||||
// These may be configurable in the future.
|
||||
const float EDGE_FADE = 70.0;
|
||||
@@ -29,7 +31,7 @@ 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) {
|
||||
vec4 getFireColor(float v, vec4 c0, vec4 c1, vec4 c2, vec4 c3, vec4 c4) {
|
||||
float steps[5];
|
||||
steps[0] = 0.0;
|
||||
steps[1] = 0.2;
|
||||
@@ -38,11 +40,11 @@ vec4 getFireColor(float v) {
|
||||
steps[4] = 0.8;
|
||||
|
||||
vec4 colors[5];
|
||||
colors[0] = uGradient1;
|
||||
colors[1] = uGradient2;
|
||||
colors[2] = uGradient3;
|
||||
colors[3] = uGradient4;
|
||||
colors[4] = uGradient5;
|
||||
colors[0] = c0;
|
||||
colors[1] = c1;
|
||||
colors[2] = c2;
|
||||
colors[3] = c3;
|
||||
colors[4] = c4;
|
||||
|
||||
if (v < steps[0]) {
|
||||
return colors[0];
|
||||
@@ -114,7 +116,25 @@ void main() {
|
||||
noise *= effectMask.y;
|
||||
|
||||
// Map noise value to color.
|
||||
vec4 fire = getFireColor(noise);
|
||||
vec4 fire = vec4(0.0);
|
||||
|
||||
if (uRandomColor) {
|
||||
vec3 baseColor0 = offsetHue(vec3(1.0, 0.0, 0.0), hash11(uSeed));
|
||||
vec3 baseColor1 = offsetHue(baseColor0, 0.1);
|
||||
vec3 baseColor2 = offsetHue(baseColor1, 0.1);
|
||||
|
||||
// Hardcoding some alpha values.
|
||||
vec4 c0 = vec4(baseColor0, 0.0);
|
||||
vec4 c1 = vec4(baseColor0, 0.5);
|
||||
vec4 c2 = vec4(baseColor1, 0.8);
|
||||
vec4 c3 = vec4(baseColor1, 0.9);
|
||||
vec4 c4 = vec4(baseColor2, 1.0);
|
||||
|
||||
fire = getFireColor(noise, c0, c1, c2, c3, c4);
|
||||
} else {
|
||||
fire =
|
||||
getFireColor(noise, uGradient1, uGradient2, uGradient3, uGradient4, uGradient5);
|
||||
}
|
||||
|
||||
// Get the window texture.
|
||||
vec4 oColor = getInputColor(iTexCoord.st);
|
||||
@@ -131,4 +151,4 @@ void main() {
|
||||
// oColor = vec4(vec3(effectMask.y), 1);
|
||||
|
||||
setOutputColor(oColor);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// ) ( //
|
||||
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||
// |__/ //
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// SPDX-FileCopyrightText: Justin Garza JGarza9788@gmail.com
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// The content from common.glsl is automatically prepended to each shader effect. This
|
||||
// provides the standard input:
|
||||
|
||||
// vec2 iTexCoord: Texture coordinates for retrieving the window input color.
|
||||
// bool uIsFullscreen: True if the window is maximized or in fullscreen mode.
|
||||
// bool uForOpening: True if a window-open animation is ongoing, false otherwise.
|
||||
// float uProgress: A value which transitions from 0 to 1 during the animation.
|
||||
// float uDuration: The duration of the current animation in seconds.
|
||||
// vec2 uSize: The size of uTexture in pixels.
|
||||
// float uPadding: The empty area around the actual window (e.g. where the shadow
|
||||
// is drawn). For now, this will only be set on GNOME.
|
||||
|
||||
// Furthermore, there are two global methods for reading the window input color and
|
||||
// setting the shader output color. Both methods assume straight alpha:
|
||||
|
||||
// vec4 getInputColor(vec2 coords)
|
||||
// void setOutputColor(vec4 outColor)
|
||||
|
||||
// The width of the fading effect is loaded from the settings.
|
||||
uniform float uBlurAmount;
|
||||
uniform float uBlurQuality;
|
||||
|
||||
void main() {
|
||||
|
||||
// Calculate the progression value based on the animation direction.
|
||||
// If opening, use uProgress as-is; if closing, invert the progression.
|
||||
float progl = uForOpening ? uProgress : 1.0 - uProgress;
|
||||
|
||||
// Apply easing functions to the progression value:
|
||||
// - easedProgressBlur: Used for controlling the blur effect smoothly.
|
||||
// - easedProgressAlpha: Used for controlling the alpha (opacity) transition.
|
||||
float easedProgressBlur = easeInOutSine(progl); // Sine-based smooth easing for blur.
|
||||
float easedProgressAlpha = easeInOutCubic(progl); // Cubic-based smooth easing for alpha.
|
||||
|
||||
// Calculate the blur amount by interpolating (mixing) between the maximum blur (uBlurAmount)
|
||||
// and zero blur based on the eased progression value.
|
||||
float blurAmount = mix(uBlurAmount, 0.0, easedProgressBlur);
|
||||
|
||||
// Apply the calculated blur effect to the texture at the current texture coordinates.
|
||||
// The blur function uses the blur amount and quality (uBlurQuality) for sampling.
|
||||
vec4 texColor = getBlurredInputColor(iTexCoord.st, blurAmount, uBlurQuality);
|
||||
|
||||
// Calculate the alpha value for the transition using eased progress.
|
||||
// This determines how transparent the final color will appear.
|
||||
float alpha = easedProgressAlpha;
|
||||
|
||||
// Apply the alpha transition to the final texture color.
|
||||
// Multiply the texture's alpha channel by the computed alpha value.
|
||||
texColor.a *= alpha;
|
||||
|
||||
// Output the final color with the applied blur and alpha transition.
|
||||
setOutputColor(texColor);
|
||||
}
|
||||
@@ -78,7 +78,7 @@ void main() {
|
||||
// Now we compute a 2D gradient in [0..1] which covers the entire window. The dark
|
||||
// regions will be burned first, the bright regions in the end. We mix a radial gradient
|
||||
// with some noise. The center of the radial gradient is positioned at uStartPos.
|
||||
float circle = length(iTexCoord - uStartPos);
|
||||
float circle = length((iTexCoord - uStartPos) * (uSize.xy / max(uSize.x, uSize.y)));
|
||||
|
||||
vec2 uv = iTexCoord / uScale * uSize / 1.5;
|
||||
float smokeNoise =
|
||||
|
||||
@@ -0,0 +1,403 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// ) ( //
|
||||
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||
// |__/ //
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// SPDX-FileCopyrightText: Justin Garza JGarza9788@gmail.com
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// The content from common.glsl is automatically prepended to each shader effect. This
|
||||
// provides the standard input:
|
||||
|
||||
// vec2 iTexCoord: Texture coordinates for retrieving the window input color.
|
||||
// bool uIsFullscreen: True if the window is maximized or in fullscreen mode.
|
||||
// bool uForOpening: True if a window-open animation is ongoing, false otherwise.
|
||||
// float uProgress: A value which transitions from 0 to 1 during the animation.
|
||||
// float uDuration: The duration of the current animation in seconds.
|
||||
// vec2 uSize: The size of uTexture in pixels.
|
||||
// float uPadding: The empty area around the actual window (e.g. where the shadow
|
||||
// is drawn). For now, this will only be set on GNOME.
|
||||
|
||||
// Furthermore, there are two global methods for reading the window input color and
|
||||
// setting the shader output color. Both methods assume straight alpha:
|
||||
|
||||
// vec4 getInputColor(vec2 coords)
|
||||
// void setOutputColor(vec4 outColor)
|
||||
|
||||
// The width of the fading effect is loaded from the settings.
|
||||
|
||||
// use 8BitStyle or not (sliding scale)
|
||||
uniform float uScaleStyle;
|
||||
|
||||
// these are for the sparks
|
||||
uniform float uSparkCount;
|
||||
uniform vec4 uSparkColor;
|
||||
uniform float uSparkRotation;
|
||||
|
||||
// these are for the Rays
|
||||
uniform vec4 uRaysColor;
|
||||
|
||||
// these are for the stars
|
||||
uniform float uRingCount;
|
||||
uniform float uRingRotation;
|
||||
uniform float uStarCount;
|
||||
|
||||
// and the colors they change over time
|
||||
uniform vec4 uStarColor0;
|
||||
uniform vec4 uStarColor1;
|
||||
uniform vec4 uStarColor2;
|
||||
uniform vec4 uStarColor3;
|
||||
uniform vec4 uStarColor4;
|
||||
uniform vec4 uStarColor5;
|
||||
|
||||
// seed
|
||||
uniform vec2 uSeed;
|
||||
|
||||
// helps to find the angle
|
||||
vec3 getPosByAngle(float angle) { return vec3(cos(angle), sin(angle), 0); }
|
||||
|
||||
// gets the mask of a Star
|
||||
float getStar(vec2 uv, vec2 center, float npoints, float radiusRatio, float size,
|
||||
float rotation) {
|
||||
|
||||
float radiusMax = 1.0;
|
||||
float radiusMin = radiusMax * radiusRatio;
|
||||
|
||||
float PI = 3.1415926;
|
||||
float starangle = 2.0 * PI / npoints; // Angle between points on the star
|
||||
|
||||
// Offset rotation to ensure one point is always up when rotation = 0
|
||||
rotation += PI / 2.0 - starangle / 1.0;
|
||||
|
||||
// Define the positions for the outer and inner points of the star's initial angle,
|
||||
// rotated by `rotation`
|
||||
vec3 p0 =
|
||||
(radiusMax * size) * getPosByAngle(rotation); // Outer point, rotated by `rotation`
|
||||
vec3 p1 = (radiusMin * size) *
|
||||
getPosByAngle(starangle + rotation); // Inner point, also rotated
|
||||
|
||||
// Calculate the position of the current fragment relative to the star's center
|
||||
vec2 curPosuv =
|
||||
(uv - center); // Center UV coordinates, then scale to fit the star size
|
||||
float curRadius = length(curPosuv); // Radius from center, no need to scale further
|
||||
float curPosAngle =
|
||||
atan(curPosuv.y, curPosuv.x) - rotation; // Calculate angle and adjust by `rotation`
|
||||
|
||||
// Determine the fractional position within the current star segment
|
||||
float a =
|
||||
fract(curPosAngle / starangle); // Fractional angle position within one segment
|
||||
if (a >= 0.5)
|
||||
a = 1.0 - a; // Ensure we are within the first half of the segment (symmetry)
|
||||
|
||||
// Calculate the current point on the star segment, applying rotation
|
||||
a = a * starangle; // Actual angle for this position on the segment
|
||||
vec3 curPos = curRadius * getPosByAngle(a + rotation); // Final position, rotated
|
||||
|
||||
// Calculate directions for edge detection using cross product
|
||||
vec3 dir0 = p1 - p0; // Vector from outer to inner point
|
||||
vec3 dir1 = curPos - p0; // Vector from outer point to current position
|
||||
|
||||
// Use cross product to determine if `curPos` is inside the star's edge
|
||||
return step(0.0,
|
||||
cross(dir0, dir1).z); // Returns 1.0 if inside, 0.0 if outside (solid edge)
|
||||
}
|
||||
|
||||
// use to scale the window
|
||||
vec2 scaleUV(vec2 uv, vec2 scale) {
|
||||
// Put texture coordinate origin to center of window.
|
||||
uv = uv * 2.0 - 1.0;
|
||||
|
||||
// scale
|
||||
uv /= mix(vec2(1.0, 1.0), vec2(0.0, 0.0), scale);
|
||||
|
||||
// scale from center
|
||||
uv = uv * 0.5 + 0.5;
|
||||
|
||||
return uv;
|
||||
}
|
||||
|
||||
// this returns the Spark
|
||||
float getSpark(vec2 uv, vec2 center, float brightness, float size, float rotation) {
|
||||
brightness = clamp(brightness, 0.001, 1.0);
|
||||
size = clamp(size, 0.001, 1.0);
|
||||
float bn = mix(0.0, 0.07, brightness); // recalculate size
|
||||
|
||||
uv = (uv + vec2(0.5));
|
||||
uv = (uv - center); // Center UV coordinates, then scale to fit the star size
|
||||
uv = scaleUV(uv, vec2(1.0 - size));
|
||||
uv = rotate(uv, rotation, vec2(0.5)); // rotate the UV
|
||||
|
||||
// this is basically the brightness
|
||||
float p = mix(-1.0, 1000.0, easeInExpo(bn));
|
||||
|
||||
float m =
|
||||
mix(0.0, 1.0,
|
||||
clamp(pow(abs(uv.x - 0.5) * 2.0, p) + pow(abs(uv.y - 0.5) * 2.0, p), 0.0, 1.0));
|
||||
|
||||
float mask = easeInSine(1.0 - (m - bn)) - 0.004;
|
||||
mask = clamp(mask, 0.0, 1.0);
|
||||
|
||||
return mask;
|
||||
}
|
||||
|
||||
// returns the star's color
|
||||
vec4 getStarColor(float v, float alpha) {
|
||||
// Clamp v to ensure it's in [0.0, 1.0]
|
||||
v = clamp(v, 0.0, 1.0);
|
||||
|
||||
// Define steps for color interpolation
|
||||
float steps[6];
|
||||
steps[0] = 0.0;
|
||||
steps[1] = 0.1666;
|
||||
steps[2] = 0.3332;
|
||||
steps[3] = 0.4998;
|
||||
steps[4] = 0.6664;
|
||||
steps[5] = 0.8330;
|
||||
|
||||
// Define color values
|
||||
vec4 colors[6];
|
||||
colors[0] = uStarColor0;
|
||||
colors[1] = uStarColor1;
|
||||
colors[2] = uStarColor2;
|
||||
colors[3] = uStarColor3;
|
||||
colors[4] = uStarColor4;
|
||||
colors[5] = uStarColor5;
|
||||
|
||||
// Assign alpha values
|
||||
for (int i = 0; i < 6; ++i) {
|
||||
colors[i].a = alpha * colors[i].a;
|
||||
}
|
||||
|
||||
// Handle edge cases
|
||||
if (v <= steps[0]) {
|
||||
return colors[0];
|
||||
}
|
||||
if (v >= steps[5]) {
|
||||
return colors[5];
|
||||
}
|
||||
|
||||
// Find the correct interpolation segment
|
||||
for (int i = 0; i < 5; ++i) {
|
||||
if (v <= steps[i + 1]) {
|
||||
float t = (v - steps[i]) / (steps[i + 1] - steps[i]);
|
||||
return mix(colors[i], colors[i + 1], t);
|
||||
}
|
||||
}
|
||||
|
||||
// Fallback (should never be reached)
|
||||
return vec4(0.0, 0.0, 0.0, 1.0);
|
||||
}
|
||||
|
||||
// 1| __________
|
||||
// | / \
|
||||
// | / \
|
||||
// | / \
|
||||
// |/ \
|
||||
// 0|0.................1
|
||||
/*
|
||||
graph above ... where t is close to 0, or 1 the result will fade to zero
|
||||
i.e. this is just the function of power(x,p) shifted
|
||||
where x is time, and p is 2.0,4.0,8.0,10.0 ... or any positive even number
|
||||
*/
|
||||
float zeroStartEnd(float t, float max_size, float power) {
|
||||
float s = -1.0 * pow((t - 0.5) / (0.5), power) + 1.0;
|
||||
s = clamp(s, 0.0, 1.0) * max_size;
|
||||
return s;
|
||||
}
|
||||
|
||||
// this gives us the jerky 8bit growth effect.
|
||||
float eightBitScale(float progress) {
|
||||
float scale = 1.0;
|
||||
if (progress <= 0.1) {
|
||||
scale = 0.25;
|
||||
} else if (progress <= 0.2) {
|
||||
scale = 0.5;
|
||||
} else if (progress <= 0.3) {
|
||||
scale = 0.25;
|
||||
} else if (progress <= 0.4) {
|
||||
scale = 0.5;
|
||||
} else if (progress <= 0.5) {
|
||||
scale = 0.25;
|
||||
} else if (progress <= 0.6) {
|
||||
scale = 0.5;
|
||||
} else if (progress <= 0.7) {
|
||||
scale = 1.0;
|
||||
} else if (progress <= 0.8) {
|
||||
scale = 0.25;
|
||||
} else if (progress <= 0.9) {
|
||||
scale = 0.5;
|
||||
}
|
||||
return scale;
|
||||
}
|
||||
|
||||
// gets all the sparks
|
||||
vec4 getSparks(float progress) {
|
||||
// the UV for this function
|
||||
float aspect = uSize.x / uSize.y;
|
||||
vec2 uv = iTexCoord.st * vec2(aspect, 1.0);
|
||||
|
||||
// this will be the result to return
|
||||
vec4 result = vec4(0.0);
|
||||
|
||||
// 0 at the edges
|
||||
float xEdge = -1.0 * pow((uv.x - (aspect * 0.5)) / (aspect * 0.5), 8.0) + 1.0;
|
||||
xEdge = clamp(xEdge, 0.0, 1.0);
|
||||
|
||||
// declare some variables before the loop
|
||||
vec2 h = vec2(0.0);
|
||||
float y = 0.0;
|
||||
float x = 0.0;
|
||||
|
||||
// loop for each spart
|
||||
for (float xusp = 0.0; xusp < uSparkCount; ++xusp) {
|
||||
// calculate some variables
|
||||
h = hash21(xusp + uSeed.x);
|
||||
y = mix(0.0 - h.y, 1.0 + (1.0 - h.y), progress);
|
||||
y = clamp(y, 0.0, 1.0);
|
||||
|
||||
x = 0.66 * sin(h.x * 6.28);
|
||||
x += 0.5 * aspect;
|
||||
|
||||
// here we get the mask for the spark
|
||||
float a4ps = getSpark(uv, vec2(x, y), // position (x, y)
|
||||
zeroStartEnd(y, 1.0, 4.0) * xEdge, // Brightness
|
||||
zeroStartEnd(y, 0.5, 4.0) * xEdge, // Size
|
||||
progress * 6.28 * float(uSparkRotation) // rotation
|
||||
);
|
||||
|
||||
// set it to the results
|
||||
result = alphaOver(
|
||||
result, vec4(uSparkColor.r, uSparkColor.g, uSparkColor.b, uSparkColor.a * a4ps));
|
||||
}
|
||||
|
||||
// and we are returning the result
|
||||
return result;
|
||||
}
|
||||
|
||||
// gets the Rays
|
||||
vec4 getRays(float progress) {
|
||||
// create the UV for it
|
||||
vec2 rayUV = iTexCoord.st;
|
||||
rayUV *= vec2(10.0, 0.5);
|
||||
rayUV.y += progress * -1.0;
|
||||
rayUV.x += uSeed.y;
|
||||
|
||||
// gets the ray
|
||||
float ray = simplex2D(rayUV);
|
||||
// 0 around the edges
|
||||
ray *= zeroStartEnd(iTexCoord.t, 1.0, 8.0);
|
||||
ray *= zeroStartEnd(iTexCoord.s, 1.0, 8.0);
|
||||
// 0 at the begining and end of the animation
|
||||
ray *= zeroStartEnd(progress, 1.0, 8.0);
|
||||
|
||||
// adjust the numbers and clamp
|
||||
ray = remap(ray * 1.10, 0.0, 1.0, -5.0, 1.0);
|
||||
|
||||
float alpha = clamp(uRaysColor.a * ray, 0.0, 1.0);
|
||||
|
||||
// return
|
||||
return vec4(uRaysColor.r, uRaysColor.g, uRaysColor.b, alpha);
|
||||
}
|
||||
|
||||
// returns the stars
|
||||
vec4 getStars(vec2 starUV, float aspect, float progress, float oColorAlpha) {
|
||||
// this will be the result to return
|
||||
vec4 result = vec4(0.0);
|
||||
|
||||
vec2 h = vec2(0.0);
|
||||
float y = 0.0;
|
||||
|
||||
// for each ring
|
||||
for (float r = 0.0; r < uRingCount; ++r) {
|
||||
|
||||
float spread = r * (1.0 / uRingCount);
|
||||
y = mix(0.0 - spread, 1.0 + (1.0 - spread), 1.0 - progress);
|
||||
y = clamp(y, 0.00001, 0.99999);
|
||||
|
||||
// each star in each ring
|
||||
for (float s = 0.0; s < uStarCount; ++s) {
|
||||
|
||||
// this returns a Star
|
||||
|
||||
float a5ps =
|
||||
getStar(starUV,
|
||||
vec2(sin(progress * uRingRotation * 6.28 + (s * (6.28 / uStarCount))) *
|
||||
aspect * 0.33,
|
||||
y), // position (x, y)
|
||||
5.0, // nPoints
|
||||
0.5, // radiusRatio
|
||||
zeroStartEnd(y, 0.1, 2.0), // Size
|
||||
0.0 // rotation
|
||||
);
|
||||
a5ps = clamp(a5ps, 0.0, 1.0);
|
||||
|
||||
// //put the star in back or the front of the window
|
||||
float depth = cos(progress * uRingRotation * 6.28 + (s * (6.28 / uStarCount)));
|
||||
|
||||
// if we want the star behind or infront of the window
|
||||
|
||||
if (depth < 0.0) {
|
||||
result = alphaOver(result, getStarColor(y, a5ps));
|
||||
} else {
|
||||
result = alphaOver(getStarColor(y, a5ps) * (1.0 - oColorAlpha), result);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// and we are returning the result
|
||||
return result;
|
||||
}
|
||||
|
||||
void main() {
|
||||
|
||||
// Calculate the animation progress, flipping direction if opening
|
||||
// 'uProgress' varies from 0 to 1, depending on the animation phase
|
||||
float progress = uForOpening ? 1.0 - uProgress : uProgress;
|
||||
|
||||
// Initialize the output color to fully transparent black
|
||||
vec4 oColor = vec4(0.0, 0.0, 0.0, 0.0);
|
||||
|
||||
// get scales
|
||||
float scale8bit = eightBitScale(progress);
|
||||
vec2 scaleV2 = vec2(easeInOutSine(progress), easeInQuad(progress));
|
||||
|
||||
vec2 fscale = mix(vec2(scale8bit), scaleV2, uScaleStyle);
|
||||
|
||||
// Fetch the color based on the scaled texture coordinates
|
||||
oColor = getInputColor(scaleUV(iTexCoord.st, fscale));
|
||||
|
||||
// Store the alpha value of the fetched color for later use
|
||||
float oColorAlpha = oColor.a;
|
||||
|
||||
// Calculate the aspect ratio of the render area
|
||||
float aspect = uSize.x / uSize.y;
|
||||
|
||||
// Transform UV coordinates for star effects
|
||||
// starUV.x [-0.5 , 0.5]
|
||||
// starUV.y [1.0 , 0.0]
|
||||
vec2 starUV = vec2(iTexCoord.s - 0.5, 1.0 - iTexCoord.t) * vec2(aspect, 1.0);
|
||||
|
||||
// If four-point stars are enabled, overlay them on the current color
|
||||
if (uSparkCount > 0.0) {
|
||||
oColor = alphaOver(oColor, getSparks(progress));
|
||||
}
|
||||
|
||||
// If rays are enabled, overlay them on the current color
|
||||
if (uRaysColor.a > 0.0) {
|
||||
oColor = alphaOver(oColor, getRays(progress));
|
||||
}
|
||||
|
||||
// If five-point stars are enabled, overlay them using stored alpha
|
||||
if (uRingCount > 0.0 && uStarCount > 0.0) {
|
||||
oColor = alphaOver(oColor, getStars(starUV, aspect, progress, oColorAlpha));
|
||||
}
|
||||
|
||||
// Set the final output color to the computed value
|
||||
setOutputColor(oColor);
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// ) ( //
|
||||
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||
// |__/ //
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// The content from common.glsl is automatically prepended to each shader effect.
|
||||
|
||||
// See assets/README.md for how this texture was created.
|
||||
uniform sampler2D uBrushTexture;
|
||||
uniform float uBrushSize;
|
||||
|
||||
const float SHADOW_WIDTH = 0.03;
|
||||
const float SHADOW_STEPS = 10.0;
|
||||
|
||||
// Returns 1.0 if the window texture at the given texCoord should be painted.
|
||||
float getMask(vec2 texCoord, float progress) {
|
||||
float brush = texture2D(uBrushTexture, texCoord)[int(uBrushSize - 1.0)];
|
||||
if (uForOpening) {
|
||||
return step(brush, progress);
|
||||
}
|
||||
|
||||
return step(progress, brush);
|
||||
}
|
||||
|
||||
void main() {
|
||||
|
||||
vec4 oColor = getInputColor(iTexCoord.st);
|
||||
|
||||
// This will be 0.0 in the masked-out areas.
|
||||
float mask = getMask(iTexCoord.st, uProgress);
|
||||
|
||||
// Add a simple drop shadow below the remaining parts.
|
||||
if (mask == 0.0) {
|
||||
|
||||
for (float i = 0.0; i < SHADOW_STEPS; ++i) {
|
||||
vec2 shadowTexCoord = iTexCoord.st - vec2(0.0, i * SHADOW_WIDTH / SHADOW_STEPS);
|
||||
float shadowMask = getMask(shadowTexCoord, uProgress);
|
||||
float shadowAlpha = (1.0 - i / SHADOW_STEPS) * shadowMask * getInputColor(shadowTexCoord).a;
|
||||
|
||||
if (shadowAlpha > 0.0) {
|
||||
oColor = vec4(vec3(0.0), shadowAlpha * 0.2);
|
||||
break;
|
||||
}
|
||||
|
||||
// If we arrived at the end of the shadow, make sure to set the alpha to 0.
|
||||
if (i == SHADOW_STEPS - 1.0) {
|
||||
oColor.a = 0.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
setOutputColor(oColor);
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// ) ( //
|
||||
// ( /( ( ( ) ( ( ( ( )\ ) ( ( //
|
||||
// )\()) ))\ )( ( ( )\ ) )\))( )\ ( (()/( ( )\))( ( //
|
||||
// ((_)\ /((_|()\ )\ ) )\ '(()/( ((_)()((_) )\ ) ((_)))\((_)()\ )\ //
|
||||
// | |(_|_))( ((_)_(_/( _((_)) )(_)) _(()((_|_)_(_/( _| |((_)(()((_|(_) //
|
||||
// | '_ \ || | '_| ' \)) | ' \()| || | \ V V / | ' \)) _` / _ \ V V (_-< //
|
||||
// |_.__/\_,_|_| |_||_| |_|_|_| \_, | \_/\_/|_|_||_|\__,_\___/\_/\_//__/ //
|
||||
// |__/ //
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// SPDX-FileCopyrightText: Justin Garza JGarza9788@gmail.com
|
||||
// SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// The content from common.glsl is automatically prepended to each shader effect. This
|
||||
// provides the standard input:
|
||||
|
||||
// vec2 iTexCoord: Texture coordinates for retrieving the window input color.
|
||||
// bool uIsFullscreen: True if the window is maximized or in fullscreen mode.
|
||||
// bool uForOpening: True if a window-open animation is ongoing, false otherwise.
|
||||
// float uProgress: A value which transitions from 0 to 1 during the animation.
|
||||
// float uDuration: The duration of the current animation in seconds.
|
||||
// vec2 uSize: The size of uTexture in pixels.
|
||||
// float uPadding: The empty area around the actual window (e.g. where the shadow
|
||||
// is drawn). For now, this will only be set on GNOME.
|
||||
|
||||
// Furthermore, there are two global methods for reading the window input color and
|
||||
// setting the shader output color. Both methods assume straight alpha:
|
||||
|
||||
// vec4 getInputColor(vec2 coords)
|
||||
// void setOutputColor(vec4 outColor)
|
||||
|
||||
uniform float uBrightness;
|
||||
uniform float uSpeedR;
|
||||
uniform float uSpeedG;
|
||||
uniform float uSpeedB;
|
||||
|
||||
float FadeInOut(float t, float power) {
|
||||
float s = -1.0 * pow((t - 0.5) / (0.5), power) + 1.0;
|
||||
s = clamp(s, 0.0, 1.0);
|
||||
return s;
|
||||
}
|
||||
|
||||
void main() {
|
||||
|
||||
// Calculate the progression value based on the animation direction.
|
||||
float progress = uForOpening ? 1.0 - uProgress : uProgress;
|
||||
|
||||
// Percentage of the progress time which is spent until all pixels start moving up.
|
||||
float minSpeed = min(uSpeedR, min(uSpeedG, uSpeedB));
|
||||
float waveTime = mix(0.1, 0.9, minSpeed);
|
||||
float waveProgress = progress / waveTime;
|
||||
|
||||
// Gradient from top to bottom (0 at top, 1 at bottom).
|
||||
float t = iTexCoord.t;
|
||||
|
||||
// Calculate the vertical wave offset.
|
||||
float offset = max(waveProgress - t, 0.0);
|
||||
offset /= (1.0 / waveTime) - 1.0;
|
||||
offset *= (1.0 - waveTime);
|
||||
|
||||
vec4 colorR = getInputColor(iTexCoord + vec2(0.0, offset * (uSpeedR - minSpeed + 1.0)));
|
||||
vec4 colorG = getInputColor(iTexCoord + vec2(0.0, offset * (uSpeedG - minSpeed + 1.0)));
|
||||
vec4 colorB = getInputColor(iTexCoord + vec2(0.0, offset * (uSpeedB - minSpeed + 1.0)));
|
||||
|
||||
vec4 oColor =
|
||||
vec4(colorR.r, colorG.g, colorB.b, (colorR.a + colorG.a + colorB.a) / 3.0);
|
||||
oColor.rgb *= mix(1.0, uBrightness, FadeInOut(progress, 4));
|
||||
|
||||
oColor.a *= getAbsoluteEdgeMask(30.0, 1.0);
|
||||
|
||||
setOutputColor(oColor);
|
||||
}
|
||||