Compare commits
140 Commits
cf8fca916e
..
v43
| Author | SHA1 | Date | |
|---|---|---|---|
| 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 | |||
| 27220c95f8 | |||
| 5cc260ad39 | |||
| bf068e24da | |||
| 45dd8d992d | |||
| a8466a16f7 | |||
| 44ce1a4825 | |||
| c515e495f3 | |||
| f5e0a92cec | |||
| 8147edfa06 | |||
| 15b0d78c01 | |||
| ee41968e17 | |||
| f2768216db | |||
| d1cddb129d | |||
| 505289376e | |||
| 3a9b1cb8a8 | |||
| 7b90fd70bc | |||
| 8a0c29a52f |
@@ -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.me/simonschneegans"]
|
||||
custom:
|
||||
[
|
||||
"https://www.paypal.com/donate/?hosted_button_id=3F7UFL8KLVPXE",
|
||||
https://schneegans.cb.id,
|
||||
]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -79,26 +79,6 @@ jobs:
|
||||
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
|
||||
@@ -110,13 +90,7 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
version:
|
||||
- "32"
|
||||
- "33"
|
||||
- "34"
|
||||
- "35"
|
||||
- "36"
|
||||
- "37"
|
||||
- "38"
|
||||
- "39"
|
||||
session:
|
||||
- "gnome-xsession"
|
||||
- "gnome-wayland-nested"
|
||||
|
||||
@@ -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@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.9.0
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: burn-my-windows@schneegans.github.com.zip
|
||||
tag: ${{ github.ref }}
|
||||
overwrite: true
|
||||
draft: 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@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.9.0
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: kwin/*.tar.gz
|
||||
tag: ${{ github.ref }}
|
||||
overwrite: true
|
||||
file_glob: true
|
||||
draft: true
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
# 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
|
||||
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/
|
||||
@@ -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
|
||||
@@ -48,7 +48,7 @@ pot: $(JS_FILES) $(UI_FILES)
|
||||
|
||||
# This runs several tests in containerized versions of GNOME Shell.
|
||||
test:
|
||||
@ for version in 32 33 34 35 36 37 38 ; do \
|
||||
@ for version in 39 "rawhide" ; do \
|
||||
for session in "gnome-xsession" "gnome-wayland-nested" ; do \
|
||||
echo ; \
|
||||
echo "Running Tests on Fedora $$version ($$session)." ; \
|
||||
@@ -59,7 +59,7 @@ test:
|
||||
|
||||
# This re-generates all reference images required by the tests.
|
||||
references:
|
||||
@ for version in 32 33 34 35 36 37 38 ; do \
|
||||
@ for version in 39 "rawhide" ; do \
|
||||
for session in "gnome-xsession" "gnome-wayland-nested" ; do \
|
||||
echo ; \
|
||||
echo "Generating References for Fedora $$version ($$session)." ; \
|
||||
@@ -92,11 +92,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,41 +13,44 @@ 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" />
|
||||
**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" />
|
||||
**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" /> |
|
||||
| **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" /> |
|
||||
| **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" /> |
|
||||
| **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) |
|
||||
|
||||
## ✅ Supported Versions
|
||||
|
||||
@@ -84,50 +87,23 @@ Below is a table which summarizes the current availability for all effects.
|
||||
<tr><td>Wisps</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)
|
||||
|
||||
@@ -157,7 +133,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
|
||||
@@ -173,6 +149,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.
|
||||
|
||||
@@ -182,40 +164,43 @@ 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 |
|
||||
| ---------------------------------------------- | ---------------------------------------------- |
|
||||
| [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) |
|
||||
| [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) |
|
||||
| [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) |
|
||||
| [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...".
|
||||
@@ -237,7 +222,6 @@ tar -xf burn_my_windows_kwin4.tar.gz -C ~/.local/share/kwin/effects
|
||||
|
||||
Then select the desired effects in the system settings under "Desktop Effects".
|
||||
|
||||
|
||||
### c) Cloning the Latest Version with `git`
|
||||
|
||||
Execute the clone command below where you want to have the source code of the extension.
|
||||
@@ -258,30 +242,29 @@ tar -xf kwin/burn_my_windows_kwin4.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. |
|
||||
|
||||
@@ -5,6 +5,19 @@ SPDX-License-Identifier: CC-BY-4.0
|
||||
|
||||
# Changelog of the Burn-My-Windows Extension
|
||||
|
||||
## [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
|
||||
|
||||
@@ -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,272 +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>
|
||||
|
||||
```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">
|
||||
<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>
|
||||
<summary>Expand this to show the UI code.</summary>
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
@@ -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,4 @@ 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!
|
||||
|
||||
@@ -14,26 +14,41 @@
|
||||
|
||||
'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 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 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 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 SnapOfDisintegration from './src/effects/SnapOfDisintegration.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 +59,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,46 +69,47 @@ 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.PaintBrush.PaintBrush(),
|
||||
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 BrokenGlass(),
|
||||
new Doom(),
|
||||
new EnergizeA(),
|
||||
new EnergizeB(),
|
||||
new Fire(),
|
||||
new Glide(),
|
||||
new Glitch(),
|
||||
new Hexagon(),
|
||||
new Incinerate(),
|
||||
new Matrix(),
|
||||
new PaintBrush(),
|
||||
new Pixelate(),
|
||||
new PixelWheel(),
|
||||
new PixelWipe(),
|
||||
new Portal(),
|
||||
new SnapOfDisintegration(),
|
||||
new TRexAttack(),
|
||||
new TVEffect(),
|
||||
new TVGlitch(),
|
||||
new Wisps(),
|
||||
];
|
||||
|
||||
// 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();
|
||||
@@ -234,21 +250,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
|
||||
@@ -262,16 +266,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;
|
||||
};
|
||||
|
||||
@@ -301,53 +295,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
|
||||
@@ -372,11 +363,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;
|
||||
}
|
||||
@@ -392,7 +381,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
|
||||
@@ -448,7 +437,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.
|
||||
@@ -501,7 +491,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');
|
||||
@@ -531,7 +521,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.
|
||||
@@ -569,7 +560,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);
|
||||
@@ -580,7 +572,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;
|
||||
@@ -597,7 +589,7 @@ 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;
|
||||
@@ -622,10 +614,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);
|
||||
@@ -639,16 +632,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();
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
"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": [
|
||||
|
||||
@@ -10,14 +10,10 @@
|
||||
"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"
|
||||
"45",
|
||||
"46",
|
||||
"47"
|
||||
],
|
||||
"url": "https://github.com/Schneegans/Burn-My-Windows",
|
||||
"version": 42
|
||||
"version": 43
|
||||
}
|
||||
@@ -0,0 +1,777 @@
|
||||
# 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: 2023-08-31 07:30+0200\n"
|
||||
"PO-Revision-Date: 2024-08-09 19:09+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.7-dev\n"
|
||||
|
||||
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:256
|
||||
#: resources/ui/gtk3/prefs.ui:301 resources/ui/adw/prefs.ui:103
|
||||
msgid "Opening Windows"
|
||||
msgstr "Åbning af vinduer"
|
||||
|
||||
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:257
|
||||
#: resources/ui/gtk3/prefs.ui:302 resources/ui/adw/prefs.ui:104
|
||||
msgid "Closing Windows"
|
||||
msgstr "Lukning af vinduer"
|
||||
|
||||
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:285
|
||||
#: resources/ui/gtk3/prefs.ui:330 resources/ui/adw/prefs.ui:118
|
||||
msgid "Normal Windows"
|
||||
msgstr "Normale vinduer"
|
||||
|
||||
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:286
|
||||
#: resources/ui/gtk3/prefs.ui:331 resources/ui/adw/prefs.ui:119
|
||||
msgid "Dialog Windows"
|
||||
msgstr "Dialogvinduer"
|
||||
|
||||
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:314
|
||||
#: resources/ui/gtk3/prefs.ui:359 resources/ui/adw/prefs.ui:133
|
||||
msgid "Default Color Scheme"
|
||||
msgstr "Standardfarveskema"
|
||||
|
||||
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:315
|
||||
#: resources/ui/gtk3/prefs.ui:360 resources/ui/adw/prefs.ui:134
|
||||
msgid "Dark Color Scheme"
|
||||
msgstr "Mørkt farveskema"
|
||||
|
||||
#: src/ProfileManager.js:181 resources/ui/gtk4/prefs.ui:343
|
||||
#: resources/ui/gtk3/prefs.ui:388 resources/ui/adw/prefs.ui:148
|
||||
msgid "On Battery"
|
||||
msgstr ""
|
||||
|
||||
#: src/ProfileManager.js:182 resources/ui/gtk4/prefs.ui:344
|
||||
#: resources/ui/gtk3/prefs.ui:389 resources/ui/adw/prefs.ui:149
|
||||
msgid "Plugged In"
|
||||
msgstr ""
|
||||
|
||||
#: src/ProfileManager.js:183 resources/ui/gtk4/prefs.ui:372
|
||||
#: resources/ui/gtk3/prefs.ui:417 resources/ui/adw/prefs.ui:163
|
||||
msgid "Power-Saver Mode"
|
||||
msgstr ""
|
||||
|
||||
#: src/ProfileManager.js:184 resources/ui/gtk4/prefs.ui:373
|
||||
#: resources/ui/gtk3/prefs.ui:418 resources/ui/adw/prefs.ui:164
|
||||
msgid "Balanced Mode"
|
||||
msgstr ""
|
||||
|
||||
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:374
|
||||
#: resources/ui/gtk3/prefs.ui:419 resources/ui/adw/prefs.ui:165
|
||||
msgid "Performance Mode"
|
||||
msgstr ""
|
||||
|
||||
#: src/ProfileManager.js:186 resources/ui/gtk4/prefs.ui:375
|
||||
#: resources/ui/gtk3/prefs.ui:420 resources/ui/adw/prefs.ui:166
|
||||
msgid "Power Saver or Balanced"
|
||||
msgstr ""
|
||||
|
||||
#: src/ProfileManager.js:187 resources/ui/gtk4/prefs.ui:376
|
||||
#: resources/ui/gtk3/prefs.ui:421 resources/ui/adw/prefs.ui:167
|
||||
msgid "Balanced or Performance"
|
||||
msgstr ""
|
||||
|
||||
#: src/ProfileManager.js:192 resources/ui/gtk4/prefs.ui:423
|
||||
#: resources/ui/gtk3/prefs.ui:468 resources/ui/adw/prefs.ui:183
|
||||
msgid "High Priority"
|
||||
msgstr "Høj prioritet"
|
||||
|
||||
#: src/ProfileManager.js:198
|
||||
msgid "Standard Profile"
|
||||
msgstr "Standardprofil"
|
||||
|
||||
#: src/effects/Apparition.js:78
|
||||
msgid "Apparition"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/BrokenGlass.js:137
|
||||
msgid "Broken Glass"
|
||||
msgstr "Knust glas"
|
||||
|
||||
#: src/effects/Doom.js:88
|
||||
msgid "Doom"
|
||||
msgstr "Doom"
|
||||
|
||||
#: src/effects/EnergizeA.js:80
|
||||
msgid "Energize A"
|
||||
msgstr "Energi A"
|
||||
|
||||
#: src/effects/EnergizeB.js:81
|
||||
msgid "Energize B"
|
||||
msgstr "Energi B"
|
||||
|
||||
#: src/effects/Fire.js:100
|
||||
msgid "Fire"
|
||||
msgstr "Ild"
|
||||
|
||||
#: src/effects/Fire.js:154
|
||||
msgid "Default Fire"
|
||||
msgstr "Standardild"
|
||||
|
||||
#: src/effects/Fire.js:164
|
||||
msgid "Hell Fire"
|
||||
msgstr "Helvedesild"
|
||||
|
||||
#: src/effects/Fire.js:174
|
||||
msgid "Dark and Smutty"
|
||||
msgstr "Mørk og smudsig"
|
||||
|
||||
#: src/effects/Fire.js:184
|
||||
msgid "Cold Breeze"
|
||||
msgstr "Kold brise"
|
||||
|
||||
#: src/effects/Fire.js:194
|
||||
msgid "Santa is Coming"
|
||||
msgstr "Julemanden kommer"
|
||||
|
||||
#: src/effects/Glide.js:78
|
||||
msgid "Glide"
|
||||
msgstr "Glid"
|
||||
|
||||
#: src/effects/Glitch.js:86
|
||||
msgid "Glitch"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Hexagon.js:94
|
||||
msgid "Hexagon"
|
||||
msgstr "Sekskant"
|
||||
|
||||
#: src/effects/Incinerate.js:131
|
||||
msgid "Incinerate"
|
||||
msgstr "Afbrænd"
|
||||
|
||||
#: src/effects/Matrix.js:114
|
||||
msgid "Matrix"
|
||||
msgstr "Matrix"
|
||||
|
||||
#: src/effects/PaintBrush.js:102
|
||||
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:101
|
||||
msgid "Pixel Wipe"
|
||||
msgstr "Pixelbølge"
|
||||
|
||||
#: src/effects/Portal.js:88
|
||||
msgid "Portal"
|
||||
msgstr "Portal"
|
||||
|
||||
#: src/effects/SnapOfDisintegration.js:114
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr "Opløsningsknips"
|
||||
|
||||
#: src/effects/TRexAttack.js:112
|
||||
msgid "T-Rex Attack"
|
||||
msgstr "Tyrannosaurus-angreb"
|
||||
|
||||
#: src/effects/TVEffect.js:78
|
||||
msgid "TV Effect"
|
||||
msgstr "TV-effekt"
|
||||
|
||||
#: src/effects/TVGlitch.js:87
|
||||
msgid "TV Glitch"
|
||||
msgstr ""
|
||||
|
||||
#: src/effects/Wisps.js:89
|
||||
msgid "Wisps"
|
||||
msgstr "Feer"
|
||||
|
||||
#: prefs.js:269
|
||||
msgid "Preview this effect"
|
||||
msgstr "Forhåndsvis denne effekt"
|
||||
|
||||
#: prefs.js:388 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
|
||||
msgid "Burn-My-Windows has been updated!"
|
||||
msgstr "Burn-My-Windows er blevet opdateret!"
|
||||
|
||||
#: prefs.js:389 resources/ui/common/menus.ui:17 resources/ui/gtk4/prefs.ui:56
|
||||
#: resources/ui/gtk3/prefs.ui:96
|
||||
msgid "View Changelog"
|
||||
msgstr "Vis ændringslog"
|
||||
|
||||
#: prefs.js:571 prefs.js:603
|
||||
msgid "Gold Sponsors"
|
||||
msgstr "Guldsponsorer"
|
||||
|
||||
#: prefs.js:575 prefs.js:607
|
||||
msgid "Silver Sponsors"
|
||||
msgstr "Sølvsponsorer"
|
||||
|
||||
#: prefs.js:579 prefs.js:611
|
||||
msgid "Bronze Sponsors"
|
||||
msgstr "Bronzesponsorer"
|
||||
|
||||
#: prefs.js:583 prefs.js:615
|
||||
msgid "Past Sponsors"
|
||||
msgstr "Tidligere sponsorer"
|
||||
|
||||
#: prefs.js:660
|
||||
msgid "Delete this Profile?"
|
||||
msgstr "Slet denne profil?"
|
||||
|
||||
#: prefs.js:661
|
||||
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:664
|
||||
msgid "Cancel"
|
||||
msgstr "Annuller"
|
||||
|
||||
#: prefs.js:669
|
||||
msgid "Delete"
|
||||
msgstr "Slet"
|
||||
|
||||
#. Translators: %s will be replaced by the effect's name.
|
||||
#: prefs.js:980
|
||||
#, javascript-format
|
||||
msgid "Preview for %s"
|
||||
msgstr "Forhåndsvisning af %s"
|
||||
|
||||
#: prefs.js:1002
|
||||
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 ""
|
||||
|
||||
#: resources/ui/common/menus.ui:27
|
||||
msgid "Report a Bug"
|
||||
msgstr "Rapportér en fejl"
|
||||
|
||||
#: resources/ui/common/menus.ui:31
|
||||
msgid "Create an Effect"
|
||||
msgstr "Opret en effekt"
|
||||
|
||||
#: resources/ui/common/menus.ui:35
|
||||
msgid "Translate"
|
||||
msgstr "Oversæt"
|
||||
|
||||
#: resources/ui/common/menus.ui:39
|
||||
msgid "Donate"
|
||||
msgstr "Doner"
|
||||
|
||||
#: resources/ui/common/menus.ui:56
|
||||
msgid "Open Effect-Profile Directory"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/common/menus.ui:62
|
||||
msgid "About Burn-My-Windows"
|
||||
msgstr "Om Burn-My-Windows"
|
||||
|
||||
#: resources/ui/common/menus.ui:73
|
||||
msgid "Add New Profile..."
|
||||
msgstr "Tilføj ny profil..."
|
||||
|
||||
#: resources/ui/gtk4/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23
|
||||
#: resources/ui/gtk4/glitch.ui:23 resources/ui/gtk4/matrix.ui:23
|
||||
#: resources/ui/gtk4/doom.ui:22 resources/ui/gtk4/paint-brush.ui:23
|
||||
#: resources/ui/gtk4/trex.ui:23 resources/ui/gtk4/wisps.ui:23
|
||||
#: resources/ui/gtk4/energize-b.ui:23 resources/ui/gtk4/pixel-wheel.ui:23
|
||||
#: resources/ui/gtk4/glide.ui:23 resources/ui/gtk4/apparition.ui:22
|
||||
#: resources/ui/gtk4/portal.ui:23 resources/ui/gtk4/incinerate.ui:23
|
||||
#: resources/ui/gtk4/hexagon.ui:23 resources/ui/gtk4/fire.ui:46
|
||||
#: resources/ui/gtk4/pixel-wipe.ui:23 resources/ui/gtk4/snap.ui:23
|
||||
#: resources/ui/gtk4/energize-a.ui:23 resources/ui/gtk4/pixelate.ui:23
|
||||
#: resources/ui/gtk4/tv.ui:23 resources/ui/gtk3/tv-glitch.ui:52
|
||||
#: resources/ui/gtk3/glitch.ui:52 resources/ui/gtk3/doom.ui:52
|
||||
#: resources/ui/gtk3/wisps.ui:38 resources/ui/gtk3/energize-b.ui:38
|
||||
#: resources/ui/gtk3/pixel-wheel.ui:45 resources/ui/gtk3/glide.ui:59
|
||||
#: resources/ui/gtk3/apparition.ui:59 resources/ui/gtk3/portal.ui:52
|
||||
#: resources/ui/gtk3/incinerate.ui:45 resources/ui/gtk3/hexagon.ui:45
|
||||
#: resources/ui/gtk3/fire.ui:84 resources/ui/gtk3/pixel-wipe.ui:45
|
||||
#: resources/ui/gtk3/energize-a.ui:38 resources/ui/gtk3/pixelate.ui:45
|
||||
#: resources/ui/gtk3/tv.ui:31 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/paint-brush.ui:14 resources/ui/adw/trex.ui:14
|
||||
#: resources/ui/adw/wisps.ui:14 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/pixel-wipe.ui:14
|
||||
#: resources/ui/adw/snap.ui:14 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/gtk4/broken-glass.ui:50 resources/ui/gtk4/broken-glass.ui:96
|
||||
#: resources/ui/gtk4/broken-glass.ui:142 resources/ui/gtk4/broken-glass.ui:188
|
||||
#: resources/ui/gtk4/broken-glass.ui:244 resources/ui/gtk4/tv-glitch.ui:51
|
||||
#: resources/ui/gtk4/tv-glitch.ui:97 resources/ui/gtk4/tv-glitch.ui:143
|
||||
#: resources/ui/gtk4/tv-glitch.ui:189 resources/ui/gtk4/tv-glitch.ui:226
|
||||
#: resources/ui/gtk4/glitch.ui:51 resources/ui/gtk4/glitch.ui:97
|
||||
#: resources/ui/gtk4/glitch.ui:143 resources/ui/gtk4/glitch.ui:189
|
||||
#: resources/ui/gtk4/glitch.ui:226 resources/ui/gtk4/matrix.ui:51
|
||||
#: resources/ui/gtk4/matrix.ui:97 resources/ui/gtk4/matrix.ui:143
|
||||
#: resources/ui/gtk4/matrix.ui:189 resources/ui/gtk4/matrix.ui:226
|
||||
#: resources/ui/gtk4/matrix.ui:263 resources/ui/gtk4/doom.ui:50
|
||||
#: resources/ui/gtk4/doom.ui:96 resources/ui/gtk4/doom.ui:142
|
||||
#: resources/ui/gtk4/doom.ui:188 resources/ui/gtk4/paint-brush.ui:51
|
||||
#: resources/ui/gtk4/paint-brush.ui:97 resources/ui/gtk4/trex.ui:51
|
||||
#: resources/ui/gtk4/trex.ui:97 resources/ui/gtk4/trex.ui:143
|
||||
#: resources/ui/gtk4/trex.ui:189 resources/ui/gtk4/trex.ui:226
|
||||
#: resources/ui/gtk4/wisps.ui:51 resources/ui/gtk4/wisps.ui:97
|
||||
#: resources/ui/gtk4/wisps.ui:140 resources/ui/gtk4/energize-b.ui:51
|
||||
#: resources/ui/gtk4/energize-b.ui:97 resources/ui/gtk4/energize-b.ui:134
|
||||
#: resources/ui/gtk4/pixel-wheel.ui:51 resources/ui/gtk4/pixel-wheel.ui:97
|
||||
#: resources/ui/gtk4/pixel-wheel.ui:143 resources/ui/gtk4/glide.ui:51
|
||||
#: resources/ui/gtk4/glide.ui:97 resources/ui/gtk4/glide.ui:143
|
||||
#: resources/ui/gtk4/glide.ui:189 resources/ui/gtk4/glide.ui:235
|
||||
#: resources/ui/gtk4/apparition.ui:50 resources/ui/gtk4/apparition.ui:96
|
||||
#: resources/ui/gtk4/apparition.ui:142 resources/ui/gtk4/apparition.ui:188
|
||||
#: resources/ui/gtk4/apparition.ui:234 resources/ui/gtk4/portal.ui:51
|
||||
#: resources/ui/gtk4/portal.ui:97 resources/ui/gtk4/portal.ui:143
|
||||
#: resources/ui/gtk4/portal.ui:189 resources/ui/gtk4/portal.ui:226
|
||||
#: resources/ui/gtk4/incinerate.ui:51 resources/ui/gtk4/incinerate.ui:97
|
||||
#: resources/ui/gtk4/incinerate.ui:143 resources/ui/gtk4/incinerate.ui:198
|
||||
#: resources/ui/gtk4/incinerate.ui:235 resources/ui/gtk4/hexagon.ui:51
|
||||
#: resources/ui/gtk4/hexagon.ui:97 resources/ui/gtk4/hexagon.ui:143
|
||||
#: resources/ui/gtk4/hexagon.ui:180 resources/ui/gtk4/hexagon.ui:217
|
||||
#: resources/ui/gtk4/hexagon.ui:272 resources/ui/gtk4/fire.ui:74
|
||||
#: resources/ui/gtk4/fire.ui:120 resources/ui/gtk4/fire.ui:166
|
||||
#: resources/ui/gtk4/fire.ui:221 resources/ui/gtk4/fire.ui:280
|
||||
#: resources/ui/gtk4/pixel-wipe.ui:51 resources/ui/gtk4/pixel-wipe.ui:97
|
||||
#: resources/ui/gtk4/snap.ui:51 resources/ui/gtk4/snap.ui:97
|
||||
#: resources/ui/gtk4/snap.ui:134 resources/ui/gtk4/energize-a.ui:51
|
||||
#: resources/ui/gtk4/energize-a.ui:97 resources/ui/gtk4/energize-a.ui:134
|
||||
#: resources/ui/gtk4/pixelate.ui:51 resources/ui/gtk4/pixelate.ui:97
|
||||
#: resources/ui/gtk4/pixelate.ui:143 resources/ui/gtk4/tv.ui:51
|
||||
#: resources/ui/gtk4/tv.ui:88 resources/ui/gtk3/tv-glitch.ui:78
|
||||
#: resources/ui/gtk3/tv-glitch.ui:123 resources/ui/gtk3/tv-glitch.ui:168
|
||||
#: resources/ui/gtk3/tv-glitch.ui:213 resources/ui/gtk3/tv-glitch.ui:255
|
||||
#: resources/ui/gtk3/glitch.ui:78 resources/ui/gtk3/glitch.ui:123
|
||||
#: resources/ui/gtk3/glitch.ui:168 resources/ui/gtk3/glitch.ui:213
|
||||
#: resources/ui/gtk3/glitch.ui:255 resources/ui/gtk3/doom.ui:78
|
||||
#: resources/ui/gtk3/doom.ui:123 resources/ui/gtk3/doom.ui:168
|
||||
#: resources/ui/gtk3/doom.ui:213 resources/ui/gtk3/wisps.ui:64
|
||||
#: resources/ui/gtk3/wisps.ui:109 resources/ui/gtk3/wisps.ui:159
|
||||
#: resources/ui/gtk3/energize-b.ui:64 resources/ui/gtk3/energize-b.ui:109
|
||||
#: resources/ui/gtk3/energize-b.ui:151 resources/ui/gtk3/pixel-wheel.ui:71
|
||||
#: resources/ui/gtk3/pixel-wheel.ui:116 resources/ui/gtk3/pixel-wheel.ui:161
|
||||
#: resources/ui/gtk3/glide.ui:85 resources/ui/gtk3/glide.ui:130
|
||||
#: resources/ui/gtk3/glide.ui:175 resources/ui/gtk3/glide.ui:220
|
||||
#: resources/ui/gtk3/glide.ui:265 resources/ui/gtk3/apparition.ui:85
|
||||
#: resources/ui/gtk3/apparition.ui:130 resources/ui/gtk3/apparition.ui:175
|
||||
#: resources/ui/gtk3/apparition.ui:220 resources/ui/gtk3/apparition.ui:265
|
||||
#: resources/ui/gtk3/portal.ui:78 resources/ui/gtk3/portal.ui:123
|
||||
#: resources/ui/gtk3/portal.ui:168 resources/ui/gtk3/portal.ui:213
|
||||
#: resources/ui/gtk3/portal.ui:255 resources/ui/gtk3/incinerate.ui:71
|
||||
#: resources/ui/gtk3/incinerate.ui:116 resources/ui/gtk3/incinerate.ui:161
|
||||
#: resources/ui/gtk3/incinerate.ui:220 resources/ui/gtk3/incinerate.ui:262
|
||||
#: resources/ui/gtk3/hexagon.ui:71 resources/ui/gtk3/hexagon.ui:116
|
||||
#: resources/ui/gtk3/hexagon.ui:161 resources/ui/gtk3/hexagon.ui:203
|
||||
#: resources/ui/gtk3/hexagon.ui:245 resources/ui/gtk3/hexagon.ui:304
|
||||
#: resources/ui/gtk3/fire.ui:110 resources/ui/gtk3/fire.ui:154
|
||||
#: resources/ui/gtk3/fire.ui:198 resources/ui/gtk3/fire.ui:257
|
||||
#: resources/ui/gtk3/fire.ui:321 resources/ui/gtk3/pixel-wipe.ui:71
|
||||
#: resources/ui/gtk3/pixel-wipe.ui:116 resources/ui/gtk3/energize-a.ui:64
|
||||
#: resources/ui/gtk3/energize-a.ui:109 resources/ui/gtk3/energize-a.ui:151
|
||||
#: resources/ui/gtk3/pixelate.ui:71 resources/ui/gtk3/pixelate.ui:116
|
||||
#: resources/ui/gtk3/pixelate.ui:161 resources/ui/gtk3/tv.ui:57
|
||||
#: resources/ui/gtk3/tv.ui:99 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/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/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/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/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/gtk4/broken-glass.ui:68 resources/ui/gtk4/tv-glitch.ui:69
|
||||
#: resources/ui/gtk4/glitch.ui:69 resources/ui/gtk4/matrix.ui:69
|
||||
#: resources/ui/gtk4/wisps.ui:69 resources/ui/gtk4/energize-b.ui:69
|
||||
#: resources/ui/gtk4/glide.ui:69 resources/ui/gtk4/incinerate.ui:69
|
||||
#: resources/ui/gtk4/hexagon.ui:69 resources/ui/gtk4/fire.ui:92
|
||||
#: resources/ui/gtk4/snap.ui:69 resources/ui/gtk4/energize-a.ui:69
|
||||
#: resources/ui/gtk3/tv-glitch.ui:97 resources/ui/gtk3/glitch.ui:97
|
||||
#: resources/ui/gtk3/wisps.ui:83 resources/ui/gtk3/energize-b.ui:83
|
||||
#: resources/ui/gtk3/glide.ui:104 resources/ui/gtk3/incinerate.ui:90
|
||||
#: resources/ui/gtk3/hexagon.ui:90 resources/ui/gtk3/fire.ui:128
|
||||
#: resources/ui/gtk3/energize-a.ui:83 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/gtk4/broken-glass.ui:114 resources/ui/adw/broken-glass.ui:81
|
||||
msgid "Gravity"
|
||||
msgstr "Tyngdekraft"
|
||||
|
||||
#: resources/ui/gtk4/broken-glass.ui:160 resources/ui/adw/broken-glass.ui:114
|
||||
msgid "Blow Force"
|
||||
msgstr "Slagkraft"
|
||||
|
||||
#: resources/ui/gtk4/broken-glass.ui:210 resources/ui/adw/broken-glass.ui:147
|
||||
msgid "Shatter From Pointer Location"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/broken-glass.ui:219 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/gtk4/tv-glitch.ui:115 resources/ui/gtk4/glitch.ui:115
|
||||
#: resources/ui/gtk3/tv-glitch.ui:142 resources/ui/gtk3/glitch.ui:142
|
||||
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
|
||||
msgid "Strength"
|
||||
msgstr "Styrke"
|
||||
|
||||
#: resources/ui/gtk4/tv-glitch.ui:161 resources/ui/gtk4/glitch.ui:161
|
||||
#: resources/ui/gtk4/fire.ui:138 resources/ui/gtk3/tv-glitch.ui:187
|
||||
#: resources/ui/gtk3/glitch.ui:187 resources/ui/gtk3/fire.ui:172
|
||||
#: resources/ui/adw/tv-glitch.ui:113 resources/ui/adw/glitch.ui:113
|
||||
#: resources/ui/adw/fire.ui:96
|
||||
msgid "Speed"
|
||||
msgstr "Hastighed"
|
||||
|
||||
#: resources/ui/gtk4/tv-glitch.ui:207 resources/ui/gtk4/glitch.ui:207
|
||||
#: resources/ui/gtk4/wisps.ui:115 resources/ui/gtk4/energize-b.ui:115
|
||||
#: resources/ui/gtk4/portal.ui:207 resources/ui/gtk4/incinerate.ui:216
|
||||
#: resources/ui/gtk4/snap.ui:115 resources/ui/gtk4/energize-a.ui:115
|
||||
#: resources/ui/gtk4/tv.ui:69 resources/ui/gtk3/tv-glitch.ui:231
|
||||
#: resources/ui/gtk3/glitch.ui:231 resources/ui/gtk3/wisps.ui:129
|
||||
#: resources/ui/gtk3/energize-b.ui:127 resources/ui/gtk3/portal.ui:231
|
||||
#: resources/ui/gtk3/incinerate.ui:238 resources/ui/gtk3/energize-a.ui:127
|
||||
#: resources/ui/gtk3/tv.ui:75 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/gtk4/matrix.ui:115 resources/ui/gtk4/apparition.ui:68
|
||||
#: resources/ui/gtk3/apparition.ui:104 resources/ui/adw/matrix.ui:80
|
||||
#: resources/ui/adw/apparition.ui:48
|
||||
msgid "Randomness"
|
||||
msgstr "Tilfældighed"
|
||||
|
||||
#: resources/ui/gtk4/matrix.ui:161 resources/ui/adw/matrix.ui:113
|
||||
msgid "Vertical Overshooting"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/matrix.ui:207 resources/ui/adw/matrix.ui:146
|
||||
msgid "Trail Color"
|
||||
msgstr "Sporets farve"
|
||||
|
||||
#: resources/ui/gtk4/matrix.ui:244 resources/ui/adw/matrix.ui:171
|
||||
msgid "Tip Color"
|
||||
msgstr "Spidsens farve"
|
||||
|
||||
#: resources/ui/gtk4/doom.ui:68 resources/ui/gtk3/doom.ui:97
|
||||
#: resources/ui/adw/doom.ui:47
|
||||
msgid "Horizontal Scale"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/doom.ui:114 resources/ui/gtk3/doom.ui:142
|
||||
#: resources/ui/adw/doom.ui:80
|
||||
msgid "Vertical Scale"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/doom.ui:160 resources/ui/gtk4/pixel-wheel.ui:115
|
||||
#: resources/ui/gtk4/pixel-wipe.ui:69 resources/ui/gtk4/pixelate.ui:115
|
||||
#: resources/ui/gtk3/doom.ui:187 resources/ui/gtk3/pixel-wheel.ui:135
|
||||
#: resources/ui/gtk3/pixel-wipe.ui:90 resources/ui/gtk3/pixelate.ui:135
|
||||
#: 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/gtk4/paint-brush.ui:69 resources/ui/adw/paint-brush.ui:47
|
||||
msgid "Brush Size"
|
||||
msgstr "Penselstørrelse"
|
||||
|
||||
#: resources/ui/gtk4/trex.ui:69 resources/ui/adw/trex.ui:47
|
||||
msgid "Claw Scratch Scale"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/trex.ui:115 resources/ui/adw/trex.ui:80
|
||||
msgid "Claw Scratch Count"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/trex.ui:161 resources/ui/adw/trex.ui:113
|
||||
msgid "Warp Effect"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/trex.ui:207 resources/ui/adw/trex.ui:146
|
||||
msgid "Flash Color"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/pixel-wheel.ui:69 resources/ui/gtk3/pixel-wheel.ui:90
|
||||
#: resources/ui/adw/pixel-wheel.ui:47
|
||||
msgid "Spoke Count"
|
||||
msgstr "Antal eger"
|
||||
|
||||
#: resources/ui/gtk4/glide.ui:115 resources/ui/gtk3/glide.ui:149
|
||||
#: resources/ui/adw/glide.ui:80
|
||||
msgid "Squish"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/glide.ui:161 resources/ui/gtk3/glide.ui:194
|
||||
#: resources/ui/adw/glide.ui:113
|
||||
msgid "Tilt"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/glide.ui:207 resources/ui/gtk3/glide.ui:239
|
||||
#: resources/ui/adw/glide.ui:146
|
||||
msgid "Shift"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/apparition.ui:114 resources/ui/gtk3/apparition.ui:149
|
||||
#: resources/ui/adw/apparition.ui:81
|
||||
msgid "Twirl Intensity"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/apparition.ui:160 resources/ui/gtk3/apparition.ui:194
|
||||
#: resources/ui/adw/apparition.ui:114
|
||||
msgid "Shake Intensity"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/apparition.ui:206 resources/ui/gtk3/apparition.ui:239
|
||||
#: resources/ui/adw/apparition.ui:147
|
||||
msgid "Suction Intensity"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/portal.ui:69 resources/ui/gtk3/portal.ui:142
|
||||
#: resources/ui/adw/portal.ui:80
|
||||
msgid "Whirling"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/portal.ui:115 resources/ui/gtk3/portal.ui:97
|
||||
#: resources/ui/adw/portal.ui:47
|
||||
msgid "Rotation Speed"
|
||||
msgstr "Rotationshastighed"
|
||||
|
||||
#: resources/ui/gtk4/portal.ui:161 resources/ui/gtk3/portal.ui:187
|
||||
#: resources/ui/adw/portal.ui:113
|
||||
msgid "Details"
|
||||
msgstr "Detaljer"
|
||||
|
||||
#: resources/ui/gtk4/incinerate.ui:115 resources/ui/gtk3/incinerate.ui:135
|
||||
#: resources/ui/adw/incinerate.ui:80
|
||||
msgid "Turbulence"
|
||||
msgstr "Turbulens"
|
||||
|
||||
#: resources/ui/gtk4/incinerate.ui:165 resources/ui/gtk3/incinerate.ui:183
|
||||
#: resources/ui/adw/incinerate.ui:113
|
||||
msgid "Start at Pointer"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/incinerate.ui:174 resources/ui/gtk3/incinerate.ui:192
|
||||
#: resources/ui/adw/incinerate.ui:114
|
||||
msgid "If disabled, a random location will be chosen."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/hexagon.ui:115 resources/ui/gtk3/hexagon.ui:135
|
||||
#: resources/ui/adw/hexagon.ui:80
|
||||
msgid "Mesh Line Width"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/hexagon.ui:161 resources/ui/gtk3/hexagon.ui:179
|
||||
#: resources/ui/adw/hexagon.ui:113
|
||||
msgid "Line Color"
|
||||
msgstr "Linjefarve"
|
||||
|
||||
#: resources/ui/gtk4/hexagon.ui:198 resources/ui/gtk3/hexagon.ui:221
|
||||
#: resources/ui/adw/hexagon.ui:138
|
||||
msgid "Glow Color"
|
||||
msgstr "Glødfarve"
|
||||
|
||||
#: resources/ui/gtk4/hexagon.ui:239 resources/ui/gtk3/hexagon.ui:267
|
||||
#: resources/ui/adw/hexagon.ui:163
|
||||
msgid "Additive Blending"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/hexagon.ui:248 resources/ui/gtk3/hexagon.ui:276
|
||||
#: resources/ui/adw/hexagon.ui:164
|
||||
msgid "You may want to enable this for dark window themes."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/fire.ui:22 resources/ui/gtk3/fire.ui:44
|
||||
#: resources/ui/adw/fire.ui:14
|
||||
msgid "Presets"
|
||||
msgstr "Forhåndsindstillinger"
|
||||
|
||||
#: resources/ui/gtk4/fire.ui:31 resources/ui/gtk3/fire.ui:58
|
||||
#: resources/ui/adw/fire.ui:19
|
||||
msgid "Choose a Preset"
|
||||
msgstr "Vælg en forhåndsindstilling"
|
||||
|
||||
#: resources/ui/gtk4/fire.ui:188 resources/ui/gtk3/fire.ui:220
|
||||
#: resources/ui/adw/fire.ui:129
|
||||
msgid "3D Noise"
|
||||
msgstr "3D-støj"
|
||||
|
||||
#: resources/ui/gtk4/fire.ui:197 resources/ui/gtk3/fire.ui:229
|
||||
#: resources/ui/adw/fire.ui:130
|
||||
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||
msgstr "Skaber en mere dynamisk ild men kræver mere GPU-kraft."
|
||||
|
||||
#: resources/ui/gtk4/fire.ui:239 resources/ui/gtk3/fire.ui:276
|
||||
#: resources/ui/adw/fire.ui:152
|
||||
msgid "Gradient"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:91 resources/ui/gtk3/prefs.ui:133
|
||||
#: resources/ui/adw/prefs.ui:224
|
||||
msgid "Effect Selection"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:101 resources/ui/gtk3/prefs.ui:143
|
||||
#: resources/ui/adw/prefs.ui:225
|
||||
msgid "If multiple are selected, one is chosen randomly."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:118 resources/ui/gtk3/prefs.ui:160
|
||||
#: resources/ui/adw/prefs.ui:236
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:124 resources/ui/gtk3/prefs.ui:166
|
||||
#: resources/ui/adw/prefs.ui:242
|
||||
msgid "None"
|
||||
msgstr "Ingen"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:168 resources/ui/gtk3/prefs.ui:208
|
||||
#: resources/ui/adw/prefs.ui:65
|
||||
msgid "Effect Profile Constraints"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:178 resources/ui/gtk3/prefs.ui:218
|
||||
#: resources/ui/adw/prefs.ui:66
|
||||
msgid "Define when the current effect settings should be used."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:202 resources/ui/gtk3/prefs.ui:242
|
||||
#: resources/ui/adw/prefs.ui:70
|
||||
msgid "Application"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:220 resources/ui/gtk4/prefs.ui:255
|
||||
#: resources/ui/gtk4/prefs.ui:284 resources/ui/gtk4/prefs.ui:313
|
||||
#: resources/ui/gtk4/prefs.ui:342 resources/ui/gtk4/prefs.ui:371
|
||||
#: resources/ui/gtk3/prefs.ui:260 resources/ui/gtk3/prefs.ui:300
|
||||
#: resources/ui/gtk3/prefs.ui:329 resources/ui/gtk3/prefs.ui:358
|
||||
#: resources/ui/gtk3/prefs.ui:387 resources/ui/gtk3/prefs.ui:416
|
||||
#: 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/gtk4/prefs.ui:244 resources/ui/gtk3/prefs.ui:289
|
||||
#: resources/ui/adw/prefs.ui:98
|
||||
msgid "Animation Type"
|
||||
msgstr "Animationstype"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:273 resources/ui/gtk3/prefs.ui:318
|
||||
#: resources/ui/adw/prefs.ui:113
|
||||
msgid "Window Type"
|
||||
msgstr "Vinduestype"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:302 resources/ui/gtk3/prefs.ui:347
|
||||
#: resources/ui/adw/prefs.ui:128
|
||||
msgid "Color Scheme"
|
||||
msgstr "Farveskema"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:331 resources/ui/gtk3/prefs.ui:376
|
||||
#: resources/ui/adw/prefs.ui:143
|
||||
msgid "Power Mode"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:360 resources/ui/gtk3/prefs.ui:405
|
||||
#: resources/ui/adw/prefs.ui:158
|
||||
msgid "Power Profile"
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:392 resources/ui/gtk3/prefs.ui:437
|
||||
#: resources/ui/adw/prefs.ui:179
|
||||
msgid "Advanced Profile Options"
|
||||
msgstr "Avancerede profilindstillinger"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:432 resources/ui/gtk3/prefs.ui:477
|
||||
#: resources/ui/adw/prefs.ui:184
|
||||
msgid "Use this profile even if there are better matching profiles."
|
||||
msgstr ""
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:464 resources/ui/gtk3/prefs.ui:509
|
||||
#: resources/ui/adw/prefs.ui:204
|
||||
msgid "Delete this Profile..."
|
||||
msgstr "Slet denne profil..."
|
||||
|
||||
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
|
||||
#: resources/ui/adw/pixelate.ui:47
|
||||
msgid "Noise"
|
||||
msgstr "Støj"
|
||||
@@ -8,8 +8,8 @@ msgstr ""
|
||||
"Project-Id-Version: burn-my-windows\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-08-31 07:30+0200\n"
|
||||
"PO-Revision-Date: 2022-04-08 07:11+0000\n"
|
||||
"Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n"
|
||||
"PO-Revision-Date: 2024-07-28 19:09+0000\n"
|
||||
"Last-Translator: \"Tinde (Joke)\" <jouko.tiilikainen@gmail.com>\n"
|
||||
"Language-Team: Finnish <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||
"core/fi/>\n"
|
||||
"Language: fi\n"
|
||||
@@ -17,22 +17,22 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.12-dev\n"
|
||||
"X-Generator: Weblate 5.7-dev\n"
|
||||
|
||||
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:256
|
||||
#: resources/ui/gtk3/prefs.ui:301 resources/ui/adw/prefs.ui:103
|
||||
msgid "Opening Windows"
|
||||
msgstr ""
|
||||
msgstr "Avataan ikkunat"
|
||||
|
||||
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:257
|
||||
#: resources/ui/gtk3/prefs.ui:302 resources/ui/adw/prefs.ui:104
|
||||
msgid "Closing Windows"
|
||||
msgstr ""
|
||||
msgstr "Suljetaan ikkunat"
|
||||
|
||||
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:285
|
||||
#: resources/ui/gtk3/prefs.ui:330 resources/ui/adw/prefs.ui:118
|
||||
msgid "Normal Windows"
|
||||
msgstr ""
|
||||
msgstr "Normaalit ikkunat"
|
||||
|
||||
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:286
|
||||
#: resources/ui/gtk3/prefs.ui:331 resources/ui/adw/prefs.ui:119
|
||||
|
||||
@@ -8,284 +8,289 @@ msgstr ""
|
||||
"Project-Id-Version: burn-my-windows\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-08-31 07:30+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\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/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:256
|
||||
#: resources/ui/gtk3/prefs.ui:301 resources/ui/adw/prefs.ui:103
|
||||
msgid "Opening Windows"
|
||||
msgstr ""
|
||||
msgstr "विंडो खोलते समय"
|
||||
|
||||
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:257
|
||||
#: resources/ui/gtk3/prefs.ui:302 resources/ui/adw/prefs.ui:104
|
||||
msgid "Closing Windows"
|
||||
msgstr ""
|
||||
msgstr "विंडो बंद करते समय"
|
||||
|
||||
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:285
|
||||
#: resources/ui/gtk3/prefs.ui:330 resources/ui/adw/prefs.ui:118
|
||||
msgid "Normal Windows"
|
||||
msgstr ""
|
||||
msgstr "सामान्य विंडो"
|
||||
|
||||
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:286
|
||||
#: resources/ui/gtk3/prefs.ui:331 resources/ui/adw/prefs.ui:119
|
||||
msgid "Dialog Windows"
|
||||
msgstr ""
|
||||
msgstr "संवाद विंडो"
|
||||
|
||||
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:314
|
||||
#: resources/ui/gtk3/prefs.ui:359 resources/ui/adw/prefs.ui:133
|
||||
msgid "Default Color Scheme"
|
||||
msgstr ""
|
||||
msgstr "तयशुदा रंग योजना"
|
||||
|
||||
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:315
|
||||
#: resources/ui/gtk3/prefs.ui:360 resources/ui/adw/prefs.ui:134
|
||||
msgid "Dark Color Scheme"
|
||||
msgstr ""
|
||||
msgstr "गहरी रंग योजना"
|
||||
|
||||
#: src/ProfileManager.js:181 resources/ui/gtk4/prefs.ui:343
|
||||
#: resources/ui/gtk3/prefs.ui:388 resources/ui/adw/prefs.ui:148
|
||||
msgid "On Battery"
|
||||
msgstr ""
|
||||
msgstr "बैटरी पर"
|
||||
|
||||
#: src/ProfileManager.js:182 resources/ui/gtk4/prefs.ui:344
|
||||
#: resources/ui/gtk3/prefs.ui:389 resources/ui/adw/prefs.ui:149
|
||||
msgid "Plugged In"
|
||||
msgstr ""
|
||||
msgstr "जब प्लग इन हो"
|
||||
|
||||
#: src/ProfileManager.js:183 resources/ui/gtk4/prefs.ui:372
|
||||
#: resources/ui/gtk3/prefs.ui:417 resources/ui/adw/prefs.ui:163
|
||||
msgid "Power-Saver Mode"
|
||||
msgstr ""
|
||||
msgstr "पावर-सेवर मोड"
|
||||
|
||||
#: src/ProfileManager.js:184 resources/ui/gtk4/prefs.ui:373
|
||||
#: resources/ui/gtk3/prefs.ui:418 resources/ui/adw/prefs.ui:164
|
||||
msgid "Balanced Mode"
|
||||
msgstr ""
|
||||
msgstr "संतुलित मोड"
|
||||
|
||||
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:374
|
||||
#: resources/ui/gtk3/prefs.ui:419 resources/ui/adw/prefs.ui:165
|
||||
msgid "Performance Mode"
|
||||
msgstr ""
|
||||
msgstr "प्रदर्शन मोड"
|
||||
|
||||
#: src/ProfileManager.js:186 resources/ui/gtk4/prefs.ui:375
|
||||
#: resources/ui/gtk3/prefs.ui:420 resources/ui/adw/prefs.ui:166
|
||||
msgid "Power Saver or Balanced"
|
||||
msgstr ""
|
||||
msgstr "पावर सेवर या संतुलित"
|
||||
|
||||
#: src/ProfileManager.js:187 resources/ui/gtk4/prefs.ui:376
|
||||
#: resources/ui/gtk3/prefs.ui:421 resources/ui/adw/prefs.ui:167
|
||||
msgid "Balanced or Performance"
|
||||
msgstr ""
|
||||
msgstr "संतुलित या प्रदर्शन"
|
||||
|
||||
#: src/ProfileManager.js:192 resources/ui/gtk4/prefs.ui:423
|
||||
#: resources/ui/gtk3/prefs.ui:468 resources/ui/adw/prefs.ui:183
|
||||
msgid "High Priority"
|
||||
msgstr ""
|
||||
msgstr "उच्च प्राथमिकता"
|
||||
|
||||
#: src/ProfileManager.js:198
|
||||
msgid "Standard Profile"
|
||||
msgstr ""
|
||||
msgstr "मानक प्रोफ़ाइल"
|
||||
|
||||
#: src/effects/Apparition.js:78
|
||||
msgid "Apparition"
|
||||
msgstr ""
|
||||
msgstr "प्रेतछाया"
|
||||
|
||||
#: src/effects/BrokenGlass.js:137
|
||||
msgid "Broken Glass"
|
||||
msgstr ""
|
||||
msgstr "टूटा हुआ शीशा"
|
||||
|
||||
#: src/effects/Doom.js:88
|
||||
msgid "Doom"
|
||||
msgstr ""
|
||||
msgstr "कयामत"
|
||||
|
||||
#: src/effects/EnergizeA.js:80
|
||||
msgid "Energize A"
|
||||
msgstr ""
|
||||
msgstr "ऊर्जावान A"
|
||||
|
||||
#: src/effects/EnergizeB.js:81
|
||||
msgid "Energize B"
|
||||
msgstr ""
|
||||
msgstr "ऊर्जावान B"
|
||||
|
||||
#: src/effects/Fire.js:100
|
||||
msgid "Fire"
|
||||
msgstr ""
|
||||
msgstr "आग"
|
||||
|
||||
#: src/effects/Fire.js:154
|
||||
msgid "Default Fire"
|
||||
msgstr ""
|
||||
msgstr "तयशुदा आग"
|
||||
|
||||
#: src/effects/Fire.js:164
|
||||
msgid "Hell Fire"
|
||||
msgstr ""
|
||||
msgstr "नरक की आग"
|
||||
|
||||
#: src/effects/Fire.js:174
|
||||
msgid "Dark and Smutty"
|
||||
msgstr ""
|
||||
msgstr "अँधेरी और मैली"
|
||||
|
||||
#: src/effects/Fire.js:184
|
||||
msgid "Cold Breeze"
|
||||
msgstr ""
|
||||
msgstr "ठंडी हवा"
|
||||
|
||||
#: src/effects/Fire.js:194
|
||||
msgid "Santa is Coming"
|
||||
msgstr ""
|
||||
msgstr "सांता आ रहा है"
|
||||
|
||||
#: src/effects/Glide.js:78
|
||||
msgid "Glide"
|
||||
msgstr ""
|
||||
msgstr "फिसलन"
|
||||
|
||||
#: src/effects/Glitch.js:86
|
||||
msgid "Glitch"
|
||||
msgstr ""
|
||||
msgstr "गड़बड़ी"
|
||||
|
||||
#: src/effects/Hexagon.js:94
|
||||
msgid "Hexagon"
|
||||
msgstr ""
|
||||
msgstr "षटकोण"
|
||||
|
||||
#: src/effects/Incinerate.js:131
|
||||
msgid "Incinerate"
|
||||
msgstr ""
|
||||
msgstr "भस्म"
|
||||
|
||||
#: src/effects/Matrix.js:114
|
||||
msgid "Matrix"
|
||||
msgstr ""
|
||||
msgstr "आव्यूह"
|
||||
|
||||
#: src/effects/PaintBrush.js:102
|
||||
msgid "Paint Brush"
|
||||
msgstr ""
|
||||
msgstr "पेंट ब्रश"
|
||||
|
||||
#: src/effects/Pixelate.js:74
|
||||
msgid "Pixelate"
|
||||
msgstr ""
|
||||
msgstr "पिक्सलेट"
|
||||
|
||||
#: src/effects/PixelWheel.js:74
|
||||
msgid "Pixel Wheel"
|
||||
msgstr ""
|
||||
msgstr "पिक्सल व्हील"
|
||||
|
||||
#: src/effects/PixelWipe.js:101
|
||||
msgid "Pixel Wipe"
|
||||
msgstr ""
|
||||
msgstr "पिक्सल वाइप"
|
||||
|
||||
#: src/effects/Portal.js:88
|
||||
msgid "Portal"
|
||||
msgstr ""
|
||||
msgstr "पोर्टल"
|
||||
|
||||
#: src/effects/SnapOfDisintegration.js:114
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr ""
|
||||
msgstr "विघटन की चुटकी"
|
||||
|
||||
#: src/effects/TRexAttack.js:112
|
||||
msgid "T-Rex Attack"
|
||||
msgstr ""
|
||||
msgstr "T-Rex का हमला"
|
||||
|
||||
#: src/effects/TVEffect.js:78
|
||||
msgid "TV Effect"
|
||||
msgstr ""
|
||||
msgstr "TV प्रभाव"
|
||||
|
||||
#: src/effects/TVGlitch.js:87
|
||||
msgid "TV Glitch"
|
||||
msgstr ""
|
||||
msgstr "TV की गड़बड़ी"
|
||||
|
||||
#: src/effects/Wisps.js:89
|
||||
msgid "Wisps"
|
||||
msgstr ""
|
||||
msgstr "विसप्स"
|
||||
|
||||
#: prefs.js:269
|
||||
msgid "Preview this effect"
|
||||
msgstr ""
|
||||
msgstr "इस प्रभाव का पूर्वावलोकन करें"
|
||||
|
||||
#: prefs.js:388 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
|
||||
msgid "Burn-My-Windows has been updated!"
|
||||
msgstr ""
|
||||
msgstr "Burn-My-Windows अपडेट कर दिया गया है!"
|
||||
|
||||
#: prefs.js:389 resources/ui/common/menus.ui:17 resources/ui/gtk4/prefs.ui:56
|
||||
#: resources/ui/gtk3/prefs.ui:96
|
||||
msgid "View Changelog"
|
||||
msgstr ""
|
||||
msgstr "चेंजलॉग देखें"
|
||||
|
||||
#: prefs.js:571 prefs.js:603
|
||||
msgid "Gold Sponsors"
|
||||
msgstr ""
|
||||
msgstr "स्वर्ण प्रायोजक"
|
||||
|
||||
#: prefs.js:575 prefs.js:607
|
||||
msgid "Silver Sponsors"
|
||||
msgstr ""
|
||||
msgstr "रजत प्रायोजक"
|
||||
|
||||
#: prefs.js:579 prefs.js:611
|
||||
msgid "Bronze Sponsors"
|
||||
msgstr ""
|
||||
msgstr "कांस्य प्रायोजक"
|
||||
|
||||
#: prefs.js:583 prefs.js:615
|
||||
msgid "Past Sponsors"
|
||||
msgstr ""
|
||||
msgstr "पिछले प्रायोजक"
|
||||
|
||||
#: prefs.js:660
|
||||
msgid "Delete this Profile?"
|
||||
msgstr ""
|
||||
msgstr "यह प्रोफ़ाइल हटाएं?"
|
||||
|
||||
#: prefs.js:661
|
||||
msgid ""
|
||||
"The current effect profile with all its effect settings will be permanently "
|
||||
"lost."
|
||||
msgstr ""
|
||||
"वर्तमान प्रभाव प्रोफ़ाइल अपनी सभी प्रभाव सेटिंग्स के साथ स्थायी रूप से खो "
|
||||
"जाएगी।"
|
||||
|
||||
#: prefs.js:664
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "रद्द करें"
|
||||
|
||||
#: prefs.js:669
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
msgstr "मिटाएं"
|
||||
|
||||
#. Translators: %s will be replaced by the effect's name.
|
||||
#: prefs.js:980
|
||||
#, javascript-format
|
||||
msgid "Preview for %s"
|
||||
msgstr ""
|
||||
msgstr "%s का पूर्वावलोकन"
|
||||
|
||||
#: prefs.js:1002
|
||||
msgid "Close this Window to Preview the Effect!"
|
||||
msgstr ""
|
||||
msgstr "प्रभाव का पूर्वावलोकन करने के लिए इस विंडो को बंद करें!"
|
||||
|
||||
#: resources/ui/common/menus.ui:13
|
||||
msgid "Visit Homepage"
|
||||
msgstr ""
|
||||
msgstr "मुखपृष्ठ पर जाएं"
|
||||
|
||||
#: resources/ui/common/menus.ui:21
|
||||
msgid "View Matching Wallpapers"
|
||||
msgstr ""
|
||||
msgstr "मिलते-जुलते वॉलपेपर देखें"
|
||||
|
||||
#: resources/ui/common/menus.ui:27
|
||||
msgid "Report a Bug"
|
||||
msgstr ""
|
||||
msgstr "बग रिपोर्ट करें"
|
||||
|
||||
#: resources/ui/common/menus.ui:31
|
||||
msgid "Create an Effect"
|
||||
msgstr ""
|
||||
msgstr "एक प्रभाव पैदा करें"
|
||||
|
||||
#: resources/ui/common/menus.ui:35
|
||||
msgid "Translate"
|
||||
msgstr ""
|
||||
msgstr "अनुवाद"
|
||||
|
||||
#: resources/ui/common/menus.ui:39
|
||||
msgid "Donate"
|
||||
msgstr ""
|
||||
msgstr "दान करें"
|
||||
|
||||
#: resources/ui/common/menus.ui:56
|
||||
msgid "Open Effect-Profile Directory"
|
||||
msgstr ""
|
||||
msgstr "इफ़ेक्ट-प्रोफ़ाइल निर्देशिका खोलें"
|
||||
|
||||
#: resources/ui/common/menus.ui:62
|
||||
msgid "About Burn-My-Windows"
|
||||
msgstr ""
|
||||
msgstr "Burn-My-Windows के बारे में"
|
||||
|
||||
#: resources/ui/common/menus.ui:73
|
||||
msgid "Add New Profile..."
|
||||
msgstr ""
|
||||
msgstr "नई प्रोफ़ाइल जोड़ें…"
|
||||
|
||||
#: resources/ui/gtk4/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23
|
||||
#: resources/ui/gtk4/glitch.ui:23 resources/ui/gtk4/matrix.ui:23
|
||||
@@ -317,7 +322,7 @@ msgstr ""
|
||||
#: resources/ui/adw/snap.ui:14 resources/ui/adw/energize-a.ui:14
|
||||
#: resources/ui/adw/pixelate.ui:14 resources/ui/adw/tv.ui:14
|
||||
msgid "Animation Time [ms]"
|
||||
msgstr ""
|
||||
msgstr "एनीमेशन समय [ms]"
|
||||
|
||||
#: resources/ui/gtk4/broken-glass.ui:50 resources/ui/gtk4/broken-glass.ui:96
|
||||
#: resources/ui/gtk4/broken-glass.ui:142 resources/ui/gtk4/broken-glass.ui:188
|
||||
@@ -437,7 +442,7 @@ msgstr ""
|
||||
#: 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 ""
|
||||
msgstr "तयशुदा मान पर रीसेट करें"
|
||||
|
||||
#: resources/ui/gtk4/broken-glass.ui:68 resources/ui/gtk4/tv-glitch.ui:69
|
||||
#: resources/ui/gtk4/glitch.ui:69 resources/ui/gtk4/matrix.ui:69
|
||||
@@ -457,31 +462,31 @@ msgstr ""
|
||||
#: resources/ui/adw/fire.ui:63 resources/ui/adw/snap.ui:47
|
||||
#: resources/ui/adw/energize-a.ui:47
|
||||
msgid "Scale"
|
||||
msgstr ""
|
||||
msgstr "पैमाना"
|
||||
|
||||
#: resources/ui/gtk4/broken-glass.ui:114 resources/ui/adw/broken-glass.ui:81
|
||||
msgid "Gravity"
|
||||
msgstr ""
|
||||
msgstr "गुरुत्व"
|
||||
|
||||
#: resources/ui/gtk4/broken-glass.ui:160 resources/ui/adw/broken-glass.ui:114
|
||||
msgid "Blow Force"
|
||||
msgstr ""
|
||||
msgstr "प्रहार का बल"
|
||||
|
||||
#: resources/ui/gtk4/broken-glass.ui:210 resources/ui/adw/broken-glass.ui:147
|
||||
msgid "Shatter From Pointer Location"
|
||||
msgstr ""
|
||||
msgstr "सूचक स्थान से चकनाचूर"
|
||||
|
||||
#: resources/ui/gtk4/broken-glass.ui:219 resources/ui/adw/broken-glass.ui:148
|
||||
msgid ""
|
||||
"The shards will fly away from where your mouse pointer was when closing the "
|
||||
"window."
|
||||
msgstr ""
|
||||
msgstr "खिड़की बंद करते समय आपका माउस सूचक जहां था, वहां से टुकड़े उड़ जाएंगे।"
|
||||
|
||||
#: resources/ui/gtk4/tv-glitch.ui:115 resources/ui/gtk4/glitch.ui:115
|
||||
#: resources/ui/gtk3/tv-glitch.ui:142 resources/ui/gtk3/glitch.ui:142
|
||||
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
|
||||
msgid "Strength"
|
||||
msgstr ""
|
||||
msgstr "ताकत"
|
||||
|
||||
#: resources/ui/gtk4/tv-glitch.ui:161 resources/ui/gtk4/glitch.ui:161
|
||||
#: resources/ui/gtk4/fire.ui:138 resources/ui/gtk3/tv-glitch.ui:187
|
||||
@@ -489,7 +494,7 @@ msgstr ""
|
||||
#: resources/ui/adw/tv-glitch.ui:113 resources/ui/adw/glitch.ui:113
|
||||
#: resources/ui/adw/fire.ui:96
|
||||
msgid "Speed"
|
||||
msgstr ""
|
||||
msgstr "गति"
|
||||
|
||||
#: resources/ui/gtk4/tv-glitch.ui:207 resources/ui/gtk4/glitch.ui:207
|
||||
#: resources/ui/gtk4/wisps.ui:115 resources/ui/gtk4/energize-b.ui:115
|
||||
@@ -505,35 +510,35 @@ msgstr ""
|
||||
#: 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 ""
|
||||
msgstr "रंग"
|
||||
|
||||
#: resources/ui/gtk4/matrix.ui:115 resources/ui/gtk4/apparition.ui:68
|
||||
#: resources/ui/gtk3/apparition.ui:104 resources/ui/adw/matrix.ui:80
|
||||
#: resources/ui/adw/apparition.ui:48
|
||||
msgid "Randomness"
|
||||
msgstr ""
|
||||
msgstr "बेतरतीबी"
|
||||
|
||||
#: resources/ui/gtk4/matrix.ui:161 resources/ui/adw/matrix.ui:113
|
||||
msgid "Vertical Overshooting"
|
||||
msgstr ""
|
||||
msgstr "लंबवत ओवरशूटिंग"
|
||||
|
||||
#: resources/ui/gtk4/matrix.ui:207 resources/ui/adw/matrix.ui:146
|
||||
msgid "Trail Color"
|
||||
msgstr ""
|
||||
msgstr "पगडंडी का रंग"
|
||||
|
||||
#: resources/ui/gtk4/matrix.ui:244 resources/ui/adw/matrix.ui:171
|
||||
msgid "Tip Color"
|
||||
msgstr ""
|
||||
msgstr "टिप का रंग"
|
||||
|
||||
#: resources/ui/gtk4/doom.ui:68 resources/ui/gtk3/doom.ui:97
|
||||
#: resources/ui/adw/doom.ui:47
|
||||
msgid "Horizontal Scale"
|
||||
msgstr ""
|
||||
msgstr "क्षैतिज पैमाना"
|
||||
|
||||
#: resources/ui/gtk4/doom.ui:114 resources/ui/gtk3/doom.ui:142
|
||||
#: resources/ui/adw/doom.ui:80
|
||||
msgid "Vertical Scale"
|
||||
msgstr ""
|
||||
msgstr "लंबवत पैमाना"
|
||||
|
||||
#: resources/ui/gtk4/doom.ui:160 resources/ui/gtk4/pixel-wheel.ui:115
|
||||
#: resources/ui/gtk4/pixel-wipe.ui:69 resources/ui/gtk4/pixelate.ui:115
|
||||
@@ -542,177 +547,179 @@ msgstr ""
|
||||
#: resources/ui/adw/doom.ui:113 resources/ui/adw/pixel-wheel.ui:80
|
||||
#: resources/ui/adw/pixel-wipe.ui:47 resources/ui/adw/pixelate.ui:80
|
||||
msgid "Pixel Size"
|
||||
msgstr ""
|
||||
msgstr "पिक्सल आकार"
|
||||
|
||||
#: resources/ui/gtk4/paint-brush.ui:69 resources/ui/adw/paint-brush.ui:47
|
||||
msgid "Brush Size"
|
||||
msgstr ""
|
||||
msgstr "ब्रश का आकार"
|
||||
|
||||
#: resources/ui/gtk4/trex.ui:69 resources/ui/adw/trex.ui:47
|
||||
msgid "Claw Scratch Scale"
|
||||
msgstr ""
|
||||
msgstr "पंजे का स्क्रैच स्केल"
|
||||
|
||||
#: resources/ui/gtk4/trex.ui:115 resources/ui/adw/trex.ui:80
|
||||
msgid "Claw Scratch Count"
|
||||
msgstr ""
|
||||
msgstr "पंजे की खरोंच गिनती"
|
||||
|
||||
#: resources/ui/gtk4/trex.ui:161 resources/ui/adw/trex.ui:113
|
||||
msgid "Warp Effect"
|
||||
msgstr ""
|
||||
msgstr "वार्प प्रभाव"
|
||||
|
||||
#: resources/ui/gtk4/trex.ui:207 resources/ui/adw/trex.ui:146
|
||||
msgid "Flash Color"
|
||||
msgstr ""
|
||||
msgstr "फ़्लैश रंग"
|
||||
|
||||
#: resources/ui/gtk4/pixel-wheel.ui:69 resources/ui/gtk3/pixel-wheel.ui:90
|
||||
#: resources/ui/adw/pixel-wheel.ui:47
|
||||
msgid "Spoke Count"
|
||||
msgstr ""
|
||||
msgstr "स्पोक की गिनती"
|
||||
|
||||
#: resources/ui/gtk4/glide.ui:115 resources/ui/gtk3/glide.ui:149
|
||||
#: resources/ui/adw/glide.ui:80
|
||||
msgid "Squish"
|
||||
msgstr ""
|
||||
msgstr "स्क्विश"
|
||||
|
||||
#: resources/ui/gtk4/glide.ui:161 resources/ui/gtk3/glide.ui:194
|
||||
#: resources/ui/adw/glide.ui:113
|
||||
msgid "Tilt"
|
||||
msgstr ""
|
||||
msgstr "झुकाव"
|
||||
|
||||
#: resources/ui/gtk4/glide.ui:207 resources/ui/gtk3/glide.ui:239
|
||||
#: resources/ui/adw/glide.ui:146
|
||||
msgid "Shift"
|
||||
msgstr ""
|
||||
msgstr "बदलाव"
|
||||
|
||||
#: resources/ui/gtk4/apparition.ui:114 resources/ui/gtk3/apparition.ui:149
|
||||
#: resources/ui/adw/apparition.ui:81
|
||||
msgid "Twirl Intensity"
|
||||
msgstr ""
|
||||
msgstr "घुमाव की तीव्रता"
|
||||
|
||||
#: resources/ui/gtk4/apparition.ui:160 resources/ui/gtk3/apparition.ui:194
|
||||
#: resources/ui/adw/apparition.ui:114
|
||||
msgid "Shake Intensity"
|
||||
msgstr ""
|
||||
msgstr "झटकों की तीव्रता"
|
||||
|
||||
#: resources/ui/gtk4/apparition.ui:206 resources/ui/gtk3/apparition.ui:239
|
||||
#: resources/ui/adw/apparition.ui:147
|
||||
msgid "Suction Intensity"
|
||||
msgstr ""
|
||||
msgstr "चूषण तीव्रता"
|
||||
|
||||
#: resources/ui/gtk4/portal.ui:69 resources/ui/gtk3/portal.ui:142
|
||||
#: resources/ui/adw/portal.ui:80
|
||||
msgid "Whirling"
|
||||
msgstr ""
|
||||
msgstr "घुमावदार"
|
||||
|
||||
#: resources/ui/gtk4/portal.ui:115 resources/ui/gtk3/portal.ui:97
|
||||
#: resources/ui/adw/portal.ui:47
|
||||
msgid "Rotation Speed"
|
||||
msgstr ""
|
||||
msgstr "घूर्णन गति"
|
||||
|
||||
#: resources/ui/gtk4/portal.ui:161 resources/ui/gtk3/portal.ui:187
|
||||
#: resources/ui/adw/portal.ui:113
|
||||
msgid "Details"
|
||||
msgstr ""
|
||||
msgstr "विवरण"
|
||||
|
||||
#: resources/ui/gtk4/incinerate.ui:115 resources/ui/gtk3/incinerate.ui:135
|
||||
#: resources/ui/adw/incinerate.ui:80
|
||||
msgid "Turbulence"
|
||||
msgstr ""
|
||||
msgstr "उथल-पुथल"
|
||||
|
||||
#: resources/ui/gtk4/incinerate.ui:165 resources/ui/gtk3/incinerate.ui:183
|
||||
#: resources/ui/adw/incinerate.ui:113
|
||||
msgid "Start at Pointer"
|
||||
msgstr ""
|
||||
msgstr "सूचक से प्रारंभ करें"
|
||||
|
||||
#: resources/ui/gtk4/incinerate.ui:174 resources/ui/gtk3/incinerate.ui:192
|
||||
#: resources/ui/adw/incinerate.ui:114
|
||||
msgid "If disabled, a random location will be chosen."
|
||||
msgstr ""
|
||||
msgstr "यदि अक्षम किया गया है, तो एक यादृच्छिक स्थान चुना जाएगा।"
|
||||
|
||||
#: resources/ui/gtk4/hexagon.ui:115 resources/ui/gtk3/hexagon.ui:135
|
||||
#: resources/ui/adw/hexagon.ui:80
|
||||
msgid "Mesh Line Width"
|
||||
msgstr ""
|
||||
msgstr "जाल रेखा की चौड़ाई"
|
||||
|
||||
#: resources/ui/gtk4/hexagon.ui:161 resources/ui/gtk3/hexagon.ui:179
|
||||
#: resources/ui/adw/hexagon.ui:113
|
||||
msgid "Line Color"
|
||||
msgstr ""
|
||||
msgstr "रेखा रंग"
|
||||
|
||||
#: resources/ui/gtk4/hexagon.ui:198 resources/ui/gtk3/hexagon.ui:221
|
||||
#: resources/ui/adw/hexagon.ui:138
|
||||
msgid "Glow Color"
|
||||
msgstr ""
|
||||
msgstr "चमकदार रंग"
|
||||
|
||||
#: resources/ui/gtk4/hexagon.ui:239 resources/ui/gtk3/hexagon.ui:267
|
||||
#: resources/ui/adw/hexagon.ui:163
|
||||
msgid "Additive Blending"
|
||||
msgstr ""
|
||||
msgstr "योगात्मक सम्मिश्रण"
|
||||
|
||||
#: resources/ui/gtk4/hexagon.ui:248 resources/ui/gtk3/hexagon.ui:276
|
||||
#: resources/ui/adw/hexagon.ui:164
|
||||
msgid "You may want to enable this for dark window themes."
|
||||
msgstr ""
|
||||
msgstr "आप इसे डार्क विंडो थीम के लिए सक्षम करना चाह सकते हैं।"
|
||||
|
||||
#: resources/ui/gtk4/fire.ui:22 resources/ui/gtk3/fire.ui:44
|
||||
#: resources/ui/adw/fire.ui:14
|
||||
msgid "Presets"
|
||||
msgstr ""
|
||||
msgstr "प्रीसेट"
|
||||
|
||||
#: resources/ui/gtk4/fire.ui:31 resources/ui/gtk3/fire.ui:58
|
||||
#: resources/ui/adw/fire.ui:19
|
||||
msgid "Choose a Preset"
|
||||
msgstr ""
|
||||
msgstr "प्रीसेट चुनें"
|
||||
|
||||
#: resources/ui/gtk4/fire.ui:188 resources/ui/gtk3/fire.ui:220
|
||||
#: resources/ui/adw/fire.ui:129
|
||||
msgid "3D Noise"
|
||||
msgstr ""
|
||||
msgstr "3D शोर"
|
||||
|
||||
#: resources/ui/gtk4/fire.ui:197 resources/ui/gtk3/fire.ui:229
|
||||
#: resources/ui/adw/fire.ui:130
|
||||
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||
msgstr ""
|
||||
"अधिक गतिशील आग पैदा करता है लेकिन इसके लिए अधिक GPU शक्ति की आवश्यकता होती "
|
||||
"है।"
|
||||
|
||||
#: resources/ui/gtk4/fire.ui:239 resources/ui/gtk3/fire.ui:276
|
||||
#: resources/ui/adw/fire.ui:152
|
||||
msgid "Gradient"
|
||||
msgstr ""
|
||||
msgstr "ग्रेडियेंट"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:91 resources/ui/gtk3/prefs.ui:133
|
||||
#: resources/ui/adw/prefs.ui:224
|
||||
msgid "Effect Selection"
|
||||
msgstr ""
|
||||
msgstr "प्रभाव चयन"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:101 resources/ui/gtk3/prefs.ui:143
|
||||
#: resources/ui/adw/prefs.ui:225
|
||||
msgid "If multiple are selected, one is chosen randomly."
|
||||
msgstr ""
|
||||
msgstr "यदि एकाधिक का चयन किया जाता है, तो एक को यादृच्छिक रूप से चुना जाता है।"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:118 resources/ui/gtk3/prefs.ui:160
|
||||
#: resources/ui/adw/prefs.ui:236
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
msgstr "सभी"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:124 resources/ui/gtk3/prefs.ui:166
|
||||
#: resources/ui/adw/prefs.ui:242
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
msgstr "कोई नहीं"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:168 resources/ui/gtk3/prefs.ui:208
|
||||
#: resources/ui/adw/prefs.ui:65
|
||||
msgid "Effect Profile Constraints"
|
||||
msgstr ""
|
||||
msgstr "प्रभाव प्रोफ़ाइल बाधाएं"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:178 resources/ui/gtk3/prefs.ui:218
|
||||
#: resources/ui/adw/prefs.ui:66
|
||||
msgid "Define when the current effect settings should be used."
|
||||
msgstr ""
|
||||
msgstr "परिभाषित करें कि वर्तमान प्रभाव सेटिंग्स का उपयोग कब किया जाना चाहिए।"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:202 resources/ui/gtk3/prefs.ui:242
|
||||
#: resources/ui/adw/prefs.ui:70
|
||||
msgid "Application"
|
||||
msgstr ""
|
||||
msgstr "अनुप्रयोग"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:220 resources/ui/gtk4/prefs.ui:255
|
||||
#: resources/ui/gtk4/prefs.ui:284 resources/ui/gtk4/prefs.ui:313
|
||||
@@ -724,49 +731,49 @@ msgstr ""
|
||||
#: resources/ui/adw/prefs.ui:117 resources/ui/adw/prefs.ui:132
|
||||
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
msgstr "कोई"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:244 resources/ui/gtk3/prefs.ui:289
|
||||
#: resources/ui/adw/prefs.ui:98
|
||||
msgid "Animation Type"
|
||||
msgstr ""
|
||||
msgstr "एनिमेशन प्रकार"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:273 resources/ui/gtk3/prefs.ui:318
|
||||
#: resources/ui/adw/prefs.ui:113
|
||||
msgid "Window Type"
|
||||
msgstr ""
|
||||
msgstr "विंडो प्रकार"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:302 resources/ui/gtk3/prefs.ui:347
|
||||
#: resources/ui/adw/prefs.ui:128
|
||||
msgid "Color Scheme"
|
||||
msgstr ""
|
||||
msgstr "रंग योजना"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:331 resources/ui/gtk3/prefs.ui:376
|
||||
#: resources/ui/adw/prefs.ui:143
|
||||
msgid "Power Mode"
|
||||
msgstr ""
|
||||
msgstr "पावर मोड"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:360 resources/ui/gtk3/prefs.ui:405
|
||||
#: resources/ui/adw/prefs.ui:158
|
||||
msgid "Power Profile"
|
||||
msgstr ""
|
||||
msgstr "पावर प्रोफ़ाइल"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:392 resources/ui/gtk3/prefs.ui:437
|
||||
#: resources/ui/adw/prefs.ui:179
|
||||
msgid "Advanced Profile Options"
|
||||
msgstr ""
|
||||
msgstr "उन्नत प्रोफ़ाइल विकल्प"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:432 resources/ui/gtk3/prefs.ui:477
|
||||
#: resources/ui/adw/prefs.ui:184
|
||||
msgid "Use this profile even if there are better matching profiles."
|
||||
msgstr ""
|
||||
msgstr "बेहतर मिलान वाली प्रोफ़ाइल होने पर भी इस प्रोफ़ाइल का उपयोग करें।"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:464 resources/ui/gtk3/prefs.ui:509
|
||||
#: resources/ui/adw/prefs.ui:204
|
||||
msgid "Delete this Profile..."
|
||||
msgstr ""
|
||||
msgstr "इस प्रोफ़ाइल को मिटाएं…"
|
||||
|
||||
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
|
||||
#: resources/ui/adw/pixelate.ui:47
|
||||
msgid "Noise"
|
||||
msgstr ""
|
||||
msgstr "शोर"
|
||||
|
||||
@@ -8,110 +8,110 @@ msgstr ""
|
||||
"Project-Id-Version: burn-my-windows\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-08-31 07:30+0200\n"
|
||||
"PO-Revision-Date: 2023-02-06 11:38+0000\n"
|
||||
"Last-Translator: KinteLiX <superh552@gmail.com>\n"
|
||||
"Language-Team: Hungarian <https://hosted.weblate.org/projects/burn-my-"
|
||||
"windows/core/hu/>\n"
|
||||
"PO-Revision-Date: 2024-08-18 17:09+0000\n"
|
||||
"Last-Translator: atomkapa atomkapa <atomkapa@gmail.com>\n"
|
||||
"Language-Team: Hungarian <https://hosted.weblate.org/projects/"
|
||||
"burn-my-windows/core/hu/>\n"
|
||||
"Language: hu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.16-dev\n"
|
||||
"X-Generator: Weblate 5.7\n"
|
||||
|
||||
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:256
|
||||
#: resources/ui/gtk3/prefs.ui:301 resources/ui/adw/prefs.ui:103
|
||||
msgid "Opening Windows"
|
||||
msgstr ""
|
||||
msgstr "Ablakok megnyitása"
|
||||
|
||||
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:257
|
||||
#: resources/ui/gtk3/prefs.ui:302 resources/ui/adw/prefs.ui:104
|
||||
msgid "Closing Windows"
|
||||
msgstr ""
|
||||
msgstr "Ablakok bezárása"
|
||||
|
||||
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:285
|
||||
#: resources/ui/gtk3/prefs.ui:330 resources/ui/adw/prefs.ui:118
|
||||
msgid "Normal Windows"
|
||||
msgstr ""
|
||||
msgstr "Normál ablakok"
|
||||
|
||||
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:286
|
||||
#: resources/ui/gtk3/prefs.ui:331 resources/ui/adw/prefs.ui:119
|
||||
msgid "Dialog Windows"
|
||||
msgstr ""
|
||||
msgstr "Párbeszédablakok"
|
||||
|
||||
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:314
|
||||
#: resources/ui/gtk3/prefs.ui:359 resources/ui/adw/prefs.ui:133
|
||||
msgid "Default Color Scheme"
|
||||
msgstr ""
|
||||
msgstr "Alapértelmezett téma"
|
||||
|
||||
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:315
|
||||
#: resources/ui/gtk3/prefs.ui:360 resources/ui/adw/prefs.ui:134
|
||||
msgid "Dark Color Scheme"
|
||||
msgstr ""
|
||||
msgstr "Sötét téma"
|
||||
|
||||
#: src/ProfileManager.js:181 resources/ui/gtk4/prefs.ui:343
|
||||
#: resources/ui/gtk3/prefs.ui:388 resources/ui/adw/prefs.ui:148
|
||||
msgid "On Battery"
|
||||
msgstr ""
|
||||
msgstr "Akkumulátoron"
|
||||
|
||||
#: src/ProfileManager.js:182 resources/ui/gtk4/prefs.ui:344
|
||||
#: resources/ui/gtk3/prefs.ui:389 resources/ui/adw/prefs.ui:149
|
||||
msgid "Plugged In"
|
||||
msgstr ""
|
||||
msgstr "Csatlakoztatva"
|
||||
|
||||
#: src/ProfileManager.js:183 resources/ui/gtk4/prefs.ui:372
|
||||
#: resources/ui/gtk3/prefs.ui:417 resources/ui/adw/prefs.ui:163
|
||||
msgid "Power-Saver Mode"
|
||||
msgstr ""
|
||||
msgstr "Energiatakarékos üzemmód"
|
||||
|
||||
#: src/ProfileManager.js:184 resources/ui/gtk4/prefs.ui:373
|
||||
#: resources/ui/gtk3/prefs.ui:418 resources/ui/adw/prefs.ui:164
|
||||
msgid "Balanced Mode"
|
||||
msgstr ""
|
||||
msgstr "Kiegyensúlyozott üzemmód"
|
||||
|
||||
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:374
|
||||
#: resources/ui/gtk3/prefs.ui:419 resources/ui/adw/prefs.ui:165
|
||||
msgid "Performance Mode"
|
||||
msgstr ""
|
||||
msgstr "Teljesítmény üzemmód"
|
||||
|
||||
#: src/ProfileManager.js:186 resources/ui/gtk4/prefs.ui:375
|
||||
#: resources/ui/gtk3/prefs.ui:420 resources/ui/adw/prefs.ui:166
|
||||
msgid "Power Saver or Balanced"
|
||||
msgstr ""
|
||||
msgstr "Enerigiatakarékos vagy kiegyensúlyozott üzemmód"
|
||||
|
||||
#: src/ProfileManager.js:187 resources/ui/gtk4/prefs.ui:376
|
||||
#: resources/ui/gtk3/prefs.ui:421 resources/ui/adw/prefs.ui:167
|
||||
msgid "Balanced or Performance"
|
||||
msgstr ""
|
||||
msgstr "Kiegyensúlyozott vagy teljesítmény üzemmód"
|
||||
|
||||
#: src/ProfileManager.js:192 resources/ui/gtk4/prefs.ui:423
|
||||
#: resources/ui/gtk3/prefs.ui:468 resources/ui/adw/prefs.ui:183
|
||||
msgid "High Priority"
|
||||
msgstr ""
|
||||
msgstr "Magas Prioritás"
|
||||
|
||||
#: src/ProfileManager.js:198
|
||||
msgid "Standard Profile"
|
||||
msgstr ""
|
||||
msgstr "Alapértelmezett Profil"
|
||||
|
||||
#: src/effects/Apparition.js:78
|
||||
msgid "Apparition"
|
||||
msgstr "Jelenés"
|
||||
msgstr "Megjelenés"
|
||||
|
||||
#: src/effects/BrokenGlass.js:137
|
||||
msgid "Broken Glass"
|
||||
msgstr "Szilánkok"
|
||||
msgstr "Betört üveg"
|
||||
|
||||
#: src/effects/Doom.js:88
|
||||
msgid "Doom"
|
||||
msgstr "Végzet"
|
||||
msgstr "Doom"
|
||||
|
||||
#: src/effects/EnergizeA.js:80
|
||||
msgid "Energize A"
|
||||
msgstr "Energia A"
|
||||
msgstr "Energiát! A"
|
||||
|
||||
#: src/effects/EnergizeB.js:81
|
||||
msgid "Energize B"
|
||||
msgstr "Energia B"
|
||||
msgstr "Energiát! B"
|
||||
|
||||
#: src/effects/Fire.js:100
|
||||
msgid "Fire"
|
||||
@@ -127,15 +127,15 @@ msgstr "Pokoli tűz"
|
||||
|
||||
#: src/effects/Fire.js:174
|
||||
msgid "Dark and Smutty"
|
||||
msgstr "Sötét és kormos"
|
||||
msgstr "Sötét és kormos tűz"
|
||||
|
||||
#: src/effects/Fire.js:184
|
||||
msgid "Cold Breeze"
|
||||
msgstr "Hideg szellő"
|
||||
msgstr "Fagyos szellő"
|
||||
|
||||
#: src/effects/Fire.js:194
|
||||
msgid "Santa is Coming"
|
||||
msgstr "Jön a télapó"
|
||||
msgstr "Télapó itt van"
|
||||
|
||||
#: src/effects/Glide.js:78
|
||||
msgid "Glide"
|
||||
@@ -159,7 +159,7 @@ msgstr "Mátrix"
|
||||
|
||||
#: src/effects/PaintBrush.js:102
|
||||
msgid "Paint Brush"
|
||||
msgstr ""
|
||||
msgstr "Ecset"
|
||||
|
||||
#: src/effects/Pixelate.js:74
|
||||
msgid "Pixelate"
|
||||
@@ -167,7 +167,7 @@ msgstr "Pixelezés"
|
||||
|
||||
#: src/effects/PixelWheel.js:74
|
||||
msgid "Pixel Wheel"
|
||||
msgstr "Pixelciklus"
|
||||
msgstr "Pixelkerék"
|
||||
|
||||
#: src/effects/PixelWipe.js:101
|
||||
msgid "Pixel Wipe"
|
||||
@@ -179,7 +179,7 @@ msgstr "Portál"
|
||||
|
||||
#: src/effects/SnapOfDisintegration.js:114
|
||||
msgid "Snap of Disintegration"
|
||||
msgstr "Hírtelen felbomlás"
|
||||
msgstr "Thanos csettintése"
|
||||
|
||||
#: src/effects/TRexAttack.js:112
|
||||
msgid "T-Rex Attack"
|
||||
@@ -199,11 +199,11 @@ msgstr "Szálak"
|
||||
|
||||
#: prefs.js:269
|
||||
msgid "Preview this effect"
|
||||
msgstr "Nézze elő ezt a hatást"
|
||||
msgstr "Előnézet"
|
||||
|
||||
#: prefs.js:388 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
|
||||
msgid "Burn-My-Windows has been updated!"
|
||||
msgstr ""
|
||||
msgstr "A Burn-My-Windows frissült!"
|
||||
|
||||
#: prefs.js:389 resources/ui/common/menus.ui:17 resources/ui/gtk4/prefs.ui:56
|
||||
#: resources/ui/gtk3/prefs.ui:96
|
||||
@@ -228,21 +228,21 @@ msgstr "Korábbi szponzorok"
|
||||
|
||||
#: prefs.js:660
|
||||
msgid "Delete this Profile?"
|
||||
msgstr ""
|
||||
msgstr "Biztosan törli a profilt?"
|
||||
|
||||
#: prefs.js:661
|
||||
msgid ""
|
||||
"The current effect profile with all its effect settings will be permanently "
|
||||
"lost."
|
||||
msgstr ""
|
||||
msgstr "A jelenlegi profil minden beállítással együtt örökre elveszik."
|
||||
|
||||
#: prefs.js:664
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Mégse"
|
||||
|
||||
#: prefs.js:669
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
msgstr "Törlés"
|
||||
|
||||
#. Translators: %s will be replaced by the effect's name.
|
||||
#: prefs.js:980
|
||||
@@ -260,7 +260,7 @@ msgstr "Honlap meglátogatása"
|
||||
|
||||
#: resources/ui/common/menus.ui:21
|
||||
msgid "View Matching Wallpapers"
|
||||
msgstr ""
|
||||
msgstr "Passzoló háttérképek megtekintése"
|
||||
|
||||
#: resources/ui/common/menus.ui:27
|
||||
msgid "Report a Bug"
|
||||
@@ -280,7 +280,7 @@ msgstr "Adományozás"
|
||||
|
||||
#: resources/ui/common/menus.ui:56
|
||||
msgid "Open Effect-Profile Directory"
|
||||
msgstr ""
|
||||
msgstr "Az effektbeállításokat tartalmazó mappa megnyitása"
|
||||
|
||||
#: resources/ui/common/menus.ui:62
|
||||
msgid "About Burn-My-Windows"
|
||||
@@ -288,7 +288,7 @@ msgstr "A Burn-My-Windowsról"
|
||||
|
||||
#: resources/ui/common/menus.ui:73
|
||||
msgid "Add New Profile..."
|
||||
msgstr ""
|
||||
msgstr "Új Profil Hozzáadása..."
|
||||
|
||||
#: resources/ui/gtk4/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23
|
||||
#: resources/ui/gtk4/glitch.ui:23 resources/ui/gtk4/matrix.ui:23
|
||||
@@ -551,11 +551,11 @@ msgstr "Pixelméret"
|
||||
|
||||
#: resources/ui/gtk4/paint-brush.ui:69 resources/ui/adw/paint-brush.ui:47
|
||||
msgid "Brush Size"
|
||||
msgstr ""
|
||||
msgstr "Ecset mérete"
|
||||
|
||||
#: resources/ui/gtk4/trex.ui:69 resources/ui/adw/trex.ui:47
|
||||
msgid "Claw Scratch Scale"
|
||||
msgstr "Korom karmolás skálája"
|
||||
msgstr "Karmolás mérete"
|
||||
|
||||
#: resources/ui/gtk4/trex.ui:115 resources/ui/adw/trex.ui:80
|
||||
msgid "Claw Scratch Count"
|
||||
@@ -592,42 +592,42 @@ msgstr "Elmozdítás"
|
||||
#: resources/ui/gtk4/apparition.ui:114 resources/ui/gtk3/apparition.ui:149
|
||||
#: resources/ui/adw/apparition.ui:81
|
||||
msgid "Twirl Intensity"
|
||||
msgstr ""
|
||||
msgstr "Pörgés intenzitása"
|
||||
|
||||
#: resources/ui/gtk4/apparition.ui:160 resources/ui/gtk3/apparition.ui:194
|
||||
#: resources/ui/adw/apparition.ui:114
|
||||
msgid "Shake Intensity"
|
||||
msgstr ""
|
||||
msgstr "Rázkódás intenzitása"
|
||||
|
||||
#: resources/ui/gtk4/apparition.ui:206 resources/ui/gtk3/apparition.ui:239
|
||||
#: resources/ui/adw/apparition.ui:147
|
||||
msgid "Suction Intensity"
|
||||
msgstr ""
|
||||
msgstr "Szívóerő Intenzitása"
|
||||
|
||||
#: resources/ui/gtk4/portal.ui:69 resources/ui/gtk3/portal.ui:142
|
||||
#: resources/ui/adw/portal.ui:80
|
||||
msgid "Whirling"
|
||||
msgstr ""
|
||||
msgstr "Örvénylés"
|
||||
|
||||
#: resources/ui/gtk4/portal.ui:115 resources/ui/gtk3/portal.ui:97
|
||||
#: resources/ui/adw/portal.ui:47
|
||||
msgid "Rotation Speed"
|
||||
msgstr ""
|
||||
msgstr "Forgás sebessége"
|
||||
|
||||
#: resources/ui/gtk4/portal.ui:161 resources/ui/gtk3/portal.ui:187
|
||||
#: resources/ui/adw/portal.ui:113
|
||||
msgid "Details"
|
||||
msgstr ""
|
||||
msgstr "Részletesség"
|
||||
|
||||
#: resources/ui/gtk4/incinerate.ui:115 resources/ui/gtk3/incinerate.ui:135
|
||||
#: resources/ui/adw/incinerate.ui:80
|
||||
msgid "Turbulence"
|
||||
msgstr "Légörvény"
|
||||
msgstr "Turbulencia"
|
||||
|
||||
#: resources/ui/gtk4/incinerate.ui:165 resources/ui/gtk3/incinerate.ui:183
|
||||
#: resources/ui/adw/incinerate.ui:113
|
||||
msgid "Start at Pointer"
|
||||
msgstr "Mutatónál kezdje"
|
||||
msgstr "Kezdés a mutatónál"
|
||||
|
||||
#: resources/ui/gtk4/incinerate.ui:174 resources/ui/gtk3/incinerate.ui:192
|
||||
#: resources/ui/adw/incinerate.ui:114
|
||||
@@ -637,7 +637,7 @@ msgstr "Ha ki van kapcsolva, egy véletlenszerű hely lesz választva."
|
||||
#: resources/ui/gtk4/hexagon.ui:115 resources/ui/gtk3/hexagon.ui:135
|
||||
#: resources/ui/adw/hexagon.ui:80
|
||||
msgid "Mesh Line Width"
|
||||
msgstr ""
|
||||
msgstr "Körvonal Vastagsága"
|
||||
|
||||
#: resources/ui/gtk4/hexagon.ui:161 resources/ui/gtk3/hexagon.ui:179
|
||||
#: resources/ui/adw/hexagon.ui:113
|
||||
@@ -652,12 +652,12 @@ msgstr "Világítás színe"
|
||||
#: resources/ui/gtk4/hexagon.ui:239 resources/ui/gtk3/hexagon.ui:267
|
||||
#: resources/ui/adw/hexagon.ui:163
|
||||
msgid "Additive Blending"
|
||||
msgstr ""
|
||||
msgstr "Beolvadó Színek"
|
||||
|
||||
#: resources/ui/gtk4/hexagon.ui:248 resources/ui/gtk3/hexagon.ui:276
|
||||
#: resources/ui/adw/hexagon.ui:164
|
||||
msgid "You may want to enable this for dark window themes."
|
||||
msgstr "Lehet, hogy szeretné bekapcsolni ezt a sötét témájú ablaktémákoknak."
|
||||
msgstr "Sötét témájú ablakokhoz ajánlott."
|
||||
|
||||
#: resources/ui/gtk4/fire.ui:22 resources/ui/gtk3/fire.ui:44
|
||||
#: resources/ui/adw/fire.ui:14
|
||||
@@ -667,7 +667,7 @@ msgstr "Sablonok"
|
||||
#: resources/ui/gtk4/fire.ui:31 resources/ui/gtk3/fire.ui:58
|
||||
#: resources/ui/adw/fire.ui:19
|
||||
msgid "Choose a Preset"
|
||||
msgstr ""
|
||||
msgstr "Válassz egy sablont"
|
||||
|
||||
#: resources/ui/gtk4/fire.ui:188 resources/ui/gtk3/fire.ui:220
|
||||
#: resources/ui/adw/fire.ui:129
|
||||
@@ -682,42 +682,45 @@ msgstr "Egy dinamikusabb tüzet készít, de több GPU erőt igényel."
|
||||
#: resources/ui/gtk4/fire.ui:239 resources/ui/gtk3/fire.ui:276
|
||||
#: resources/ui/adw/fire.ui:152
|
||||
msgid "Gradient"
|
||||
msgstr "Gradiens"
|
||||
msgstr "Árnyalatok"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:91 resources/ui/gtk3/prefs.ui:133
|
||||
#: resources/ui/adw/prefs.ui:224
|
||||
msgid "Effect Selection"
|
||||
msgstr ""
|
||||
msgstr "Effektus kiválasztása"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:101 resources/ui/gtk3/prefs.ui:143
|
||||
#: resources/ui/adw/prefs.ui:225
|
||||
msgid "If multiple are selected, one is chosen randomly."
|
||||
msgstr ""
|
||||
"Ha több is ki van választva, minden alkalommal egy véletlenszerű lesz "
|
||||
"használva."
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:118 resources/ui/gtk3/prefs.ui:160
|
||||
#: resources/ui/adw/prefs.ui:236
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
msgstr "Mind"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:124 resources/ui/gtk3/prefs.ui:166
|
||||
#: resources/ui/adw/prefs.ui:242
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
msgstr "Egyik sem"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:168 resources/ui/gtk3/prefs.ui:208
|
||||
#: resources/ui/adw/prefs.ui:65
|
||||
msgid "Effect Profile Constraints"
|
||||
msgstr ""
|
||||
msgstr "Profil Beállításai"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:178 resources/ui/gtk3/prefs.ui:218
|
||||
#: resources/ui/adw/prefs.ui:66
|
||||
msgid "Define when the current effect settings should be used."
|
||||
msgstr ""
|
||||
"Határozza meg, mikor legyenek használatban az aktuális effektbeállítások."
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:202 resources/ui/gtk3/prefs.ui:242
|
||||
#: resources/ui/adw/prefs.ui:70
|
||||
msgid "Application"
|
||||
msgstr ""
|
||||
msgstr "Applikáció"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:220 resources/ui/gtk4/prefs.ui:255
|
||||
#: resources/ui/gtk4/prefs.ui:284 resources/ui/gtk4/prefs.ui:313
|
||||
@@ -729,47 +732,47 @@ msgstr ""
|
||||
#: resources/ui/adw/prefs.ui:117 resources/ui/adw/prefs.ui:132
|
||||
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
|
||||
msgid "Any"
|
||||
msgstr ""
|
||||
msgstr "Bármelyik"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:244 resources/ui/gtk3/prefs.ui:289
|
||||
#: resources/ui/adw/prefs.ui:98
|
||||
msgid "Animation Type"
|
||||
msgstr ""
|
||||
msgstr "Animációtípus"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:273 resources/ui/gtk3/prefs.ui:318
|
||||
#: resources/ui/adw/prefs.ui:113
|
||||
msgid "Window Type"
|
||||
msgstr ""
|
||||
msgstr "Ablaktípus"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:302 resources/ui/gtk3/prefs.ui:347
|
||||
#: resources/ui/adw/prefs.ui:128
|
||||
msgid "Color Scheme"
|
||||
msgstr ""
|
||||
msgstr "Téma"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:331 resources/ui/gtk3/prefs.ui:376
|
||||
#: resources/ui/adw/prefs.ui:143
|
||||
msgid "Power Mode"
|
||||
msgstr ""
|
||||
msgstr "Energiaforrás módja"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:360 resources/ui/gtk3/prefs.ui:405
|
||||
#: resources/ui/adw/prefs.ui:158
|
||||
msgid "Power Profile"
|
||||
msgstr ""
|
||||
msgstr "Energiagazdálkodási beállítás"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:392 resources/ui/gtk3/prefs.ui:437
|
||||
#: resources/ui/adw/prefs.ui:179
|
||||
msgid "Advanced Profile Options"
|
||||
msgstr ""
|
||||
msgstr "Haladó beállítások"
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:432 resources/ui/gtk3/prefs.ui:477
|
||||
#: resources/ui/adw/prefs.ui:184
|
||||
msgid "Use this profile even if there are better matching profiles."
|
||||
msgstr ""
|
||||
msgstr "Profil használata akkor is, ha van másik, ami jobban megfelelő lenne."
|
||||
|
||||
#: resources/ui/gtk4/prefs.ui:464 resources/ui/gtk3/prefs.ui:509
|
||||
#: resources/ui/adw/prefs.ui:204
|
||||
msgid "Delete this Profile..."
|
||||
msgstr ""
|
||||
msgstr "Profil Törlése..."
|
||||
|
||||
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
|
||||
#: resources/ui/adw/pixelate.ui:47
|
||||
|
||||
@@ -14,96 +14,102 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const {Gio, Gtk, Gdk, GLib, GObject} = imports.gi;
|
||||
import Gio from 'gi://Gio';
|
||||
import Gtk from 'gi://Gtk';
|
||||
import GLib from 'gi://GLib';
|
||||
import Gdk from 'gi://Gdk';
|
||||
import Adw from 'gi://Adw';
|
||||
|
||||
// libadwaita is available starting with GNOME Shell 42.
|
||||
let Adw = null;
|
||||
try {
|
||||
Adw = imports.gi.Adw;
|
||||
} catch (e) {
|
||||
// Nothing to do.
|
||||
import * as utils from './src/utils.js';
|
||||
import {ProfileManager} from './src/ProfileManager.js';
|
||||
|
||||
import Apparition from './src/effects/Apparition.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 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 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 SnapOfDisintegration from './src/effects/SnapOfDisintegration.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 {ExtensionPreferences, gettext as _} from 'resource:///org/gnome/Shell/Extensions/js/extensions/prefs.js';
|
||||
|
||||
// Currently, the extension supports only one set of UI files. In the past, there were
|
||||
// three different sets for GTK3, GTK4, and Adwaita. This method returns the name of the
|
||||
// current UI directory. It's still here since it might be useful in the future.
|
||||
function getUIDir() {
|
||||
return 'adw';
|
||||
}
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
||||
const utils = Me.imports.src.utils;
|
||||
const ProfileManager = Me.imports.src.ProfileManager.ProfileManager;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// The preferences dialog is organized in pages, each of which is loaded from a //
|
||||
// separate ui file. There's one page with general options, all other paged are loaded //
|
||||
// from the respective effects. //
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var PreferencesDialog = class PreferencesDialog {
|
||||
export default class BurnMyWindowsPreferences extends ExtensionPreferences {
|
||||
|
||||
// ------------------------------------------------------------ constructor / destructor
|
||||
|
||||
constructor() {
|
||||
fillPreferencesWindow(window) {
|
||||
window.set_default_size(650, 750);
|
||||
|
||||
// New effects must be registered here and in extension.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.PaintBrush.PaintBrush(),
|
||||
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(),
|
||||
Apparition,
|
||||
BrokenGlass,
|
||||
Doom,
|
||||
EnergizeA,
|
||||
EnergizeB,
|
||||
Fire,
|
||||
Glide,
|
||||
Glitch,
|
||||
Hexagon,
|
||||
Incinerate,
|
||||
Matrix,
|
||||
PaintBrush,
|
||||
Pixelate,
|
||||
PixelWheel,
|
||||
PixelWipe,
|
||||
Portal,
|
||||
SnapOfDisintegration,
|
||||
TRexAttack,
|
||||
TVEffect,
|
||||
TVGlitch,
|
||||
Wisps,
|
||||
];
|
||||
|
||||
// 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);
|
||||
|
||||
// Load the CSS file for the settings dialog. If using libadwaita, we do not need an
|
||||
// additional style sheet.
|
||||
if (!utils.isADW()) {
|
||||
const provider = Gtk.CssProvider.new();
|
||||
if (utils.isGTK4()) {
|
||||
provider.load_from_resource('/css/gtk4.css');
|
||||
Gtk.StyleContext.add_provider_for_display(
|
||||
Gdk.Display.get_default(), provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
} else {
|
||||
provider.load_from_resource('/css/gtk3.css');
|
||||
Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(), provider,
|
||||
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
}
|
||||
}
|
||||
|
||||
// Make sure custom icons are found.
|
||||
if (utils.isGTK4()) {
|
||||
Gtk.IconTheme.get_for_display(Gdk.Display.get_default()).add_resource_path('/img');
|
||||
} else {
|
||||
Gtk.IconTheme.get_default().add_resource_path('/img');
|
||||
}
|
||||
Gtk.IconTheme.get_for_display(Gdk.Display.get_default()).add_resource_path('/img');
|
||||
|
||||
// Load the general user interface files.
|
||||
this._builder = new Gtk.Builder();
|
||||
this._builder.add_from_resource(`/ui/common/menus.ui`);
|
||||
this._builder.add_from_resource(`/ui/${utils.getUIDir()}/prefs.ui`);
|
||||
this._builder.add_from_resource(`/ui/${getUIDir()}/prefs.ui`);
|
||||
|
||||
// Store a reference to the general settings object.
|
||||
this._settings = ExtensionUtils.getSettings();
|
||||
this._settings = this.getSettings();
|
||||
|
||||
// This tracks all available effect profiles.
|
||||
this._profileManager = new ProfileManager();
|
||||
this._profileManager = new ProfileManager(this.metadata);
|
||||
|
||||
// This is used to track all connections to properties of the current effect profile.
|
||||
// Whenever the current effect profile changes, all connections are disconnected.
|
||||
@@ -129,19 +135,8 @@ var PreferencesDialog = class PreferencesDialog {
|
||||
}
|
||||
|
||||
let powerProfileRow = this._builder.get_object('profile-power-profile');
|
||||
if (!utils.isADW()) {
|
||||
powerProfileRow = powerProfileRow.get_parent().get_parent();
|
||||
}
|
||||
powerProfileRow.set_visible(hasPowerProfiles);
|
||||
|
||||
// The global color scheme is only available starting with GNOME Shell 42. We hide the
|
||||
// corresponding settings row on older versions.
|
||||
let colorSchemeRow = this._builder.get_object('profile-color-scheme');
|
||||
if (!utils.isADW()) {
|
||||
colorSchemeRow = colorSchemeRow.get_parent().get_parent();
|
||||
}
|
||||
colorSchemeRow.set_visible(utils.shellVersionIsAtLeast(42, 0));
|
||||
|
||||
// Wire up the window picker of the profile editor. Whenever the app-chooser button is
|
||||
// clicked, we call a method of the extension which will initiate the window picking.
|
||||
this._builder.get_object('profile-choose-app-button').connect('clicked', () => {
|
||||
@@ -178,22 +173,6 @@ var PreferencesDialog = class PreferencesDialog {
|
||||
}
|
||||
});
|
||||
|
||||
// If using libadwaita, the visibility of the profile-editor Adw.Flap is controlled
|
||||
// using bindings in the ui file. On GTK3 and GTK4 we have to wire up this toggling
|
||||
// here since we are using a Gtk.Stack instead of an Adw.Flap.
|
||||
if (!utils.isADW()) {
|
||||
const profileEditorButton = this._builder.get_object('edit-profile-button');
|
||||
profileEditorButton.connect('toggled', b => {
|
||||
if (b.active) {
|
||||
this._builder.get_object('general-prefs')
|
||||
.set_visible_child(this._builder.get_object('profile-editor'));
|
||||
} else {
|
||||
this._builder.get_object('general-prefs')
|
||||
.set_visible_child(this._builder.get_object('effect-editor'));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// This is our top-level widget which we will return later.
|
||||
this._widget = this._builder.get_object('general-prefs');
|
||||
|
||||
@@ -217,31 +196,12 @@ var PreferencesDialog = class PreferencesDialog {
|
||||
// accordion-like behavior of the effect settings.
|
||||
this._effectRows = [];
|
||||
|
||||
if (!utils.isADW()) {
|
||||
group.connect('row-activated', (g, row) => {
|
||||
this._effectRows.forEach(r => {
|
||||
if (r == row) {
|
||||
if (r._revealer.get_reveal_child()) {
|
||||
r._revealer.set_reveal_child(false);
|
||||
r._arrow.get_style_context().remove_class('revealed');
|
||||
} else {
|
||||
r._revealer.set_reveal_child(true);
|
||||
r._arrow.get_style_context().add_class('revealed');
|
||||
}
|
||||
} else {
|
||||
r._revealer.set_reveal_child(false);
|
||||
r._arrow.get_style_context().remove_class('revealed');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// Now add all the rows.
|
||||
this._ALL_EFFECTS.forEach(effect => {
|
||||
const [minMajor, minMinor] = effect.getMinShellVersion();
|
||||
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
|
||||
|
||||
const uiFile = `/ui/${utils.getUIDir()}/${effect.getNick()}.ui`;
|
||||
const uiFile = `/ui/${getUIDir()}/${effect.getNick()}.ui`;
|
||||
|
||||
// Is there a better way to test for the existence of a resource file?
|
||||
let hasPrefs = false;
|
||||
@@ -258,12 +218,7 @@ var PreferencesDialog = class PreferencesDialog {
|
||||
}
|
||||
|
||||
// The preview button.
|
||||
let previewButton;
|
||||
if (utils.isGTK4()) {
|
||||
previewButton = Gtk.Button.new_from_icon_name('bmw-preview-symbolic');
|
||||
} else {
|
||||
previewButton = Gtk.Button.new_from_icon_name('bmw-preview-symbolic', 1);
|
||||
}
|
||||
let previewButton = Gtk.Button.new_from_icon_name('bmw-preview-symbolic');
|
||||
previewButton.get_style_context().add_class('circular');
|
||||
previewButton.get_style_context().add_class('flat');
|
||||
previewButton.set_tooltip_text(_('Preview this effect'));
|
||||
@@ -277,101 +232,55 @@ var PreferencesDialog = class PreferencesDialog {
|
||||
button.set_valign(Gtk.Align.CENTER);
|
||||
this._builder.expose_object(`${effect.getNick()}-enable-effect`, button);
|
||||
|
||||
if (utils.isADW()) {
|
||||
|
||||
let row;
|
||||
if (hasPrefs) {
|
||||
|
||||
// Add the effect's preferences (if any).
|
||||
row = this._builder.get_object(`${effect.getNick()}-prefs`);
|
||||
} else if (utils.isADW()) {
|
||||
row = Adw.ActionRow.new();
|
||||
}
|
||||
|
||||
// On older versions of Adw (e.g. on GNOME Shell <43), the set_use_markup() does
|
||||
// not yet exist.
|
||||
if (row.set_use_markup) {
|
||||
row.set_title('<b>' + effect.getLabel() + '</b>');
|
||||
row.set_use_markup(true);
|
||||
} else {
|
||||
row.set_title(effect.getLabel());
|
||||
}
|
||||
|
||||
// Un-expand any previously expanded effect row. This way we ensure that there
|
||||
// is only one expanded row at any time.
|
||||
if (hasPrefs) {
|
||||
row.connect('notify::expanded', currentRow => {
|
||||
if (currentRow.get_expanded()) {
|
||||
this._effectRows.forEach(row => {
|
||||
if (row != currentRow) {
|
||||
row.set_expanded(false);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
this._effectRows.push(row);
|
||||
row.add_action(button);
|
||||
} else {
|
||||
row.add_suffix(button);
|
||||
}
|
||||
|
||||
row.add_prefix(previewButton);
|
||||
|
||||
group.add(row);
|
||||
|
||||
let row;
|
||||
if (hasPrefs) {
|
||||
|
||||
// Add the effect's preferences (if any).
|
||||
row = this._builder.get_object(`${effect.getNick()}-prefs`);
|
||||
} else {
|
||||
|
||||
const row = new Gtk.ListBoxRow();
|
||||
row.get_style_context().add_class('effect-row');
|
||||
|
||||
const container = new Gtk.Box({orientation: Gtk.Orientation.VERTICAL});
|
||||
|
||||
const header = new Gtk.Box({spacing: 12});
|
||||
header.get_style_context().add_class('effect-row-header');
|
||||
|
||||
const label = new Gtk.Label(
|
||||
{label: effect.getLabel(), hexpand: true, halign: Gtk.Align.START});
|
||||
label.get_style_context().add_class('heading');
|
||||
|
||||
this.gtkBoxAppend(header, previewButton);
|
||||
this.gtkBoxAppend(header, label);
|
||||
this.gtkBoxAppend(header, button);
|
||||
this.gtkBoxAppend(container, header);
|
||||
|
||||
if (hasPrefs) {
|
||||
const revealer = this._builder.get_object(`${effect.getNick()}-prefs`);
|
||||
const arrow = new Gtk.Image({icon_name: 'go-down-symbolic'});
|
||||
arrow.get_style_context().add_class('revealer-arrow');
|
||||
this.gtkBoxAppend(header, arrow);
|
||||
this.gtkBoxAppend(container, revealer);
|
||||
row._revealer = revealer;
|
||||
row._arrow = arrow;
|
||||
|
||||
row.set_activatable(true);
|
||||
this._effectRows.push(row);
|
||||
} else {
|
||||
row.set_activatable(false);
|
||||
}
|
||||
|
||||
if (utils.isGTK4()) {
|
||||
row.set_child(container);
|
||||
group.append(row);
|
||||
} else {
|
||||
row.add(container);
|
||||
group.add(row);
|
||||
}
|
||||
row = Adw.ActionRow.new();
|
||||
}
|
||||
|
||||
// On older versions of Adw (e.g. on GNOME Shell <43), the set_use_markup() does
|
||||
// not yet exist.
|
||||
if (row.set_use_markup) {
|
||||
row.set_title('<b>' + effect.getLabel() + '</b>');
|
||||
row.set_use_markup(true);
|
||||
} else {
|
||||
row.set_title(effect.getLabel());
|
||||
}
|
||||
|
||||
// Un-expand any previously expanded effect row. This way we ensure that there
|
||||
// is only one expanded row at any time.
|
||||
if (hasPrefs) {
|
||||
row.connect('notify::expanded', currentRow => {
|
||||
if (currentRow.get_expanded()) {
|
||||
this._effectRows.forEach(row => {
|
||||
if (row != currentRow) {
|
||||
row.set_expanded(false);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
this._effectRows.push(row);
|
||||
row.add_action(button);
|
||||
} else {
|
||||
row.add_suffix(button);
|
||||
}
|
||||
|
||||
row.add_prefix(previewButton);
|
||||
|
||||
group.add(row);
|
||||
}
|
||||
});
|
||||
|
||||
// Some things can only be done once the widget is shown as we do not have access to
|
||||
// the toplevel widget before.
|
||||
this._widget.connect('realize', (widget) => {
|
||||
const window = utils.isGTK4() ? widget.get_root() : widget.get_toplevel();
|
||||
const window = widget.get_root();
|
||||
|
||||
// Show the version number in the title bar.
|
||||
window.set_title(`Burn-My-Windows ${Me.metadata.version}`);
|
||||
window.set_title(`Burn-My-Windows ${this.metadata.version}`);
|
||||
|
||||
this._loadActiveProfile();
|
||||
this._updateProfileMenu();
|
||||
@@ -379,30 +288,21 @@ var PreferencesDialog = class PreferencesDialog {
|
||||
// Show an Adw.Toast or a Gtk.InfoBar whenever Burn-My-Windows was updated. We use a
|
||||
// small timeout so that it is not shown instantaneously.
|
||||
const lastVersion = this._settings.get_int('last-prefs-version');
|
||||
if (lastVersion < Me.metadata.version) {
|
||||
if (lastVersion < this.metadata.version) {
|
||||
this._showUpdateInfoTimeout =
|
||||
GLib.timeout_add(GLib.PRIORITY_DEFAULT, 2000, () => {
|
||||
this._showUpdateInfoTimeout = 0;
|
||||
|
||||
if (utils.isADW()) {
|
||||
const toast = Adw.Toast.new(_('Burn-My-Windows has been updated!'));
|
||||
toast.set_button_label(_('View Changelog'));
|
||||
toast.set_action_name('prefs.changelog');
|
||||
toast.set_timeout(0);
|
||||
const toast = Adw.Toast.new(_('Burn-My-Windows has been updated!'));
|
||||
toast.set_button_label(_('View Changelog'));
|
||||
toast.set_action_name('prefs.changelog');
|
||||
toast.set_timeout(0);
|
||||
|
||||
toast.connect(
|
||||
'dismissed',
|
||||
() => this._settings.set_int('last-prefs-version', Me.metadata.version));
|
||||
toast.connect(
|
||||
'dismissed',
|
||||
() => this._settings.set_int('last-prefs-version', this.metadata.version));
|
||||
|
||||
window.add_toast(toast);
|
||||
} else {
|
||||
const infoBar = this._builder.get_object('update-info');
|
||||
infoBar.connect('response', i => {
|
||||
this._settings.set_int('last-prefs-version', Me.metadata.version);
|
||||
i.set_revealed(false);
|
||||
});
|
||||
infoBar.set_revealed(true);
|
||||
}
|
||||
window.add_toast(toast);
|
||||
|
||||
return false;
|
||||
});
|
||||
@@ -449,11 +349,7 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
||||
}
|
||||
]);
|
||||
|
||||
if (utils.isGTK4()) {
|
||||
dialog.show();
|
||||
} else {
|
||||
dialog.show_all();
|
||||
}
|
||||
dialog.show();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -468,39 +364,28 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
||||
|
||||
// Starting with GNOME Shell 42, we have to hack our way through the widget tree
|
||||
// of the Adw.PreferencesWindow...
|
||||
if (utils.isADW()) {
|
||||
const header = this._findWidgetByType(window.get_content(), Adw.HeaderBar);
|
||||
header.pack_start(menu);
|
||||
header.set_title_widget(this._builder.get_object('profile-button'));
|
||||
const header = this._findWidgetByType(window.get_content(), Adw.HeaderBar);
|
||||
header.pack_start(menu);
|
||||
header.set_title_widget(this._builder.get_object('profile-button'));
|
||||
|
||||
// GNOME Shell extensions are forced to use a AdwPreferencesWindow. This already
|
||||
// includes a Gtk.ScrolledWindow as well as an Adw.Clamp. For the profile
|
||||
// editing, we want to use an Adw.Flap which reveals itself from the top. This
|
||||
// needs to be inserted in the widget hierarchy above the Adw.Clamp, else it
|
||||
// would look ugly. Therefore, we fiddle around with the internal widgets...
|
||||
const flap = this._builder.get_object('profile-editor-flap');
|
||||
const clamp = this._findWidgetByType(window.get_content(), Adw.Clamp);
|
||||
const viewport = clamp.get_parent();
|
||||
viewport.get_parent().set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.NEVER);
|
||||
viewport.set_child(flap);
|
||||
// GNOME Shell extensions are forced to use a AdwPreferencesWindow. This already
|
||||
// includes a Gtk.ScrolledWindow as well as an Adw.Clamp. For the profile
|
||||
// editing, we want to use an Adw.Flap which reveals itself from the top. This
|
||||
// needs to be inserted in the widget hierarchy above the Adw.Clamp, else it
|
||||
// would look ugly. Therefore, we fiddle around with the internal widgets...
|
||||
const flap = this._builder.get_object('profile-editor-flap');
|
||||
const clamp = this._findWidgetByType(window.get_content(), Adw.Clamp);
|
||||
const viewport = clamp.get_parent();
|
||||
viewport.get_parent().set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.NEVER);
|
||||
viewport.set_child(flap);
|
||||
|
||||
const scrolledWindow = Gtk.ScrolledWindow.new();
|
||||
scrolledWindow.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
|
||||
scrolledWindow.set_propagate_natural_height(true);
|
||||
scrolledWindow.set_vexpand(true);
|
||||
scrolledWindow.set_child(clamp);
|
||||
const scrolledWindow = Gtk.ScrolledWindow.new();
|
||||
scrolledWindow.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
|
||||
scrolledWindow.set_propagate_natural_height(true);
|
||||
scrolledWindow.set_vexpand(true);
|
||||
scrolledWindow.set_child(clamp);
|
||||
|
||||
flap.set_content(scrolledWindow);
|
||||
|
||||
} else if (utils.isGTK4()) {
|
||||
window.get_titlebar().pack_start(menu);
|
||||
window.get_titlebar().set_title_widget(
|
||||
this._builder.get_object('profile-button'));
|
||||
} else {
|
||||
window.get_titlebar().pack_start(menu);
|
||||
window.get_titlebar().set_custom_title(
|
||||
this._builder.get_object('profile-button'));
|
||||
}
|
||||
flap.set_content(scrolledWindow);
|
||||
|
||||
const addURIAction = (name, uri) => {
|
||||
const action = Gio.SimpleAction.new(name, null);
|
||||
@@ -533,7 +418,7 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
||||
null,
|
||||
'https://github.com/Schneegans/Burn-My-Windows/blob/main/docs/changelog.md',
|
||||
Gdk.CURRENT_TIME);
|
||||
this._settings.set_int('last-prefs-version', Me.metadata.version)
|
||||
this._settings.set_int('last-prefs-version', this.metadata.version)
|
||||
});
|
||||
group.add_action(changelogAction);
|
||||
|
||||
@@ -549,35 +434,18 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
||||
}
|
||||
});
|
||||
|
||||
let dialog;
|
||||
|
||||
// We try to use the special Adw.AboutWindow if it is available.
|
||||
if (utils.isADW() && Adw.AboutWindow) {
|
||||
dialog = new Adw.AboutWindow({transient_for: window, modal: true});
|
||||
dialog.set_application_icon('burn-my-windows-symbolic');
|
||||
dialog.set_application_name('Burn-My-Windows');
|
||||
dialog.set_version(`${Me.metadata.version}`);
|
||||
dialog.set_developer_name('Simon Schneegans');
|
||||
dialog.set_issue_url('https://github.com/Schneegans/Burn-My-Windows/issues');
|
||||
|
||||
} else {
|
||||
|
||||
dialog = new Gtk.AboutDialog({transient_for: window, modal: true});
|
||||
dialog.set_logo_icon_name('burn-my-windows-symbolic');
|
||||
dialog.set_program_name(`Burn-My-Windows ${Me.metadata.version}`);
|
||||
dialog.set_authors(['Simon Schneegans']);
|
||||
}
|
||||
|
||||
const dialog = new Adw.AboutWindow({transient_for: window, modal: true});
|
||||
dialog.set_application_icon('burn-my-windows-symbolic');
|
||||
dialog.set_application_name('Burn-My-Windows');
|
||||
dialog.set_version(`${this.metadata.version}`);
|
||||
dialog.set_developer_name('Simon Schneegans');
|
||||
dialog.set_issue_url('https://github.com/Schneegans/Burn-My-Windows/issues');
|
||||
dialog.set_translator_credits([...translators].join('\n'));
|
||||
dialog.set_copyright('© 2022 Simon Schneegans');
|
||||
dialog.set_copyright('© 2023 Simon Schneegans');
|
||||
dialog.set_website('https://github.com/Schneegans/Burn-My-Windows');
|
||||
dialog.set_license_type(Gtk.License.GPL_3_0);
|
||||
|
||||
if (utils.isGTK4()) {
|
||||
dialog.show();
|
||||
} else {
|
||||
dialog.show_all();
|
||||
}
|
||||
dialog.show();
|
||||
});
|
||||
|
||||
group.add_action(aboutAction);
|
||||
@@ -662,10 +530,7 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
||||
}
|
||||
});
|
||||
|
||||
// Show the widgets on GTK3.
|
||||
if (!utils.isGTK4()) {
|
||||
this._widget.show_all();
|
||||
}
|
||||
window.add(this._widget);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------- public interface
|
||||
@@ -681,11 +546,6 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
||||
return this._activeProfile.settings;
|
||||
}
|
||||
|
||||
// Returns the widget used for the settings of this extension.
|
||||
getWidget() {
|
||||
return this._widget;
|
||||
}
|
||||
|
||||
// Connects an Adw.ComboRow (or anything else which has an 'selected' property) to a
|
||||
// settings key. It also binds the corresponding reset button.
|
||||
bindComboRow(settingsKey) {
|
||||
@@ -751,17 +611,6 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
||||
this._bindResetButton(settingsKey);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------- GTK3 / GTK4 helpers
|
||||
|
||||
// Appends the given child widget to the given Gtk.Box.
|
||||
gtkBoxAppend(box, child) {
|
||||
if (utils.isGTK4()) {
|
||||
box.append(child);
|
||||
} else {
|
||||
box.pack_start(child, false, true, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------- private stuff
|
||||
|
||||
// This loads all settings from the profile given in the settings key 'active-profile'.
|
||||
@@ -800,20 +649,11 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
||||
updateProfileButtonMenuIfChanged('profile-high-priority');
|
||||
|
||||
this.bindEntry('profile-app');
|
||||
|
||||
if (utils.isADW()) {
|
||||
this.bindComboRow('profile-animation-type');
|
||||
this.bindComboRow('profile-window-type');
|
||||
this.bindComboRow('profile-color-scheme');
|
||||
this.bindComboRow('profile-power-mode');
|
||||
this.bindComboRow('profile-power-profile');
|
||||
} else {
|
||||
this.bindComboBox('profile-animation-type');
|
||||
this.bindComboBox('profile-window-type');
|
||||
this.bindComboBox('profile-color-scheme');
|
||||
this.bindComboBox('profile-power-mode');
|
||||
this.bindComboBox('profile-power-profile');
|
||||
}
|
||||
this.bindComboRow('profile-animation-type');
|
||||
this.bindComboRow('profile-window-type');
|
||||
this.bindComboRow('profile-color-scheme');
|
||||
this.bindComboRow('profile-power-mode');
|
||||
this.bindComboRow('profile-power-profile');
|
||||
this.bindSwitch('profile-high-priority');
|
||||
|
||||
// Connect all effect settings.
|
||||
@@ -834,7 +674,7 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
||||
// configuration option of the profile is changed.
|
||||
_updateProfileButton() {
|
||||
this._builder.get_object('choose-profile-button').label =
|
||||
this._profileManager.getProfileName(this.getProfileSettings());
|
||||
this._getProfileName(this.getProfileSettings());
|
||||
}
|
||||
|
||||
// This updates the list of available profiles in the dropdown of the profile-selection
|
||||
@@ -848,7 +688,7 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
||||
|
||||
// Then add an entry for each available profile.
|
||||
this._profileManager.getProfiles().forEach(profile => {
|
||||
const label = this._profileManager.getProfileName(profile.settings);
|
||||
const label = this._getProfileName(profile.settings);
|
||||
const item = Gio.MenuItem.new(label, 'prefs.active-profile');
|
||||
item.set_action_and_target_value('prefs.active-profile',
|
||||
GLib.Variant.new_string(profile.path));
|
||||
@@ -856,6 +696,58 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
||||
});
|
||||
}
|
||||
|
||||
// Profiles are named according to their configuration. This method returns a localized
|
||||
// string describing the settings of the profile.
|
||||
_getProfileName(settings) {
|
||||
let items = [];
|
||||
|
||||
// If an app is configured, use it as first component for the profile's name.
|
||||
const app = settings.get_string('profile-app');
|
||||
if (app != '') {
|
||||
items.push(app);
|
||||
}
|
||||
|
||||
// Now add components to the name for each non-default profile option. Make sure that
|
||||
// these are the same strings as used in the UI files!
|
||||
const addComponent = (settingsKey, options) => {
|
||||
const option = settings.get_int(settingsKey);
|
||||
if (option > 0) {
|
||||
items.push(options[option - 1]);
|
||||
}
|
||||
};
|
||||
|
||||
// clang-format off
|
||||
addComponent('profile-animation-type', [_('Opening Windows'),
|
||||
_('Closing Windows')]);
|
||||
addComponent('profile-window-type', [_('Normal Windows'),
|
||||
_('Dialog Windows')]);
|
||||
addComponent('profile-color-scheme', [_('Default Color Scheme'),
|
||||
_('Dark Color Scheme')]);
|
||||
addComponent('profile-power-mode', [_('On Battery'),
|
||||
_('Plugged In')]);
|
||||
addComponent('profile-power-profile', [_('Power-Saver Mode'),
|
||||
_('Balanced Mode'),
|
||||
_('Performance Mode'),
|
||||
_('Power Saver or Balanced'),
|
||||
_('Balanced or Performance')]);
|
||||
// clang-format on
|
||||
|
||||
// If the profile is a high-priority profile, also add this..
|
||||
if (settings.get_boolean('profile-high-priority')) {
|
||||
items.push(_('High Priority'));
|
||||
}
|
||||
|
||||
let name = '';
|
||||
|
||||
if (items.length == 0) {
|
||||
name = _('Standard Profile');
|
||||
} else {
|
||||
name = items.join(' · ');
|
||||
}
|
||||
|
||||
return name;
|
||||
}
|
||||
|
||||
// This wrapper connects a given callback to a profile settings key. Use this instead of
|
||||
// the direct connect() call on the profile settings to make sure that the callback is
|
||||
// disconnected when the active profile changes.
|
||||
@@ -932,15 +824,12 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
||||
default_width: 800,
|
||||
default_height: 450,
|
||||
modal: true,
|
||||
transient_for: utils.isGTK4() ? this._widget.get_root() :
|
||||
this._widget.get_toplevel()
|
||||
transient_for: this._widget.get_root()
|
||||
});
|
||||
|
||||
// Add a header bar to the window.
|
||||
if (utils.isGTK4()) {
|
||||
const header = Gtk.HeaderBar.new();
|
||||
window.set_titlebar(header);
|
||||
}
|
||||
const header = Gtk.HeaderBar.new();
|
||||
window.set_titlebar(header);
|
||||
|
||||
const box = new Gtk.Box({
|
||||
orientation: Gtk.Orientation.VERTICAL,
|
||||
@@ -960,16 +849,11 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
||||
pixel_size: 128,
|
||||
});
|
||||
|
||||
this.gtkBoxAppend(box, image);
|
||||
this.gtkBoxAppend(box, label);
|
||||
box.append(image);
|
||||
box.append(label);
|
||||
|
||||
if (utils.isGTK4()) {
|
||||
window.set_child(box);
|
||||
window.show();
|
||||
} else {
|
||||
window.add(box);
|
||||
window.show_all();
|
||||
}
|
||||
window.set_child(box);
|
||||
window.show();
|
||||
}
|
||||
|
||||
// Helper function to show a message dialog. The dialog is modal and has a title, a
|
||||
@@ -978,53 +862,28 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
||||
// called when the button is clicked.
|
||||
// This method works on GTK3, GTK4, and libadwaita.
|
||||
_createMessageDialog(title, message, window, buttons) {
|
||||
let dialog;
|
||||
let dialog = new Adw.MessageDialog({
|
||||
heading: title,
|
||||
body: message,
|
||||
body_use_markup: true,
|
||||
modal: true,
|
||||
});
|
||||
|
||||
if (utils.isADW() && Adw.MessageDialog) {
|
||||
dialog = new Adw.MessageDialog({
|
||||
heading: title,
|
||||
body: message,
|
||||
body_use_markup: true,
|
||||
modal: true,
|
||||
});
|
||||
buttons.forEach((button, i) => {
|
||||
const response = i.toString();
|
||||
dialog.add_response(response, button.label);
|
||||
|
||||
buttons.forEach((button, i) => {
|
||||
const response = i.toString();
|
||||
dialog.add_response(response, button.label);
|
||||
if (button.default) {
|
||||
dialog.set_default_response(response);
|
||||
dialog.set_close_response(response);
|
||||
}
|
||||
|
||||
if (button.default) {
|
||||
dialog.set_default_response(response);
|
||||
dialog.set_close_response(response);
|
||||
}
|
||||
|
||||
if (button.destructive) {
|
||||
dialog.set_response_appearance(response, Adw.ResponseAppearance.DESTRUCTIVE);
|
||||
}
|
||||
});
|
||||
|
||||
} else {
|
||||
|
||||
dialog = new Gtk.MessageDialog({
|
||||
text: title,
|
||||
secondary_text: message,
|
||||
secondary_use_markup: true,
|
||||
modal: true,
|
||||
title: '',
|
||||
});
|
||||
|
||||
buttons.forEach((button, i) => {
|
||||
dialog.add_button(button.label, i);
|
||||
|
||||
if (button.default) {
|
||||
dialog.set_default_response(i);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (utils.isGTK4()) {
|
||||
dialog.set_hide_on_close(true);
|
||||
}
|
||||
if (button.destructive) {
|
||||
dialog.set_response_appearance(response, Adw.ResponseAppearance.DESTRUCTIVE);
|
||||
}
|
||||
});
|
||||
|
||||
dialog.set_hide_on_close(true);
|
||||
dialog.set_transient_for(window);
|
||||
|
||||
// If the dialog is closed or a button is clicked, we hide the dialog and call the
|
||||
@@ -1043,25 +902,3 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
||||
return dialog;
|
||||
}
|
||||
}
|
||||
|
||||
// This is used for setting up the translations.
|
||||
function init() {
|
||||
ExtensionUtils.initTranslations();
|
||||
}
|
||||
|
||||
// This function is called when the preferences window is created to build and return a
|
||||
// Gtk widget. We create a new instance of the PreferencesDialog class each time this
|
||||
// method is called. This way we can actually open multiple settings windows and interact
|
||||
// with all of them properly.
|
||||
function buildPrefsWidget() {
|
||||
var dialog = new PreferencesDialog();
|
||||
return dialog.getWidget();
|
||||
}
|
||||
|
||||
// If using libadwaita, this method is called. In this case, the primary widget of the
|
||||
// preferences dialog is an Adw.PreferencesPage, which we directly add to the window.
|
||||
function fillPreferencesWindow(window) {
|
||||
window.set_default_size(650, 750);
|
||||
var dialog = new PreferencesDialog();
|
||||
window.add(dialog.getWidget());
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -1,281 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkAdjustment" id="apparition-animation-time">
|
||||
<property name="upper">2000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">10</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="apparition-randomness">
|
||||
<property name="upper">1</property>
|
||||
<property name="lower">0</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="apparition-twirl-intensity">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">-10</property>
|
||||
<property name="step-increment">0.1</property>
|
||||
<property name="page-increment">1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="apparition-shake-intensity">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0</property>
|
||||
<property name="step-increment">0.1</property>
|
||||
<property name="page-increment">1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="apparition-suction-intensity">
|
||||
<property name="upper">1</property>
|
||||
<property name="lower">0</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkRevealer" id="apparition-prefs">
|
||||
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">apparition-animation-time</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-apparition-animation-time">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Randomness</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">apparition-randomness</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-apparition-randomness">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Twirl Intensity</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">1</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">apparition-twirl-intensity</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-apparition-twirl-intensity">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Shake Intensity</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">1</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">apparition-shake-intensity</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-apparition-shake-intensity">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Suction Intensity</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">apparition-suction-intensity</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-apparition-suction-intensity">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,229 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkAdjustment" id="doom-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="doom-horizontal-scale">
|
||||
<property name="upper">50</property>
|
||||
<property name="lower">1</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">10</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="doom-vertical-scale">
|
||||
<property name="upper">50</property>
|
||||
<property name="lower">1</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">10</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="doom-pixel-size">
|
||||
<property name="upper">50</property>
|
||||
<property name="lower">1</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">10</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkRevealer" id="doom-prefs">
|
||||
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">doom-animation-time</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-doom-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">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Horizontal Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">doom-horizontal-scale</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-doom-horizontal-scale">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Vertical Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">doom-vertical-scale</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-doom-vertical-scale">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Pixel Size</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">doom-pixel-size</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-doom-pixel-size">
|
||||
<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>
|
||||
@@ -1,167 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkAdjustment" id="energize-a-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="energize-a-scale">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkRevealer" id="energize-a-prefs">
|
||||
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">energize-a-animation-time</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-energize-a-animation-time">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">energize-a-scale</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-energize-a-scale">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="energize-a-color">
|
||||
<property name="use_alpha">0</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-energize-a-color">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,168 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkAdjustment" id="energize-b-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="energize-b-scale">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkRevealer" id="energize-b-prefs">
|
||||
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">energize-b-animation-time</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-energize-b-animation-time">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">energize-b-scale</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-energize-b-scale">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="energize-b-color">
|
||||
<property name="use_alpha">0</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-energize-b-color">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,337 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkAdjustment" id="fire-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="fire-scale">
|
||||
<property name="upper">3</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="fire-movement-speed">
|
||||
<property name="upper">2.0</property>
|
||||
<property name="lower">-2.0</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkRevealer" id="fire-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">Presets</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuButton" id="fire-preset-button">
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Choose a Preset</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">pan-down-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">fire-animation-time</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-fire-animation-time">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">fire-scale</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-fire-scale">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Speed</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">fire-movement-speed</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-fire-movement-speed">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">3</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">3D Noise</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Creates a more dynamic fire but requires more GPU power.</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
<style>
|
||||
<class name="dim-label" />
|
||||
<class name="caption" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="fire-3d-noise">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin-end">8</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-fire-3d-noise">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Gradient</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="fire-color-1">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="fire-color-2">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="fire-color-3">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="fire-color-4">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="fire-color-5">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-fire-colors">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,281 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkAdjustment" id="glide-animation-time">
|
||||
<property name="upper">2000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="glide-scale">
|
||||
<property name="upper">1</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="glide-squish">
|
||||
<property name="upper">1</property>
|
||||
<property name="lower">0</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="glide-tilt">
|
||||
<property name="upper">1</property>
|
||||
<property name="lower">-1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="glide-shift">
|
||||
<property name="upper">1</property>
|
||||
<property name="lower">-1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkRevealer" id="glide-prefs">
|
||||
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">glide-animation-time</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-glide-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">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">glide-scale</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-glide-scale">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Squish</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">glide-squish</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-glide-squish">
|
||||
<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">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Tilt</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">glide-tilt</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-glide-tilt">
|
||||
<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">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Shift</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">glide-shift</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-glide-shift">
|
||||
<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>
|
||||
@@ -1,271 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkAdjustment" id="glitch-animation-time">
|
||||
<property name="upper">2000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="glitch-scale">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="glitch-strength">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="glitch-speed">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkRevealer" id="glitch-prefs">
|
||||
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">glitch-animation-time</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-glitch-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">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">glitch-scale</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-glitch-scale">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Strength</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">glitch-strength</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-glitch-strength">
|
||||
<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">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Speed</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">glitch-speed</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-glitch-speed">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="glitch-color">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-glitch-color">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,320 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkAdjustment" id="hexagon-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="hexagon-scale">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="hexagon-line-width">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0</property>
|
||||
<property name="step-increment">0.1</property>
|
||||
<property name="page-increment">1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkRevealer" id="hexagon-prefs">
|
||||
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">hexagon-animation-time</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-hexagon-animation-time">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">hexagon-scale</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-hexagon-scale">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Mesh Line Width</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">1</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">hexagon-line-width</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-hexagon-line-width">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Line Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="hexagon-line-color">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-hexagon-line-color">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Glow Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="hexagon-glow-color">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-hexagon-glow-color">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">3</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Additive Blending</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">You may want to enable this for dark window themes.</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
<style>
|
||||
<class name="dim-label" />
|
||||
<class name="caption" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="hexagon-additive-blending">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin-end">8</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-hexagon-additive-blending">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,278 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkAdjustment" id="incinerate-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="incinerate-scale">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="incinerate-turbulence">
|
||||
<property name="upper">1</property>
|
||||
<property name="lower">0</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkRevealer" id="incinerate-prefs">
|
||||
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">incinerate-animation-time</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-incinerate-animation-time">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">incinerate-scale</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-incinerate-scale">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Turbulence</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">incinerate-turbulence</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-incinerate-turbulence">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">3</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Start at Pointer</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">If disabled, a random location will be chosen.</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
<style>
|
||||
<class name="dim-label" />
|
||||
<class name="caption" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="incinerate-use-pointer">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin-end">8</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-incinerate-use-pointer">
|
||||
<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">Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="incinerate-color">
|
||||
<property name="use_alpha">0</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-incinerate-color">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,177 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkAdjustment" id="pixel-wheel-animation-time">
|
||||
<property name="upper">2000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="pixel-wheel-spoke-count">
|
||||
<property name="upper">50</property>
|
||||
<property name="lower">1</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">10</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="pixel-wheel-pixel-size">
|
||||
<property name="upper">50</property>
|
||||
<property name="lower">1</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">10</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkRevealer" id="pixel-wheel-prefs">
|
||||
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">pixel-wheel-animation-time</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-pixel-wheel-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">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Spoke Count</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">pixel-wheel-spoke-count</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-pixel-wheel-spoke-count">
|
||||
<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">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Pixel Size</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">pixel-wheel-pixel-size</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-pixel-wheel-pixel-size">
|
||||
<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>
|
||||
@@ -1,132 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkAdjustment" id="pixel-wipe-animation-time">
|
||||
<property name="upper">5000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="pixel-wipe-direction">
|
||||
<property name="upper">360</property>
|
||||
<property name="lower">0</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">10</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="pixel-wipe-pixel-size">
|
||||
<property name="upper">50</property>
|
||||
<property name="lower">1</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">10</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkRevealer" id="pixel-wipe-prefs">
|
||||
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">pixel-wipe-animation-time</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-pixel-wipe-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">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Pixel Size</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">pixel-wipe-pixel-size</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-pixel-wipe-pixel-size">
|
||||
<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>
|
||||
@@ -1,177 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkAdjustment" id="pixelate-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="pixelate-noise">
|
||||
<property name="upper">100</property>
|
||||
<property name="lower">1</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">10</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="pixelate-pixel-size">
|
||||
<property name="upper">50</property>
|
||||
<property name="lower">1</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">10</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkRevealer" id="pixelate-prefs">
|
||||
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">pixelate-animation-time</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-pixelate-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">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Noise</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="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">pixelate-noise</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-pixelate-noise">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Pixel Size</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">pixelate-pixel-size</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-pixelate-pixel-size">
|
||||
<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>
|
||||
@@ -1,271 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkAdjustment" id="portal-animation-time">
|
||||
<property name="upper">5000</property>
|
||||
<property name="lower">500</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="portal-rotation-speed">
|
||||
<property name="upper">2</property>
|
||||
<property name="lower">-2</property>
|
||||
<property name="step-increment">0.1</property>
|
||||
<property name="page-increment">1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="portal-whirling">
|
||||
<property name="upper">2</property>
|
||||
<property name="lower">-2</property>
|
||||
<property name="step-increment">0.1</property>
|
||||
<property name="page-increment">1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="portal-details">
|
||||
<property name="upper">100</property>
|
||||
<property name="lower">1</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">10</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkRevealer" id="portal-prefs">
|
||||
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">portal-animation-time</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-portal-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">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Rotation Speed</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">portal-rotation-speed</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-portal-rotation-speed">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Whirling</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">portal-whirling</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-portal-whirling">
|
||||
<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">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Details</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">1</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">portal-details</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-portal-details">
|
||||
<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">Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="portal-color">
|
||||
<property name="use_alpha">0</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-portal-color">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,519 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
<requires lib="gtk" version="3.0" />
|
||||
|
||||
<!-- This will be added to the header bar. -->
|
||||
<object class="GtkMenuButton" id="menu-button">
|
||||
<property name="menu-model">main-menu</property>
|
||||
<property name="visible">1</property>
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">heart-filled-symbolic</property>
|
||||
<property name="visible">1</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
||||
<!-- This will be added to the header bar. -->
|
||||
<object class="GtkBox" id="profile-button">
|
||||
<property name="halign">center</property>
|
||||
<property name="visible">1</property>
|
||||
<child>
|
||||
<object class="GtkMenuButton">
|
||||
<property name="menu-model">profile-menu</property>
|
||||
<property name="visible">1</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">1</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="choose-profile-button">
|
||||
<property name="visible">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">pan-down-symbolic</property>
|
||||
<property name="visible">1</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToggleButton" id="edit-profile-button">
|
||||
<property name="valign">center</property>
|
||||
<property name="visible">1</property>
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">bmw-edit-profile-symbolic</property>
|
||||
<property name="visible">1</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<style>
|
||||
<class name="linked" />
|
||||
</style>
|
||||
</object>
|
||||
|
||||
<object class="GtkStack" id="general-prefs">
|
||||
<property name="transition-type">over-down-up</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkBox" id="effect-editor">
|
||||
<property name="orientation">vertical</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkInfoBar" id="update-info">
|
||||
<property name="message-type">info</property>
|
||||
<property name="revealed">false</property>
|
||||
<property name="show-close-button">true</property>
|
||||
<child internal-child="content_area">
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Burn-My-Windows has been updated!</property>
|
||||
<property name="margin-start">6</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child internal-child="action_area">
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkButton" id="update-info-button">
|
||||
<property name="label" translatable="yes">View Changelog</property>
|
||||
<property name="action-name">prefs.changelog</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<action-widgets>
|
||||
<action-widget response="-1">update-info-button</action-widget>
|
||||
</action-widgets>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkScrolledWindow">
|
||||
<property name="hscrollbar-policy">never</property>
|
||||
<property name="vexpand">true</property>
|
||||
<child>
|
||||
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="margin-top">20</property>
|
||||
<property name="margin-bottom">20</property>
|
||||
<property name="margin-start">20</property>
|
||||
<property name="margin-end">20</property>
|
||||
<property name="spacing">5</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">5</property>
|
||||
<property name="hexpand">true</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Effect Selection</property>
|
||||
<property name="halign">start</property>
|
||||
<style>
|
||||
<class name="heading" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">If multiple are selected, one is chosen randomly.</property>
|
||||
<property name="halign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="valign">center</property>
|
||||
<style>
|
||||
<class name="linked" />
|
||||
</style>
|
||||
|
||||
<child>
|
||||
<object class="GtkButton" id="choose-all-effects-button">
|
||||
<property name="label" translatable="yes">All</property>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkButton" id="choose-no-effects-button">
|
||||
<property name="label" translatable="yes">None</property>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkFrame">
|
||||
<child>
|
||||
<object class="GtkListBox" id="effects-group">
|
||||
<property name="selection-mode">none</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkBox" id="profile-editor">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="margin-top">20</property>
|
||||
<property name="margin-bottom">20</property>
|
||||
<property name="margin-start">20</property>
|
||||
<property name="margin-end">20</property>
|
||||
<property name="spacing">5</property>
|
||||
<style>
|
||||
<class name="background" />
|
||||
</style>
|
||||
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Effect Profile Constraints</property>
|
||||
<property name="halign">start</property>
|
||||
<style>
|
||||
<class name="heading" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Define when the current effect settings should be used.</property>
|
||||
<property name="halign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkFrame">
|
||||
<property name="margin-top">5</property>
|
||||
<property name="margin-bottom">15</property>
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
<!-- <property name="show-separators">1</property> -->
|
||||
<style>
|
||||
<class name="rich-list" />
|
||||
</style>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Application</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="GtkBox">
|
||||
|
||||
<property name="valign">center</property>
|
||||
<style>
|
||||
<class name="linked" />
|
||||
</style>
|
||||
|
||||
<child>
|
||||
<object class="GtkEntry" id="profile-app">
|
||||
<property name="width-request">300</property>
|
||||
<property name="placeholder-text" translatable="yes">Any</property>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkButton" id="profile-choose-app-button">
|
||||
<property name="valign">center</property>
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">bmw-select-app-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Animation Type</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="GtkComboBoxText" id="profile-animation-type">
|
||||
<property name="width-request">200</property>
|
||||
<items>
|
||||
<item translatable="yes">Any</item>
|
||||
<item translatable="yes">Opening Windows</item>
|
||||
<item translatable="yes">Closing Windows</item>
|
||||
</items>
|
||||
</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">Window Type</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="GtkComboBoxText" id="profile-window-type">
|
||||
<property name="width-request">200</property>
|
||||
<items>
|
||||
<item translatable="yes">Any</item>
|
||||
<item translatable="yes">Normal Windows</item>
|
||||
<item translatable="yes">Dialog Windows</item>
|
||||
</items>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Color Scheme</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="GtkComboBoxText" id="profile-color-scheme">
|
||||
<property name="width-request">200</property>
|
||||
<items>
|
||||
<item translatable="yes">Any</item>
|
||||
<item translatable="yes">Default Color Scheme</item>
|
||||
<item translatable="yes">Dark Color Scheme</item>
|
||||
</items>
|
||||
</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">Power Mode</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="GtkComboBoxText" id="profile-power-mode">
|
||||
<property name="width-request">200</property>
|
||||
<items>
|
||||
<item translatable="yes">Any</item>
|
||||
<item translatable="yes">On Battery</item>
|
||||
<item translatable="yes">Plugged In</item>
|
||||
</items>
|
||||
</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">Power Profile</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="GtkComboBoxText" id="profile-power-profile">
|
||||
<property name="width-request">200</property>
|
||||
<items>
|
||||
<item translatable="yes">Any</item>
|
||||
<item translatable="yes">Power-Saver Mode</item>
|
||||
<item translatable="yes">Balanced Mode</item>
|
||||
<item translatable="yes">Performance Mode</item>
|
||||
<item translatable="yes">Power Saver or Balanced</item>
|
||||
<item translatable="yes">Balanced or Performance</item>
|
||||
</items>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Advanced Profile Options</property>
|
||||
<property name="halign">start</property>
|
||||
<style>
|
||||
<class name="heading" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkFrame">
|
||||
<property name="margin-top">5</property>
|
||||
<property name="margin-bottom">15</property>
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
<!-- <property name="show-separators">1</property> -->
|
||||
<style>
|
||||
<class name="rich-list" />
|
||||
</style>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">3</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">High Priority</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Use this profile even if there are better matching profiles.</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
<property name="ellipsize">end</property>
|
||||
<style>
|
||||
<class name="dim-label" />
|
||||
<class name="caption" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="profile-high-priority">
|
||||
<property name="valign">center</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkButton">
|
||||
<property name="action-name">prefs.profile-delete</property>
|
||||
<property name="label" translatable="yes">Delete this Profile...</property>
|
||||
<property name="halign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,271 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkAdjustment" id="tv-glitch-animation-time">
|
||||
<property name="upper">2000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="tv-glitch-scale">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="tv-glitch-strength">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="tv-glitch-speed">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkRevealer" id="tv-glitch-prefs">
|
||||
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">tv-glitch-animation-time</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-tv-glitch-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">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">tv-glitch-scale</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-tv-glitch-scale">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Strength</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">tv-glitch-strength</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-tv-glitch-strength">
|
||||
<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">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Speed</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">tv-glitch-speed</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-tv-glitch-speed">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="tv-glitch-color">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-tv-glitch-color">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,115 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkAdjustment" id="tv-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkRevealer" id="tv-prefs">
|
||||
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">tv-animation-time</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-tv-animation-time">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="tv-effect-color">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-tv-effect-color">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,175 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkAdjustment" id="wisps-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkAdjustment" id="wisps-scale">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
|
||||
<object class="GtkRevealer" id="wisps-prefs">
|
||||
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">wisps-animation-time</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-wisps-animation-time">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">wisps-scale</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-wisps-scale">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="spacing">8</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="wisps-color-1">
|
||||
<property name="show_editor">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="wisps-color-2">
|
||||
<property name="show_editor">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="wisps-color-3">
|
||||
<property name="show_editor">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-wisps-colors">
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,249 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkRevealer" id="apparition-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">
|
||||
<object class="GtkAdjustment" id="apparition-animation-time">
|
||||
<property name="upper">2000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">10</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-apparition-animation-time">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Randomness</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="apparition-randomness">
|
||||
<property name="upper">1</property>
|
||||
<property name="lower">0</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-apparition-randomness">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Twirl Intensity</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">1</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="apparition-twirl-intensity">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">-10</property>
|
||||
<property name="step-increment">0.1</property>
|
||||
<property name="page-increment">1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-apparition-twirl-intensity">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Shake Intensity</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">1</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="apparition-shake-intensity">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0</property>
|
||||
<property name="step-increment">0.1</property>
|
||||
<property name="page-increment">1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-apparition-shake-intensity">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Suction Intensity</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="apparition-suction-intensity">
|
||||
<property name="upper">1</property>
|
||||
<property name="lower">0</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-apparition-suction-intensity">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,259 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkRevealer" id="broken-glass-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">
|
||||
<object class="GtkAdjustment" id="broken-glass-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-broken-glass-animation-time">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="broken-glass-scale">
|
||||
<property name="upper">5</property>
|
||||
<property name="lower">0.2</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-broken-glass-scale">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Gravity</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="broken-glass-gravity">
|
||||
<property name="upper">2.0</property>
|
||||
<property name="lower">-2.0</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-broken-glass-gravity">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Blow Force</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="broken-glass-blow-force">
|
||||
<property name="upper">2.0</property>
|
||||
<property name="lower">-2.0</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-broken-glass-blow-force">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">3</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Shatter From Pointer Location</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">The shards will fly away from where your mouse pointer was when closing the window.</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
<property name="wrap">1</property>
|
||||
<style>
|
||||
<class name="dim-label" />
|
||||
<class name="caption" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="broken-glass-use-pointer">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-broken-glass-use-pointer">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,203 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkRevealer" id="doom-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">
|
||||
<object class="GtkAdjustment" id="doom-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-doom-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">Horizontal Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="doom-horizontal-scale">
|
||||
<property name="upper">50</property>
|
||||
<property name="lower">1</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">10</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-doom-horizontal-scale">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Vertical Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="doom-vertical-scale">
|
||||
<property name="upper">50</property>
|
||||
<property name="lower">1</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">10</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-doom-vertical-scale">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Pixel Size</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="doom-pixel-size">
|
||||
<property name="upper">50</property>
|
||||
<property name="lower">1</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">10</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-doom-pixel-size">
|
||||
<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>
|
||||
@@ -1,150 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkRevealer" id="energize-a-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">
|
||||
<object class="GtkAdjustment" id="energize-a-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-energize-a-animation-time">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="energize-a-scale">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-energize-a-scale">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="energize-a-color">
|
||||
<property name="use_alpha">0</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-energize-a-color">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,150 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkRevealer" id="energize-b-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">
|
||||
<object class="GtkAdjustment" id="energize-b-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-energize-b-animation-time">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="energize-b-scale">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-energize-b-scale">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="energize-b-color">
|
||||
<property name="use_alpha">0</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-energize-b-color">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,295 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkRevealer" id="fire-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">Presets</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuButton" id="fire-preset-button">
|
||||
<property name="label" translatable="yes">Choose a Preset</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Animation Time [ms]</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="fire-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-fire-animation-time">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="fire-scale">
|
||||
<property name="upper">3</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-fire-scale">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Speed</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="fire-movement-speed">
|
||||
<property name="upper">2.0</property>
|
||||
<property name="lower">-2.0</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-fire-movement-speed">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">3</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">3D Noise</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Creates a more dynamic fire but requires more GPU power.</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
<style>
|
||||
<class name="dim-label" />
|
||||
<class name="caption" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="fire-3d-noise">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-fire-3d-noise">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Gradient</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="fire-color-1">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="fire-color-2">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="fire-color-3">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="fire-color-4">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="fire-color-5">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-end">8</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-fire-colors">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,252 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkRevealer" id="glide-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">
|
||||
<object class="GtkAdjustment" id="glide-animation-time">
|
||||
<property name="upper">2000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-glide-animation-time">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="glide-scale">
|
||||
<property name="upper">1</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-glide-scale">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Squish</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="glide-squish">
|
||||
<property name="upper">1</property>
|
||||
<property name="lower">0</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-glide-squish">
|
||||
<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">Tilt</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="glide-tilt">
|
||||
<property name="upper">1</property>
|
||||
<property name="lower">-1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-glide-tilt">
|
||||
<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">Shift</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="glide-shift">
|
||||
<property name="upper">1</property>
|
||||
<property name="lower">-1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-glide-shift">
|
||||
<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>
|
||||
@@ -1,242 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkRevealer" id="glitch-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">
|
||||
<object class="GtkAdjustment" id="glitch-animation-time">
|
||||
<property name="upper">2000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-glitch-animation-time">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="glitch-scale">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-glitch-scale">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Strength</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="glitch-strength">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-glitch-strength">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Speed</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="glitch-speed">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-glitch-speed">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="glitch-color">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-glitch-color">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,288 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkRevealer" id="hexagon-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">
|
||||
<object class="GtkAdjustment" id="hexagon-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-hexagon-animation-time">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="hexagon-scale">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-hexagon-scale">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Mesh Line Width</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">1</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="hexagon-line-width">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0</property>
|
||||
<property name="step-increment">0.1</property>
|
||||
<property name="page-increment">1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-hexagon-line-width">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Line Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="hexagon-line-color">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-hexagon-line-color">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Glow Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="hexagon-glow-color">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-hexagon-glow-color">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">3</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Additive Blending</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">You may want to enable this for dark window themes.</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
<style>
|
||||
<class name="dim-label" />
|
||||
<class name="caption" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="hexagon-additive-blending">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-hexagon-additive-blending">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,251 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkRevealer" id="incinerate-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">
|
||||
<object class="GtkAdjustment" id="incinerate-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-incinerate-animation-time">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="incinerate-scale">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-incinerate-scale">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Turbulence</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="incinerate-turbulence">
|
||||
<property name="upper">1</property>
|
||||
<property name="lower">0</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-incinerate-turbulence">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">3</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Start at Pointer</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">If disabled, a random location will be chosen.</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
<style>
|
||||
<class name="dim-label" />
|
||||
<class name="caption" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="incinerate-use-pointer">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-incinerate-use-pointer">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="incinerate-color">
|
||||
<property name="use_alpha">0</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-incinerate-color">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,279 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkRevealer" id="matrix-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">
|
||||
<object class="GtkAdjustment" id="matrix-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-matrix-animation-time">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="matrix-scale">
|
||||
<property name="upper">50</property>
|
||||
<property name="lower">5</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">5</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-matrix-scale">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Randomness</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="matrix-randomness">
|
||||
<property name="upper">1.0</property>
|
||||
<property name="lower">0.0</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-matrix-randomness">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Vertical Overshooting</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="matrix-overshoot">
|
||||
<property name="upper">1.0</property>
|
||||
<property name="lower">0.0</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-matrix-overshoot">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Trail Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="matrix-trail-color">
|
||||
<property name="use_alpha">0</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-matrix-trail-color">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Tip Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="matrix-tip-color">
|
||||
<property name="use_alpha">0</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-matrix-tip-color">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</interface>
|
||||
@@ -1,113 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkRevealer" id="paint-brush-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">
|
||||
<object class="GtkAdjustment" id="paint-brush-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-paint-brush-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">Brush Size</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="paint-brush-size">
|
||||
<property name="upper">4</property>
|
||||
<property name="lower">1</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-paint-brush-size">
|
||||
<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>
|
||||
@@ -1,159 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkRevealer" id="pixel-wheel-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">
|
||||
<object class="GtkAdjustment" id="pixel-wheel-animation-time">
|
||||
<property name="upper">2000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-pixel-wheel-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">Spoke Count</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="pixel-wheel-spoke-count">
|
||||
<property name="upper">50</property>
|
||||
<property name="lower">1</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">10</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-pixel-wheel-spoke-count">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Pixel Size</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="pixel-wheel-pixel-size">
|
||||
<property name="upper">50</property>
|
||||
<property name="lower">1</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">10</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-pixel-wheel-pixel-size">
|
||||
<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>
|
||||
@@ -1,113 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkRevealer" id="pixel-wipe-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">
|
||||
<object class="GtkAdjustment" id="pixel-wipe-animation-time">
|
||||
<property name="upper">5000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-pixel-wipe-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">Pixel Size</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="pixel-wipe-pixel-size">
|
||||
<property name="upper">50</property>
|
||||
<property name="lower">1</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">10</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-pixel-wipe-pixel-size">
|
||||
<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>
|
||||
@@ -1,159 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkRevealer" id="pixelate-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">
|
||||
<object class="GtkAdjustment" id="pixelate-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-pixelate-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">Noise</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="pixelate-noise">
|
||||
<property name="upper">100</property>
|
||||
<property name="lower">1</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">10</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-pixelate-noise">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Pixel Size</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="pixelate-pixel-size">
|
||||
<property name="upper">50</property>
|
||||
<property name="lower">1</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">10</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-pixelate-pixel-size">
|
||||
<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>
|
||||
@@ -1,242 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkRevealer" id="portal-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">
|
||||
<object class="GtkAdjustment" id="portal-animation-time">
|
||||
<property name="upper">5000</property>
|
||||
<property name="lower">500</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-portal-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">Whirling</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="portal-whirling">
|
||||
<property name="upper">2</property>
|
||||
<property name="lower">-2</property>
|
||||
<property name="step-increment">0.1</property>
|
||||
<property name="page-increment">1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-portal-whirling">
|
||||
<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">Rotation Speed</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="portal-rotation-speed">
|
||||
<property name="upper">2</property>
|
||||
<property name="lower">-2</property>
|
||||
<property name="step-increment">0.1</property>
|
||||
<property name="page-increment">1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-portal-rotation-speed">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Details</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">1</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="portal-details">
|
||||
<property name="upper">100</property>
|
||||
<property name="lower">1</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">10</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-portal-details">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="portal-color">
|
||||
<property name="use_alpha">0</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-portal-color">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,475 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
<requires lib="gtk" version="4.0" />
|
||||
|
||||
<!-- This will be added to the header bar. -->
|
||||
<object class="GtkMenuButton" id="menu-button">
|
||||
<property name="menu-model">main-menu</property>
|
||||
<property name="icon-name">heart-filled-symbolic</property>
|
||||
</object>
|
||||
|
||||
<!-- This will be added to the header bar. -->
|
||||
<object class="GtkBox" id="profile-button">
|
||||
<property name="halign">center</property>
|
||||
<child>
|
||||
<object class="GtkMenuButton" id="choose-profile-button">
|
||||
<property name="menu-model">profile-menu</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToggleButton" id="edit-profile-button">
|
||||
<property name="icon-name">bmw-edit-profile-symbolic</property>
|
||||
<property name="valign">center</property>
|
||||
</object>
|
||||
</child>
|
||||
<style>
|
||||
<class name="linked" />
|
||||
</style>
|
||||
</object>
|
||||
|
||||
<object class="GtkStack" id="general-prefs">
|
||||
<property name="transition-type">over-down-up</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkBox" id="effect-editor">
|
||||
<property name="orientation">vertical</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkInfoBar" id="update-info">
|
||||
<property name="message-type">info</property>
|
||||
<property name="revealed">false</property>
|
||||
<property name="show-close-button">true</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Burn-My-Windows has been updated!</property>
|
||||
<property name="margin-start">6</property>
|
||||
</object>
|
||||
</child>
|
||||
<child type="action">
|
||||
<object class="GtkButton" id="update-info-button">
|
||||
<property name="label" translatable="yes">View Changelog</property>
|
||||
<property name="action-name">prefs.changelog</property>
|
||||
</object>
|
||||
</child>
|
||||
<action-widgets>
|
||||
<action-widget response="-1">update-info-button</action-widget>
|
||||
</action-widgets>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkScrolledWindow">
|
||||
<property name="hscrollbar-policy">never</property>
|
||||
<property name="vexpand">true</property>
|
||||
<property name="child">
|
||||
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="margin-top">20</property>
|
||||
<property name="margin-bottom">20</property>
|
||||
<property name="margin-start">20</property>
|
||||
<property name="margin-end">20</property>
|
||||
<property name="spacing">5</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">5</property>
|
||||
<property name="hexpand">true</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Effect Selection</property>
|
||||
<property name="halign">start</property>
|
||||
<style>
|
||||
<class name="heading" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">If multiple are selected, one is chosen randomly.</property>
|
||||
<property name="halign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="valign">center</property>
|
||||
<style>
|
||||
<class name="linked" />
|
||||
</style>
|
||||
|
||||
<child>
|
||||
<object class="GtkButton" id="choose-all-effects-button">
|
||||
<property name="label" translatable="yes">All</property>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkButton" id="choose-no-effects-button">
|
||||
<property name="label" translatable="yes">None</property>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkFrame">
|
||||
<property name="margin-top">6</property>
|
||||
<child>
|
||||
<object class="GtkListBox" id="effects-group">
|
||||
<property name="selection-mode">none</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</property>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkBox" id="profile-editor">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="margin-top">20</property>
|
||||
<property name="margin-bottom">20</property>
|
||||
<property name="margin-start">20</property>
|
||||
<property name="margin-end">20</property>
|
||||
<property name="spacing">5</property>
|
||||
<style>
|
||||
<class name="background" />
|
||||
</style>
|
||||
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Effect Profile Constraints</property>
|
||||
<property name="halign">start</property>
|
||||
<style>
|
||||
<class name="heading" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Define when the current effect settings should be used.</property>
|
||||
<property name="halign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkFrame">
|
||||
<property name="margin-top">5</property>
|
||||
<property name="margin-bottom">15</property>
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
<property name="show-separators">1</property>
|
||||
<style>
|
||||
<class name="rich-list" />
|
||||
</style>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Application</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="GtkBox">
|
||||
|
||||
<property name="valign">center</property>
|
||||
<style>
|
||||
<class name="linked" />
|
||||
</style>
|
||||
|
||||
<child>
|
||||
<object class="GtkEntry" id="profile-app">
|
||||
<property name="width-request">300</property>
|
||||
<property name="placeholder-text" translatable="yes">Any</property>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkButton" id="profile-choose-app-button">
|
||||
<property name="icon-name">bmw-select-app-symbolic</property>
|
||||
<property name="valign">center</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Animation Type</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="GtkComboBoxText" id="profile-animation-type">
|
||||
<property name="width-request">200</property>
|
||||
<items>
|
||||
<item translatable="yes">Any</item>
|
||||
<item translatable="yes">Opening Windows</item>
|
||||
<item translatable="yes">Closing Windows</item>
|
||||
</items>
|
||||
</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">Window Type</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="GtkComboBoxText" id="profile-window-type">
|
||||
<property name="width-request">200</property>
|
||||
<items>
|
||||
<item translatable="yes">Any</item>
|
||||
<item translatable="yes">Normal Windows</item>
|
||||
<item translatable="yes">Dialog Windows</item>
|
||||
</items>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Color Scheme</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="GtkComboBoxText" id="profile-color-scheme">
|
||||
<property name="width-request">200</property>
|
||||
<items>
|
||||
<item translatable="yes">Any</item>
|
||||
<item translatable="yes">Default Color Scheme</item>
|
||||
<item translatable="yes">Dark Color Scheme</item>
|
||||
</items>
|
||||
</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">Power Mode</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="GtkComboBoxText" id="profile-power-mode">
|
||||
<property name="width-request">200</property>
|
||||
<items>
|
||||
<item translatable="yes">Any</item>
|
||||
<item translatable="yes">On Battery</item>
|
||||
<item translatable="yes">Plugged In</item>
|
||||
</items>
|
||||
</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">Power Profile</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="GtkComboBoxText" id="profile-power-profile">
|
||||
<property name="width-request">200</property>
|
||||
<items>
|
||||
<item translatable="yes">Any</item>
|
||||
<item translatable="yes">Power-Saver Mode</item>
|
||||
<item translatable="yes">Balanced Mode</item>
|
||||
<item translatable="yes">Performance Mode</item>
|
||||
<item translatable="yes">Power Saver or Balanced</item>
|
||||
<item translatable="yes">Balanced or Performance</item>
|
||||
</items>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Advanced Profile Options</property>
|
||||
<property name="halign">start</property>
|
||||
<style>
|
||||
<class name="heading" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkFrame">
|
||||
<property name="margin-top">5</property>
|
||||
<property name="margin-bottom">15</property>
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
<property name="show-separators">1</property>
|
||||
<style>
|
||||
<class name="rich-list" />
|
||||
</style>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">3</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">High Priority</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Use this profile even if there are better matching profiles.</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
<property name="ellipsize">end</property>
|
||||
<style>
|
||||
<class name="dim-label" />
|
||||
<class name="caption" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="profile-high-priority">
|
||||
<property name="valign">center</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkButton">
|
||||
<property name="action-name">prefs.profile-delete</property>
|
||||
<property name="label" translatable="yes">Delete this Profile...</property>
|
||||
<property name="halign">start</property>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,150 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkRevealer" id="snap-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">
|
||||
<object class="GtkAdjustment" id="snap-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">500</property>
|
||||
<property name="step-increment">10</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-snap-animation-time">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="snap-scale">
|
||||
<property name="upper">20</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-snap-scale">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="snap-color">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-snap-color">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,242 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkRevealer" id="trex-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">
|
||||
<object class="GtkAdjustment" id="trex-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-trex-animation-time">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Claw Scratch Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">1</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="trex-scratch-scale">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.1</property>
|
||||
<property name="page-increment">1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-trex-scratch-scale">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Claw Scratch Count</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="trex-scratch-count">
|
||||
<property name="upper">50</property>
|
||||
<property name="lower">1</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">10</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-trex-scratch-count">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Warp Effect</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="trex-scratch-warp">
|
||||
<property name="upper">1</property>
|
||||
<property name="lower">0</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-trex-scratch-warp">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Flash Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="trex-scratch-color">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-trex-scratch-color">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,242 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkRevealer" id="tv-glitch-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">
|
||||
<object class="GtkAdjustment" id="tv-glitch-animation-time">
|
||||
<property name="upper">2000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-tv-glitch-animation-time">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="tv-glitch-scale">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-tv-glitch-scale">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Strength</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="tv-glitch-strength">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-tv-glitch-strength">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Speed</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="tv-glitch-speed">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-tv-glitch-speed">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="tv-glitch-color">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-tv-glitch-color">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,104 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkRevealer" id="tv-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">
|
||||
<object class="GtkAdjustment" id="tv-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-tv-animation-time">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="tv-effect-color">
|
||||
<property name="use_alpha">1</property>
|
||||
<property name="show_editor">1</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="width-request">250</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-tv-effect-color">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -1,156 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<interface domain="burn-my-windows">
|
||||
|
||||
<object class="GtkRevealer" id="wisps-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">
|
||||
<object class="GtkAdjustment" id="wisps-animation-time">
|
||||
<property name="upper">10000</property>
|
||||
<property name="lower">100</property>
|
||||
<property name="step-increment">1</property>
|
||||
<property name="page-increment">100</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-wisps-animation-time">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Scale</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScale">
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="draw-value">1</property>
|
||||
<property name="digits">2</property>
|
||||
<property name="value-pos">left</property>
|
||||
<property name="width-request">300</property>
|
||||
<property name="adjustment">
|
||||
<object class="GtkAdjustment" id="wisps-scale">
|
||||
<property name="upper">10</property>
|
||||
<property name="lower">0.1</property>
|
||||
<property name="step-increment">0.01</property>
|
||||
<property name="page-increment">0.1</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-wisps-scale">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="activatable">0</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Color</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="hexpand">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="wisps-color-1">
|
||||
<property name="show_editor">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="wisps-color-2">
|
||||
<property name="show_editor">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkColorButton" id="wisps-color-3">
|
||||
<property name="show_editor">1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="reset-wisps-colors">
|
||||
<property name="icon-name">edit-clear-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Reset to Default Value</property>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
|
||||
</interface>
|
||||
@@ -14,13 +14,8 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const {Gio, GLib, GObject} = imports.gi;
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
||||
const utils = Me.imports.src.utils;
|
||||
import Gio from 'gi://Gio';
|
||||
import GLib from 'gi://GLib';
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Burn-My-Windows allows applying different sets of effect settings under specific //
|
||||
@@ -31,10 +26,12 @@ const utils = Me.imports.src.utils;
|
||||
// via Gio.Settings objects. //
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var ProfileManager = class {
|
||||
export class ProfileManager {
|
||||
// ------------------------------------------------------------------------- constructor
|
||||
|
||||
constructor() {
|
||||
constructor(metadata) {
|
||||
this._metadata = metadata;
|
||||
|
||||
this._makeProfilesDir();
|
||||
this.reloadProfiles();
|
||||
}
|
||||
@@ -151,58 +148,6 @@ var ProfileManager = class {
|
||||
return priority;
|
||||
}
|
||||
|
||||
// Profiles are named according to their configuration. This method returns a localized
|
||||
// string describing the settings of the profile.
|
||||
getProfileName(settings) {
|
||||
let items = [];
|
||||
|
||||
// If an app is configured, use it as first component for the profile's name.
|
||||
const app = settings.get_string('profile-app');
|
||||
if (app != '') {
|
||||
items.push(app);
|
||||
}
|
||||
|
||||
// Now add components to the name for each non-default profile option. Make sure that
|
||||
// these are the same strings as used in the UI files!
|
||||
const addComponent = (settingsKey, options) => {
|
||||
const option = settings.get_int(settingsKey);
|
||||
if (option > 0) {
|
||||
items.push(options[option - 1]);
|
||||
}
|
||||
};
|
||||
|
||||
// clang-format off
|
||||
addComponent('profile-animation-type', [_('Opening Windows'),
|
||||
_('Closing Windows')]);
|
||||
addComponent('profile-window-type', [_('Normal Windows'),
|
||||
_('Dialog Windows')]);
|
||||
addComponent('profile-color-scheme', [_('Default Color Scheme'),
|
||||
_('Dark Color Scheme')]);
|
||||
addComponent('profile-power-mode', [_('On Battery'),
|
||||
_('Plugged In')]);
|
||||
addComponent('profile-power-profile', [_('Power-Saver Mode'),
|
||||
_('Balanced Mode'),
|
||||
_('Performance Mode'),
|
||||
_('Power Saver or Balanced'),
|
||||
_('Balanced or Performance')]);
|
||||
// clang-format on
|
||||
|
||||
// If the profile is a high-priority profile, also add this..
|
||||
if (settings.get_boolean('profile-high-priority')) {
|
||||
items.push(_('High Priority'));
|
||||
}
|
||||
|
||||
let name = '';
|
||||
|
||||
if (items.length == 0) {
|
||||
name = _('Standard Profile');
|
||||
} else {
|
||||
name = items.join(' · ');
|
||||
}
|
||||
|
||||
return name;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------- private stuff
|
||||
|
||||
// Creates the directory ~/.config/burn-my-windows/profiles if it does not yet exist.
|
||||
@@ -221,7 +166,7 @@ var ProfileManager = class {
|
||||
|
||||
// Expect USER extensions to have a schemas/ subfolder, otherwise assume a
|
||||
// SYSTEM extension that has been installed in the same prefix as the shell
|
||||
const schemaDir = Me.dir.get_child('schemas');
|
||||
const schemaDir = this._metadata.dir.get_child('schemas');
|
||||
let source;
|
||||
if (schemaDir.query_exists(null)) {
|
||||
source = Gio.SettingsSchemaSource.new_from_directory(
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const {Gio, Shell, GObject, Clutter, Meta} = imports.gi;
|
||||
const ByteArray = imports.byteArray;
|
||||
import Gio from 'gi://Gio';
|
||||
import Shell from 'gi://Shell';
|
||||
import GObject from 'gi://GObject';
|
||||
import Clutter from 'gi://Clutter';
|
||||
import Meta from 'gi://Meta';
|
||||
|
||||
const Main = imports.ui.main;
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
||||
const utils = Me.imports.src.utils;
|
||||
import * as utils from './utils.js';
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// This is the base class for all shaders of Burn-My-Windows. It automagically loads //
|
||||
@@ -47,7 +47,7 @@ const utils = Me.imports.src.utils;
|
||||
// used to clean up any resources.
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var Shader = GObject.registerClass(
|
||||
export var Shader = GObject.registerClass(
|
||||
{
|
||||
Signals: {
|
||||
'begin-animation': {
|
||||
@@ -191,10 +191,8 @@ var Shader = GObject.registerClass(
|
||||
// to undo this. It is a pity that we have to do this here, as it is not really
|
||||
// required to be done each frame. But it's the only place where we can do it.
|
||||
// https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2650
|
||||
if (utils.shellVersionIsAtLeast(44, 2)) {
|
||||
this.get_pipeline().set_blend(
|
||||
'RGBA = ADD (SRC_COLOR * (SRC_COLOR[A]), DST_COLOR * (1-SRC_COLOR[A]))');
|
||||
}
|
||||
this.get_pipeline().set_blend(
|
||||
'RGBA = ADD (SRC_COLOR * (SRC_COLOR[A]), DST_COLOR * (1-SRC_COLOR[A]))');
|
||||
|
||||
this.set_uniform_float(this._uProgress, 1, [this._progress]);
|
||||
super.vfunc_paint_target(...params);
|
||||
@@ -202,18 +200,11 @@ var Shader = GObject.registerClass(
|
||||
|
||||
// --------------------------------------------------------------------- private stuff
|
||||
|
||||
// This loads the file at 'path' contained in the extension's resources to a
|
||||
// JavaScript string.
|
||||
_loadStringResource(path) {
|
||||
const data = Gio.resources_lookup_data(path, 0);
|
||||
return ByteArray.toString(ByteArray.fromGBytes(data));
|
||||
}
|
||||
|
||||
// This loads a GLSL file from the extension's resources to a JavaScript string. The
|
||||
// code from "common.glsl" is prepended automatically.
|
||||
_loadShaderResource(path) {
|
||||
let common = this._loadStringResource('/shaders/common.glsl');
|
||||
let code = this._loadStringResource(path);
|
||||
let common = utils.getStringResource('/shaders/common.glsl');
|
||||
let code = utils.getStringResource(path);
|
||||
|
||||
// Add a trailing newline. Else the GLSL compiler complains...
|
||||
return common + '\n' + code + '\n';
|
||||
|
||||
@@ -14,18 +14,17 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const GObject = imports.gi.GObject;
|
||||
import GObject from 'gi://GObject';
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
||||
import {Shader} from './Shader.js';
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Each effect of Burn-My-Windows owns an instance of this class. It is used to created //
|
||||
// Each effect of Burn-My-Windows owns an instance of this class. It is used to create //
|
||||
// shaders whenever a new one is required. It tries to re-use old shaders as much as //
|
||||
// possible in order to avoid memory leaks. //
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var ShaderFactory = class {
|
||||
export default class ShaderFactory {
|
||||
|
||||
// Creates a new ShaderFactory. Requires the nick of the effect and a callback function
|
||||
// which will be called whenever a new shader is created.
|
||||
@@ -62,8 +61,7 @@ var ShaderFactory = class {
|
||||
// Only try to register the new type once.
|
||||
if (GObject.type_from_name(typeName) == null) {
|
||||
const outerThis = this;
|
||||
GObject.registerClass({GTypeName: typeName},
|
||||
class Shader extends Me.imports.src.Shader.Shader {
|
||||
GObject.registerClass({GTypeName: typeName}, class ShaderImp extends Shader {
|
||||
// This will actually load the GLSL source code from the resources.
|
||||
_init() {
|
||||
super._init(outerThis._nick);
|
||||
|
||||
@@ -15,12 +15,13 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const {Gio, GLib} = imports.gi;
|
||||
const Main = imports.ui.main;
|
||||
const LookingGlass = imports.ui.lookingGlass;
|
||||
import Gio from 'gi://Gio';
|
||||
import GLib from 'gi://GLib';
|
||||
|
||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
||||
const utils = Me.imports.src.utils;
|
||||
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
|
||||
import * as LookingGlass from 'resource:///org/gnome/shell/ui/lookingGlass.js';
|
||||
|
||||
import * as utils from './utils.js';
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// This is based on the window-picking functionality of the Blur-My-Shell extension. //
|
||||
@@ -29,7 +30,7 @@ const utils = Me.imports.src.utils;
|
||||
// picking. //
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var WindowPicker = class WindowPicker {
|
||||
export class WindowPicker {
|
||||
// ------------------------------------------------------------------------- constructor
|
||||
|
||||
constructor() {
|
||||
|
||||
@@ -14,12 +14,14 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
import * as utils from '../utils.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;
|
||||
// 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 _ = await utils.importGettext();
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// This effect hides the actor by violently sucking it into the void of magic. //
|
||||
@@ -28,14 +30,14 @@ 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 Apparition = 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._uSeed = shader.get_uniform_location('uSeed');
|
||||
shader._uShake = shader.get_uniform_location('uShake');
|
||||
@@ -60,7 +62,7 @@ var Apparition = class {
|
||||
|
||||
// The effect is not available on GNOME Shell 3.36 as it requires scaling of the window
|
||||
// actor.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [3, 38];
|
||||
}
|
||||
|
||||
@@ -68,13 +70,13 @@ var Apparition = class {
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
getNick() {
|
||||
static getNick() {
|
||||
return 'apparition';
|
||||
}
|
||||
|
||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||
// drop-down menus where the user can choose the effect.
|
||||
getLabel() {
|
||||
static getLabel() {
|
||||
return _('Apparition');
|
||||
}
|
||||
|
||||
@@ -82,7 +84,7 @@ var Apparition = class {
|
||||
|
||||
// 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) {
|
||||
dialog.bindAdjustment('apparition-randomness');
|
||||
dialog.bindAdjustment('apparition-animation-time');
|
||||
dialog.bindAdjustment('apparition-twirl-intensity');
|
||||
@@ -95,7 +97,7 @@ var Apparition = 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) {
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
return {x: 2.0, y: 2.0};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,12 +14,17 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
import * as utils from '../utils.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;
|
||||
// We import some modules only in the Shell process as they are not available in the
|
||||
// preferences process. They are used only in the creator function of the ShaderFactory
|
||||
// which is only called within GNOME Shell's process.
|
||||
const ShaderFactory = await utils.importInShellOnly('./ShaderFactory.js');
|
||||
const Clutter = await utils.importInShellOnly('gi://Clutter');
|
||||
const GdkPixbuf = await utils.importInShellOnly('gi://GdkPixbuf');
|
||||
const Cogl = await utils.importInShellOnly('gi://Cogl');
|
||||
|
||||
const _ = await utils.importGettext();
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// This effect shatters the window into pieces. For an explanation how this works, look //
|
||||
@@ -40,18 +45,14 @@ 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 BrokenGlass = 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) => {
|
||||
// We import these modules in this function as they are not available in the
|
||||
// preferences process. This callback is only called within GNOME Shell's process.
|
||||
const {Clutter, GdkPixbuf, Cogl} = imports.gi;
|
||||
|
||||
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||
// Create the texture in the first call.
|
||||
if (!this._shardTexture) {
|
||||
const shardData = GdkPixbuf.Pixbuf.new_from_resource('/img/shards.png');
|
||||
@@ -118,7 +119,7 @@ var BrokenGlass = class {
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// This effect is only available on GNOME Shell 40+.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [40, 0];
|
||||
}
|
||||
|
||||
@@ -127,13 +128,13 @@ var BrokenGlass = 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() {
|
||||
static getNick() {
|
||||
return 'broken-glass';
|
||||
}
|
||||
|
||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||
// drop-down menus where the user can choose the effect.
|
||||
getLabel() {
|
||||
static getLabel() {
|
||||
return _('Broken Glass');
|
||||
}
|
||||
|
||||
@@ -141,7 +142,7 @@ var BrokenGlass = class {
|
||||
|
||||
// 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) {
|
||||
dialog.bindAdjustment('broken-glass-animation-time');
|
||||
dialog.bindAdjustment('broken-glass-scale');
|
||||
dialog.bindAdjustment('broken-glass-gravity');
|
||||
@@ -154,7 +155,7 @@ var BrokenGlass = 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) {
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
return {x: 2.0, y: 2.0};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
|
||||
'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 melts your windows. Inspired by the legendary screen transitions of the //
|
||||
@@ -31,14 +31,13 @@ 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 Doom = 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._uActorScale = shader.get_uniform_location('uActorScale');
|
||||
shader._uHorizontalScale = shader.get_uniform_location('uHorizontalScale');
|
||||
@@ -70,7 +69,7 @@ var Doom = class {
|
||||
|
||||
// The effect is not available on GNOME Shell 3.36 as it requires scaling of the window
|
||||
// actor.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [3, 38];
|
||||
}
|
||||
|
||||
@@ -78,13 +77,13 @@ var Doom = class {
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
getNick() {
|
||||
static getNick() {
|
||||
return 'doom';
|
||||
}
|
||||
|
||||
// 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() {
|
||||
static getLabel() {
|
||||
return _('Doom');
|
||||
}
|
||||
|
||||
@@ -92,7 +91,7 @@ var Doom = class {
|
||||
|
||||
// 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) {
|
||||
dialog.bindAdjustment('doom-animation-time');
|
||||
dialog.bindAdjustment('doom-horizontal-scale');
|
||||
dialog.bindAdjustment('doom-vertical-scale');
|
||||
@@ -106,7 +105,7 @@ var Doom = class {
|
||||
// bounds of the actor. This only works for GNOME 3.38+.
|
||||
// For this effect, we scale the actor vertically so that it covers the entire screen.
|
||||
// This ensures that the melted window will not be cut off.
|
||||
getActorScale(settings, forOpening, actor) {
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
let actorScale = 2.0 * Math.max(1.0, global.stage.height / actor.height);
|
||||
return {x: 1.0, y: actorScale};
|
||||
}
|
||||
|
||||
@@ -14,14 +14,15 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const GObject = imports.gi.GObject;
|
||||
import * as utils from '../utils.js';
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
// We import some modules only in the Shell process as they are not available in the
|
||||
// preferences process. They are used only in the creator function of the ShaderFactory
|
||||
// which is only called within GNOME Shell's process.
|
||||
const ShaderFactory = await utils.importInShellOnly('./ShaderFactory.js');
|
||||
const Clutter = await utils.importInShellOnly('gi://Clutter');
|
||||
|
||||
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 looks a bit like the transporter effect from TOS. //
|
||||
@@ -30,29 +31,22 @@ 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 EnergizeA = 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) => {
|
||||
// We import Clutter in this function as it is not available in the preferences
|
||||
// process. This creator function of the ShaderFactory is only called within GNOME
|
||||
// Shell's process.
|
||||
const Clutter = imports.gi.Clutter;
|
||||
|
||||
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||
// Store uniform locations of newly created shaders.
|
||||
shader._uColor = shader.get_uniform_location('uColor');
|
||||
shader._uScale = shader.get_uniform_location('uScale');
|
||||
|
||||
// Write all uniform values at the start of each animation.
|
||||
shader.connect('begin-animation', (shader, settings) => {
|
||||
const c = Clutter.Color.from_string(settings.get_string('energize-a-color'))[1];
|
||||
|
||||
// clang-format off
|
||||
shader.set_uniform_float(shader._uColor, 3, [c.red / 255, c.green / 255, c.blue / 255]);
|
||||
shader.set_uniform_float(shader._uColor, 3, utils.parseColor(settings.get_string('energize-a-color')));
|
||||
shader.set_uniform_float(shader._uScale, 1, [settings.get_double('energize-a-scale')]);
|
||||
// clang-format on
|
||||
});
|
||||
@@ -62,7 +56,7 @@ var EnergizeA = class {
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [3, 36];
|
||||
}
|
||||
|
||||
@@ -70,13 +64,13 @@ var EnergizeA = class {
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
getNick() {
|
||||
static getNick() {
|
||||
return 'energize-a';
|
||||
}
|
||||
|
||||
// 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() {
|
||||
static getLabel() {
|
||||
return _('Energize A');
|
||||
}
|
||||
|
||||
@@ -84,7 +78,7 @@ var EnergizeA = class {
|
||||
|
||||
// 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) {
|
||||
dialog.bindAdjustment('energize-a-animation-time');
|
||||
dialog.bindAdjustment('energize-a-scale');
|
||||
dialog.bindColorButton('energize-a-color');
|
||||
@@ -95,7 +89,7 @@ var EnergizeA = 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) {
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
return {x: 1.0, y: 1.0};
|
||||
}
|
||||
}
|
||||
@@ -14,14 +14,15 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const GObject = imports.gi.GObject;
|
||||
import * as utils from '../utils.js';
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
// We import some modules only in the Shell process as they are not available in the
|
||||
// preferences process. They are used only in the creator function of the ShaderFactory
|
||||
// which is only called within GNOME Shell's process.
|
||||
const ShaderFactory = await utils.importInShellOnly('./ShaderFactory.js');
|
||||
const Clutter = await utils.importInShellOnly('gi://Clutter');
|
||||
|
||||
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 looks a bit like the transporter effect from TNG. //
|
||||
@@ -30,29 +31,22 @@ 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 EnergizeB = 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) => {
|
||||
// We import Clutter in this function as it is not available in the preferences
|
||||
// process. This creator function of the ShaderFactory is only called within GNOME
|
||||
// Shell's process.
|
||||
const Clutter = imports.gi.Clutter;
|
||||
|
||||
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||
// Store uniform locations of newly created shaders.
|
||||
shader._uColor = shader.get_uniform_location('uColor');
|
||||
shader._uScale = shader.get_uniform_location('uScale');
|
||||
|
||||
// Write all uniform values at the start of each animation.
|
||||
shader.connect('begin-animation', (shader, settings) => {
|
||||
const c = Clutter.Color.from_string(settings.get_string('energize-b-color'))[1];
|
||||
|
||||
// clang-format off
|
||||
shader.set_uniform_float(shader._uColor, 3, [c.red / 255, c.green / 255, c.blue / 255]);
|
||||
shader.set_uniform_float(shader._uColor, 3, utils.parseColor(settings.get_string('energize-b-color')));
|
||||
shader.set_uniform_float(shader._uScale, 1, [settings.get_double('energize-b-scale')]);
|
||||
// clang-format on
|
||||
});
|
||||
@@ -63,7 +57,7 @@ var EnergizeB = class {
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [3, 36];
|
||||
}
|
||||
|
||||
@@ -71,13 +65,13 @@ var EnergizeB = class {
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
getNick() {
|
||||
static getNick() {
|
||||
return 'energize-b';
|
||||
}
|
||||
|
||||
// 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() {
|
||||
static getLabel() {
|
||||
return _('Energize B');
|
||||
}
|
||||
|
||||
@@ -85,7 +79,7 @@ var EnergizeB = class {
|
||||
|
||||
// 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) {
|
||||
dialog.bindAdjustment('energize-b-animation-time');
|
||||
dialog.bindAdjustment('energize-b-scale');
|
||||
dialog.bindColorButton('energize-b-color');
|
||||
@@ -96,7 +90,7 @@ var EnergizeB = 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) {
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
return {x: 1.0, y: 1.0};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,14 +14,17 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const {Gio} = imports.gi;
|
||||
import Gio from 'gi://Gio';
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
import * as utils from '../utils.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;
|
||||
// We import some modules only in the Shell process as they are not available in the
|
||||
// preferences process. They are used only in the creator function of the ShaderFactory
|
||||
// which is only called within GNOME Shell's process.
|
||||
const ShaderFactory = await utils.importInShellOnly('./ShaderFactory.js');
|
||||
const Clutter = await utils.importInShellOnly('gi://Clutter');
|
||||
|
||||
const _ = await utils.importGettext();
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// This effect is a homage to the good old Compiz days. However, it is implemented //
|
||||
@@ -34,20 +37,14 @@ 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 Fire = 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) => {
|
||||
// We import Clutter in this function as it is not available in the preferences
|
||||
// process. This creator function of the ShaderFactory is only called within GNOME
|
||||
// Shell's process.
|
||||
const Clutter = imports.gi.Clutter;
|
||||
|
||||
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||
// Store all uniform locations.
|
||||
shader._uGradient = [
|
||||
shader.get_uniform_location('uGradient1'),
|
||||
@@ -64,10 +61,9 @@ var Fire = class {
|
||||
// And update all uniforms at the start of each animation.
|
||||
shader.connect('begin-animation', (shader, settings) => {
|
||||
for (let i = 1; i <= 5; i++) {
|
||||
const c = Clutter.Color.from_string(settings.get_string('fire-color-' + i))[1];
|
||||
shader.set_uniform_float(
|
||||
shader._uGradient[i - 1], 4,
|
||||
[c.red / 255, c.green / 255, c.blue / 255, c.alpha / 255]);
|
||||
utils.parseColor(settings.get_string('fire-color-' + i)));
|
||||
}
|
||||
|
||||
// clang-format off
|
||||
@@ -82,7 +78,7 @@ var Fire = class {
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [3, 36];
|
||||
}
|
||||
|
||||
@@ -90,13 +86,13 @@ var Fire = class {
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
getNick() {
|
||||
static getNick() {
|
||||
return 'fire';
|
||||
}
|
||||
|
||||
// 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() {
|
||||
static getLabel() {
|
||||
return _('Fire');
|
||||
}
|
||||
|
||||
@@ -104,7 +100,7 @@ var Fire = class {
|
||||
|
||||
// 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) {
|
||||
|
||||
// Bind all properties.
|
||||
dialog.bindAdjustment('fire-animation-time');
|
||||
@@ -118,8 +114,8 @@ var Fire = class {
|
||||
dialog.bindColorButton('fire-color-5');
|
||||
|
||||
// Connect the buttons only once. The bindPreferences can be called multiple times...
|
||||
if (!this._isConnected) {
|
||||
this._isConnected = true;
|
||||
if (!Effect._isConnected) {
|
||||
Effect._isConnected = true;
|
||||
|
||||
// The fire-gradient-reset button needs to be bound explicitly.
|
||||
dialog.getBuilder().get_object('reset-fire-colors').connect('clicked', () => {
|
||||
@@ -131,7 +127,7 @@ var Fire = class {
|
||||
});
|
||||
|
||||
// Initialize the fire-preset dropdown.
|
||||
this._createFirePresets(dialog);
|
||||
Effect._createFirePresets(dialog);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,14 +136,14 @@ var Fire = 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) {
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
return {x: 1.0, y: 1.0};
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------- private stuff
|
||||
|
||||
// This populates the preset dropdown menu for the fire options.
|
||||
_createFirePresets(dialog) {
|
||||
static _createFirePresets(dialog) {
|
||||
dialog.getBuilder().get_object('fire-prefs').connect('realize', (widget) => {
|
||||
const presets = [
|
||||
{
|
||||
@@ -228,7 +224,7 @@ var Fire = class {
|
||||
|
||||
dialog.getBuilder().get_object('fire-preset-button').set_menu_model(menu);
|
||||
|
||||
const root = utils.isGTK4() ? widget.get_root() : widget.get_toplevel();
|
||||
const root = widget.get_root();
|
||||
root.insert_action_group(groupName, group);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
|
||||
'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 very simple effect fades the window to transparency with subtle 3D effects. //
|
||||
@@ -30,14 +30,14 @@ 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 Glide = 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._uScale = shader.get_uniform_location('uScale');
|
||||
shader._uSquish = shader.get_uniform_location('uSquish');
|
||||
@@ -60,7 +60,7 @@ var Glide = class {
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [3, 36];
|
||||
}
|
||||
|
||||
@@ -68,13 +68,13 @@ var Glide = class {
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
getNick() {
|
||||
static getNick() {
|
||||
return 'glide';
|
||||
}
|
||||
|
||||
// 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() {
|
||||
static getLabel() {
|
||||
return _('Glide');
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ var Glide = class {
|
||||
|
||||
// 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) {
|
||||
dialog.bindAdjustment('glide-animation-time');
|
||||
dialog.bindAdjustment('glide-scale');
|
||||
dialog.bindAdjustment('glide-squish');
|
||||
@@ -95,7 +95,7 @@ var Glide = 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) {
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
return {x: 1.0, y: 1.0};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,14 +14,15 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const GObject = imports.gi.GObject;
|
||||
import * as utils from '../utils.js';
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
// We import some modules only in the Shell process as they are not available in the
|
||||
// preferences process. They are used only in the creator function of the ShaderFactory
|
||||
// which is only called within GNOME Shell's process.
|
||||
const ShaderFactory = await utils.importInShellOnly('./ShaderFactory.js');
|
||||
const Clutter = await utils.importInShellOnly('gi://Clutter');
|
||||
|
||||
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 applies some intentional graphics issues to your windows. //
|
||||
@@ -30,19 +31,14 @@ 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 Glitch = 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) => {
|
||||
// We import Clutter in this function as it is not available in the preferences
|
||||
// process. This creator function of the ShaderFactory is only called within GNOME
|
||||
// Shell's process.
|
||||
const Clutter = imports.gi.Clutter;
|
||||
|
||||
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||
// Store uniform locations of newly created shaders.
|
||||
shader._uSeed = shader.get_uniform_location('uSeed');
|
||||
shader._uColor = shader.get_uniform_location('uColor');
|
||||
@@ -52,11 +48,9 @@ var Glitch = class {
|
||||
|
||||
// Write all uniform values at the start of each animation.
|
||||
shader.connect('begin-animation', (shader, settings, forOpening, testMode) => {
|
||||
const c = Clutter.Color.from_string(settings.get_string('glitch-color'))[1];
|
||||
|
||||
// clang-format off
|
||||
shader.set_uniform_float(shader._uSeed, 1, [testMode ? 0 : Math.random()]);
|
||||
shader.set_uniform_float(shader._uColor, 4, [c.red / 255, c.green / 255, c.blue / 255, c.alpha / 255]);
|
||||
shader.set_uniform_float(shader._uColor, 4, utils.parseColor(settings.get_string('glitch-color')));
|
||||
shader.set_uniform_float(shader._uScale, 1, [settings.get_double('glitch-scale')]);
|
||||
shader.set_uniform_float(shader._uStrength, 1, [settings.get_double('glitch-strength')]);
|
||||
shader.set_uniform_float(shader._uSpeed, 1, [settings.get_double('glitch-speed')]);
|
||||
@@ -68,7 +62,7 @@ var Glitch = class {
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [3, 36];
|
||||
}
|
||||
|
||||
@@ -76,13 +70,13 @@ var Glitch = class {
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
getNick() {
|
||||
static getNick() {
|
||||
return 'glitch';
|
||||
}
|
||||
|
||||
// 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() {
|
||||
static getLabel() {
|
||||
return _('Glitch');
|
||||
}
|
||||
|
||||
@@ -90,7 +84,7 @@ var Glitch = class {
|
||||
|
||||
// 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) {
|
||||
dialog.bindAdjustment('glitch-animation-time');
|
||||
dialog.bindAdjustment('glitch-scale');
|
||||
dialog.bindAdjustment('glitch-speed');
|
||||
@@ -103,7 +97,7 @@ var Glitch = 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) {
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
return {x: 1.0, y: 1.0};
|
||||
}
|
||||
}
|
||||
@@ -14,14 +14,15 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const GObject = imports.gi.GObject;
|
||||
import * as utils from '../utils.js';
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
// We import some modules only in the Shell process as they are not available in the
|
||||
// preferences process. They are used only in the creator function of the ShaderFactory
|
||||
// which is only called within GNOME Shell's process.
|
||||
const ShaderFactory = await utils.importInShellOnly('./ShaderFactory.js');
|
||||
const Clutter = await utils.importInShellOnly('gi://Clutter');
|
||||
|
||||
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 overlays a glowing hexagonal grid over the window. The grid cells then //
|
||||
@@ -31,19 +32,14 @@ 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 Hexagon = 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) => {
|
||||
// We import Clutter in this function as it is not available in the preferences
|
||||
// process. This creator function of the ShaderFactory is only called within GNOME
|
||||
// Shell's process.
|
||||
const Clutter = imports.gi.Clutter;
|
||||
|
||||
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||
// Store uniform locations of newly created shaders.
|
||||
shader._uAdditiveBlending = shader.get_uniform_location('uAdditiveBlending');
|
||||
shader._uSeed = shader.get_uniform_location('uSeed');
|
||||
@@ -54,20 +50,13 @@ var Hexagon = class {
|
||||
|
||||
// Write all uniform values at the start of each animation.
|
||||
shader.connect('begin-animation', (shader, settings, forOpening, testMode) => {
|
||||
// Get the two configurable colors. They are directly injected into the shader
|
||||
// code below.
|
||||
const gc =
|
||||
Clutter.Color.from_string(settings.get_string('hexagon-glow-color'))[1];
|
||||
const lc =
|
||||
Clutter.Color.from_string(settings.get_string('hexagon-line-color'))[1];
|
||||
|
||||
// clang-format off
|
||||
shader.set_uniform_float(shader._uAdditiveBlending, 1, [settings.get_boolean('hexagon-additive-blending')]);
|
||||
shader.set_uniform_float(shader._uSeed, 2, [testMode ? 0 : Math.random(), testMode ? 0 : Math.random()]);
|
||||
shader.set_uniform_float(shader._uScale, 1, [settings.get_double('hexagon-scale')]);
|
||||
shader.set_uniform_float(shader._uLineWidth, 1, [settings.get_double('hexagon-line-width')]);
|
||||
shader.set_uniform_float(shader._uGlowColor, 4, [gc.red / 255, gc.green / 255, gc.blue / 255, gc.alpha / 255]);
|
||||
shader.set_uniform_float(shader._uLineColor, 4, [lc.red / 255, lc.green / 255, lc.blue / 255, lc.alpha / 255]);
|
||||
shader.set_uniform_float(shader._uGlowColor, 4, utils.parseColor(settings.get_string('hexagon-glow-color')));
|
||||
shader.set_uniform_float(shader._uLineColor, 4, utils.parseColor(settings.get_string('hexagon-line-color')));
|
||||
// clang-format on
|
||||
});
|
||||
});
|
||||
@@ -76,7 +65,7 @@ var Hexagon = class {
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [3, 36];
|
||||
}
|
||||
|
||||
@@ -84,13 +73,13 @@ var Hexagon = class {
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
getNick() {
|
||||
static getNick() {
|
||||
return 'hexagon';
|
||||
}
|
||||
|
||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||
// drop-down menus where the user can choose the effect.
|
||||
getLabel() {
|
||||
static getLabel() {
|
||||
return _('Hexagon');
|
||||
}
|
||||
|
||||
@@ -98,7 +87,7 @@ var Hexagon = class {
|
||||
|
||||
// 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) {
|
||||
dialog.bindAdjustment('hexagon-animation-time');
|
||||
dialog.bindAdjustment('hexagon-scale');
|
||||
dialog.bindAdjustment('hexagon-line-width');
|
||||
@@ -112,7 +101,7 @@ var Hexagon = 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) {
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
return {x: 1.0, y: 1.0};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,14 +14,15 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const GObject = imports.gi.GObject;
|
||||
import * as utils from '../utils.js';
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
// We import some modules only in the Shell process as they are not available in the
|
||||
// preferences process. They are used only in the creator function of the ShaderFactory
|
||||
// which is only called within GNOME Shell's process.
|
||||
const ShaderFactory = await utils.importInShellOnly('./ShaderFactory.js');
|
||||
const Clutter = await utils.importInShellOnly('gi://Clutter');
|
||||
|
||||
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 burns windows to ashes. The fire starts at a random position at the //
|
||||
@@ -31,18 +32,14 @@ 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 Incinerate = 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) => {
|
||||
// We import these modules in this function as they are not available in the
|
||||
// preferences process. This callback is only called within GNOME Shell's process.
|
||||
const {Clutter} = imports.gi;
|
||||
|
||||
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||
// Store uniform locations of newly created shaders.
|
||||
shader._uSeed = shader.get_uniform_location('uSeed');
|
||||
shader._uColor = shader.get_uniform_location('uColor');
|
||||
@@ -75,11 +72,9 @@ var Incinerate = class {
|
||||
shader._startPointerPos = null;
|
||||
}
|
||||
|
||||
const c = Clutter.Color.from_string(settings.get_string('incinerate-color'))[1];
|
||||
|
||||
// clang-format off
|
||||
shader.set_uniform_float(shader._uSeed, 2, seed);
|
||||
shader.set_uniform_float(shader._uColor, 3, [c.red / 255, c.green / 255, c.blue / 255]);
|
||||
shader.set_uniform_float(shader._uColor, 3, utils.parseColor(settings.get_string('incinerate-color')));
|
||||
shader.set_uniform_float(shader._uScale, 1, [settings.get_double('incinerate-scale')]);
|
||||
shader.set_uniform_float(shader._uTurbulence, 1, [settings.get_double('incinerate-turbulence')]);
|
||||
// clang-format on
|
||||
@@ -113,7 +108,7 @@ var Incinerate = class {
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// This effect is available on all supported GNOME Shell versions.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [3, 36];
|
||||
}
|
||||
|
||||
@@ -121,13 +116,13 @@ var Incinerate = class {
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
getNick() {
|
||||
static getNick() {
|
||||
return 'incinerate';
|
||||
}
|
||||
|
||||
// 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() {
|
||||
static getLabel() {
|
||||
return _('Incinerate');
|
||||
}
|
||||
|
||||
@@ -135,7 +130,7 @@ var Incinerate = class {
|
||||
|
||||
// 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) {
|
||||
dialog.bindAdjustment('incinerate-animation-time');
|
||||
dialog.bindAdjustment('incinerate-scale');
|
||||
dialog.bindAdjustment('incinerate-turbulence');
|
||||
@@ -148,7 +143,7 @@ var Incinerate = 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) {
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
return {x: 1.0, y: 1.0};
|
||||
}
|
||||
}
|
||||
@@ -14,14 +14,17 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const GObject = imports.gi.GObject;
|
||||
import * as utils from '../utils.js';
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
// We import some modules only in the Shell process as they are not available in the
|
||||
// preferences process. They are used only in the creator function of the ShaderFactory
|
||||
// which is only called within GNOME Shell's process.
|
||||
const ShaderFactory = await utils.importInShellOnly('./ShaderFactory.js');
|
||||
const Clutter = await utils.importInShellOnly('gi://Clutter');
|
||||
const GdkPixbuf = await utils.importInShellOnly('gi://GdkPixbuf');
|
||||
const Cogl = await utils.importInShellOnly('gi://Cogl');
|
||||
|
||||
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();
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// The Matrix shader multiplies a grid of random letters with some gradients which are //
|
||||
@@ -34,18 +37,14 @@ 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 Matrix = 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) => {
|
||||
// We import these modules in this function as they are not available in the
|
||||
// preferences process. This callback is only called within GNOME Shell's process.
|
||||
const {Clutter, GdkPixbuf, Cogl} = imports.gi;
|
||||
|
||||
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||
// Create the texture in the first call.
|
||||
if (!this._fontTexture) {
|
||||
const fontData = GdkPixbuf.Pixbuf.new_from_resource('/img/matrixFont.png');
|
||||
@@ -66,13 +65,9 @@ var Matrix = class {
|
||||
|
||||
// Write all uniform values at the start of each animation.
|
||||
shader.connect('begin-animation', (shader, settings) => {
|
||||
const c1 =
|
||||
Clutter.Color.from_string(settings.get_string('matrix-trail-color'))[1];
|
||||
const c2 = Clutter.Color.from_string(settings.get_string('matrix-tip-color'))[1];
|
||||
|
||||
// clang-format off
|
||||
shader.set_uniform_float(shader._uTrailColor, 3, [c1.red / 255, c1.green / 255, c1.blue / 255]);
|
||||
shader.set_uniform_float(shader._uTipColor, 3, [c2.red / 255, c2.green / 255, c2.blue / 255]);
|
||||
shader.set_uniform_float(shader._uTrailColor, 3, utils.parseColor(settings.get_string('matrix-trail-color')));
|
||||
shader.set_uniform_float(shader._uTipColor, 3, utils.parseColor(settings.get_string('matrix-tip-color')));
|
||||
shader.set_uniform_float(shader._uLetterSize, 1, [settings.get_int('matrix-scale')]);
|
||||
shader.set_uniform_float(shader._uRandomness, 1, [settings.get_double('matrix-randomness')]);
|
||||
shader.set_uniform_float(shader._uOverShoot, 1, [settings.get_double('matrix-overshoot')]);
|
||||
@@ -96,7 +91,7 @@ var Matrix = class {
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// This effect is only available on GNOME Shell 40+.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [40, 0];
|
||||
}
|
||||
|
||||
@@ -104,13 +99,13 @@ var Matrix = class {
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
getNick() {
|
||||
static getNick() {
|
||||
return 'matrix';
|
||||
}
|
||||
|
||||
// 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() {
|
||||
static getLabel() {
|
||||
return _('Matrix');
|
||||
}
|
||||
|
||||
@@ -118,7 +113,7 @@ var Matrix = class {
|
||||
|
||||
// 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) {
|
||||
dialog.bindAdjustment('matrix-animation-time');
|
||||
dialog.bindAdjustment('matrix-scale');
|
||||
dialog.bindAdjustment('matrix-randomness');
|
||||
@@ -132,7 +127,7 @@ var Matrix = 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) {
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
return {x: 1.0, y: 1.0 + settings.get_double('matrix-overshoot')};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,14 +14,17 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const GObject = imports.gi.GObject;
|
||||
import * as utils from '../utils.js';
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
// We import some modules only in the Shell process as they are not available in the
|
||||
// preferences process. They are used only in the creator function of the ShaderFactory
|
||||
// which is only called within GNOME Shell's process.
|
||||
const ShaderFactory = await utils.importInShellOnly('./ShaderFactory.js');
|
||||
const Clutter = await utils.importInShellOnly('gi://Clutter');
|
||||
const GdkPixbuf = await utils.importInShellOnly('gi://GdkPixbuf');
|
||||
const Cogl = await utils.importInShellOnly('gi://Cogl');
|
||||
|
||||
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 paints your windows with a thick paint brush. //
|
||||
@@ -32,18 +35,14 @@ 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 PaintBrush = 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) => {
|
||||
// We import these modules in this function as they are not available in the
|
||||
// preferences process. This callback is only called within GNOME Shell's process.
|
||||
const {Clutter, GdkPixbuf, Cogl} = imports.gi;
|
||||
|
||||
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||
// Create the texture in the first call.
|
||||
if (!this._brushTexture) {
|
||||
const brushData = GdkPixbuf.Pixbuf.new_from_resource('/img/brush.png');
|
||||
@@ -84,7 +83,7 @@ var PaintBrush = class {
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// This effect is only available on GNOME Shell 40+.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [40, 0];
|
||||
}
|
||||
|
||||
@@ -92,13 +91,13 @@ var PaintBrush = class {
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
getNick() {
|
||||
static getNick() {
|
||||
return 'paint-brush';
|
||||
}
|
||||
|
||||
// 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() {
|
||||
static getLabel() {
|
||||
return _('Paint Brush');
|
||||
}
|
||||
|
||||
@@ -106,7 +105,7 @@ var PaintBrush = class {
|
||||
|
||||
// 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) {
|
||||
dialog.bindAdjustment('paint-brush-animation-time');
|
||||
dialog.bindAdjustment('paint-brush-size');
|
||||
}
|
||||
@@ -116,7 +115,7 @@ var PaintBrush = 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) {
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
return {x: 1.0, y: 1.0};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
|
||||
'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 simple effect pixelates the window texture and hides the pixels in a wheel-like //
|
||||
@@ -31,14 +31,14 @@ 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 PixelWheel = 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._uPixelSize = shader.get_uniform_location('uPixelSize');
|
||||
shader._uSpokeCount = shader.get_uniform_location('uSpokeCount');
|
||||
@@ -56,7 +56,7 @@ var PixelWheel = class {
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [3, 36];
|
||||
}
|
||||
|
||||
@@ -64,13 +64,13 @@ var PixelWheel = class {
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
getNick() {
|
||||
static getNick() {
|
||||
return 'pixel-wheel';
|
||||
}
|
||||
|
||||
// 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() {
|
||||
static getLabel() {
|
||||
return _('Pixel Wheel');
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ var PixelWheel = class {
|
||||
|
||||
// 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) {
|
||||
dialog.bindAdjustment('pixel-wheel-animation-time');
|
||||
dialog.bindAdjustment('pixel-wheel-pixel-size');
|
||||
dialog.bindAdjustment('pixel-wheel-spoke-count');
|
||||
@@ -89,7 +89,7 @@ var PixelWheel = 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) {
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
return {x: 1.0, y: 1.0};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
|
||||
'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 pixelates the window texture and hides the pixels radially, starting //
|
||||
@@ -31,14 +31,14 @@ 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 PixelWipe = 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._uPixelSize = shader.get_uniform_location('uPixelSize');
|
||||
shader._uStartPos = shader.get_uniform_location('uStartPos');
|
||||
@@ -82,7 +82,7 @@ var PixelWipe = class {
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [3, 36];
|
||||
}
|
||||
|
||||
@@ -90,13 +90,13 @@ var PixelWipe = class {
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
getNick() {
|
||||
static getNick() {
|
||||
return 'pixel-wipe';
|
||||
}
|
||||
|
||||
// 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() {
|
||||
static getLabel() {
|
||||
return _('Pixel Wipe');
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ var PixelWipe = class {
|
||||
|
||||
// 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) {
|
||||
dialog.bindAdjustment('pixel-wipe-animation-time');
|
||||
dialog.bindAdjustment('pixel-wipe-pixel-size');
|
||||
}
|
||||
@@ -114,7 +114,7 @@ var PixelWipe = 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) {
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
return {x: 1.0, y: 1.0};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
|
||||
'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 very simple effect pixelates the window texture and randomly hides pixels until //
|
||||
@@ -31,14 +31,14 @@ 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 Pixelate = 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._uNoise = shader.get_uniform_location('uNoise');
|
||||
shader._uPixelSize = shader.get_uniform_location('uPixelSize');
|
||||
@@ -56,7 +56,7 @@ var Pixelate = class {
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [3, 36];
|
||||
}
|
||||
|
||||
@@ -64,13 +64,13 @@ var Pixelate = class {
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
getNick() {
|
||||
static getNick() {
|
||||
return 'pixelate';
|
||||
}
|
||||
|
||||
// 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() {
|
||||
static getLabel() {
|
||||
return _('Pixelate');
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ var Pixelate = class {
|
||||
|
||||
// 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) {
|
||||
dialog.bindAdjustment('pixelate-animation-time');
|
||||
dialog.bindAdjustment('pixelate-noise');
|
||||
dialog.bindAdjustment('pixelate-pixel-size');
|
||||
@@ -89,7 +89,7 @@ var Pixelate = 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) {
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
return {x: 1.0, y: 1.0};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,14 +14,15 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const GObject = imports.gi.GObject;
|
||||
import * as utils from '../utils.js';
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
// We import some modules only in the Shell process as they are not available in the
|
||||
// preferences process. They are used only in the creator function of the ShaderFactory
|
||||
// which is only called within GNOME Shell's process.
|
||||
const ShaderFactory = await utils.importInShellOnly('./ShaderFactory.js');
|
||||
const Clutter = await utils.importInShellOnly('gi://Clutter');
|
||||
|
||||
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 ridiculous effect teleports your windows from and to alternative dimensions. //
|
||||
@@ -31,19 +32,14 @@ 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 Portal = 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) => {
|
||||
// We import Clutter in this function as it is not available in the preferences
|
||||
// process. This creator function of the ShaderFactory is only called within GNOME
|
||||
// Shell's process.
|
||||
const Clutter = imports.gi.Clutter;
|
||||
|
||||
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||
// Store uniform locations of newly created shaders.
|
||||
shader._uSeed = shader.get_uniform_location('uSeed');
|
||||
shader._uColor = shader.get_uniform_location('uColor');
|
||||
@@ -53,11 +49,9 @@ var Portal = class {
|
||||
|
||||
// Write all uniform values at the start of each animation.
|
||||
shader.connect('begin-animation', (shader, settings, forOpening, testMode) => {
|
||||
const c = Clutter.Color.from_string(settings.get_string('portal-color'))[1];
|
||||
|
||||
// clang-format off
|
||||
shader.set_uniform_float(shader._uSeed, 2, [testMode ? 0 : Math.random(), testMode ? 0 : Math.random()]);
|
||||
shader.set_uniform_float(shader._uColor, 3, [c.red / 255, c.green / 255, c.blue / 255]);
|
||||
shader.set_uniform_float(shader._uColor, 3, utils.parseColor(settings.get_string('portal-color')));
|
||||
shader.set_uniform_float(shader._uDetails, 1, [settings.get_double('portal-details')]);
|
||||
shader.set_uniform_float(shader._uRotationSpeed, 1, [settings.get_double('portal-rotation-speed')]);
|
||||
shader.set_uniform_float(shader._uWhirling, 1, [settings.get_double('portal-whirling')]);
|
||||
@@ -70,7 +64,7 @@ var Portal = class {
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [3, 36];
|
||||
}
|
||||
|
||||
@@ -78,13 +72,13 @@ var Portal = class {
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
getNick() {
|
||||
static getNick() {
|
||||
return 'portal';
|
||||
}
|
||||
|
||||
// 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() {
|
||||
static getLabel() {
|
||||
return _('Portal');
|
||||
}
|
||||
|
||||
@@ -92,7 +86,7 @@ var Portal = class {
|
||||
|
||||
// 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) {
|
||||
dialog.bindAdjustment('portal-animation-time');
|
||||
dialog.bindAdjustment('portal-rotation-speed');
|
||||
dialog.bindAdjustment('portal-whirling');
|
||||
@@ -105,7 +99,7 @@ var Portal = 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) {
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
return {x: 1.0, y: 1.0};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,14 +14,17 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const GObject = imports.gi.GObject;
|
||||
import * as utils from '../utils.js';
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
// We import some modules only in the Shell process as they are not available in the
|
||||
// preferences process. They are used only in the creator function of the ShaderFactory
|
||||
// which is only called within GNOME Shell's process.
|
||||
const ShaderFactory = await utils.importInShellOnly('./ShaderFactory.js');
|
||||
const Clutter = await utils.importInShellOnly('gi://Clutter');
|
||||
const GdkPixbuf = await utils.importInShellOnly('gi://GdkPixbuf');
|
||||
const Cogl = await utils.importInShellOnly('gi://Cogl');
|
||||
|
||||
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 effects dissolves your windows into a cloud of dust. For this, it uses an //
|
||||
@@ -36,18 +39,14 @@ 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 SnapOfDisintegration = 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) => {
|
||||
// We import these modules in this function as they are not available in the
|
||||
// preferences process. This callback is only called within GNOME Shell's process.
|
||||
const {Clutter, GdkPixbuf, Cogl} = imports.gi;
|
||||
|
||||
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||
// Create the texture in the first call.
|
||||
if (!this._dustTexture) {
|
||||
const dustData = GdkPixbuf.Pixbuf.new_from_resource('/img/dust.png');
|
||||
@@ -64,11 +63,8 @@ var SnapOfDisintegration = class {
|
||||
|
||||
// Write all uniform values at the start of each animation.
|
||||
shader.connect('begin-animation', (shader, settings, forOpening, testMode) => {
|
||||
// The dust particles will fade to this color over time.
|
||||
const c = Clutter.Color.from_string(settings.get_string('snap-color'))[1];
|
||||
|
||||
// clang-format off
|
||||
shader.set_uniform_float(shader._uDustColor, 4, [c.red / 255, c.green / 255, c.blue / 255, c.alpha / 255]);
|
||||
shader.set_uniform_float(shader._uDustColor, 4, utils.parseColor(settings.get_string('snap-color')));
|
||||
shader.set_uniform_float(shader._uSeed, 2, [testMode ? 0 : Math.random(), testMode ? 0 : Math.random()]);
|
||||
shader.set_uniform_float(shader._uDustScale, 1, [settings.get_double('snap-scale')]);
|
||||
// clang-format on
|
||||
@@ -96,7 +92,7 @@ var SnapOfDisintegration = class {
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// This effect is only available on GNOME Shell 40+.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [40, 0];
|
||||
}
|
||||
|
||||
@@ -104,13 +100,13 @@ var SnapOfDisintegration = class {
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
getNick() {
|
||||
static getNick() {
|
||||
return 'snap';
|
||||
}
|
||||
|
||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||
// drop-down menus where the user can choose the effect.
|
||||
getLabel() {
|
||||
static getLabel() {
|
||||
return _('Snap of Disintegration');
|
||||
}
|
||||
|
||||
@@ -118,7 +114,7 @@ var SnapOfDisintegration = class {
|
||||
|
||||
// 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) {
|
||||
dialog.bindAdjustment('snap-animation-time');
|
||||
dialog.bindAdjustment('snap-scale');
|
||||
dialog.bindColorButton('snap-color');
|
||||
@@ -129,7 +125,7 @@ var SnapOfDisintegration = 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) {
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
return {x: 1.2, y: 1.2};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,14 +14,17 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const GObject = imports.gi.GObject;
|
||||
import * as utils from '../utils.js';
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
// We import some modules only in the Shell process as they are not available in the
|
||||
// preferences process. They are used only in the creator function of the ShaderFactory
|
||||
// which is only called within GNOME Shell's process.
|
||||
const ShaderFactory = await utils.importInShellOnly('./ShaderFactory.js');
|
||||
const Clutter = await utils.importInShellOnly('gi://Clutter');
|
||||
const GdkPixbuf = await utils.importInShellOnly('gi://GdkPixbuf');
|
||||
const Cogl = await utils.importInShellOnly('gi://Cogl');
|
||||
|
||||
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 tears your windows apart with a series of violent scratches! //
|
||||
@@ -32,18 +35,14 @@ 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 TRexAttack = 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) => {
|
||||
// We import these modules in this function as they are not available in the
|
||||
// preferences process. This callback is only called within GNOME Shell's process.
|
||||
const {Clutter, GdkPixbuf, Cogl} = imports.gi;
|
||||
|
||||
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||
// Create the texture in the first call.
|
||||
if (!this._clawTexture) {
|
||||
const clawData = GdkPixbuf.Pixbuf.new_from_resource('/img/claws.png');
|
||||
@@ -62,10 +61,8 @@ var TRexAttack = class {
|
||||
|
||||
// Write all uniform values at the start of each animation.
|
||||
shader.connect('begin-animation', (shader, settings, forOpening, testMode) => {
|
||||
const c = Clutter.Color.from_string(settings.get_string('trex-scratch-color'))[1];
|
||||
|
||||
// clang-format off
|
||||
shader.set_uniform_float(shader._uFlashColor, 4, [c.red / 255, c.green / 255, c.blue / 255, c.alpha / 255]);
|
||||
shader.set_uniform_float(shader._uFlashColor, 4, utils.parseColor(settings.get_string('trex-scratch-color')));
|
||||
shader.set_uniform_float(shader._uSeed, 2, [testMode ? 0 : Math.random(), testMode ? 0 : Math.random()]);
|
||||
shader.set_uniform_float(shader._uClawSize, 1, [settings.get_double('trex-scratch-scale')]);
|
||||
shader.set_uniform_float(shader._uNumClaws, 1, [settings.get_int('trex-scratch-count')]);
|
||||
@@ -94,7 +91,7 @@ var TRexAttack = class {
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// This effect is only available on GNOME Shell 40+.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [40, 0];
|
||||
}
|
||||
|
||||
@@ -102,13 +99,13 @@ var TRexAttack = class {
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
getNick() {
|
||||
static getNick() {
|
||||
return 'trex';
|
||||
}
|
||||
|
||||
// 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() {
|
||||
static getLabel() {
|
||||
return _('T-Rex Attack');
|
||||
}
|
||||
|
||||
@@ -116,7 +113,7 @@ var TRexAttack = class {
|
||||
|
||||
// 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) {
|
||||
dialog.bindAdjustment('trex-animation-time');
|
||||
dialog.bindColorButton('trex-scratch-color');
|
||||
dialog.bindAdjustment('trex-scratch-scale');
|
||||
@@ -129,7 +126,7 @@ var TRexAttack = 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) {
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
const scale = 1.0 + 0.5 * settings.get_double('trex-scratch-warp');
|
||||
return {x: scale, y: scale};
|
||||
}
|
||||
|
||||
@@ -14,14 +14,15 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const GObject = imports.gi.GObject;
|
||||
import * as utils from '../utils.js';
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
// We import some modules only in the Shell process as they are not available in the
|
||||
// preferences process. They are used only in the creator function of the ShaderFactory
|
||||
// which is only called within GNOME Shell's process.
|
||||
const ShaderFactory = await utils.importInShellOnly('./ShaderFactory.js');
|
||||
const Clutter = await utils.importInShellOnly('gi://Clutter');
|
||||
|
||||
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 hides the actor by making it first transparent from top and bottom //
|
||||
@@ -32,27 +33,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 TVEffect = 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) => {
|
||||
// We import Clutter in this function as it is not available in the preferences
|
||||
// process. This creator function of the ShaderFactory is only called within GNOME
|
||||
// Shell's process.
|
||||
const Clutter = imports.gi.Clutter;
|
||||
|
||||
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||
// Store uniform locations of newly created shaders.
|
||||
shader._uColor = shader.get_uniform_location('uColor');
|
||||
|
||||
// Write all uniform values at the start of each animation.
|
||||
shader.connect('begin-animation', (shader, settings) => {
|
||||
const c = Clutter.Color.from_string(settings.get_string('tv-effect-color'))[1];
|
||||
shader.set_uniform_float(
|
||||
shader._uColor, 4, [c.red / 255, c.green / 255, c.blue / 255, c.alpha / 255]);
|
||||
shader._uColor, 4, utils.parseColor(settings.get_string('tv-effect-color')));
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -60,7 +55,7 @@ var TVEffect = class {
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [3, 36];
|
||||
}
|
||||
|
||||
@@ -68,13 +63,13 @@ var TVEffect = class {
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
getNick() {
|
||||
static getNick() {
|
||||
return 'tv';
|
||||
}
|
||||
|
||||
// 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() {
|
||||
static getLabel() {
|
||||
return _('TV Effect');
|
||||
}
|
||||
|
||||
@@ -82,7 +77,7 @@ var TVEffect = class {
|
||||
|
||||
// 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) {
|
||||
dialog.bindAdjustment('tv-animation-time');
|
||||
dialog.bindColorButton('tv-effect-color');
|
||||
}
|
||||
@@ -92,7 +87,7 @@ var TVEffect = 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) {
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
return {x: 1.0, y: 1.0};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,14 +14,15 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const GObject = imports.gi.GObject;
|
||||
import * as utils from '../utils.js';
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
// We import some modules only in the Shell process as they are not available in the
|
||||
// preferences process. They are used only in the creator function of the ShaderFactory
|
||||
// which is only called within GNOME Shell's process.
|
||||
const ShaderFactory = await utils.importInShellOnly('./ShaderFactory.js');
|
||||
const Clutter = await utils.importInShellOnly('gi://Clutter');
|
||||
|
||||
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 combines the Glitch and the TV Effect. Credits go to Kurt Wilson //
|
||||
@@ -31,19 +32,14 @@ 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 TVGlitch = 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) => {
|
||||
// We import Clutter in this function as it is not available in the preferences
|
||||
// process. This creator function of the ShaderFactory is only called within GNOME
|
||||
// Shell's process.
|
||||
const Clutter = imports.gi.Clutter;
|
||||
|
||||
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||
// Store uniform locations of newly created shaders.
|
||||
shader._uSeed = shader.get_uniform_location('uSeed');
|
||||
shader._uColor = shader.get_uniform_location('uColor');
|
||||
@@ -53,11 +49,9 @@ var TVGlitch = class {
|
||||
|
||||
// Write all uniform values at the start of each animation.
|
||||
shader.connect('begin-animation', (shader, settings, forOpening, testMode) => {
|
||||
const c = Clutter.Color.from_string(settings.get_string('tv-glitch-color'))[1];
|
||||
|
||||
// clang-format off
|
||||
shader.set_uniform_float(shader._uSeed, 1, [testMode ? 0 : Math.random()]);
|
||||
shader.set_uniform_float(shader._uColor, 4, [c.red / 255, c.green / 255, c.blue / 255, c.alpha / 255]);
|
||||
shader.set_uniform_float(shader._uColor, 4, utils.parseColor(settings.get_string('tv-glitch-color')));
|
||||
shader.set_uniform_float(shader._uScale, 1, [settings.get_double('tv-glitch-scale')]);
|
||||
shader.set_uniform_float(shader._uStrength, 1, [settings.get_double('tv-glitch-strength')]);
|
||||
shader.set_uniform_float(shader._uSpeed, 1, [settings.get_double('tv-glitch-speed')]);
|
||||
@@ -69,7 +63,7 @@ var TVGlitch = class {
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [3, 36];
|
||||
}
|
||||
|
||||
@@ -77,13 +71,13 @@ var TVGlitch = class {
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. '*-close-effect'), and its animation time
|
||||
// (e.g. '*-animation-time').
|
||||
getNick() {
|
||||
static getNick() {
|
||||
return 'tv-glitch';
|
||||
}
|
||||
|
||||
// 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() {
|
||||
static getLabel() {
|
||||
return _('TV Glitch');
|
||||
}
|
||||
|
||||
@@ -91,7 +85,7 @@ var TVGlitch = class {
|
||||
|
||||
// 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) {
|
||||
dialog.bindAdjustment('tv-glitch-animation-time');
|
||||
dialog.bindAdjustment('tv-glitch-scale');
|
||||
dialog.bindAdjustment('tv-glitch-speed');
|
||||
@@ -104,7 +98,7 @@ var TVGlitch = 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) {
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
return {x: 1.0, y: 1.0};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,14 +14,15 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const GObject = imports.gi.GObject;
|
||||
import * as utils from '../utils.js';
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
// We import some modules only in the Shell process as they are not available in the
|
||||
// preferences process. They are used only in the creator function of the ShaderFactory
|
||||
// which is only called within GNOME Shell's process.
|
||||
const ShaderFactory = await utils.importInShellOnly('./ShaderFactory.js');
|
||||
const Clutter = await utils.importInShellOnly('gi://Clutter');
|
||||
|
||||
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 lets your windows be carried to the realm of dreams by some little //
|
||||
@@ -31,19 +32,14 @@ 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 Wisps = 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) => {
|
||||
// We import Clutter in this function as it is not available in the preferences
|
||||
// process. This creator function of the ShaderFactory is only called within GNOME
|
||||
// Shell's process.
|
||||
const Clutter = imports.gi.Clutter;
|
||||
|
||||
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||
// Store uniform locations of newly created shaders.
|
||||
shader._uSeed = shader.get_uniform_location('uSeed');
|
||||
shader._uScale = shader.get_uniform_location('uScale');
|
||||
@@ -56,9 +52,9 @@ var Wisps = class {
|
||||
// Write all uniform values at the start of each animation.
|
||||
shader.connect('begin-animation', (shader, settings, forOpening, testMode) => {
|
||||
for (let i = 1; i <= 3; i++) {
|
||||
const c = Clutter.Color.from_string(settings.get_string('wisps-color-' + i))[1];
|
||||
shader.set_uniform_float(shader._uColor[i - 1], 3,
|
||||
[c.red / 255, c.green / 255, c.blue / 255]);
|
||||
shader.set_uniform_float(
|
||||
shader._uColor[i - 1], 3,
|
||||
utils.parseColor(settings.get_string('wisps-color-' + i)));
|
||||
}
|
||||
|
||||
// clang-format off
|
||||
@@ -72,20 +68,20 @@ var Wisps = class {
|
||||
// ---------------------------------------------------------------------------- metadata
|
||||
|
||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||
getMinShellVersion() {
|
||||
static getMinShellVersion() {
|
||||
return [3, 36];
|
||||
}
|
||||
|
||||
// This will be called in various places where a unique identifier for this effect is
|
||||
// required. It should match the prefix of the settings keys which store whether the
|
||||
// effect is enabled currently (e.g. the '*-enable-effect').
|
||||
getNick() {
|
||||
static getNick() {
|
||||
return 'wisps';
|
||||
}
|
||||
|
||||
// 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() {
|
||||
static getLabel() {
|
||||
return _('Wisps');
|
||||
}
|
||||
|
||||
@@ -93,7 +89,7 @@ var Wisps = class {
|
||||
|
||||
// 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) {
|
||||
dialog.bindAdjustment('wisps-animation-time');
|
||||
dialog.bindAdjustment('wisps-scale');
|
||||
dialog.bindColorButton('wisps-color-1');
|
||||
@@ -118,7 +114,7 @@ var Wisps = 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) {
|
||||
static getActorScale(settings, forOpening, actor) {
|
||||
return {x: 1.0, y: 1.0};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,15 +14,13 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
||||
const ProfileManager = Me.imports.src.ProfileManager.ProfileManager;
|
||||
const utils = Me.imports.src.utils;
|
||||
import {ProfileManager} from './ProfileManager.js';
|
||||
import * as utils from './utils.js';
|
||||
|
||||
// Migrating from pre-27 versions is pretty involved. Before, all settings were stored in
|
||||
// the standard Gio.Settings backend. Now, there are effect profiles. Depending on the
|
||||
// settings one or two profiles may be required.
|
||||
async function fromVersion26() {
|
||||
export async function fromVersion26() {
|
||||
return utils
|
||||
.executeCommand(['dconf', 'dump', '/org/gnome/shell/extensions/burn-my-windows/'])
|
||||
.catch(r => utils.debug('Failed to get old settings for effect migration: ' + r))
|
||||
|
||||
@@ -14,16 +14,18 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const {Gtk, Gio} = imports.gi;
|
||||
const ByteArray = imports.byteArray;
|
||||
import Gio from 'gi://Gio';
|
||||
import GLib from 'gi://GLib';
|
||||
|
||||
// libadwaita is available starting with GNOME Shell 42.
|
||||
let Adw = null;
|
||||
try {
|
||||
Adw = imports.gi.Adw;
|
||||
} catch (e) {
|
||||
// Nothing to do.
|
||||
}
|
||||
// We import some modules optionally. This file is used in the preferences process as well
|
||||
// as in the GNOME Shell process. Some modules are only available or required in one of
|
||||
// these processes.
|
||||
const Clutter = await importInShellOnly('gi://Clutter');
|
||||
const Cogl = await importInShellOnly('gi://Cogl');
|
||||
|
||||
// We import the Config module. This is done differently in the GNOME Shell process and in
|
||||
// the preferences process.
|
||||
const Config = await importConfig();
|
||||
|
||||
// Returns the given argument, except for "alpha", "beta", and "rc". In these cases -3,
|
||||
// -2, and -1 are returned respectively.
|
||||
@@ -39,60 +41,17 @@ function toNumericVersion(x) {
|
||||
return x;
|
||||
}
|
||||
|
||||
const Config = imports.misc.config;
|
||||
const [GS_MAJOR, GS_MINOR] = Config.PACKAGE_VERSION.split('.').map(toNumericVersion);
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
||||
|
||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
||||
|
||||
// This method can be used to write a message to GNOME Shell's log. This is enhances
|
||||
// the standard log() functionality by prepending the extension's name and the location
|
||||
// where the message was logged. As the extensions name is part of the location, you
|
||||
// can more effectively watch the log output of GNOME Shell:
|
||||
// journalctl -f -o cat | grep -E 'particle-effects|'
|
||||
// This method is based on a similar script from the Fly-Pie GNOME Shell extension which
|
||||
// os published under the MIT License (https://github.com/Schneegans/Fly-Pie).
|
||||
function debug(message) {
|
||||
const stack = new Error().stack.split('\n');
|
||||
|
||||
// Remove debug() function call from stack.
|
||||
stack.shift();
|
||||
|
||||
// Find the index of the extension directory (e.g. particles@schneegans.github.com) in
|
||||
// the stack entry. We do not want to print the entire absolute file path.
|
||||
const extensionRoot = stack[0].indexOf(Me.metadata.uuid);
|
||||
|
||||
log('[' + stack[0].slice(extensionRoot) + '] ' + message);
|
||||
}
|
||||
|
||||
// This method simply returns true if we are currently using GTK4.
|
||||
function isGTK4() {
|
||||
return Gtk.get_major_version() == 4;
|
||||
}
|
||||
|
||||
// Starting with GNOME Shell 42, the settings dialog uses libadwaita (at least most of
|
||||
// the time - it seems that pop!_OS does not support libadwaita even on GNOME 42).
|
||||
function isADW() {
|
||||
return Adw && shellVersionIsAtLeast(42, 'beta');
|
||||
}
|
||||
|
||||
// This method returns 'gtk3', 'gtk4', or 'adw' depending on the currently used GTK / and
|
||||
// or libadwaita version.
|
||||
function getUIDir() {
|
||||
return isADW() ? 'adw' : (isGTK4() ? 'gtk4' : 'gtk3');
|
||||
}
|
||||
|
||||
// This method returns true if the current GNOME Shell version matches the given
|
||||
// arguments.
|
||||
function shellVersionIs(major, minor) {
|
||||
export function shellVersionIs(major, minor) {
|
||||
return GS_MAJOR == major && GS_MINOR == toNumericVersion(minor);
|
||||
}
|
||||
|
||||
// This method returns true if the current GNOME Shell version is at least as high as the
|
||||
// given arguments. Supports "alpha" and "beta" for the minor version number.
|
||||
function shellVersionIsAtLeast(major, minor) {
|
||||
export function shellVersionIsAtLeast(major, minor = 0) {
|
||||
if (GS_MAJOR > major) {
|
||||
return true;
|
||||
}
|
||||
@@ -104,11 +63,58 @@ function shellVersionIsAtLeast(major, minor) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// This method can be used to import the Config module.
|
||||
export async function importConfig() {
|
||||
if (typeof global === 'undefined') {
|
||||
return (await import('resource:///org/gnome/Shell/Extensions/js/misc/config.js'));
|
||||
}
|
||||
return (await import('resource:///org/gnome/shell/misc/config.js'));
|
||||
}
|
||||
|
||||
|
||||
// This method can be used to write a message to GNOME Shell's log. This is enhances
|
||||
// the standard log() functionality by prepending the extension's name and the location
|
||||
// where the message was logged. As the extensions name is part of the location, you
|
||||
// can more effectively watch the log output of GNOME Shell:
|
||||
// journalctl -f -o cat | grep -E 'burn-my-windows|'
|
||||
export function debug(message) {
|
||||
const stack = new Error().stack.split('\n');
|
||||
|
||||
// Remove debug() function call from stack.
|
||||
stack.shift();
|
||||
|
||||
// Find the index of the extension directory in the stack entry. We do not want to
|
||||
// print the entire absolute file path.
|
||||
const extensionRoot = stack[0].indexOf('burn-my-windows@schneegans.github.com');
|
||||
|
||||
console.log('[' + stack[0].slice(extensionRoot) + '] ' + message);
|
||||
}
|
||||
|
||||
// This method can be used to import a module in the GNOME Shell process only. This
|
||||
// is useful if you want to use a module in extension.js, but not in the preferences
|
||||
// process. This method returns null if it is called in the preferences process.
|
||||
export async function importInShellOnly(module) {
|
||||
if (typeof global !== 'undefined') {
|
||||
return (await import(module)).default;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// This method can be used to import gettext. This is done differently in the
|
||||
// GNOME Shell process and in the preferences process.
|
||||
export async function importGettext() {
|
||||
if (typeof global === 'undefined') {
|
||||
return (await import('resource:///org/gnome/Shell/Extensions/js/extensions/prefs.js'))
|
||||
.gettext;
|
||||
}
|
||||
return (await import('resource:///org/gnome/shell/extensions/extension.js')).gettext;
|
||||
}
|
||||
|
||||
// Reads the contents of a file contained in the global resources archive. The data
|
||||
// is returned as a string.
|
||||
function getStringResource(path) {
|
||||
export function getStringResource(path) {
|
||||
const data = Gio.resources_lookup_data(path, 0);
|
||||
return ByteArray.toString(ByteArray.fromGBytes(data));
|
||||
return new TextDecoder().decode(data.get_data());
|
||||
}
|
||||
|
||||
// Executes a command asynchronously and returns the output from 'stdout' on success or
|
||||
@@ -116,7 +122,7 @@ function getStringResource(path) {
|
||||
// 'stdin' and cancellable can be used to stop the process before it finishes.
|
||||
// This is directly taken from here:
|
||||
// https://gjs.guide/guides/gio/subprocesses.html#complete-examples
|
||||
async function executeCommand(argv, input = null, cancellable = null) {
|
||||
export async function executeCommand(argv, input = null, cancellable = null) {
|
||||
let cancelId = 0;
|
||||
let flags = (Gio.SubprocessFlags.STDOUT_PIPE | Gio.SubprocessFlags.STDERR_PIPE);
|
||||
|
||||
@@ -153,3 +159,17 @@ async function executeCommand(argv, input = null, cancellable = null) {
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// Converts a hex, rgb, or rgba CSS-like color string to four numbers
|
||||
// representing rgba values.
|
||||
export function parseColor(string) {
|
||||
let color;
|
||||
if (shellVersionIsAtLeast(47, 'alpha')) {
|
||||
color = Cogl.Color.from_string(string)[1];
|
||||
} else {
|
||||
color = Clutter.Color.from_string(string)[1];
|
||||
}
|
||||
|
||||
|
||||
return [color.red / 255, color.green / 255, color.blue / 255, color.alpha / 255];
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ do_in_pod 'echo "export GSK_RENDERER=cairo" >> .bash_profile'
|
||||
# ----------------------------------------------------- wait for the container to start up
|
||||
|
||||
echo "Waiting for D-Bus."
|
||||
do_in_pod wait-user-bus.sh > /dev/null 2>&1
|
||||
sleep 5
|
||||
|
||||
|
||||
# ----------------------------------------------------- install the to-be-tested extension
|
||||
@@ -180,7 +180,7 @@ sleep 3
|
||||
# First we open the preferences and capture a portion of the dialog
|
||||
echo "Opening Preferences."
|
||||
do_in_pod gnome-extensions prefs "${EXTENSION}"
|
||||
sleep 3
|
||||
sleep 5
|
||||
capture "tests/references/preferences-${SESSION}-${FEDORA_VERSION}.png" "${PREFS_CROP}"
|
||||
send_keystroke "Alt+F4"
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 196 B |
|
Before Width: | Height: | Size: 196 B |
|
Before Width: | Height: | Size: 196 B |
|
Before Width: | Height: | Size: 196 B |
|
Before Width: | Height: | Size: 355 B |
|
Before Width: | Height: | Size: 355 B |
|
After Width: | Height: | Size: 355 B |
|
Before Width: | Height: | Size: 355 B After Width: | Height: | Size: 355 B |
|
Before Width: | Height: | Size: 196 B |
|
Before Width: | Height: | Size: 196 B |
|
Before Width: | Height: | Size: 196 B |
|
Before Width: | Height: | Size: 196 B |
|
Before Width: | Height: | Size: 355 B |
|
Before Width: | Height: | Size: 355 B |