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-FileCopyrightText: Simon Schneegans <code@simonschneegans.de>
|
||||||
# SPDX-License-Identifier: CC0-1.0
|
# SPDX-License-Identifier: CC0-1.0
|
||||||
|
|
||||||
# These are supported funding model platforms
|
|
||||||
|
|
||||||
github: schneegans
|
github: schneegans
|
||||||
patreon: # Replace with a single Patreon username
|
|
||||||
open_collective: # Replace with a single Open Collective username
|
|
||||||
ko_fi: schneegans
|
ko_fi: schneegans
|
||||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
custom:
|
||||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
[
|
||||||
liberapay: # Schneegans
|
"https://www.paypal.com/donate/?hosted_button_id=3F7UFL8KLVPXE",
|
||||||
issuehunt: # Replace with a single IssueHunt username
|
https://schneegans.cb.id,
|
||||||
otechie: # Replace with a single Otechie username
|
]
|
||||||
custom: ["https://www.paypal.me/simonschneegans"]
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ jobs:
|
|||||||
echo "CODE_LINES=$(scripts/cloc.sh --loc)" >> $GITHUB_ENV
|
echo "CODE_LINES=$(scripts/cloc.sh --loc)" >> $GITHUB_ENV
|
||||||
echo "COMMENT_LINES=$(scripts/cloc.sh --percentage)" >> $GITHUB_ENV
|
echo "COMMENT_LINES=$(scripts/cloc.sh --percentage)" >> $GITHUB_ENV
|
||||||
- name: Create Lines-of-Code-Badge
|
- name: Create Lines-of-Code-Badge
|
||||||
uses: schneegans/dynamic-badges-action@v1.3.0
|
uses: schneegans/dynamic-badges-action@v1.7.0
|
||||||
with:
|
with:
|
||||||
auth: ${{ secrets.GIST_SECRET }}
|
auth: ${{ secrets.GIST_SECRET }}
|
||||||
gistID: 8cf45f23253ff09b21196e7271378762
|
gistID: 8cf45f23253ff09b21196e7271378762
|
||||||
@@ -32,7 +32,7 @@ jobs:
|
|||||||
color: lightgrey
|
color: lightgrey
|
||||||
labelColor: 303030
|
labelColor: 303030
|
||||||
- name: Create Comments-Badge
|
- name: Create Comments-Badge
|
||||||
uses: schneegans/dynamic-badges-action@v1.3.0
|
uses: schneegans/dynamic-badges-action@v1.7.0
|
||||||
with:
|
with:
|
||||||
auth: ${{ secrets.GIST_SECRET }}
|
auth: ${{ secrets.GIST_SECRET }}
|
||||||
gistID: 8cf45f23253ff09b21196e7271378762
|
gistID: 8cf45f23253ff09b21196e7271378762
|
||||||
|
|||||||
@@ -79,26 +79,6 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
find $GITHUB_WORKSPACE -type f -and \( -name "*.sh" \) | xargs shellcheck
|
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:
|
build:
|
||||||
name: Run Tests
|
name: Run Tests
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
@@ -110,13 +90,7 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
version:
|
version:
|
||||||
- "32"
|
- "39"
|
||||||
- "33"
|
|
||||||
- "34"
|
|
||||||
- "35"
|
|
||||||
- "36"
|
|
||||||
- "37"
|
|
||||||
- "38"
|
|
||||||
session:
|
session:
|
||||||
- "gnome-xsession"
|
- "gnome-xsession"
|
||||||
- "gnome-wayland-nested"
|
- "gnome-wayland-nested"
|
||||||
|
|||||||
@@ -6,48 +6,50 @@ name: Deploy
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- '**'
|
- "**"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
gnome_bundle:
|
gnome_bundle:
|
||||||
name: Bundle GNOME Shell Extension
|
name: Bundle GNOME Shell Extension
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repository
|
- name: Checkout Repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update -q
|
sudo apt-get update -q
|
||||||
sudo apt-get install gettext
|
sudo apt-get install gettext
|
||||||
- name: Create Release
|
- name: Create Release
|
||||||
run: |
|
run: |
|
||||||
make zip
|
make zip
|
||||||
- name: Upload Release
|
- name: Upload Release
|
||||||
uses: svenstaro/upload-release-action@2.2.1
|
uses: svenstaro/upload-release-action@2.9.0
|
||||||
with:
|
with:
|
||||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
file: burn-my-windows@schneegans.github.com.zip
|
file: burn-my-windows@schneegans.github.com.zip
|
||||||
tag: ${{ github.ref }}
|
tag: ${{ github.ref }}
|
||||||
overwrite: true
|
overwrite: true
|
||||||
|
draft: true
|
||||||
|
|
||||||
kwin_bundle:
|
kwin_bundle:
|
||||||
name: Bundle KWin Effect
|
name: Bundle KWin Effect
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repository
|
- name: Checkout Repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update -q
|
sudo apt-get update -q
|
||||||
sudo apt-get install gettext clang-format
|
sudo apt-get install gettext clang-format
|
||||||
- name: Create Release
|
- name: Create Release
|
||||||
run: |
|
run: |
|
||||||
./kwin/build.sh
|
./kwin/build.sh
|
||||||
- name: Upload Release
|
- name: Upload Release
|
||||||
uses: svenstaro/upload-release-action@2.2.1
|
uses: svenstaro/upload-release-action@2.9.0
|
||||||
with:
|
with:
|
||||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
file: kwin/*.tar.gz
|
file: kwin/*.tar.gz
|
||||||
tag: ${{ github.ref }}
|
tag: ${{ github.ref }}
|
||||||
overwrite: true
|
overwrite: true
|
||||||
file_glob: 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 \
|
ZIP_CONTENT = $(JS_FILES) $(LOCALES_MO) resources/$(NAME).gresource \
|
||||||
schemas/org.gnome.shell.extensions.$(NAME).gschema.xml \
|
schemas/org.gnome.shell.extensions.$(NAME).gschema.xml \
|
||||||
schemas/org.gnome.shell.extensions.$(NAME)-profile.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.
|
# These seven recipes can be invoked by the user.
|
||||||
.PHONY: zip install uninstall pot clean test references
|
.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.
|
# This runs several tests in containerized versions of GNOME Shell.
|
||||||
test:
|
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 \
|
for session in "gnome-xsession" "gnome-wayland-nested" ; do \
|
||||||
echo ; \
|
echo ; \
|
||||||
echo "Running Tests on Fedora $$version ($$session)." ; \
|
echo "Running Tests on Fedora $$version ($$session)." ; \
|
||||||
@@ -59,7 +59,7 @@ test:
|
|||||||
|
|
||||||
# This re-generates all reference images required by the tests.
|
# This re-generates all reference images required by the tests.
|
||||||
references:
|
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 \
|
for session in "gnome-xsession" "gnome-wayland-nested" ; do \
|
||||||
echo ; \
|
echo ; \
|
||||||
echo "Generating References for Fedora $$version ($$session)." ; \
|
echo "Generating References for Fedora $$version ($$session)." ; \
|
||||||
@@ -92,11 +92,6 @@ $(ZIP_NAME): $(ZIP_CONTENT)
|
|||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
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.
|
# Compiles the gresource file from the gresources.xml.
|
||||||
resources/$(NAME).gresource: resources/$(NAME).gresource.xml
|
resources/$(NAME).gresource: resources/$(NAME).gresource.xml
|
||||||
@echo "Compiling resources..."
|
@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://extensions.gnome.org/extension/4679/burn-my-windows/"><img src="https://img.shields.io/badge/Download-extensions.gnome.org-e67f4d.svg?logo=gnome&logoColor=lightgrey&labelColor=303030" /></a><br/>
|
||||||
<a href="https://github.com/Schneegans/Burn-My-Windows/actions"><img src="https://github.com/Schneegans/Burn-My-Windows/workflows/Checks/badge.svg?branch=main" /></a>
|
<a href="https://github.com/Schneegans/Burn-My-Windows/actions"><img src="https://github.com/Schneegans/Burn-My-Windows/workflows/Checks/badge.svg?branch=main" /></a>
|
||||||
<a href="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="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="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/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>
|
<a href="scripts/cloc.sh"><img src="https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Schneegans/8cf45f23253ff09b21196e7271378762/raw/comments.json" /></a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
> [!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!
|
When I released the [Desktop Cube Extension](https://github.com/Schneegans/Desktop-Cube/) for GNOME, many people requested to revive one of the most useless features of Linux desktop history: Setting windows on fire!
|
||||||
This extension is not only more useless than the cube, but it is also much more hacky. So I expect some bug! [Let's incinerate them all](https://github.com/Schneegans/Burn-My-Windows/issues)!
|
This extension is not only more useless than the cube, but it is also much more hacky. So I expect some bug! [Let's incinerate them all](https://github.com/Schneegans/Burn-My-Windows/issues)!
|
||||||
|
|
||||||
**🖼️ 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).**
|
**🖼️ 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
|
| Effect | Preview |
|
||||||
-----|--------
|
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
|
||||||
**Apparition** <br> This effect hides your windows by violently sucking them into the void of magic! | <img src ="docs/pics/apparition.gif" />
|
| **Apparition** <br> This effect hides your windows by violently sucking them into the void of magic! | <img src ="docs/pics/apparition.gif" /> |
|
||||||
**Broken Glass** <br> Shatter your windows into a shower sharp shards! This effect can be configured so that the shards fly away from your mouse pointer position!| <img src ="docs/pics/broken-glass.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" />
|
| **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 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" />
|
| **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" />
|
| **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" />
|
| **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" />
|
| **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" />
|
| **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" />
|
| **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" />
|
| **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" />
|
| **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" />
|
| **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 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" />
|
| **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" />
|
| **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" />
|
| **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" />
|
| **T-Rex Attack** <br> Destroy your windows with a series of violent slashes! | <img src ="docs/pics/trex.gif" /> |
|
||||||
**TV Effect** <br> This is a very simple effect to demonstrate that this extension could also be used in a more professional environment. | <img src ="docs/pics/tv.gif" />
|
| **TV Effect** <br> This is a very simple effect to demonstrate that this extension could also be used in a more professional environment. | <img src ="docs/pics/tv.gif" /> |
|
||||||
**TV Glitch** <br> This effect combines the Glitch and the TV Effect. | <img src ="docs/pics/tv-glitch.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" />
|
| **Wisps** <br> Let your windows be carried away to the realm of dreams by these little fairies! | <img src ="docs/pics/wisps.gif" /> |
|
||||||
**Your Effect!** <br> The extension is very modular and with a bit of creativity and GLSL knowledge, [you can easily create your own effects](docs/how-to-create-new-effects.md). | [](docs/how-to-create-new-effects.md)
|
| **Your Effect!** <br> The extension is very modular and with a bit of creativity and GLSL knowledge, [you can easily create your own effects](docs/how-to-create-new-effects.md). | [](docs/how-to-create-new-effects.md) |
|
||||||
|
|
||||||
## ✅ Supported Versions
|
## ✅ 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>
|
<tr><td>Wisps</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> </tr>
|
||||||
</table>
|
</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>
|
**These awesome people have already donated to the development of my open-source projects:**
|
||||||
<p align="center">
|
|
||||||
<a href="https://github.com/D3vil0p3r">D3vil0p3r</a><br>
|
|
||||||
Maxence Sebald<br>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<h3 align="center">🥈 Current Silver Sponsors</h3>
|
<a href="https://schneegans.github.io/sponsors/">
|
||||||
<p align="center">
|
<picture>
|
||||||
<a href="https://github.com/danielheadbang">@danielheadbang</a><br>
|
<source media="(prefers-color-scheme: dark)" srcset="https://schneegans.github.io/sponsors/sponsors_dark_small.svg">
|
||||||
<a href="https://github.com/castrojo">Jorge Castro</a><br>
|
<img alt="Sponsors List" src="https://schneegans.github.io/sponsors/sponsors_light_small.svg#gh-light-mode-only">
|
||||||
</p>
|
</picture>
|
||||||
|
</a>
|
||||||
<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/)!
|
|
||||||
|
|
||||||
## ⬇️ Installation (GNOME)
|
## ⬇️ 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>.
|
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.
|
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
|
```bash
|
||||||
gnome-extensions enable burn-my-windows@schneegans.github.com
|
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
|
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.
|
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.
|
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>.
|
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.
|
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
|
```bash
|
||||||
gnome-extensions enable burn-my-windows@schneegans.github.com
|
gnome-extensions enable burn-my-windows@schneegans.github.com
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## ⬇️ Installation (KWin)
|
## ⬇️ 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).
|
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
|
### 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)
|
| Plasma 5 | Plasma 6 |
|
||||||
* [Energize A](https://store.kde.org/p/1884310)
|
| ---------------------------------------------- | ---------------------------------------------- |
|
||||||
* [Energize B](https://store.kde.org/p/1884311)
|
| [Doom](https://store.kde.org/p/1898739) | [Doom](https://store.kde.org/p/2133831) |
|
||||||
* [Fire](https://store.kde.org/p/1884307)
|
| [Energize A](https://store.kde.org/p/1884310) | [Energize A](https://store.kde.org/p/2133829) |
|
||||||
* [Glide](https://store.kde.org/p/1935778)
|
| [Energize B](https://store.kde.org/p/1884311) | [Energize B](https://store.kde.org/p/2133828) |
|
||||||
* [Glitch](https://store.kde.org/p/1972813)
|
| [Fire](https://store.kde.org/p/1884307) | [Fire](https://store.kde.org/p/2133822) |
|
||||||
* [Hexagon](https://store.kde.org/p/1884309)
|
| [Glide](https://store.kde.org/p/1935778) | [Glide](https://store.kde.org/p/2133839) |
|
||||||
* [Incinerate](https://store.kde.org/p/1861183)
|
| [Glitch](https://store.kde.org/p/1972813) | [Glitch](https://store.kde.org/p/2133844) |
|
||||||
* [Pixelate](https://store.kde.org/p/1898742)
|
| [Hexagon](https://store.kde.org/p/1884309) | [Hexagon](https://store.kde.org/p/2133836) |
|
||||||
* [Pixel Wheel](https://store.kde.org/p/1898746)
|
| [Incinerate](https://store.kde.org/p/1861183) | [Incinerate](https://store.kde.org/p/2133817) |
|
||||||
* [Pixel Wipe](https://store.kde.org/p/1898748)
|
| [Pixelate](https://store.kde.org/p/1898742) | [Pixelate](https://store.kde.org/p/2133832) |
|
||||||
* [Portal](https://store.kde.org/p/1959879)
|
| [Pixel Wheel](https://store.kde.org/p/1898746) | [Pixel Wheel](https://store.kde.org/p/2133833) |
|
||||||
* [TV-Effect](https://store.kde.org/p/1884312)
|
| [Pixel Wipe](https://store.kde.org/p/1898748) | [Pixel Wipe](https://store.kde.org/p/2133834) |
|
||||||
* [TV-Glitch](https://store.kde.org/p/1982142)
|
| [Portal](https://store.kde.org/p/1959879) | [Portal](https://store.kde.org/p/2133842) |
|
||||||
* [Wisps](https://store.kde.org/p/1884313)
|
| [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.
|
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...".
|
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".
|
Then select the desired effects in the system settings under "Desktop Effects".
|
||||||
|
|
||||||
|
|
||||||
### c) Cloning the Latest Version with `git`
|
### c) Cloning the Latest Version with `git`
|
||||||
|
|
||||||
Execute the clone command below where you want to have the source code of the extension.
|
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!
|
That's it!
|
||||||
You can now select the desired effects in the system settings under "Desktop Effects".
|
You can now select the desired effects in the system settings under "Desktop Effects".
|
||||||
|
|
||||||
|
|
||||||
## :octocat: I want to contribute!
|
## :octocat: I want to contribute!
|
||||||
|
|
||||||
That's great!
|
That's great!
|
||||||
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:
|
Here are some basic rules to get you started:
|
||||||
Commits should start with a Capital letter and should be written in present tense (e.g. __:tada: Add cool new feature__ instead of __:tada: Added cool new feature__).
|
Commits should start with a Capital letter and should be written in present tense (e.g. **:tada: Add cool new feature** instead of **:tada: Added cool new feature**).
|
||||||
You should also start your commit message with **one** applicable emoji.
|
You should also start your commit message with **one** applicable emoji.
|
||||||
This does not only look great but also makes you rethink what to add to a commit. Make many but small commits!
|
This does not only look great but also makes you rethink what to add to a commit. Make many but small commits!
|
||||||
|
|
||||||
Emoji | Description
|
| Emoji | Description |
|
||||||
------|------------
|
| --------------------------------------------------------- | ------------------------------------------------------------------------- |
|
||||||
:tada: `:tada:` | When you added a cool new feature.
|
| :tada: `:tada:` | When you added a cool new feature. |
|
||||||
:wrench: `:wrench:` | When you added a piece of code.
|
| :wrench: `:wrench:` | When you added a piece of code. |
|
||||||
:recycle: `:recycle:` | When you refactored a part of the code.
|
| :recycle: `:recycle:` | When you refactored a part of the code. |
|
||||||
:sparkles: `:sparkles:` | When you applied clang-format.
|
| :sparkles: `:sparkles:` | When you applied clang-format. |
|
||||||
:globe_with_meridians: `:globe_with_meridians:` | When you worked on translations.
|
| :globe_with_meridians: `:globe_with_meridians:` | When you worked on translations. |
|
||||||
:art: `:art:` | When you improved / added assets like themes.
|
| :art: `:art:` | When you improved / added assets like themes. |
|
||||||
:lipstick: `:lipstick:` | When you worked on the UI of the preferences dialog.
|
| :lipstick: `:lipstick:` | When you worked on the UI of the preferences dialog. |
|
||||||
:rocket: `:rocket:` | When you improved performance.
|
| :rocket: `:rocket:` | When you improved performance. |
|
||||||
:memo: `:memo:` | When you wrote documentation.
|
| :memo: `:memo:` | When you wrote documentation. |
|
||||||
:beetle: `:beetle:` | When you fixed a bug.
|
| :beetle: `:beetle:` | When you fixed a bug. |
|
||||||
:revolving_hearts: `:revolving_hearts:` | When a new sponsor is added or credits are updated.
|
| :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.
|
| :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.
|
| :twisted_rightwards_arrows: `:twisted_rightwards_arrows:` | When you merged a branch. |
|
||||||
:fire: `:fire:` | When you removed something.
|
| :fire: `:fire:` | When you removed something. |
|
||||||
:truck: `:truck:` | When you moved / renamed 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
|
# 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)
|
## [Burn My Windows 42 [backport release]](https://github.com/schneegans/Burn-My-Windows/releases/tag/v42)
|
||||||
|
|
||||||
**Release Date:** 2024-02-27
|
**Release Date:** 2024-02-27
|
||||||
|
|||||||
@@ -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
|
// The content from common.glsl is automatically prepended to each shader effect. This
|
||||||
// provides the standard input:
|
// provides the standard input:
|
||||||
|
|
||||||
// vec2 iTexCoord: Texture coordinates for retrieving the window input color.
|
// vec2 iTexCoord: Texture coordinates for retrieving the window input color.
|
||||||
// bool uForOpening: True if a window-open animation is ongoing, false otherwise.
|
// bool uIsFullscreen: True if the window is maximized or in fullscreen mode.
|
||||||
// float uProgress: A value which transitions from 0 to 1 during the animation.
|
// bool uForOpening: True if a window-open animation is ongoing, false otherwise.
|
||||||
// float uDuration: The duration of the current animation in seconds.
|
// float uProgress: A value which transitions from 0 to 1 during the animation.
|
||||||
// vec2 uSize: The size of uTexture in pixels.
|
// float uDuration: The duration of the current animation in seconds.
|
||||||
// float uPadding: The empty area around the actual window (e.g. where the shadow
|
// vec2 uSize: The size of uTexture in pixels.
|
||||||
// is drawn). For now, this will only be set on GNOME.
|
// 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
|
// Furthermore, there are two global methods for reading the window input color and
|
||||||
// setting the shader output color. Both methods assume straight alpha:
|
// setting the shader output color. Both methods assume straight alpha:
|
||||||
@@ -162,16 +163,16 @@ void main() {
|
|||||||
// SPDX-FileCopyrightText: Your Name <your@email.com>
|
// SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
// 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 _ = await utils.importGettext();
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
|
||||||
const utils = Me.imports.src.utils;
|
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This effect ... //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||||
|
|
||||||
// Store uniform locations of newly created shaders.
|
// 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.
|
// Write all uniform values at the start of each animation.
|
||||||
shader.connect('begin-animation', (shader, settings) => {
|
shader.connect("begin-animation", (shader, settings) => {
|
||||||
shader.set_uniform_float(shader._uFadeWidth, 1, [settings.get_double('simple-fade-width')]);
|
shader.set_uniform_float(shader._uFadeWidth, 1, [
|
||||||
|
settings.get_double("simple-fade-width"),
|
||||||
|
]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -203,7 +204,7 @@ var SimpleFade = class {
|
|||||||
// ---------------------------------------------------------------------------- metadata
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [3, 36];
|
return [3, 36];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -212,21 +213,21 @@ var SimpleFade = class {
|
|||||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
// 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
|
// (e.g. '*-animation-time'). Also, the shader file and the settings UI files should be
|
||||||
// named likes this.
|
// named likes this.
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'simple-fade';
|
return "simple-fade";
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('Simple Fade Effect');
|
return _("Simple Fade Effect");
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------------------------------- API for prefs.js
|
// -------------------------------------------------------------------- API for prefs.js
|
||||||
|
|
||||||
// This is called by the preferences dialog whenever a new effect profile is loaded. It
|
// 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.
|
// 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!
|
// 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
|
// 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
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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};
|
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:
|
Like this:
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
|
import SimpleFade from './src/effects/SimpleFade.js';
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
const ALL_EFFECTS = [
|
const ALL_EFFECTS = [
|
||||||
...
|
...
|
||||||
new Me.imports.src.effects.SimpleFade.SimpleFade(),
|
new SimpleFade(),
|
||||||
...
|
...
|
||||||
];
|
];
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Testing your Effect
|
### 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>.
|
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
|
## Adding a Preferences Page
|
||||||
|
|
||||||
There should be two sliders in this example: The animation duration and the width of the fading gradient.
|
There should be two sliders in this example: The animation duration and the width of the fading gradient.
|
||||||
|
Just save the code below to `resources/ui/adw/simple-fade.ui`.
|
||||||
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.
|
|
||||||
Remember to replace any occurrence of `simple-fade` with your effect's nick-name!
|
Remember to replace any occurrence of `simple-fade` with your effect's nick-name!
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Expand this to show the GTK3 code.</summary>
|
<summary>Expand this to show the UI code.</summary>
|
||||||
|
|
||||||
```xml
|
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
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>
|
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
@@ -628,10 +370,10 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
|||||||
|
|
||||||
### Loading the Preferences Page
|
### 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
|
```javascript
|
||||||
bindPreferences(dialog) {
|
static bindPreferences(dialog) {
|
||||||
// These connect the settings to the UI elements. Have a look at prefs.js
|
// These connect the settings to the UI elements. Have a look at prefs.js
|
||||||
// on how to bind other types of UI elements.
|
// on how to bind other types of UI elements.
|
||||||
dialog.bindAdjustment('simple-fade-animation-time');
|
dialog.bindAdjustment('simple-fade-animation-time');
|
||||||
|
|||||||
@@ -14,26 +14,41 @@
|
|||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const {Clutter, Gio, Meta} = imports.gi;
|
import Gio from 'gi://Gio';
|
||||||
|
import Meta from 'gi://Meta';
|
||||||
|
|
||||||
const Main = imports.ui.main;
|
import {fromVersion26} from './src/migrate.js';
|
||||||
const Workspace = imports.ui.workspace.Workspace;
|
import {ProfileManager} from './src/ProfileManager.js';
|
||||||
const WindowManager = imports.ui.windowManager.WindowManager;
|
import {WindowPicker} from './src/WindowPicker.js';
|
||||||
|
import * as utils from './src/utils.js';
|
||||||
|
|
||||||
// The WindowPreview class is only available on GNOME Shell 3.38+;
|
import Apparition from './src/effects/Apparition.js';
|
||||||
let WindowPreview = null;
|
import BrokenGlass from './src/effects/BrokenGlass.js';
|
||||||
try {
|
import Doom from './src/effects/Doom.js';
|
||||||
WindowPreview = imports.ui.windowPreview.WindowPreview;
|
import EnergizeA from './src/effects/EnergizeA.js';
|
||||||
} catch (error) {
|
import EnergizeB from './src/effects/EnergizeB.js';
|
||||||
// Nothing to be done, we are on GNOME Shell 3.36.
|
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 //
|
// 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... //
|
// to get this working. For more details, read the other comments in this file... //
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
class Extension {
|
export default class BurnMyWindows extends Extension {
|
||||||
|
|
||||||
// ------------------------------------------------------------------------ public stuff
|
// ------------------------------------------------------------------------ public stuff
|
||||||
|
|
||||||
@@ -54,46 +69,47 @@ class Extension {
|
|||||||
|
|
||||||
// New effects must be registered here and in prefs.js.
|
// New effects must be registered here and in prefs.js.
|
||||||
this._ALL_EFFECTS = [
|
this._ALL_EFFECTS = [
|
||||||
new Me.imports.src.effects.Apparition.Apparition(),
|
new Apparition(),
|
||||||
new Me.imports.src.effects.BrokenGlass.BrokenGlass(),
|
new BrokenGlass(),
|
||||||
new Me.imports.src.effects.Doom.Doom(),
|
new Doom(),
|
||||||
new Me.imports.src.effects.EnergizeA.EnergizeA(),
|
new EnergizeA(),
|
||||||
new Me.imports.src.effects.EnergizeB.EnergizeB(),
|
new EnergizeB(),
|
||||||
new Me.imports.src.effects.Fire.Fire(),
|
new Fire(),
|
||||||
new Me.imports.src.effects.Glide.Glide(),
|
new Glide(),
|
||||||
new Me.imports.src.effects.Glitch.Glitch(),
|
new Glitch(),
|
||||||
new Me.imports.src.effects.Hexagon.Hexagon(),
|
new Hexagon(),
|
||||||
new Me.imports.src.effects.Incinerate.Incinerate(),
|
new Incinerate(),
|
||||||
new Me.imports.src.effects.Matrix.Matrix(),
|
new Matrix(),
|
||||||
new Me.imports.src.effects.PaintBrush.PaintBrush(),
|
new PaintBrush(),
|
||||||
new Me.imports.src.effects.Pixelate.Pixelate(),
|
new Pixelate(),
|
||||||
new Me.imports.src.effects.PixelWheel.PixelWheel(),
|
new PixelWheel(),
|
||||||
new Me.imports.src.effects.PixelWipe.PixelWipe(),
|
new PixelWipe(),
|
||||||
new Me.imports.src.effects.Portal.Portal(),
|
new Portal(),
|
||||||
new Me.imports.src.effects.SnapOfDisintegration.SnapOfDisintegration(),
|
new SnapOfDisintegration(),
|
||||||
new Me.imports.src.effects.TRexAttack.TRexAttack(),
|
new TRexAttack(),
|
||||||
new Me.imports.src.effects.TVEffect.TVEffect(),
|
new TVEffect(),
|
||||||
new Me.imports.src.effects.TVGlitch.TVGlitch(),
|
new TVGlitch(),
|
||||||
new Me.imports.src.effects.Wisps.Wisps(),
|
new Wisps(),
|
||||||
];
|
];
|
||||||
|
|
||||||
// Load all of our resources.
|
// Load all of our resources.
|
||||||
this._resources = Gio.Resource.load(Me.path + '/resources/burn-my-windows.gresource');
|
this._resources =
|
||||||
|
Gio.Resource.load(this.path + '/resources/burn-my-windows.gresource');
|
||||||
Gio.resources_register(this._resources);
|
Gio.resources_register(this._resources);
|
||||||
|
|
||||||
// Store a reference to the settings object.
|
// 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
|
// 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.
|
// version. If this is the case, we defer the profile loading until this is finished.
|
||||||
const lastVersion = this._settings.get_int('last-extension-version');
|
const lastVersion = this._settings.get_int('last-extension-version');
|
||||||
if (lastVersion < Me.metadata.version) {
|
if (lastVersion < this.metadata.version) {
|
||||||
if (lastVersion <= 26) {
|
if (lastVersion <= 26) {
|
||||||
// If the profile migration fails for some reason, the callback will create a
|
// If the profile migration fails for some reason, the callback will create a
|
||||||
// default profile instead.
|
// default profile instead.
|
||||||
migrate.fromVersion26().finally(() => {
|
fromVersion26().finally(() => {
|
||||||
this._loadProfiles();
|
this._loadProfiles();
|
||||||
this._settings.set_int('last-extension-version', Me.metadata.version);
|
this._settings.set_int('last-extension-version', this.metadata.version);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
this._loadProfiles();
|
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
|
// of the actor. However, if we are in the overview, we have to enlarge the clone of
|
||||||
// the window as well.
|
// the window as well.
|
||||||
Workspace.prototype._addWindowClone = function(...params) {
|
Workspace.prototype._addWindowClone = function(...params) {
|
||||||
const clone = extensionThis._origAddWindowClone.apply(this, params);
|
const clone = extensionThis._origAddWindowClone.apply(this, params);
|
||||||
|
const container = clone.window_container;
|
||||||
// The parameters of this method changed a bit through the versions...
|
const realWindow = params[0].get_compositor_private();
|
||||||
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();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Store the overview clone as temporary members of the real window actor. When we
|
// 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
|
// 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;
|
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;
|
return clone;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -301,53 +295,50 @@ class Extension {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// With the code below, we hide the window-overlay (icon, label, close button) in the
|
// 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
|
// overview once the close-animation is running.
|
||||||
// available on GNOME 3.38 and beyond, we cannot hide the overlay on GNOME 3.36.
|
|
||||||
if (WindowPreview) {
|
|
||||||
|
|
||||||
// We will monkey-patch these methods.
|
// We will monkey-patch these methods.
|
||||||
this._origDeleteAll = WindowPreview.prototype._deleteAll;
|
this._origDeleteAll = WindowPreview.prototype._deleteAll;
|
||||||
this._origRestack = WindowPreview.prototype._restack;
|
this._origRestack = WindowPreview.prototype._restack;
|
||||||
this._origInit = WindowPreview.prototype._init;
|
this._origInit = WindowPreview.prototype._init;
|
||||||
|
|
||||||
// Whenever a WindowPreview is created, we connect to the referenced Meta.Window's
|
// Whenever a WindowPreview is created, we connect to the referenced Meta.Window's
|
||||||
// 'unmanaged' signal to hide the overlay.
|
// 'unmanaged' signal to hide the overlay.
|
||||||
WindowPreview.prototype._init = function(...params) {
|
WindowPreview.prototype._init = function(...params) {
|
||||||
extensionThis._origInit.apply(this, params);
|
extensionThis._origInit.apply(this, params);
|
||||||
|
|
||||||
// Hide the window's icon, name, and close button.
|
// Hide the window's icon, name, and close button.
|
||||||
const connectionID = this.metaWindow.connect('unmanaged', () => {
|
const connectionID = this.metaWindow.connect('unmanaged', () => {
|
||||||
if (this.window_container) {
|
if (this.window_container) {
|
||||||
this.overlayEnabled = false;
|
this.overlayEnabled = false;
|
||||||
this._icon.visible = 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);
|
|
||||||
}
|
}
|
||||||
};
|
});
|
||||||
|
|
||||||
// This is required, else WindowPreview's _restack() which is called by the
|
// Make sure to not call the callback above if the Meta.Window was not unmanaged
|
||||||
// "this.overlayEnabled = false", sometimes tries to access an already delete
|
// before leaving the overview.
|
||||||
// WindowPreview.
|
this.connect('destroy', () => {
|
||||||
WindowPreview.prototype._restack = function() {
|
this.metaWindow.disconnect(connectionID);
|
||||||
if (!this._closeRequested) {
|
});
|
||||||
extensionThis._origRestack.apply(this);
|
};
|
||||||
}
|
|
||||||
};
|
// 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
|
// 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._shouldAnimateActor = this._origShouldAnimateActor;
|
||||||
Main.wm._waitForOverviewToHide = this._origWaitForOverviewToHide;
|
Main.wm._waitForOverviewToHide = this._origWaitForOverviewToHide;
|
||||||
|
|
||||||
if (WindowPreview) {
|
WindowPreview.prototype._deleteAll = this._origDeleteAll;
|
||||||
WindowPreview.prototype._deleteAll = this._origDeleteAll;
|
WindowPreview.prototype._restack = this._origRestack;
|
||||||
WindowPreview.prototype._restack = this._origRestack;
|
WindowPreview.prototype._init = this._origInit;
|
||||||
WindowPreview.prototype._init = this._origInit;
|
|
||||||
}
|
|
||||||
|
|
||||||
this._settings = null;
|
this._settings = null;
|
||||||
}
|
}
|
||||||
@@ -392,7 +381,7 @@ class Extension {
|
|||||||
_loadProfiles() {
|
_loadProfiles() {
|
||||||
|
|
||||||
// Get all currently available profiles.
|
// Get all currently available profiles.
|
||||||
const profileManager = new ProfileManager();
|
const profileManager = new ProfileManager(this.metadata);
|
||||||
this._profiles = profileManager.getProfiles();
|
this._profiles = profileManager.getProfiles();
|
||||||
|
|
||||||
// Whenever the properties of a profile is changed in the settings, we may have to
|
// Whenever the properties of a profile is changed in the settings, we may have to
|
||||||
@@ -448,7 +437,8 @@ class Extension {
|
|||||||
|
|
||||||
if (previewNick != '') {
|
if (previewNick != '') {
|
||||||
const activeProfile = this._settings.get_string('active-profile');
|
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);
|
profile = this._profiles.find(p => p.path == activeProfile);
|
||||||
|
|
||||||
// Only preview the effect until the preview window is closed.
|
// 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 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');
|
const colorScheme = this._shellSettings.get_string('color-scheme');
|
||||||
matches &= (profileColorScheme == 1 && colorScheme == 'default') ||
|
matches &= (profileColorScheme == 1 && colorScheme == 'default') ||
|
||||||
(profileColorScheme == 2 && colorScheme == 'prefer-dark');
|
(profileColorScheme == 2 && colorScheme == 'prefer-dark');
|
||||||
@@ -531,7 +521,8 @@ class Extension {
|
|||||||
|
|
||||||
// Create a list of all enabled effects of this profile.
|
// Create a list of all enabled effects of this profile.
|
||||||
const enabled = this._ALL_EFFECTS.filter(effect => {
|
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.
|
// 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
|
// 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
|
// the transitions so that nothing changes. The window stays opaque and is scaled to
|
||||||
// actorScale.
|
// 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.
|
// All scaling is relative to the window's center.
|
||||||
actor.set_pivot_point(0.5, 0.5);
|
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
|
// 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
|
// disable the clone's overlay (e.g. its icon, name, and close button) during the
|
||||||
// animation.
|
// animation.
|
||||||
if (actor._bmwOverviewClone && utils.shellVersionIsAtLeast(3, 38)) {
|
if (actor._bmwOverviewClone) {
|
||||||
actor._bmwOverviewClone.overlayEnabled = false;
|
actor._bmwOverviewClone.overlayEnabled = false;
|
||||||
actor._bmwOverviewCloneContainer.set_pivot_point(0.5, 0.5);
|
actor._bmwOverviewCloneContainer.set_pivot_point(0.5, 0.5);
|
||||||
actor._bmwOverviewCloneContainer.scale_x = actorScale.x;
|
actor._bmwOverviewCloneContainer.scale_x = actorScale.x;
|
||||||
@@ -597,7 +589,7 @@ class Extension {
|
|||||||
const endID = shader.connect('end-animation', () => {
|
const endID = shader.connect('end-animation', () => {
|
||||||
shader.disconnect(endID);
|
shader.disconnect(endID);
|
||||||
|
|
||||||
if (actor._bmwOverviewClone && utils.shellVersionIsAtLeast(3, 38)) {
|
if (actor._bmwOverviewClone) {
|
||||||
actor._bmwOverviewClone.overlayEnabled = true;
|
actor._bmwOverviewClone.overlayEnabled = true;
|
||||||
actor._bmwOverviewCloneContainer.scale_x = 1.0;
|
actor._bmwOverviewCloneContainer.scale_x = 1.0;
|
||||||
actor._bmwOverviewCloneContainer.scale_y = 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.
|
// seconds.
|
||||||
const duration =
|
const duration = testMode ?
|
||||||
testMode ? 5000 : profile.settings.get_int(effect.getNick() + '-animation-time');
|
8000 :
|
||||||
|
profile.settings.get_int(effect.constructor.getNick() + '-animation-time');
|
||||||
|
|
||||||
// Finally start the animation!
|
// Finally start the animation!
|
||||||
shader.beginAnimation(profile.settings, forOpening, testMode, duration, actor);
|
shader.beginAnimation(profile.settings, forOpening, testMode, duration, actor);
|
||||||
@@ -639,16 +632,9 @@ class Extension {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This was called "realWindow" in GNOME 3.36.
|
const actor = workspace._windows[index]._windowActor;
|
||||||
const propertyName = utils.shellVersionIs(3, 36) ? 'realWindow' : '_windowActor';
|
const shader = actor.get_effect('burn-my-windows-effect');
|
||||||
const actor = workspace._windows[index][propertyName];
|
|
||||||
const shader = actor.get_effect('burn-my-windows-effect');
|
|
||||||
|
|
||||||
return shader == null;
|
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%",
|
"Id": "%DIR_NAME%",
|
||||||
"License": "GPLv3",
|
"License": "GPLv3",
|
||||||
"Version": "1.0",
|
"Version": "1.0",
|
||||||
"EnabledByDefault": "false",
|
"EnabledByDefault": false,
|
||||||
"Website": "https://github.com/Schneegans/Burn-My-Windows/",
|
"Website": "https://github.com/Schneegans/Burn-My-Windows/",
|
||||||
"BugReportUrl": "https://github.com/Schneegans/Burn-My-Windows/issues",
|
"BugReportUrl": "https://github.com/Schneegans/Burn-My-Windows/issues",
|
||||||
"ServiceTypes": [
|
"ServiceTypes": [
|
||||||
|
|||||||
@@ -10,14 +10,10 @@
|
|||||||
"gettext-domain": "burn-my-windows",
|
"gettext-domain": "burn-my-windows",
|
||||||
"settings-schema": "org.gnome.shell.extensions.burn-my-windows",
|
"settings-schema": "org.gnome.shell.extensions.burn-my-windows",
|
||||||
"shell-version": [
|
"shell-version": [
|
||||||
"3.36",
|
"45",
|
||||||
"3.38",
|
"46",
|
||||||
"40",
|
"47"
|
||||||
"41",
|
|
||||||
"42",
|
|
||||||
"43",
|
|
||||||
"44"
|
|
||||||
],
|
],
|
||||||
"url": "https://github.com/Schneegans/Burn-My-Windows",
|
"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"
|
"Project-Id-Version: burn-my-windows\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-08-31 07:30+0200\n"
|
"POT-Creation-Date: 2023-08-31 07:30+0200\n"
|
||||||
"PO-Revision-Date: 2022-04-08 07:11+0000\n"
|
"PO-Revision-Date: 2024-07-28 19:09+0000\n"
|
||||||
"Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n"
|
"Last-Translator: \"Tinde (Joke)\" <jouko.tiilikainen@gmail.com>\n"
|
||||||
"Language-Team: Finnish <https://hosted.weblate.org/projects/burn-my-windows/"
|
"Language-Team: Finnish <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
"core/fi/>\n"
|
"core/fi/>\n"
|
||||||
"Language: fi\n"
|
"Language: fi\n"
|
||||||
@@ -17,22 +17,22 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 4.12-dev\n"
|
"X-Generator: Weblate 5.7-dev\n"
|
||||||
|
|
||||||
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:256
|
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:256
|
||||||
#: resources/ui/gtk3/prefs.ui:301 resources/ui/adw/prefs.ui:103
|
#: resources/ui/gtk3/prefs.ui:301 resources/ui/adw/prefs.ui:103
|
||||||
msgid "Opening Windows"
|
msgid "Opening Windows"
|
||||||
msgstr ""
|
msgstr "Avataan ikkunat"
|
||||||
|
|
||||||
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:257
|
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:257
|
||||||
#: resources/ui/gtk3/prefs.ui:302 resources/ui/adw/prefs.ui:104
|
#: resources/ui/gtk3/prefs.ui:302 resources/ui/adw/prefs.ui:104
|
||||||
msgid "Closing Windows"
|
msgid "Closing Windows"
|
||||||
msgstr ""
|
msgstr "Suljetaan ikkunat"
|
||||||
|
|
||||||
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:285
|
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:285
|
||||||
#: resources/ui/gtk3/prefs.ui:330 resources/ui/adw/prefs.ui:118
|
#: resources/ui/gtk3/prefs.ui:330 resources/ui/adw/prefs.ui:118
|
||||||
msgid "Normal Windows"
|
msgid "Normal Windows"
|
||||||
msgstr ""
|
msgstr "Normaalit ikkunat"
|
||||||
|
|
||||||
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:286
|
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:286
|
||||||
#: resources/ui/gtk3/prefs.ui:331 resources/ui/adw/prefs.ui:119
|
#: resources/ui/gtk3/prefs.ui:331 resources/ui/adw/prefs.ui:119
|
||||||
|
|||||||
@@ -8,284 +8,289 @@ msgstr ""
|
|||||||
"Project-Id-Version: burn-my-windows\n"
|
"Project-Id-Version: burn-my-windows\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-08-31 07:30+0200\n"
|
"POT-Creation-Date: 2023-08-31 07:30+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2024-05-08 03:07+0000\n"
|
||||||
"Last-Translator: Automatically generated\n"
|
"Last-Translator: Scrambled777 <weblate.scrambled777@simplelogin.com>\n"
|
||||||
"Language-Team: none\n"
|
"Language-Team: Hindi <https://hosted.weblate.org/projects/burn-my-windows/"
|
||||||
|
"core/hi/>\n"
|
||||||
"Language: hi\n"
|
"Language: hi\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
|
"X-Generator: Weblate 5.5.4-rc\n"
|
||||||
|
|
||||||
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:256
|
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:256
|
||||||
#: resources/ui/gtk3/prefs.ui:301 resources/ui/adw/prefs.ui:103
|
#: resources/ui/gtk3/prefs.ui:301 resources/ui/adw/prefs.ui:103
|
||||||
msgid "Opening Windows"
|
msgid "Opening Windows"
|
||||||
msgstr ""
|
msgstr "विंडो खोलते समय"
|
||||||
|
|
||||||
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:257
|
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:257
|
||||||
#: resources/ui/gtk3/prefs.ui:302 resources/ui/adw/prefs.ui:104
|
#: resources/ui/gtk3/prefs.ui:302 resources/ui/adw/prefs.ui:104
|
||||||
msgid "Closing Windows"
|
msgid "Closing Windows"
|
||||||
msgstr ""
|
msgstr "विंडो बंद करते समय"
|
||||||
|
|
||||||
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:285
|
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:285
|
||||||
#: resources/ui/gtk3/prefs.ui:330 resources/ui/adw/prefs.ui:118
|
#: resources/ui/gtk3/prefs.ui:330 resources/ui/adw/prefs.ui:118
|
||||||
msgid "Normal Windows"
|
msgid "Normal Windows"
|
||||||
msgstr ""
|
msgstr "सामान्य विंडो"
|
||||||
|
|
||||||
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:286
|
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:286
|
||||||
#: resources/ui/gtk3/prefs.ui:331 resources/ui/adw/prefs.ui:119
|
#: resources/ui/gtk3/prefs.ui:331 resources/ui/adw/prefs.ui:119
|
||||||
msgid "Dialog Windows"
|
msgid "Dialog Windows"
|
||||||
msgstr ""
|
msgstr "संवाद विंडो"
|
||||||
|
|
||||||
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:314
|
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:314
|
||||||
#: resources/ui/gtk3/prefs.ui:359 resources/ui/adw/prefs.ui:133
|
#: resources/ui/gtk3/prefs.ui:359 resources/ui/adw/prefs.ui:133
|
||||||
msgid "Default Color Scheme"
|
msgid "Default Color Scheme"
|
||||||
msgstr ""
|
msgstr "तयशुदा रंग योजना"
|
||||||
|
|
||||||
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:315
|
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:315
|
||||||
#: resources/ui/gtk3/prefs.ui:360 resources/ui/adw/prefs.ui:134
|
#: resources/ui/gtk3/prefs.ui:360 resources/ui/adw/prefs.ui:134
|
||||||
msgid "Dark Color Scheme"
|
msgid "Dark Color Scheme"
|
||||||
msgstr ""
|
msgstr "गहरी रंग योजना"
|
||||||
|
|
||||||
#: src/ProfileManager.js:181 resources/ui/gtk4/prefs.ui:343
|
#: src/ProfileManager.js:181 resources/ui/gtk4/prefs.ui:343
|
||||||
#: resources/ui/gtk3/prefs.ui:388 resources/ui/adw/prefs.ui:148
|
#: resources/ui/gtk3/prefs.ui:388 resources/ui/adw/prefs.ui:148
|
||||||
msgid "On Battery"
|
msgid "On Battery"
|
||||||
msgstr ""
|
msgstr "बैटरी पर"
|
||||||
|
|
||||||
#: src/ProfileManager.js:182 resources/ui/gtk4/prefs.ui:344
|
#: src/ProfileManager.js:182 resources/ui/gtk4/prefs.ui:344
|
||||||
#: resources/ui/gtk3/prefs.ui:389 resources/ui/adw/prefs.ui:149
|
#: resources/ui/gtk3/prefs.ui:389 resources/ui/adw/prefs.ui:149
|
||||||
msgid "Plugged In"
|
msgid "Plugged In"
|
||||||
msgstr ""
|
msgstr "जब प्लग इन हो"
|
||||||
|
|
||||||
#: src/ProfileManager.js:183 resources/ui/gtk4/prefs.ui:372
|
#: src/ProfileManager.js:183 resources/ui/gtk4/prefs.ui:372
|
||||||
#: resources/ui/gtk3/prefs.ui:417 resources/ui/adw/prefs.ui:163
|
#: resources/ui/gtk3/prefs.ui:417 resources/ui/adw/prefs.ui:163
|
||||||
msgid "Power-Saver Mode"
|
msgid "Power-Saver Mode"
|
||||||
msgstr ""
|
msgstr "पावर-सेवर मोड"
|
||||||
|
|
||||||
#: src/ProfileManager.js:184 resources/ui/gtk4/prefs.ui:373
|
#: src/ProfileManager.js:184 resources/ui/gtk4/prefs.ui:373
|
||||||
#: resources/ui/gtk3/prefs.ui:418 resources/ui/adw/prefs.ui:164
|
#: resources/ui/gtk3/prefs.ui:418 resources/ui/adw/prefs.ui:164
|
||||||
msgid "Balanced Mode"
|
msgid "Balanced Mode"
|
||||||
msgstr ""
|
msgstr "संतुलित मोड"
|
||||||
|
|
||||||
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:374
|
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:374
|
||||||
#: resources/ui/gtk3/prefs.ui:419 resources/ui/adw/prefs.ui:165
|
#: resources/ui/gtk3/prefs.ui:419 resources/ui/adw/prefs.ui:165
|
||||||
msgid "Performance Mode"
|
msgid "Performance Mode"
|
||||||
msgstr ""
|
msgstr "प्रदर्शन मोड"
|
||||||
|
|
||||||
#: src/ProfileManager.js:186 resources/ui/gtk4/prefs.ui:375
|
#: src/ProfileManager.js:186 resources/ui/gtk4/prefs.ui:375
|
||||||
#: resources/ui/gtk3/prefs.ui:420 resources/ui/adw/prefs.ui:166
|
#: resources/ui/gtk3/prefs.ui:420 resources/ui/adw/prefs.ui:166
|
||||||
msgid "Power Saver or Balanced"
|
msgid "Power Saver or Balanced"
|
||||||
msgstr ""
|
msgstr "पावर सेवर या संतुलित"
|
||||||
|
|
||||||
#: src/ProfileManager.js:187 resources/ui/gtk4/prefs.ui:376
|
#: src/ProfileManager.js:187 resources/ui/gtk4/prefs.ui:376
|
||||||
#: resources/ui/gtk3/prefs.ui:421 resources/ui/adw/prefs.ui:167
|
#: resources/ui/gtk3/prefs.ui:421 resources/ui/adw/prefs.ui:167
|
||||||
msgid "Balanced or Performance"
|
msgid "Balanced or Performance"
|
||||||
msgstr ""
|
msgstr "संतुलित या प्रदर्शन"
|
||||||
|
|
||||||
#: src/ProfileManager.js:192 resources/ui/gtk4/prefs.ui:423
|
#: src/ProfileManager.js:192 resources/ui/gtk4/prefs.ui:423
|
||||||
#: resources/ui/gtk3/prefs.ui:468 resources/ui/adw/prefs.ui:183
|
#: resources/ui/gtk3/prefs.ui:468 resources/ui/adw/prefs.ui:183
|
||||||
msgid "High Priority"
|
msgid "High Priority"
|
||||||
msgstr ""
|
msgstr "उच्च प्राथमिकता"
|
||||||
|
|
||||||
#: src/ProfileManager.js:198
|
#: src/ProfileManager.js:198
|
||||||
msgid "Standard Profile"
|
msgid "Standard Profile"
|
||||||
msgstr ""
|
msgstr "मानक प्रोफ़ाइल"
|
||||||
|
|
||||||
#: src/effects/Apparition.js:78
|
#: src/effects/Apparition.js:78
|
||||||
msgid "Apparition"
|
msgid "Apparition"
|
||||||
msgstr ""
|
msgstr "प्रेतछाया"
|
||||||
|
|
||||||
#: src/effects/BrokenGlass.js:137
|
#: src/effects/BrokenGlass.js:137
|
||||||
msgid "Broken Glass"
|
msgid "Broken Glass"
|
||||||
msgstr ""
|
msgstr "टूटा हुआ शीशा"
|
||||||
|
|
||||||
#: src/effects/Doom.js:88
|
#: src/effects/Doom.js:88
|
||||||
msgid "Doom"
|
msgid "Doom"
|
||||||
msgstr ""
|
msgstr "कयामत"
|
||||||
|
|
||||||
#: src/effects/EnergizeA.js:80
|
#: src/effects/EnergizeA.js:80
|
||||||
msgid "Energize A"
|
msgid "Energize A"
|
||||||
msgstr ""
|
msgstr "ऊर्जावान A"
|
||||||
|
|
||||||
#: src/effects/EnergizeB.js:81
|
#: src/effects/EnergizeB.js:81
|
||||||
msgid "Energize B"
|
msgid "Energize B"
|
||||||
msgstr ""
|
msgstr "ऊर्जावान B"
|
||||||
|
|
||||||
#: src/effects/Fire.js:100
|
#: src/effects/Fire.js:100
|
||||||
msgid "Fire"
|
msgid "Fire"
|
||||||
msgstr ""
|
msgstr "आग"
|
||||||
|
|
||||||
#: src/effects/Fire.js:154
|
#: src/effects/Fire.js:154
|
||||||
msgid "Default Fire"
|
msgid "Default Fire"
|
||||||
msgstr ""
|
msgstr "तयशुदा आग"
|
||||||
|
|
||||||
#: src/effects/Fire.js:164
|
#: src/effects/Fire.js:164
|
||||||
msgid "Hell Fire"
|
msgid "Hell Fire"
|
||||||
msgstr ""
|
msgstr "नरक की आग"
|
||||||
|
|
||||||
#: src/effects/Fire.js:174
|
#: src/effects/Fire.js:174
|
||||||
msgid "Dark and Smutty"
|
msgid "Dark and Smutty"
|
||||||
msgstr ""
|
msgstr "अँधेरी और मैली"
|
||||||
|
|
||||||
#: src/effects/Fire.js:184
|
#: src/effects/Fire.js:184
|
||||||
msgid "Cold Breeze"
|
msgid "Cold Breeze"
|
||||||
msgstr ""
|
msgstr "ठंडी हवा"
|
||||||
|
|
||||||
#: src/effects/Fire.js:194
|
#: src/effects/Fire.js:194
|
||||||
msgid "Santa is Coming"
|
msgid "Santa is Coming"
|
||||||
msgstr ""
|
msgstr "सांता आ रहा है"
|
||||||
|
|
||||||
#: src/effects/Glide.js:78
|
#: src/effects/Glide.js:78
|
||||||
msgid "Glide"
|
msgid "Glide"
|
||||||
msgstr ""
|
msgstr "फिसलन"
|
||||||
|
|
||||||
#: src/effects/Glitch.js:86
|
#: src/effects/Glitch.js:86
|
||||||
msgid "Glitch"
|
msgid "Glitch"
|
||||||
msgstr ""
|
msgstr "गड़बड़ी"
|
||||||
|
|
||||||
#: src/effects/Hexagon.js:94
|
#: src/effects/Hexagon.js:94
|
||||||
msgid "Hexagon"
|
msgid "Hexagon"
|
||||||
msgstr ""
|
msgstr "षटकोण"
|
||||||
|
|
||||||
#: src/effects/Incinerate.js:131
|
#: src/effects/Incinerate.js:131
|
||||||
msgid "Incinerate"
|
msgid "Incinerate"
|
||||||
msgstr ""
|
msgstr "भस्म"
|
||||||
|
|
||||||
#: src/effects/Matrix.js:114
|
#: src/effects/Matrix.js:114
|
||||||
msgid "Matrix"
|
msgid "Matrix"
|
||||||
msgstr ""
|
msgstr "आव्यूह"
|
||||||
|
|
||||||
#: src/effects/PaintBrush.js:102
|
#: src/effects/PaintBrush.js:102
|
||||||
msgid "Paint Brush"
|
msgid "Paint Brush"
|
||||||
msgstr ""
|
msgstr "पेंट ब्रश"
|
||||||
|
|
||||||
#: src/effects/Pixelate.js:74
|
#: src/effects/Pixelate.js:74
|
||||||
msgid "Pixelate"
|
msgid "Pixelate"
|
||||||
msgstr ""
|
msgstr "पिक्सलेट"
|
||||||
|
|
||||||
#: src/effects/PixelWheel.js:74
|
#: src/effects/PixelWheel.js:74
|
||||||
msgid "Pixel Wheel"
|
msgid "Pixel Wheel"
|
||||||
msgstr ""
|
msgstr "पिक्सल व्हील"
|
||||||
|
|
||||||
#: src/effects/PixelWipe.js:101
|
#: src/effects/PixelWipe.js:101
|
||||||
msgid "Pixel Wipe"
|
msgid "Pixel Wipe"
|
||||||
msgstr ""
|
msgstr "पिक्सल वाइप"
|
||||||
|
|
||||||
#: src/effects/Portal.js:88
|
#: src/effects/Portal.js:88
|
||||||
msgid "Portal"
|
msgid "Portal"
|
||||||
msgstr ""
|
msgstr "पोर्टल"
|
||||||
|
|
||||||
#: src/effects/SnapOfDisintegration.js:114
|
#: src/effects/SnapOfDisintegration.js:114
|
||||||
msgid "Snap of Disintegration"
|
msgid "Snap of Disintegration"
|
||||||
msgstr ""
|
msgstr "विघटन की चुटकी"
|
||||||
|
|
||||||
#: src/effects/TRexAttack.js:112
|
#: src/effects/TRexAttack.js:112
|
||||||
msgid "T-Rex Attack"
|
msgid "T-Rex Attack"
|
||||||
msgstr ""
|
msgstr "T-Rex का हमला"
|
||||||
|
|
||||||
#: src/effects/TVEffect.js:78
|
#: src/effects/TVEffect.js:78
|
||||||
msgid "TV Effect"
|
msgid "TV Effect"
|
||||||
msgstr ""
|
msgstr "TV प्रभाव"
|
||||||
|
|
||||||
#: src/effects/TVGlitch.js:87
|
#: src/effects/TVGlitch.js:87
|
||||||
msgid "TV Glitch"
|
msgid "TV Glitch"
|
||||||
msgstr ""
|
msgstr "TV की गड़बड़ी"
|
||||||
|
|
||||||
#: src/effects/Wisps.js:89
|
#: src/effects/Wisps.js:89
|
||||||
msgid "Wisps"
|
msgid "Wisps"
|
||||||
msgstr ""
|
msgstr "विसप्स"
|
||||||
|
|
||||||
#: prefs.js:269
|
#: prefs.js:269
|
||||||
msgid "Preview this effect"
|
msgid "Preview this effect"
|
||||||
msgstr ""
|
msgstr "इस प्रभाव का पूर्वावलोकन करें"
|
||||||
|
|
||||||
#: prefs.js:388 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
|
#: prefs.js:388 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
|
||||||
msgid "Burn-My-Windows has been updated!"
|
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
|
#: prefs.js:389 resources/ui/common/menus.ui:17 resources/ui/gtk4/prefs.ui:56
|
||||||
#: resources/ui/gtk3/prefs.ui:96
|
#: resources/ui/gtk3/prefs.ui:96
|
||||||
msgid "View Changelog"
|
msgid "View Changelog"
|
||||||
msgstr ""
|
msgstr "चेंजलॉग देखें"
|
||||||
|
|
||||||
#: prefs.js:571 prefs.js:603
|
#: prefs.js:571 prefs.js:603
|
||||||
msgid "Gold Sponsors"
|
msgid "Gold Sponsors"
|
||||||
msgstr ""
|
msgstr "स्वर्ण प्रायोजक"
|
||||||
|
|
||||||
#: prefs.js:575 prefs.js:607
|
#: prefs.js:575 prefs.js:607
|
||||||
msgid "Silver Sponsors"
|
msgid "Silver Sponsors"
|
||||||
msgstr ""
|
msgstr "रजत प्रायोजक"
|
||||||
|
|
||||||
#: prefs.js:579 prefs.js:611
|
#: prefs.js:579 prefs.js:611
|
||||||
msgid "Bronze Sponsors"
|
msgid "Bronze Sponsors"
|
||||||
msgstr ""
|
msgstr "कांस्य प्रायोजक"
|
||||||
|
|
||||||
#: prefs.js:583 prefs.js:615
|
#: prefs.js:583 prefs.js:615
|
||||||
msgid "Past Sponsors"
|
msgid "Past Sponsors"
|
||||||
msgstr ""
|
msgstr "पिछले प्रायोजक"
|
||||||
|
|
||||||
#: prefs.js:660
|
#: prefs.js:660
|
||||||
msgid "Delete this Profile?"
|
msgid "Delete this Profile?"
|
||||||
msgstr ""
|
msgstr "यह प्रोफ़ाइल हटाएं?"
|
||||||
|
|
||||||
#: prefs.js:661
|
#: prefs.js:661
|
||||||
msgid ""
|
msgid ""
|
||||||
"The current effect profile with all its effect settings will be permanently "
|
"The current effect profile with all its effect settings will be permanently "
|
||||||
"lost."
|
"lost."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"वर्तमान प्रभाव प्रोफ़ाइल अपनी सभी प्रभाव सेटिंग्स के साथ स्थायी रूप से खो "
|
||||||
|
"जाएगी।"
|
||||||
|
|
||||||
#: prefs.js:664
|
#: prefs.js:664
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr ""
|
msgstr "रद्द करें"
|
||||||
|
|
||||||
#: prefs.js:669
|
#: prefs.js:669
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr ""
|
msgstr "मिटाएं"
|
||||||
|
|
||||||
#. Translators: %s will be replaced by the effect's name.
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
#: prefs.js:980
|
#: prefs.js:980
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Preview for %s"
|
msgid "Preview for %s"
|
||||||
msgstr ""
|
msgstr "%s का पूर्वावलोकन"
|
||||||
|
|
||||||
#: prefs.js:1002
|
#: prefs.js:1002
|
||||||
msgid "Close this Window to Preview the Effect!"
|
msgid "Close this Window to Preview the Effect!"
|
||||||
msgstr ""
|
msgstr "प्रभाव का पूर्वावलोकन करने के लिए इस विंडो को बंद करें!"
|
||||||
|
|
||||||
#: resources/ui/common/menus.ui:13
|
#: resources/ui/common/menus.ui:13
|
||||||
msgid "Visit Homepage"
|
msgid "Visit Homepage"
|
||||||
msgstr ""
|
msgstr "मुखपृष्ठ पर जाएं"
|
||||||
|
|
||||||
#: resources/ui/common/menus.ui:21
|
#: resources/ui/common/menus.ui:21
|
||||||
msgid "View Matching Wallpapers"
|
msgid "View Matching Wallpapers"
|
||||||
msgstr ""
|
msgstr "मिलते-जुलते वॉलपेपर देखें"
|
||||||
|
|
||||||
#: resources/ui/common/menus.ui:27
|
#: resources/ui/common/menus.ui:27
|
||||||
msgid "Report a Bug"
|
msgid "Report a Bug"
|
||||||
msgstr ""
|
msgstr "बग रिपोर्ट करें"
|
||||||
|
|
||||||
#: resources/ui/common/menus.ui:31
|
#: resources/ui/common/menus.ui:31
|
||||||
msgid "Create an Effect"
|
msgid "Create an Effect"
|
||||||
msgstr ""
|
msgstr "एक प्रभाव पैदा करें"
|
||||||
|
|
||||||
#: resources/ui/common/menus.ui:35
|
#: resources/ui/common/menus.ui:35
|
||||||
msgid "Translate"
|
msgid "Translate"
|
||||||
msgstr ""
|
msgstr "अनुवाद"
|
||||||
|
|
||||||
#: resources/ui/common/menus.ui:39
|
#: resources/ui/common/menus.ui:39
|
||||||
msgid "Donate"
|
msgid "Donate"
|
||||||
msgstr ""
|
msgstr "दान करें"
|
||||||
|
|
||||||
#: resources/ui/common/menus.ui:56
|
#: resources/ui/common/menus.ui:56
|
||||||
msgid "Open Effect-Profile Directory"
|
msgid "Open Effect-Profile Directory"
|
||||||
msgstr ""
|
msgstr "इफ़ेक्ट-प्रोफ़ाइल निर्देशिका खोलें"
|
||||||
|
|
||||||
#: resources/ui/common/menus.ui:62
|
#: resources/ui/common/menus.ui:62
|
||||||
msgid "About Burn-My-Windows"
|
msgid "About Burn-My-Windows"
|
||||||
msgstr ""
|
msgstr "Burn-My-Windows के बारे में"
|
||||||
|
|
||||||
#: resources/ui/common/menus.ui:73
|
#: resources/ui/common/menus.ui:73
|
||||||
msgid "Add New Profile..."
|
msgid "Add New Profile..."
|
||||||
msgstr ""
|
msgstr "नई प्रोफ़ाइल जोड़ें…"
|
||||||
|
|
||||||
#: resources/ui/gtk4/broken-glass.ui:22 resources/ui/gtk4/tv-glitch.ui:23
|
#: 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/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/snap.ui:14 resources/ui/adw/energize-a.ui:14
|
||||||
#: resources/ui/adw/pixelate.ui:14 resources/ui/adw/tv.ui:14
|
#: resources/ui/adw/pixelate.ui:14 resources/ui/adw/tv.ui:14
|
||||||
msgid "Animation Time [ms]"
|
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: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: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/pixelate.ui:69 resources/ui/adw/pixelate.ui:102
|
||||||
#: resources/ui/adw/tv.ui:36 resources/ui/adw/tv.ui:61
|
#: resources/ui/adw/tv.ui:36 resources/ui/adw/tv.ui:61
|
||||||
msgid "Reset to Default Value"
|
msgid "Reset to Default Value"
|
||||||
msgstr ""
|
msgstr "तयशुदा मान पर रीसेट करें"
|
||||||
|
|
||||||
#: resources/ui/gtk4/broken-glass.ui:68 resources/ui/gtk4/tv-glitch.ui:69
|
#: 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/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/fire.ui:63 resources/ui/adw/snap.ui:47
|
||||||
#: resources/ui/adw/energize-a.ui:47
|
#: resources/ui/adw/energize-a.ui:47
|
||||||
msgid "Scale"
|
msgid "Scale"
|
||||||
msgstr ""
|
msgstr "पैमाना"
|
||||||
|
|
||||||
#: resources/ui/gtk4/broken-glass.ui:114 resources/ui/adw/broken-glass.ui:81
|
#: resources/ui/gtk4/broken-glass.ui:114 resources/ui/adw/broken-glass.ui:81
|
||||||
msgid "Gravity"
|
msgid "Gravity"
|
||||||
msgstr ""
|
msgstr "गुरुत्व"
|
||||||
|
|
||||||
#: resources/ui/gtk4/broken-glass.ui:160 resources/ui/adw/broken-glass.ui:114
|
#: resources/ui/gtk4/broken-glass.ui:160 resources/ui/adw/broken-glass.ui:114
|
||||||
msgid "Blow Force"
|
msgid "Blow Force"
|
||||||
msgstr ""
|
msgstr "प्रहार का बल"
|
||||||
|
|
||||||
#: resources/ui/gtk4/broken-glass.ui:210 resources/ui/adw/broken-glass.ui:147
|
#: resources/ui/gtk4/broken-glass.ui:210 resources/ui/adw/broken-glass.ui:147
|
||||||
msgid "Shatter From Pointer Location"
|
msgid "Shatter From Pointer Location"
|
||||||
msgstr ""
|
msgstr "सूचक स्थान से चकनाचूर"
|
||||||
|
|
||||||
#: resources/ui/gtk4/broken-glass.ui:219 resources/ui/adw/broken-glass.ui:148
|
#: resources/ui/gtk4/broken-glass.ui:219 resources/ui/adw/broken-glass.ui:148
|
||||||
msgid ""
|
msgid ""
|
||||||
"The shards will fly away from where your mouse pointer was when closing the "
|
"The shards will fly away from where your mouse pointer was when closing the "
|
||||||
"window."
|
"window."
|
||||||
msgstr ""
|
msgstr "खिड़की बंद करते समय आपका माउस सूचक जहां था, वहां से टुकड़े उड़ जाएंगे।"
|
||||||
|
|
||||||
#: resources/ui/gtk4/tv-glitch.ui:115 resources/ui/gtk4/glitch.ui:115
|
#: 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/gtk3/tv-glitch.ui:142 resources/ui/gtk3/glitch.ui:142
|
||||||
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
|
#: resources/ui/adw/tv-glitch.ui:80 resources/ui/adw/glitch.ui:80
|
||||||
msgid "Strength"
|
msgid "Strength"
|
||||||
msgstr ""
|
msgstr "ताकत"
|
||||||
|
|
||||||
#: resources/ui/gtk4/tv-glitch.ui:161 resources/ui/gtk4/glitch.ui:161
|
#: 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/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/tv-glitch.ui:113 resources/ui/adw/glitch.ui:113
|
||||||
#: resources/ui/adw/fire.ui:96
|
#: resources/ui/adw/fire.ui:96
|
||||||
msgid "Speed"
|
msgid "Speed"
|
||||||
msgstr ""
|
msgstr "गति"
|
||||||
|
|
||||||
#: resources/ui/gtk4/tv-glitch.ui:207 resources/ui/gtk4/glitch.ui:207
|
#: 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/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/incinerate.ui:136 resources/ui/adw/snap.ui:80
|
||||||
#: resources/ui/adw/energize-a.ui:80 resources/ui/adw/tv.ui:47
|
#: resources/ui/adw/energize-a.ui:80 resources/ui/adw/tv.ui:47
|
||||||
msgid "Color"
|
msgid "Color"
|
||||||
msgstr ""
|
msgstr "रंग"
|
||||||
|
|
||||||
#: resources/ui/gtk4/matrix.ui:115 resources/ui/gtk4/apparition.ui:68
|
#: 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/gtk3/apparition.ui:104 resources/ui/adw/matrix.ui:80
|
||||||
#: resources/ui/adw/apparition.ui:48
|
#: resources/ui/adw/apparition.ui:48
|
||||||
msgid "Randomness"
|
msgid "Randomness"
|
||||||
msgstr ""
|
msgstr "बेतरतीबी"
|
||||||
|
|
||||||
#: resources/ui/gtk4/matrix.ui:161 resources/ui/adw/matrix.ui:113
|
#: resources/ui/gtk4/matrix.ui:161 resources/ui/adw/matrix.ui:113
|
||||||
msgid "Vertical Overshooting"
|
msgid "Vertical Overshooting"
|
||||||
msgstr ""
|
msgstr "लंबवत ओवरशूटिंग"
|
||||||
|
|
||||||
#: resources/ui/gtk4/matrix.ui:207 resources/ui/adw/matrix.ui:146
|
#: resources/ui/gtk4/matrix.ui:207 resources/ui/adw/matrix.ui:146
|
||||||
msgid "Trail Color"
|
msgid "Trail Color"
|
||||||
msgstr ""
|
msgstr "पगडंडी का रंग"
|
||||||
|
|
||||||
#: resources/ui/gtk4/matrix.ui:244 resources/ui/adw/matrix.ui:171
|
#: resources/ui/gtk4/matrix.ui:244 resources/ui/adw/matrix.ui:171
|
||||||
msgid "Tip Color"
|
msgid "Tip Color"
|
||||||
msgstr ""
|
msgstr "टिप का रंग"
|
||||||
|
|
||||||
#: resources/ui/gtk4/doom.ui:68 resources/ui/gtk3/doom.ui:97
|
#: resources/ui/gtk4/doom.ui:68 resources/ui/gtk3/doom.ui:97
|
||||||
#: resources/ui/adw/doom.ui:47
|
#: resources/ui/adw/doom.ui:47
|
||||||
msgid "Horizontal Scale"
|
msgid "Horizontal Scale"
|
||||||
msgstr ""
|
msgstr "क्षैतिज पैमाना"
|
||||||
|
|
||||||
#: resources/ui/gtk4/doom.ui:114 resources/ui/gtk3/doom.ui:142
|
#: resources/ui/gtk4/doom.ui:114 resources/ui/gtk3/doom.ui:142
|
||||||
#: resources/ui/adw/doom.ui:80
|
#: resources/ui/adw/doom.ui:80
|
||||||
msgid "Vertical Scale"
|
msgid "Vertical Scale"
|
||||||
msgstr ""
|
msgstr "लंबवत पैमाना"
|
||||||
|
|
||||||
#: resources/ui/gtk4/doom.ui:160 resources/ui/gtk4/pixel-wheel.ui:115
|
#: 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/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/doom.ui:113 resources/ui/adw/pixel-wheel.ui:80
|
||||||
#: resources/ui/adw/pixel-wipe.ui:47 resources/ui/adw/pixelate.ui:80
|
#: resources/ui/adw/pixel-wipe.ui:47 resources/ui/adw/pixelate.ui:80
|
||||||
msgid "Pixel Size"
|
msgid "Pixel Size"
|
||||||
msgstr ""
|
msgstr "पिक्सल आकार"
|
||||||
|
|
||||||
#: resources/ui/gtk4/paint-brush.ui:69 resources/ui/adw/paint-brush.ui:47
|
#: resources/ui/gtk4/paint-brush.ui:69 resources/ui/adw/paint-brush.ui:47
|
||||||
msgid "Brush Size"
|
msgid "Brush Size"
|
||||||
msgstr ""
|
msgstr "ब्रश का आकार"
|
||||||
|
|
||||||
#: resources/ui/gtk4/trex.ui:69 resources/ui/adw/trex.ui:47
|
#: resources/ui/gtk4/trex.ui:69 resources/ui/adw/trex.ui:47
|
||||||
msgid "Claw Scratch Scale"
|
msgid "Claw Scratch Scale"
|
||||||
msgstr ""
|
msgstr "पंजे का स्क्रैच स्केल"
|
||||||
|
|
||||||
#: resources/ui/gtk4/trex.ui:115 resources/ui/adw/trex.ui:80
|
#: resources/ui/gtk4/trex.ui:115 resources/ui/adw/trex.ui:80
|
||||||
msgid "Claw Scratch Count"
|
msgid "Claw Scratch Count"
|
||||||
msgstr ""
|
msgstr "पंजे की खरोंच गिनती"
|
||||||
|
|
||||||
#: resources/ui/gtk4/trex.ui:161 resources/ui/adw/trex.ui:113
|
#: resources/ui/gtk4/trex.ui:161 resources/ui/adw/trex.ui:113
|
||||||
msgid "Warp Effect"
|
msgid "Warp Effect"
|
||||||
msgstr ""
|
msgstr "वार्प प्रभाव"
|
||||||
|
|
||||||
#: resources/ui/gtk4/trex.ui:207 resources/ui/adw/trex.ui:146
|
#: resources/ui/gtk4/trex.ui:207 resources/ui/adw/trex.ui:146
|
||||||
msgid "Flash Color"
|
msgid "Flash Color"
|
||||||
msgstr ""
|
msgstr "फ़्लैश रंग"
|
||||||
|
|
||||||
#: resources/ui/gtk4/pixel-wheel.ui:69 resources/ui/gtk3/pixel-wheel.ui:90
|
#: resources/ui/gtk4/pixel-wheel.ui:69 resources/ui/gtk3/pixel-wheel.ui:90
|
||||||
#: resources/ui/adw/pixel-wheel.ui:47
|
#: resources/ui/adw/pixel-wheel.ui:47
|
||||||
msgid "Spoke Count"
|
msgid "Spoke Count"
|
||||||
msgstr ""
|
msgstr "स्पोक की गिनती"
|
||||||
|
|
||||||
#: resources/ui/gtk4/glide.ui:115 resources/ui/gtk3/glide.ui:149
|
#: resources/ui/gtk4/glide.ui:115 resources/ui/gtk3/glide.ui:149
|
||||||
#: resources/ui/adw/glide.ui:80
|
#: resources/ui/adw/glide.ui:80
|
||||||
msgid "Squish"
|
msgid "Squish"
|
||||||
msgstr ""
|
msgstr "स्क्विश"
|
||||||
|
|
||||||
#: resources/ui/gtk4/glide.ui:161 resources/ui/gtk3/glide.ui:194
|
#: resources/ui/gtk4/glide.ui:161 resources/ui/gtk3/glide.ui:194
|
||||||
#: resources/ui/adw/glide.ui:113
|
#: resources/ui/adw/glide.ui:113
|
||||||
msgid "Tilt"
|
msgid "Tilt"
|
||||||
msgstr ""
|
msgstr "झुकाव"
|
||||||
|
|
||||||
#: resources/ui/gtk4/glide.ui:207 resources/ui/gtk3/glide.ui:239
|
#: resources/ui/gtk4/glide.ui:207 resources/ui/gtk3/glide.ui:239
|
||||||
#: resources/ui/adw/glide.ui:146
|
#: resources/ui/adw/glide.ui:146
|
||||||
msgid "Shift"
|
msgid "Shift"
|
||||||
msgstr ""
|
msgstr "बदलाव"
|
||||||
|
|
||||||
#: resources/ui/gtk4/apparition.ui:114 resources/ui/gtk3/apparition.ui:149
|
#: resources/ui/gtk4/apparition.ui:114 resources/ui/gtk3/apparition.ui:149
|
||||||
#: resources/ui/adw/apparition.ui:81
|
#: resources/ui/adw/apparition.ui:81
|
||||||
msgid "Twirl Intensity"
|
msgid "Twirl Intensity"
|
||||||
msgstr ""
|
msgstr "घुमाव की तीव्रता"
|
||||||
|
|
||||||
#: resources/ui/gtk4/apparition.ui:160 resources/ui/gtk3/apparition.ui:194
|
#: resources/ui/gtk4/apparition.ui:160 resources/ui/gtk3/apparition.ui:194
|
||||||
#: resources/ui/adw/apparition.ui:114
|
#: resources/ui/adw/apparition.ui:114
|
||||||
msgid "Shake Intensity"
|
msgid "Shake Intensity"
|
||||||
msgstr ""
|
msgstr "झटकों की तीव्रता"
|
||||||
|
|
||||||
#: resources/ui/gtk4/apparition.ui:206 resources/ui/gtk3/apparition.ui:239
|
#: resources/ui/gtk4/apparition.ui:206 resources/ui/gtk3/apparition.ui:239
|
||||||
#: resources/ui/adw/apparition.ui:147
|
#: resources/ui/adw/apparition.ui:147
|
||||||
msgid "Suction Intensity"
|
msgid "Suction Intensity"
|
||||||
msgstr ""
|
msgstr "चूषण तीव्रता"
|
||||||
|
|
||||||
#: resources/ui/gtk4/portal.ui:69 resources/ui/gtk3/portal.ui:142
|
#: resources/ui/gtk4/portal.ui:69 resources/ui/gtk3/portal.ui:142
|
||||||
#: resources/ui/adw/portal.ui:80
|
#: resources/ui/adw/portal.ui:80
|
||||||
msgid "Whirling"
|
msgid "Whirling"
|
||||||
msgstr ""
|
msgstr "घुमावदार"
|
||||||
|
|
||||||
#: resources/ui/gtk4/portal.ui:115 resources/ui/gtk3/portal.ui:97
|
#: resources/ui/gtk4/portal.ui:115 resources/ui/gtk3/portal.ui:97
|
||||||
#: resources/ui/adw/portal.ui:47
|
#: resources/ui/adw/portal.ui:47
|
||||||
msgid "Rotation Speed"
|
msgid "Rotation Speed"
|
||||||
msgstr ""
|
msgstr "घूर्णन गति"
|
||||||
|
|
||||||
#: resources/ui/gtk4/portal.ui:161 resources/ui/gtk3/portal.ui:187
|
#: resources/ui/gtk4/portal.ui:161 resources/ui/gtk3/portal.ui:187
|
||||||
#: resources/ui/adw/portal.ui:113
|
#: resources/ui/adw/portal.ui:113
|
||||||
msgid "Details"
|
msgid "Details"
|
||||||
msgstr ""
|
msgstr "विवरण"
|
||||||
|
|
||||||
#: resources/ui/gtk4/incinerate.ui:115 resources/ui/gtk3/incinerate.ui:135
|
#: resources/ui/gtk4/incinerate.ui:115 resources/ui/gtk3/incinerate.ui:135
|
||||||
#: resources/ui/adw/incinerate.ui:80
|
#: resources/ui/adw/incinerate.ui:80
|
||||||
msgid "Turbulence"
|
msgid "Turbulence"
|
||||||
msgstr ""
|
msgstr "उथल-पुथल"
|
||||||
|
|
||||||
#: resources/ui/gtk4/incinerate.ui:165 resources/ui/gtk3/incinerate.ui:183
|
#: resources/ui/gtk4/incinerate.ui:165 resources/ui/gtk3/incinerate.ui:183
|
||||||
#: resources/ui/adw/incinerate.ui:113
|
#: resources/ui/adw/incinerate.ui:113
|
||||||
msgid "Start at Pointer"
|
msgid "Start at Pointer"
|
||||||
msgstr ""
|
msgstr "सूचक से प्रारंभ करें"
|
||||||
|
|
||||||
#: resources/ui/gtk4/incinerate.ui:174 resources/ui/gtk3/incinerate.ui:192
|
#: resources/ui/gtk4/incinerate.ui:174 resources/ui/gtk3/incinerate.ui:192
|
||||||
#: resources/ui/adw/incinerate.ui:114
|
#: resources/ui/adw/incinerate.ui:114
|
||||||
msgid "If disabled, a random location will be chosen."
|
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/gtk4/hexagon.ui:115 resources/ui/gtk3/hexagon.ui:135
|
||||||
#: resources/ui/adw/hexagon.ui:80
|
#: resources/ui/adw/hexagon.ui:80
|
||||||
msgid "Mesh Line Width"
|
msgid "Mesh Line Width"
|
||||||
msgstr ""
|
msgstr "जाल रेखा की चौड़ाई"
|
||||||
|
|
||||||
#: resources/ui/gtk4/hexagon.ui:161 resources/ui/gtk3/hexagon.ui:179
|
#: resources/ui/gtk4/hexagon.ui:161 resources/ui/gtk3/hexagon.ui:179
|
||||||
#: resources/ui/adw/hexagon.ui:113
|
#: resources/ui/adw/hexagon.ui:113
|
||||||
msgid "Line Color"
|
msgid "Line Color"
|
||||||
msgstr ""
|
msgstr "रेखा रंग"
|
||||||
|
|
||||||
#: resources/ui/gtk4/hexagon.ui:198 resources/ui/gtk3/hexagon.ui:221
|
#: resources/ui/gtk4/hexagon.ui:198 resources/ui/gtk3/hexagon.ui:221
|
||||||
#: resources/ui/adw/hexagon.ui:138
|
#: resources/ui/adw/hexagon.ui:138
|
||||||
msgid "Glow Color"
|
msgid "Glow Color"
|
||||||
msgstr ""
|
msgstr "चमकदार रंग"
|
||||||
|
|
||||||
#: resources/ui/gtk4/hexagon.ui:239 resources/ui/gtk3/hexagon.ui:267
|
#: resources/ui/gtk4/hexagon.ui:239 resources/ui/gtk3/hexagon.ui:267
|
||||||
#: resources/ui/adw/hexagon.ui:163
|
#: resources/ui/adw/hexagon.ui:163
|
||||||
msgid "Additive Blending"
|
msgid "Additive Blending"
|
||||||
msgstr ""
|
msgstr "योगात्मक सम्मिश्रण"
|
||||||
|
|
||||||
#: resources/ui/gtk4/hexagon.ui:248 resources/ui/gtk3/hexagon.ui:276
|
#: resources/ui/gtk4/hexagon.ui:248 resources/ui/gtk3/hexagon.ui:276
|
||||||
#: resources/ui/adw/hexagon.ui:164
|
#: resources/ui/adw/hexagon.ui:164
|
||||||
msgid "You may want to enable this for dark window themes."
|
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/gtk4/fire.ui:22 resources/ui/gtk3/fire.ui:44
|
||||||
#: resources/ui/adw/fire.ui:14
|
#: resources/ui/adw/fire.ui:14
|
||||||
msgid "Presets"
|
msgid "Presets"
|
||||||
msgstr ""
|
msgstr "प्रीसेट"
|
||||||
|
|
||||||
#: resources/ui/gtk4/fire.ui:31 resources/ui/gtk3/fire.ui:58
|
#: resources/ui/gtk4/fire.ui:31 resources/ui/gtk3/fire.ui:58
|
||||||
#: resources/ui/adw/fire.ui:19
|
#: resources/ui/adw/fire.ui:19
|
||||||
msgid "Choose a Preset"
|
msgid "Choose a Preset"
|
||||||
msgstr ""
|
msgstr "प्रीसेट चुनें"
|
||||||
|
|
||||||
#: resources/ui/gtk4/fire.ui:188 resources/ui/gtk3/fire.ui:220
|
#: resources/ui/gtk4/fire.ui:188 resources/ui/gtk3/fire.ui:220
|
||||||
#: resources/ui/adw/fire.ui:129
|
#: resources/ui/adw/fire.ui:129
|
||||||
msgid "3D Noise"
|
msgid "3D Noise"
|
||||||
msgstr ""
|
msgstr "3D शोर"
|
||||||
|
|
||||||
#: resources/ui/gtk4/fire.ui:197 resources/ui/gtk3/fire.ui:229
|
#: resources/ui/gtk4/fire.ui:197 resources/ui/gtk3/fire.ui:229
|
||||||
#: resources/ui/adw/fire.ui:130
|
#: resources/ui/adw/fire.ui:130
|
||||||
msgid "Creates a more dynamic fire but requires more GPU power."
|
msgid "Creates a more dynamic fire but requires more GPU power."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"अधिक गतिशील आग पैदा करता है लेकिन इसके लिए अधिक GPU शक्ति की आवश्यकता होती "
|
||||||
|
"है।"
|
||||||
|
|
||||||
#: resources/ui/gtk4/fire.ui:239 resources/ui/gtk3/fire.ui:276
|
#: resources/ui/gtk4/fire.ui:239 resources/ui/gtk3/fire.ui:276
|
||||||
#: resources/ui/adw/fire.ui:152
|
#: resources/ui/adw/fire.ui:152
|
||||||
msgid "Gradient"
|
msgid "Gradient"
|
||||||
msgstr ""
|
msgstr "ग्रेडियेंट"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:91 resources/ui/gtk3/prefs.ui:133
|
#: resources/ui/gtk4/prefs.ui:91 resources/ui/gtk3/prefs.ui:133
|
||||||
#: resources/ui/adw/prefs.ui:224
|
#: resources/ui/adw/prefs.ui:224
|
||||||
msgid "Effect Selection"
|
msgid "Effect Selection"
|
||||||
msgstr ""
|
msgstr "प्रभाव चयन"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:101 resources/ui/gtk3/prefs.ui:143
|
#: resources/ui/gtk4/prefs.ui:101 resources/ui/gtk3/prefs.ui:143
|
||||||
#: resources/ui/adw/prefs.ui:225
|
#: resources/ui/adw/prefs.ui:225
|
||||||
msgid "If multiple are selected, one is chosen randomly."
|
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/gtk4/prefs.ui:118 resources/ui/gtk3/prefs.ui:160
|
||||||
#: resources/ui/adw/prefs.ui:236
|
#: resources/ui/adw/prefs.ui:236
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr ""
|
msgstr "सभी"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:124 resources/ui/gtk3/prefs.ui:166
|
#: resources/ui/gtk4/prefs.ui:124 resources/ui/gtk3/prefs.ui:166
|
||||||
#: resources/ui/adw/prefs.ui:242
|
#: resources/ui/adw/prefs.ui:242
|
||||||
msgid "None"
|
msgid "None"
|
||||||
msgstr ""
|
msgstr "कोई नहीं"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:168 resources/ui/gtk3/prefs.ui:208
|
#: resources/ui/gtk4/prefs.ui:168 resources/ui/gtk3/prefs.ui:208
|
||||||
#: resources/ui/adw/prefs.ui:65
|
#: resources/ui/adw/prefs.ui:65
|
||||||
msgid "Effect Profile Constraints"
|
msgid "Effect Profile Constraints"
|
||||||
msgstr ""
|
msgstr "प्रभाव प्रोफ़ाइल बाधाएं"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:178 resources/ui/gtk3/prefs.ui:218
|
#: resources/ui/gtk4/prefs.ui:178 resources/ui/gtk3/prefs.ui:218
|
||||||
#: resources/ui/adw/prefs.ui:66
|
#: resources/ui/adw/prefs.ui:66
|
||||||
msgid "Define when the current effect settings should be used."
|
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/gtk4/prefs.ui:202 resources/ui/gtk3/prefs.ui:242
|
||||||
#: resources/ui/adw/prefs.ui:70
|
#: resources/ui/adw/prefs.ui:70
|
||||||
msgid "Application"
|
msgid "Application"
|
||||||
msgstr ""
|
msgstr "अनुप्रयोग"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:220 resources/ui/gtk4/prefs.ui:255
|
#: 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: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:117 resources/ui/adw/prefs.ui:132
|
||||||
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
|
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
|
||||||
msgid "Any"
|
msgid "Any"
|
||||||
msgstr ""
|
msgstr "कोई"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:244 resources/ui/gtk3/prefs.ui:289
|
#: resources/ui/gtk4/prefs.ui:244 resources/ui/gtk3/prefs.ui:289
|
||||||
#: resources/ui/adw/prefs.ui:98
|
#: resources/ui/adw/prefs.ui:98
|
||||||
msgid "Animation Type"
|
msgid "Animation Type"
|
||||||
msgstr ""
|
msgstr "एनिमेशन प्रकार"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:273 resources/ui/gtk3/prefs.ui:318
|
#: resources/ui/gtk4/prefs.ui:273 resources/ui/gtk3/prefs.ui:318
|
||||||
#: resources/ui/adw/prefs.ui:113
|
#: resources/ui/adw/prefs.ui:113
|
||||||
msgid "Window Type"
|
msgid "Window Type"
|
||||||
msgstr ""
|
msgstr "विंडो प्रकार"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:302 resources/ui/gtk3/prefs.ui:347
|
#: resources/ui/gtk4/prefs.ui:302 resources/ui/gtk3/prefs.ui:347
|
||||||
#: resources/ui/adw/prefs.ui:128
|
#: resources/ui/adw/prefs.ui:128
|
||||||
msgid "Color Scheme"
|
msgid "Color Scheme"
|
||||||
msgstr ""
|
msgstr "रंग योजना"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:331 resources/ui/gtk3/prefs.ui:376
|
#: resources/ui/gtk4/prefs.ui:331 resources/ui/gtk3/prefs.ui:376
|
||||||
#: resources/ui/adw/prefs.ui:143
|
#: resources/ui/adw/prefs.ui:143
|
||||||
msgid "Power Mode"
|
msgid "Power Mode"
|
||||||
msgstr ""
|
msgstr "पावर मोड"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:360 resources/ui/gtk3/prefs.ui:405
|
#: resources/ui/gtk4/prefs.ui:360 resources/ui/gtk3/prefs.ui:405
|
||||||
#: resources/ui/adw/prefs.ui:158
|
#: resources/ui/adw/prefs.ui:158
|
||||||
msgid "Power Profile"
|
msgid "Power Profile"
|
||||||
msgstr ""
|
msgstr "पावर प्रोफ़ाइल"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:392 resources/ui/gtk3/prefs.ui:437
|
#: resources/ui/gtk4/prefs.ui:392 resources/ui/gtk3/prefs.ui:437
|
||||||
#: resources/ui/adw/prefs.ui:179
|
#: resources/ui/adw/prefs.ui:179
|
||||||
msgid "Advanced Profile Options"
|
msgid "Advanced Profile Options"
|
||||||
msgstr ""
|
msgstr "उन्नत प्रोफ़ाइल विकल्प"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:432 resources/ui/gtk3/prefs.ui:477
|
#: resources/ui/gtk4/prefs.ui:432 resources/ui/gtk3/prefs.ui:477
|
||||||
#: resources/ui/adw/prefs.ui:184
|
#: resources/ui/adw/prefs.ui:184
|
||||||
msgid "Use this profile even if there are better matching profiles."
|
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/gtk4/prefs.ui:464 resources/ui/gtk3/prefs.ui:509
|
||||||
#: resources/ui/adw/prefs.ui:204
|
#: resources/ui/adw/prefs.ui:204
|
||||||
msgid "Delete this Profile..."
|
msgid "Delete this Profile..."
|
||||||
msgstr ""
|
msgstr "इस प्रोफ़ाइल को मिटाएं…"
|
||||||
|
|
||||||
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
|
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
|
||||||
#: resources/ui/adw/pixelate.ui:47
|
#: resources/ui/adw/pixelate.ui:47
|
||||||
msgid "Noise"
|
msgid "Noise"
|
||||||
msgstr ""
|
msgstr "शोर"
|
||||||
|
|||||||
@@ -8,110 +8,110 @@ msgstr ""
|
|||||||
"Project-Id-Version: burn-my-windows\n"
|
"Project-Id-Version: burn-my-windows\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-08-31 07:30+0200\n"
|
"POT-Creation-Date: 2023-08-31 07:30+0200\n"
|
||||||
"PO-Revision-Date: 2023-02-06 11:38+0000\n"
|
"PO-Revision-Date: 2024-08-18 17:09+0000\n"
|
||||||
"Last-Translator: KinteLiX <superh552@gmail.com>\n"
|
"Last-Translator: atomkapa atomkapa <atomkapa@gmail.com>\n"
|
||||||
"Language-Team: Hungarian <https://hosted.weblate.org/projects/burn-my-"
|
"Language-Team: Hungarian <https://hosted.weblate.org/projects/"
|
||||||
"windows/core/hu/>\n"
|
"burn-my-windows/core/hu/>\n"
|
||||||
"Language: hu\n"
|
"Language: hu\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 4.16-dev\n"
|
"X-Generator: Weblate 5.7\n"
|
||||||
|
|
||||||
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:256
|
#: src/ProfileManager.js:175 resources/ui/gtk4/prefs.ui:256
|
||||||
#: resources/ui/gtk3/prefs.ui:301 resources/ui/adw/prefs.ui:103
|
#: resources/ui/gtk3/prefs.ui:301 resources/ui/adw/prefs.ui:103
|
||||||
msgid "Opening Windows"
|
msgid "Opening Windows"
|
||||||
msgstr ""
|
msgstr "Ablakok megnyitása"
|
||||||
|
|
||||||
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:257
|
#: src/ProfileManager.js:176 resources/ui/gtk4/prefs.ui:257
|
||||||
#: resources/ui/gtk3/prefs.ui:302 resources/ui/adw/prefs.ui:104
|
#: resources/ui/gtk3/prefs.ui:302 resources/ui/adw/prefs.ui:104
|
||||||
msgid "Closing Windows"
|
msgid "Closing Windows"
|
||||||
msgstr ""
|
msgstr "Ablakok bezárása"
|
||||||
|
|
||||||
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:285
|
#: src/ProfileManager.js:177 resources/ui/gtk4/prefs.ui:285
|
||||||
#: resources/ui/gtk3/prefs.ui:330 resources/ui/adw/prefs.ui:118
|
#: resources/ui/gtk3/prefs.ui:330 resources/ui/adw/prefs.ui:118
|
||||||
msgid "Normal Windows"
|
msgid "Normal Windows"
|
||||||
msgstr ""
|
msgstr "Normál ablakok"
|
||||||
|
|
||||||
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:286
|
#: src/ProfileManager.js:178 resources/ui/gtk4/prefs.ui:286
|
||||||
#: resources/ui/gtk3/prefs.ui:331 resources/ui/adw/prefs.ui:119
|
#: resources/ui/gtk3/prefs.ui:331 resources/ui/adw/prefs.ui:119
|
||||||
msgid "Dialog Windows"
|
msgid "Dialog Windows"
|
||||||
msgstr ""
|
msgstr "Párbeszédablakok"
|
||||||
|
|
||||||
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:314
|
#: src/ProfileManager.js:179 resources/ui/gtk4/prefs.ui:314
|
||||||
#: resources/ui/gtk3/prefs.ui:359 resources/ui/adw/prefs.ui:133
|
#: resources/ui/gtk3/prefs.ui:359 resources/ui/adw/prefs.ui:133
|
||||||
msgid "Default Color Scheme"
|
msgid "Default Color Scheme"
|
||||||
msgstr ""
|
msgstr "Alapértelmezett téma"
|
||||||
|
|
||||||
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:315
|
#: src/ProfileManager.js:180 resources/ui/gtk4/prefs.ui:315
|
||||||
#: resources/ui/gtk3/prefs.ui:360 resources/ui/adw/prefs.ui:134
|
#: resources/ui/gtk3/prefs.ui:360 resources/ui/adw/prefs.ui:134
|
||||||
msgid "Dark Color Scheme"
|
msgid "Dark Color Scheme"
|
||||||
msgstr ""
|
msgstr "Sötét téma"
|
||||||
|
|
||||||
#: src/ProfileManager.js:181 resources/ui/gtk4/prefs.ui:343
|
#: src/ProfileManager.js:181 resources/ui/gtk4/prefs.ui:343
|
||||||
#: resources/ui/gtk3/prefs.ui:388 resources/ui/adw/prefs.ui:148
|
#: resources/ui/gtk3/prefs.ui:388 resources/ui/adw/prefs.ui:148
|
||||||
msgid "On Battery"
|
msgid "On Battery"
|
||||||
msgstr ""
|
msgstr "Akkumulátoron"
|
||||||
|
|
||||||
#: src/ProfileManager.js:182 resources/ui/gtk4/prefs.ui:344
|
#: src/ProfileManager.js:182 resources/ui/gtk4/prefs.ui:344
|
||||||
#: resources/ui/gtk3/prefs.ui:389 resources/ui/adw/prefs.ui:149
|
#: resources/ui/gtk3/prefs.ui:389 resources/ui/adw/prefs.ui:149
|
||||||
msgid "Plugged In"
|
msgid "Plugged In"
|
||||||
msgstr ""
|
msgstr "Csatlakoztatva"
|
||||||
|
|
||||||
#: src/ProfileManager.js:183 resources/ui/gtk4/prefs.ui:372
|
#: src/ProfileManager.js:183 resources/ui/gtk4/prefs.ui:372
|
||||||
#: resources/ui/gtk3/prefs.ui:417 resources/ui/adw/prefs.ui:163
|
#: resources/ui/gtk3/prefs.ui:417 resources/ui/adw/prefs.ui:163
|
||||||
msgid "Power-Saver Mode"
|
msgid "Power-Saver Mode"
|
||||||
msgstr ""
|
msgstr "Energiatakarékos üzemmód"
|
||||||
|
|
||||||
#: src/ProfileManager.js:184 resources/ui/gtk4/prefs.ui:373
|
#: src/ProfileManager.js:184 resources/ui/gtk4/prefs.ui:373
|
||||||
#: resources/ui/gtk3/prefs.ui:418 resources/ui/adw/prefs.ui:164
|
#: resources/ui/gtk3/prefs.ui:418 resources/ui/adw/prefs.ui:164
|
||||||
msgid "Balanced Mode"
|
msgid "Balanced Mode"
|
||||||
msgstr ""
|
msgstr "Kiegyensúlyozott üzemmód"
|
||||||
|
|
||||||
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:374
|
#: src/ProfileManager.js:185 resources/ui/gtk4/prefs.ui:374
|
||||||
#: resources/ui/gtk3/prefs.ui:419 resources/ui/adw/prefs.ui:165
|
#: resources/ui/gtk3/prefs.ui:419 resources/ui/adw/prefs.ui:165
|
||||||
msgid "Performance Mode"
|
msgid "Performance Mode"
|
||||||
msgstr ""
|
msgstr "Teljesítmény üzemmód"
|
||||||
|
|
||||||
#: src/ProfileManager.js:186 resources/ui/gtk4/prefs.ui:375
|
#: src/ProfileManager.js:186 resources/ui/gtk4/prefs.ui:375
|
||||||
#: resources/ui/gtk3/prefs.ui:420 resources/ui/adw/prefs.ui:166
|
#: resources/ui/gtk3/prefs.ui:420 resources/ui/adw/prefs.ui:166
|
||||||
msgid "Power Saver or Balanced"
|
msgid "Power Saver or Balanced"
|
||||||
msgstr ""
|
msgstr "Enerigiatakarékos vagy kiegyensúlyozott üzemmód"
|
||||||
|
|
||||||
#: src/ProfileManager.js:187 resources/ui/gtk4/prefs.ui:376
|
#: src/ProfileManager.js:187 resources/ui/gtk4/prefs.ui:376
|
||||||
#: resources/ui/gtk3/prefs.ui:421 resources/ui/adw/prefs.ui:167
|
#: resources/ui/gtk3/prefs.ui:421 resources/ui/adw/prefs.ui:167
|
||||||
msgid "Balanced or Performance"
|
msgid "Balanced or Performance"
|
||||||
msgstr ""
|
msgstr "Kiegyensúlyozott vagy teljesítmény üzemmód"
|
||||||
|
|
||||||
#: src/ProfileManager.js:192 resources/ui/gtk4/prefs.ui:423
|
#: src/ProfileManager.js:192 resources/ui/gtk4/prefs.ui:423
|
||||||
#: resources/ui/gtk3/prefs.ui:468 resources/ui/adw/prefs.ui:183
|
#: resources/ui/gtk3/prefs.ui:468 resources/ui/adw/prefs.ui:183
|
||||||
msgid "High Priority"
|
msgid "High Priority"
|
||||||
msgstr ""
|
msgstr "Magas Prioritás"
|
||||||
|
|
||||||
#: src/ProfileManager.js:198
|
#: src/ProfileManager.js:198
|
||||||
msgid "Standard Profile"
|
msgid "Standard Profile"
|
||||||
msgstr ""
|
msgstr "Alapértelmezett Profil"
|
||||||
|
|
||||||
#: src/effects/Apparition.js:78
|
#: src/effects/Apparition.js:78
|
||||||
msgid "Apparition"
|
msgid "Apparition"
|
||||||
msgstr "Jelenés"
|
msgstr "Megjelenés"
|
||||||
|
|
||||||
#: src/effects/BrokenGlass.js:137
|
#: src/effects/BrokenGlass.js:137
|
||||||
msgid "Broken Glass"
|
msgid "Broken Glass"
|
||||||
msgstr "Szilánkok"
|
msgstr "Betört üveg"
|
||||||
|
|
||||||
#: src/effects/Doom.js:88
|
#: src/effects/Doom.js:88
|
||||||
msgid "Doom"
|
msgid "Doom"
|
||||||
msgstr "Végzet"
|
msgstr "Doom"
|
||||||
|
|
||||||
#: src/effects/EnergizeA.js:80
|
#: src/effects/EnergizeA.js:80
|
||||||
msgid "Energize A"
|
msgid "Energize A"
|
||||||
msgstr "Energia A"
|
msgstr "Energiát! A"
|
||||||
|
|
||||||
#: src/effects/EnergizeB.js:81
|
#: src/effects/EnergizeB.js:81
|
||||||
msgid "Energize B"
|
msgid "Energize B"
|
||||||
msgstr "Energia B"
|
msgstr "Energiát! B"
|
||||||
|
|
||||||
#: src/effects/Fire.js:100
|
#: src/effects/Fire.js:100
|
||||||
msgid "Fire"
|
msgid "Fire"
|
||||||
@@ -127,15 +127,15 @@ msgstr "Pokoli tűz"
|
|||||||
|
|
||||||
#: src/effects/Fire.js:174
|
#: src/effects/Fire.js:174
|
||||||
msgid "Dark and Smutty"
|
msgid "Dark and Smutty"
|
||||||
msgstr "Sötét és kormos"
|
msgstr "Sötét és kormos tűz"
|
||||||
|
|
||||||
#: src/effects/Fire.js:184
|
#: src/effects/Fire.js:184
|
||||||
msgid "Cold Breeze"
|
msgid "Cold Breeze"
|
||||||
msgstr "Hideg szellő"
|
msgstr "Fagyos szellő"
|
||||||
|
|
||||||
#: src/effects/Fire.js:194
|
#: src/effects/Fire.js:194
|
||||||
msgid "Santa is Coming"
|
msgid "Santa is Coming"
|
||||||
msgstr "Jön a télapó"
|
msgstr "Télapó itt van"
|
||||||
|
|
||||||
#: src/effects/Glide.js:78
|
#: src/effects/Glide.js:78
|
||||||
msgid "Glide"
|
msgid "Glide"
|
||||||
@@ -159,7 +159,7 @@ msgstr "Mátrix"
|
|||||||
|
|
||||||
#: src/effects/PaintBrush.js:102
|
#: src/effects/PaintBrush.js:102
|
||||||
msgid "Paint Brush"
|
msgid "Paint Brush"
|
||||||
msgstr ""
|
msgstr "Ecset"
|
||||||
|
|
||||||
#: src/effects/Pixelate.js:74
|
#: src/effects/Pixelate.js:74
|
||||||
msgid "Pixelate"
|
msgid "Pixelate"
|
||||||
@@ -167,7 +167,7 @@ msgstr "Pixelezés"
|
|||||||
|
|
||||||
#: src/effects/PixelWheel.js:74
|
#: src/effects/PixelWheel.js:74
|
||||||
msgid "Pixel Wheel"
|
msgid "Pixel Wheel"
|
||||||
msgstr "Pixelciklus"
|
msgstr "Pixelkerék"
|
||||||
|
|
||||||
#: src/effects/PixelWipe.js:101
|
#: src/effects/PixelWipe.js:101
|
||||||
msgid "Pixel Wipe"
|
msgid "Pixel Wipe"
|
||||||
@@ -179,7 +179,7 @@ msgstr "Portál"
|
|||||||
|
|
||||||
#: src/effects/SnapOfDisintegration.js:114
|
#: src/effects/SnapOfDisintegration.js:114
|
||||||
msgid "Snap of Disintegration"
|
msgid "Snap of Disintegration"
|
||||||
msgstr "Hírtelen felbomlás"
|
msgstr "Thanos csettintése"
|
||||||
|
|
||||||
#: src/effects/TRexAttack.js:112
|
#: src/effects/TRexAttack.js:112
|
||||||
msgid "T-Rex Attack"
|
msgid "T-Rex Attack"
|
||||||
@@ -199,11 +199,11 @@ msgstr "Szálak"
|
|||||||
|
|
||||||
#: prefs.js:269
|
#: prefs.js:269
|
||||||
msgid "Preview this effect"
|
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
|
#: prefs.js:388 resources/ui/gtk4/prefs.ui:50 resources/ui/gtk3/prefs.ui:86
|
||||||
msgid "Burn-My-Windows has been updated!"
|
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
|
#: prefs.js:389 resources/ui/common/menus.ui:17 resources/ui/gtk4/prefs.ui:56
|
||||||
#: resources/ui/gtk3/prefs.ui:96
|
#: resources/ui/gtk3/prefs.ui:96
|
||||||
@@ -228,21 +228,21 @@ msgstr "Korábbi szponzorok"
|
|||||||
|
|
||||||
#: prefs.js:660
|
#: prefs.js:660
|
||||||
msgid "Delete this Profile?"
|
msgid "Delete this Profile?"
|
||||||
msgstr ""
|
msgstr "Biztosan törli a profilt?"
|
||||||
|
|
||||||
#: prefs.js:661
|
#: prefs.js:661
|
||||||
msgid ""
|
msgid ""
|
||||||
"The current effect profile with all its effect settings will be permanently "
|
"The current effect profile with all its effect settings will be permanently "
|
||||||
"lost."
|
"lost."
|
||||||
msgstr ""
|
msgstr "A jelenlegi profil minden beállítással együtt örökre elveszik."
|
||||||
|
|
||||||
#: prefs.js:664
|
#: prefs.js:664
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr ""
|
msgstr "Mégse"
|
||||||
|
|
||||||
#: prefs.js:669
|
#: prefs.js:669
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr ""
|
msgstr "Törlés"
|
||||||
|
|
||||||
#. Translators: %s will be replaced by the effect's name.
|
#. Translators: %s will be replaced by the effect's name.
|
||||||
#: prefs.js:980
|
#: prefs.js:980
|
||||||
@@ -260,7 +260,7 @@ msgstr "Honlap meglátogatása"
|
|||||||
|
|
||||||
#: resources/ui/common/menus.ui:21
|
#: resources/ui/common/menus.ui:21
|
||||||
msgid "View Matching Wallpapers"
|
msgid "View Matching Wallpapers"
|
||||||
msgstr ""
|
msgstr "Passzoló háttérképek megtekintése"
|
||||||
|
|
||||||
#: resources/ui/common/menus.ui:27
|
#: resources/ui/common/menus.ui:27
|
||||||
msgid "Report a Bug"
|
msgid "Report a Bug"
|
||||||
@@ -280,7 +280,7 @@ msgstr "Adományozás"
|
|||||||
|
|
||||||
#: resources/ui/common/menus.ui:56
|
#: resources/ui/common/menus.ui:56
|
||||||
msgid "Open Effect-Profile Directory"
|
msgid "Open Effect-Profile Directory"
|
||||||
msgstr ""
|
msgstr "Az effektbeállításokat tartalmazó mappa megnyitása"
|
||||||
|
|
||||||
#: resources/ui/common/menus.ui:62
|
#: resources/ui/common/menus.ui:62
|
||||||
msgid "About Burn-My-Windows"
|
msgid "About Burn-My-Windows"
|
||||||
@@ -288,7 +288,7 @@ msgstr "A Burn-My-Windowsról"
|
|||||||
|
|
||||||
#: resources/ui/common/menus.ui:73
|
#: resources/ui/common/menus.ui:73
|
||||||
msgid "Add New Profile..."
|
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/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/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
|
#: resources/ui/gtk4/paint-brush.ui:69 resources/ui/adw/paint-brush.ui:47
|
||||||
msgid "Brush Size"
|
msgid "Brush Size"
|
||||||
msgstr ""
|
msgstr "Ecset mérete"
|
||||||
|
|
||||||
#: resources/ui/gtk4/trex.ui:69 resources/ui/adw/trex.ui:47
|
#: resources/ui/gtk4/trex.ui:69 resources/ui/adw/trex.ui:47
|
||||||
msgid "Claw Scratch Scale"
|
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
|
#: resources/ui/gtk4/trex.ui:115 resources/ui/adw/trex.ui:80
|
||||||
msgid "Claw Scratch Count"
|
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/gtk4/apparition.ui:114 resources/ui/gtk3/apparition.ui:149
|
||||||
#: resources/ui/adw/apparition.ui:81
|
#: resources/ui/adw/apparition.ui:81
|
||||||
msgid "Twirl Intensity"
|
msgid "Twirl Intensity"
|
||||||
msgstr ""
|
msgstr "Pörgés intenzitása"
|
||||||
|
|
||||||
#: resources/ui/gtk4/apparition.ui:160 resources/ui/gtk3/apparition.ui:194
|
#: resources/ui/gtk4/apparition.ui:160 resources/ui/gtk3/apparition.ui:194
|
||||||
#: resources/ui/adw/apparition.ui:114
|
#: resources/ui/adw/apparition.ui:114
|
||||||
msgid "Shake Intensity"
|
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/gtk4/apparition.ui:206 resources/ui/gtk3/apparition.ui:239
|
||||||
#: resources/ui/adw/apparition.ui:147
|
#: resources/ui/adw/apparition.ui:147
|
||||||
msgid "Suction Intensity"
|
msgid "Suction Intensity"
|
||||||
msgstr ""
|
msgstr "Szívóerő Intenzitása"
|
||||||
|
|
||||||
#: resources/ui/gtk4/portal.ui:69 resources/ui/gtk3/portal.ui:142
|
#: resources/ui/gtk4/portal.ui:69 resources/ui/gtk3/portal.ui:142
|
||||||
#: resources/ui/adw/portal.ui:80
|
#: resources/ui/adw/portal.ui:80
|
||||||
msgid "Whirling"
|
msgid "Whirling"
|
||||||
msgstr ""
|
msgstr "Örvénylés"
|
||||||
|
|
||||||
#: resources/ui/gtk4/portal.ui:115 resources/ui/gtk3/portal.ui:97
|
#: resources/ui/gtk4/portal.ui:115 resources/ui/gtk3/portal.ui:97
|
||||||
#: resources/ui/adw/portal.ui:47
|
#: resources/ui/adw/portal.ui:47
|
||||||
msgid "Rotation Speed"
|
msgid "Rotation Speed"
|
||||||
msgstr ""
|
msgstr "Forgás sebessége"
|
||||||
|
|
||||||
#: resources/ui/gtk4/portal.ui:161 resources/ui/gtk3/portal.ui:187
|
#: resources/ui/gtk4/portal.ui:161 resources/ui/gtk3/portal.ui:187
|
||||||
#: resources/ui/adw/portal.ui:113
|
#: resources/ui/adw/portal.ui:113
|
||||||
msgid "Details"
|
msgid "Details"
|
||||||
msgstr ""
|
msgstr "Részletesség"
|
||||||
|
|
||||||
#: resources/ui/gtk4/incinerate.ui:115 resources/ui/gtk3/incinerate.ui:135
|
#: resources/ui/gtk4/incinerate.ui:115 resources/ui/gtk3/incinerate.ui:135
|
||||||
#: resources/ui/adw/incinerate.ui:80
|
#: resources/ui/adw/incinerate.ui:80
|
||||||
msgid "Turbulence"
|
msgid "Turbulence"
|
||||||
msgstr "Légörvény"
|
msgstr "Turbulencia"
|
||||||
|
|
||||||
#: resources/ui/gtk4/incinerate.ui:165 resources/ui/gtk3/incinerate.ui:183
|
#: resources/ui/gtk4/incinerate.ui:165 resources/ui/gtk3/incinerate.ui:183
|
||||||
#: resources/ui/adw/incinerate.ui:113
|
#: resources/ui/adw/incinerate.ui:113
|
||||||
msgid "Start at Pointer"
|
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/gtk4/incinerate.ui:174 resources/ui/gtk3/incinerate.ui:192
|
||||||
#: resources/ui/adw/incinerate.ui:114
|
#: 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/gtk4/hexagon.ui:115 resources/ui/gtk3/hexagon.ui:135
|
||||||
#: resources/ui/adw/hexagon.ui:80
|
#: resources/ui/adw/hexagon.ui:80
|
||||||
msgid "Mesh Line Width"
|
msgid "Mesh Line Width"
|
||||||
msgstr ""
|
msgstr "Körvonal Vastagsága"
|
||||||
|
|
||||||
#: resources/ui/gtk4/hexagon.ui:161 resources/ui/gtk3/hexagon.ui:179
|
#: resources/ui/gtk4/hexagon.ui:161 resources/ui/gtk3/hexagon.ui:179
|
||||||
#: resources/ui/adw/hexagon.ui:113
|
#: 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/gtk4/hexagon.ui:239 resources/ui/gtk3/hexagon.ui:267
|
||||||
#: resources/ui/adw/hexagon.ui:163
|
#: resources/ui/adw/hexagon.ui:163
|
||||||
msgid "Additive Blending"
|
msgid "Additive Blending"
|
||||||
msgstr ""
|
msgstr "Beolvadó Színek"
|
||||||
|
|
||||||
#: resources/ui/gtk4/hexagon.ui:248 resources/ui/gtk3/hexagon.ui:276
|
#: resources/ui/gtk4/hexagon.ui:248 resources/ui/gtk3/hexagon.ui:276
|
||||||
#: resources/ui/adw/hexagon.ui:164
|
#: resources/ui/adw/hexagon.ui:164
|
||||||
msgid "You may want to enable this for dark window themes."
|
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/gtk4/fire.ui:22 resources/ui/gtk3/fire.ui:44
|
||||||
#: resources/ui/adw/fire.ui:14
|
#: 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/gtk4/fire.ui:31 resources/ui/gtk3/fire.ui:58
|
||||||
#: resources/ui/adw/fire.ui:19
|
#: resources/ui/adw/fire.ui:19
|
||||||
msgid "Choose a Preset"
|
msgid "Choose a Preset"
|
||||||
msgstr ""
|
msgstr "Válassz egy sablont"
|
||||||
|
|
||||||
#: resources/ui/gtk4/fire.ui:188 resources/ui/gtk3/fire.ui:220
|
#: resources/ui/gtk4/fire.ui:188 resources/ui/gtk3/fire.ui:220
|
||||||
#: resources/ui/adw/fire.ui:129
|
#: 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/gtk4/fire.ui:239 resources/ui/gtk3/fire.ui:276
|
||||||
#: resources/ui/adw/fire.ui:152
|
#: resources/ui/adw/fire.ui:152
|
||||||
msgid "Gradient"
|
msgid "Gradient"
|
||||||
msgstr "Gradiens"
|
msgstr "Árnyalatok"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:91 resources/ui/gtk3/prefs.ui:133
|
#: resources/ui/gtk4/prefs.ui:91 resources/ui/gtk3/prefs.ui:133
|
||||||
#: resources/ui/adw/prefs.ui:224
|
#: resources/ui/adw/prefs.ui:224
|
||||||
msgid "Effect Selection"
|
msgid "Effect Selection"
|
||||||
msgstr ""
|
msgstr "Effektus kiválasztása"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:101 resources/ui/gtk3/prefs.ui:143
|
#: resources/ui/gtk4/prefs.ui:101 resources/ui/gtk3/prefs.ui:143
|
||||||
#: resources/ui/adw/prefs.ui:225
|
#: resources/ui/adw/prefs.ui:225
|
||||||
msgid "If multiple are selected, one is chosen randomly."
|
msgid "If multiple are selected, one is chosen randomly."
|
||||||
msgstr ""
|
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/gtk4/prefs.ui:118 resources/ui/gtk3/prefs.ui:160
|
||||||
#: resources/ui/adw/prefs.ui:236
|
#: resources/ui/adw/prefs.ui:236
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr ""
|
msgstr "Mind"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:124 resources/ui/gtk3/prefs.ui:166
|
#: resources/ui/gtk4/prefs.ui:124 resources/ui/gtk3/prefs.ui:166
|
||||||
#: resources/ui/adw/prefs.ui:242
|
#: resources/ui/adw/prefs.ui:242
|
||||||
msgid "None"
|
msgid "None"
|
||||||
msgstr ""
|
msgstr "Egyik sem"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:168 resources/ui/gtk3/prefs.ui:208
|
#: resources/ui/gtk4/prefs.ui:168 resources/ui/gtk3/prefs.ui:208
|
||||||
#: resources/ui/adw/prefs.ui:65
|
#: resources/ui/adw/prefs.ui:65
|
||||||
msgid "Effect Profile Constraints"
|
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/gtk4/prefs.ui:178 resources/ui/gtk3/prefs.ui:218
|
||||||
#: resources/ui/adw/prefs.ui:66
|
#: resources/ui/adw/prefs.ui:66
|
||||||
msgid "Define when the current effect settings should be used."
|
msgid "Define when the current effect settings should be used."
|
||||||
msgstr ""
|
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/gtk4/prefs.ui:202 resources/ui/gtk3/prefs.ui:242
|
||||||
#: resources/ui/adw/prefs.ui:70
|
#: resources/ui/adw/prefs.ui:70
|
||||||
msgid "Application"
|
msgid "Application"
|
||||||
msgstr ""
|
msgstr "Applikáció"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:220 resources/ui/gtk4/prefs.ui:255
|
#: 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: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:117 resources/ui/adw/prefs.ui:132
|
||||||
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
|
#: resources/ui/adw/prefs.ui:147 resources/ui/adw/prefs.ui:162
|
||||||
msgid "Any"
|
msgid "Any"
|
||||||
msgstr ""
|
msgstr "Bármelyik"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:244 resources/ui/gtk3/prefs.ui:289
|
#: resources/ui/gtk4/prefs.ui:244 resources/ui/gtk3/prefs.ui:289
|
||||||
#: resources/ui/adw/prefs.ui:98
|
#: resources/ui/adw/prefs.ui:98
|
||||||
msgid "Animation Type"
|
msgid "Animation Type"
|
||||||
msgstr ""
|
msgstr "Animációtípus"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:273 resources/ui/gtk3/prefs.ui:318
|
#: resources/ui/gtk4/prefs.ui:273 resources/ui/gtk3/prefs.ui:318
|
||||||
#: resources/ui/adw/prefs.ui:113
|
#: resources/ui/adw/prefs.ui:113
|
||||||
msgid "Window Type"
|
msgid "Window Type"
|
||||||
msgstr ""
|
msgstr "Ablaktípus"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:302 resources/ui/gtk3/prefs.ui:347
|
#: resources/ui/gtk4/prefs.ui:302 resources/ui/gtk3/prefs.ui:347
|
||||||
#: resources/ui/adw/prefs.ui:128
|
#: resources/ui/adw/prefs.ui:128
|
||||||
msgid "Color Scheme"
|
msgid "Color Scheme"
|
||||||
msgstr ""
|
msgstr "Téma"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:331 resources/ui/gtk3/prefs.ui:376
|
#: resources/ui/gtk4/prefs.ui:331 resources/ui/gtk3/prefs.ui:376
|
||||||
#: resources/ui/adw/prefs.ui:143
|
#: resources/ui/adw/prefs.ui:143
|
||||||
msgid "Power Mode"
|
msgid "Power Mode"
|
||||||
msgstr ""
|
msgstr "Energiaforrás módja"
|
||||||
|
|
||||||
#: resources/ui/gtk4/prefs.ui:360 resources/ui/gtk3/prefs.ui:405
|
#: resources/ui/gtk4/prefs.ui:360 resources/ui/gtk3/prefs.ui:405
|
||||||
#: resources/ui/adw/prefs.ui:158
|
#: resources/ui/adw/prefs.ui:158
|
||||||
msgid "Power Profile"
|
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/gtk4/prefs.ui:392 resources/ui/gtk3/prefs.ui:437
|
||||||
#: resources/ui/adw/prefs.ui:179
|
#: resources/ui/adw/prefs.ui:179
|
||||||
msgid "Advanced Profile Options"
|
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/gtk4/prefs.ui:432 resources/ui/gtk3/prefs.ui:477
|
||||||
#: resources/ui/adw/prefs.ui:184
|
#: resources/ui/adw/prefs.ui:184
|
||||||
msgid "Use this profile even if there are better matching profiles."
|
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/gtk4/prefs.ui:464 resources/ui/gtk3/prefs.ui:509
|
||||||
#: resources/ui/adw/prefs.ui:204
|
#: resources/ui/adw/prefs.ui:204
|
||||||
msgid "Delete this Profile..."
|
msgid "Delete this Profile..."
|
||||||
msgstr ""
|
msgstr "Profil Törlése..."
|
||||||
|
|
||||||
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
|
#: resources/ui/gtk4/pixelate.ui:69 resources/ui/gtk3/pixelate.ui:90
|
||||||
#: resources/ui/adw/pixelate.ui:47
|
#: resources/ui/adw/pixelate.ui:47
|
||||||
|
|||||||
@@ -14,96 +14,102 @@
|
|||||||
|
|
||||||
'use strict';
|
'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.
|
import * as utils from './src/utils.js';
|
||||||
let Adw = null;
|
import {ProfileManager} from './src/ProfileManager.js';
|
||||||
try {
|
|
||||||
Adw = imports.gi.Adw;
|
import Apparition from './src/effects/Apparition.js';
|
||||||
} catch (e) {
|
import BrokenGlass from './src/effects/BrokenGlass.js';
|
||||||
// Nothing to do.
|
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 //
|
// 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 //
|
// separate ui file. There's one page with general options, all other paged are loaded //
|
||||||
// from the respective effects. //
|
// from the respective effects. //
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
var PreferencesDialog = class PreferencesDialog {
|
export default class BurnMyWindowsPreferences extends ExtensionPreferences {
|
||||||
|
|
||||||
// ------------------------------------------------------------ constructor / destructor
|
// ------------------------------------------------------------ constructor / destructor
|
||||||
|
|
||||||
constructor() {
|
fillPreferencesWindow(window) {
|
||||||
|
window.set_default_size(650, 750);
|
||||||
|
|
||||||
// New effects must be registered here and in extension.js.
|
// New effects must be registered here and in extension.js.
|
||||||
this._ALL_EFFECTS = [
|
this._ALL_EFFECTS = [
|
||||||
new Me.imports.src.effects.Apparition.Apparition(),
|
Apparition,
|
||||||
new Me.imports.src.effects.BrokenGlass.BrokenGlass(),
|
BrokenGlass,
|
||||||
new Me.imports.src.effects.Doom.Doom(),
|
Doom,
|
||||||
new Me.imports.src.effects.EnergizeA.EnergizeA(),
|
EnergizeA,
|
||||||
new Me.imports.src.effects.EnergizeB.EnergizeB(),
|
EnergizeB,
|
||||||
new Me.imports.src.effects.Fire.Fire(),
|
Fire,
|
||||||
new Me.imports.src.effects.Glide.Glide(),
|
Glide,
|
||||||
new Me.imports.src.effects.Glitch.Glitch(),
|
Glitch,
|
||||||
new Me.imports.src.effects.Hexagon.Hexagon(),
|
Hexagon,
|
||||||
new Me.imports.src.effects.Incinerate.Incinerate(),
|
Incinerate,
|
||||||
new Me.imports.src.effects.Matrix.Matrix(),
|
Matrix,
|
||||||
new Me.imports.src.effects.PaintBrush.PaintBrush(),
|
PaintBrush,
|
||||||
new Me.imports.src.effects.Pixelate.Pixelate(),
|
Pixelate,
|
||||||
new Me.imports.src.effects.PixelWheel.PixelWheel(),
|
PixelWheel,
|
||||||
new Me.imports.src.effects.PixelWipe.PixelWipe(),
|
PixelWipe,
|
||||||
new Me.imports.src.effects.Portal.Portal(),
|
Portal,
|
||||||
new Me.imports.src.effects.SnapOfDisintegration.SnapOfDisintegration(),
|
SnapOfDisintegration,
|
||||||
new Me.imports.src.effects.TRexAttack.TRexAttack(),
|
TRexAttack,
|
||||||
new Me.imports.src.effects.TVEffect.TVEffect(),
|
TVEffect,
|
||||||
new Me.imports.src.effects.TVGlitch.TVGlitch(),
|
TVGlitch,
|
||||||
new Me.imports.src.effects.Wisps.Wisps(),
|
Wisps,
|
||||||
];
|
];
|
||||||
|
|
||||||
// Load all of our resources.
|
// Load all of our resources.
|
||||||
this._resources = Gio.Resource.load(Me.path + '/resources/burn-my-windows.gresource');
|
this._resources =
|
||||||
|
Gio.Resource.load(this.path + '/resources/burn-my-windows.gresource');
|
||||||
Gio.resources_register(this._resources);
|
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.
|
// Make sure custom icons are found.
|
||||||
if (utils.isGTK4()) {
|
Gtk.IconTheme.get_for_display(Gdk.Display.get_default()).add_resource_path('/img');
|
||||||
Gtk.IconTheme.get_for_display(Gdk.Display.get_default()).add_resource_path('/img');
|
|
||||||
} else {
|
|
||||||
Gtk.IconTheme.get_default().add_resource_path('/img');
|
|
||||||
}
|
|
||||||
|
|
||||||
// Load the general user interface files.
|
// Load the general user interface files.
|
||||||
this._builder = new Gtk.Builder();
|
this._builder = new Gtk.Builder();
|
||||||
this._builder.add_from_resource(`/ui/common/menus.ui`);
|
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.
|
// Store a reference to the general settings object.
|
||||||
this._settings = ExtensionUtils.getSettings();
|
this._settings = this.getSettings();
|
||||||
|
|
||||||
// This tracks all available effect profiles.
|
// 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.
|
// This is used to track all connections to properties of the current effect profile.
|
||||||
// Whenever the current effect profile changes, all connections are disconnected.
|
// 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');
|
let powerProfileRow = this._builder.get_object('profile-power-profile');
|
||||||
if (!utils.isADW()) {
|
|
||||||
powerProfileRow = powerProfileRow.get_parent().get_parent();
|
|
||||||
}
|
|
||||||
powerProfileRow.set_visible(hasPowerProfiles);
|
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
|
// 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.
|
// clicked, we call a method of the extension which will initiate the window picking.
|
||||||
this._builder.get_object('profile-choose-app-button').connect('clicked', () => {
|
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 is our top-level widget which we will return later.
|
||||||
this._widget = this._builder.get_object('general-prefs');
|
this._widget = this._builder.get_object('general-prefs');
|
||||||
|
|
||||||
@@ -217,31 +196,12 @@ var PreferencesDialog = class PreferencesDialog {
|
|||||||
// accordion-like behavior of the effect settings.
|
// accordion-like behavior of the effect settings.
|
||||||
this._effectRows = [];
|
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.
|
// Now add all the rows.
|
||||||
this._ALL_EFFECTS.forEach(effect => {
|
this._ALL_EFFECTS.forEach(effect => {
|
||||||
const [minMajor, minMinor] = effect.getMinShellVersion();
|
const [minMajor, minMinor] = effect.getMinShellVersion();
|
||||||
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
|
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
|
||||||
|
|
||||||
const 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?
|
// Is there a better way to test for the existence of a resource file?
|
||||||
let hasPrefs = false;
|
let hasPrefs = false;
|
||||||
@@ -258,12 +218,7 @@ var PreferencesDialog = class PreferencesDialog {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// The preview button.
|
// The preview button.
|
||||||
let previewButton;
|
let previewButton = Gtk.Button.new_from_icon_name('bmw-preview-symbolic');
|
||||||
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);
|
|
||||||
}
|
|
||||||
previewButton.get_style_context().add_class('circular');
|
previewButton.get_style_context().add_class('circular');
|
||||||
previewButton.get_style_context().add_class('flat');
|
previewButton.get_style_context().add_class('flat');
|
||||||
previewButton.set_tooltip_text(_('Preview this effect'));
|
previewButton.set_tooltip_text(_('Preview this effect'));
|
||||||
@@ -277,101 +232,55 @@ var PreferencesDialog = class PreferencesDialog {
|
|||||||
button.set_valign(Gtk.Align.CENTER);
|
button.set_valign(Gtk.Align.CENTER);
|
||||||
this._builder.expose_object(`${effect.getNick()}-enable-effect`, button);
|
this._builder.expose_object(`${effect.getNick()}-enable-effect`, button);
|
||||||
|
|
||||||
if (utils.isADW()) {
|
let row;
|
||||||
|
if (hasPrefs) {
|
||||||
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);
|
|
||||||
|
|
||||||
|
|
||||||
|
// Add the effect's preferences (if any).
|
||||||
|
row = this._builder.get_object(`${effect.getNick()}-prefs`);
|
||||||
} else {
|
} else {
|
||||||
|
row = Adw.ActionRow.new();
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 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
|
// Some things can only be done once the widget is shown as we do not have access to
|
||||||
// the toplevel widget before.
|
// the toplevel widget before.
|
||||||
this._widget.connect('realize', (widget) => {
|
this._widget.connect('realize', (widget) => {
|
||||||
const window = utils.isGTK4() ? widget.get_root() : widget.get_toplevel();
|
const window = widget.get_root();
|
||||||
|
|
||||||
// Show the version number in the title bar.
|
// Show the version number in the title bar.
|
||||||
window.set_title(`Burn-My-Windows ${Me.metadata.version}`);
|
window.set_title(`Burn-My-Windows ${this.metadata.version}`);
|
||||||
|
|
||||||
this._loadActiveProfile();
|
this._loadActiveProfile();
|
||||||
this._updateProfileMenu();
|
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
|
// 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.
|
// small timeout so that it is not shown instantaneously.
|
||||||
const lastVersion = this._settings.get_int('last-prefs-version');
|
const lastVersion = this._settings.get_int('last-prefs-version');
|
||||||
if (lastVersion < Me.metadata.version) {
|
if (lastVersion < this.metadata.version) {
|
||||||
this._showUpdateInfoTimeout =
|
this._showUpdateInfoTimeout =
|
||||||
GLib.timeout_add(GLib.PRIORITY_DEFAULT, 2000, () => {
|
GLib.timeout_add(GLib.PRIORITY_DEFAULT, 2000, () => {
|
||||||
this._showUpdateInfoTimeout = 0;
|
this._showUpdateInfoTimeout = 0;
|
||||||
|
|
||||||
if (utils.isADW()) {
|
const toast = Adw.Toast.new(_('Burn-My-Windows has been updated!'));
|
||||||
const toast = Adw.Toast.new(_('Burn-My-Windows has been updated!'));
|
toast.set_button_label(_('View Changelog'));
|
||||||
toast.set_button_label(_('View Changelog'));
|
toast.set_action_name('prefs.changelog');
|
||||||
toast.set_action_name('prefs.changelog');
|
toast.set_timeout(0);
|
||||||
toast.set_timeout(0);
|
|
||||||
|
|
||||||
toast.connect(
|
toast.connect(
|
||||||
'dismissed',
|
'dismissed',
|
||||||
() => this._settings.set_int('last-prefs-version', Me.metadata.version));
|
() => this._settings.set_int('last-prefs-version', this.metadata.version));
|
||||||
|
|
||||||
window.add_toast(toast);
|
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
@@ -449,11 +349,7 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
|||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if (utils.isGTK4()) {
|
dialog.show();
|
||||||
dialog.show();
|
|
||||||
} else {
|
|
||||||
dialog.show_all();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -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
|
// Starting with GNOME Shell 42, we have to hack our way through the widget tree
|
||||||
// of the Adw.PreferencesWindow...
|
// of the Adw.PreferencesWindow...
|
||||||
if (utils.isADW()) {
|
const header = this._findWidgetByType(window.get_content(), Adw.HeaderBar);
|
||||||
const header = this._findWidgetByType(window.get_content(), Adw.HeaderBar);
|
header.pack_start(menu);
|
||||||
header.pack_start(menu);
|
header.set_title_widget(this._builder.get_object('profile-button'));
|
||||||
header.set_title_widget(this._builder.get_object('profile-button'));
|
|
||||||
|
|
||||||
// GNOME Shell extensions are forced to use a AdwPreferencesWindow. This already
|
// GNOME Shell extensions are forced to use a AdwPreferencesWindow. This already
|
||||||
// includes a Gtk.ScrolledWindow as well as an Adw.Clamp. For the profile
|
// 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
|
// 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
|
// 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...
|
// would look ugly. Therefore, we fiddle around with the internal widgets...
|
||||||
const flap = this._builder.get_object('profile-editor-flap');
|
const flap = this._builder.get_object('profile-editor-flap');
|
||||||
const clamp = this._findWidgetByType(window.get_content(), Adw.Clamp);
|
const clamp = this._findWidgetByType(window.get_content(), Adw.Clamp);
|
||||||
const viewport = clamp.get_parent();
|
const viewport = clamp.get_parent();
|
||||||
viewport.get_parent().set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.NEVER);
|
viewport.get_parent().set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.NEVER);
|
||||||
viewport.set_child(flap);
|
viewport.set_child(flap);
|
||||||
|
|
||||||
const scrolledWindow = Gtk.ScrolledWindow.new();
|
const scrolledWindow = Gtk.ScrolledWindow.new();
|
||||||
scrolledWindow.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
|
scrolledWindow.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
|
||||||
scrolledWindow.set_propagate_natural_height(true);
|
scrolledWindow.set_propagate_natural_height(true);
|
||||||
scrolledWindow.set_vexpand(true);
|
scrolledWindow.set_vexpand(true);
|
||||||
scrolledWindow.set_child(clamp);
|
scrolledWindow.set_child(clamp);
|
||||||
|
|
||||||
flap.set_content(scrolledWindow);
|
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'));
|
|
||||||
}
|
|
||||||
|
|
||||||
const addURIAction = (name, uri) => {
|
const addURIAction = (name, uri) => {
|
||||||
const action = Gio.SimpleAction.new(name, null);
|
const action = Gio.SimpleAction.new(name, null);
|
||||||
@@ -533,7 +418,7 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
|||||||
null,
|
null,
|
||||||
'https://github.com/Schneegans/Burn-My-Windows/blob/main/docs/changelog.md',
|
'https://github.com/Schneegans/Burn-My-Windows/blob/main/docs/changelog.md',
|
||||||
Gdk.CURRENT_TIME);
|
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);
|
group.add_action(changelogAction);
|
||||||
|
|
||||||
@@ -549,35 +434,18 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
let dialog;
|
const dialog = new Adw.AboutWindow({transient_for: window, modal: true});
|
||||||
|
dialog.set_application_icon('burn-my-windows-symbolic');
|
||||||
// We try to use the special Adw.AboutWindow if it is available.
|
dialog.set_application_name('Burn-My-Windows');
|
||||||
if (utils.isADW() && Adw.AboutWindow) {
|
dialog.set_version(`${this.metadata.version}`);
|
||||||
dialog = new Adw.AboutWindow({transient_for: window, modal: true});
|
dialog.set_developer_name('Simon Schneegans');
|
||||||
dialog.set_application_icon('burn-my-windows-symbolic');
|
dialog.set_issue_url('https://github.com/Schneegans/Burn-My-Windows/issues');
|
||||||
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']);
|
|
||||||
}
|
|
||||||
|
|
||||||
dialog.set_translator_credits([...translators].join('\n'));
|
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_website('https://github.com/Schneegans/Burn-My-Windows');
|
||||||
dialog.set_license_type(Gtk.License.GPL_3_0);
|
dialog.set_license_type(Gtk.License.GPL_3_0);
|
||||||
|
|
||||||
if (utils.isGTK4()) {
|
dialog.show();
|
||||||
dialog.show();
|
|
||||||
} else {
|
|
||||||
dialog.show_all();
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
group.add_action(aboutAction);
|
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.
|
window.add(this._widget);
|
||||||
if (!utils.isGTK4()) {
|
|
||||||
this._widget.show_all();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------------------------------- public interface
|
// -------------------------------------------------------------------- public interface
|
||||||
@@ -681,11 +546,6 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
|||||||
return this._activeProfile.settings;
|
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
|
// Connects an Adw.ComboRow (or anything else which has an 'selected' property) to a
|
||||||
// settings key. It also binds the corresponding reset button.
|
// settings key. It also binds the corresponding reset button.
|
||||||
bindComboRow(settingsKey) {
|
bindComboRow(settingsKey) {
|
||||||
@@ -751,17 +611,6 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
|||||||
this._bindResetButton(settingsKey);
|
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
|
// ----------------------------------------------------------------------- private stuff
|
||||||
|
|
||||||
// This loads all settings from the profile given in the settings key 'active-profile'.
|
// 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');
|
updateProfileButtonMenuIfChanged('profile-high-priority');
|
||||||
|
|
||||||
this.bindEntry('profile-app');
|
this.bindEntry('profile-app');
|
||||||
|
this.bindComboRow('profile-animation-type');
|
||||||
if (utils.isADW()) {
|
this.bindComboRow('profile-window-type');
|
||||||
this.bindComboRow('profile-animation-type');
|
this.bindComboRow('profile-color-scheme');
|
||||||
this.bindComboRow('profile-window-type');
|
this.bindComboRow('profile-power-mode');
|
||||||
this.bindComboRow('profile-color-scheme');
|
this.bindComboRow('profile-power-profile');
|
||||||
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.bindSwitch('profile-high-priority');
|
this.bindSwitch('profile-high-priority');
|
||||||
|
|
||||||
// Connect all effect settings.
|
// 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.
|
// configuration option of the profile is changed.
|
||||||
_updateProfileButton() {
|
_updateProfileButton() {
|
||||||
this._builder.get_object('choose-profile-button').label =
|
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
|
// 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.
|
// Then add an entry for each available profile.
|
||||||
this._profileManager.getProfiles().forEach(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');
|
const item = Gio.MenuItem.new(label, 'prefs.active-profile');
|
||||||
item.set_action_and_target_value('prefs.active-profile',
|
item.set_action_and_target_value('prefs.active-profile',
|
||||||
GLib.Variant.new_string(profile.path));
|
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
|
// 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
|
// the direct connect() call on the profile settings to make sure that the callback is
|
||||||
// disconnected when the active profile changes.
|
// 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_width: 800,
|
||||||
default_height: 450,
|
default_height: 450,
|
||||||
modal: true,
|
modal: true,
|
||||||
transient_for: utils.isGTK4() ? this._widget.get_root() :
|
transient_for: this._widget.get_root()
|
||||||
this._widget.get_toplevel()
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Add a header bar to the window.
|
// Add a header bar to the window.
|
||||||
if (utils.isGTK4()) {
|
const header = Gtk.HeaderBar.new();
|
||||||
const header = Gtk.HeaderBar.new();
|
window.set_titlebar(header);
|
||||||
window.set_titlebar(header);
|
|
||||||
}
|
|
||||||
|
|
||||||
const box = new Gtk.Box({
|
const box = new Gtk.Box({
|
||||||
orientation: Gtk.Orientation.VERTICAL,
|
orientation: Gtk.Orientation.VERTICAL,
|
||||||
@@ -960,16 +849,11 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
|||||||
pixel_size: 128,
|
pixel_size: 128,
|
||||||
});
|
});
|
||||||
|
|
||||||
this.gtkBoxAppend(box, image);
|
box.append(image);
|
||||||
this.gtkBoxAppend(box, label);
|
box.append(label);
|
||||||
|
|
||||||
if (utils.isGTK4()) {
|
window.set_child(box);
|
||||||
window.set_child(box);
|
window.show();
|
||||||
window.show();
|
|
||||||
} else {
|
|
||||||
window.add(box);
|
|
||||||
window.show_all();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Helper function to show a message dialog. The dialog is modal and has a title, a
|
// 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.
|
// called when the button is clicked.
|
||||||
// This method works on GTK3, GTK4, and libadwaita.
|
// This method works on GTK3, GTK4, and libadwaita.
|
||||||
_createMessageDialog(title, message, window, buttons) {
|
_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) {
|
buttons.forEach((button, i) => {
|
||||||
dialog = new Adw.MessageDialog({
|
const response = i.toString();
|
||||||
heading: title,
|
dialog.add_response(response, button.label);
|
||||||
body: message,
|
|
||||||
body_use_markup: true,
|
|
||||||
modal: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
buttons.forEach((button, i) => {
|
if (button.default) {
|
||||||
const response = i.toString();
|
dialog.set_default_response(response);
|
||||||
dialog.add_response(response, button.label);
|
dialog.set_close_response(response);
|
||||||
|
}
|
||||||
|
|
||||||
if (button.default) {
|
if (button.destructive) {
|
||||||
dialog.set_default_response(response);
|
dialog.set_response_appearance(response, Adw.ResponseAppearance.DESTRUCTIVE);
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
dialog.set_hide_on_close(true);
|
||||||
dialog.set_transient_for(window);
|
dialog.set_transient_for(window);
|
||||||
|
|
||||||
// If the dialog is closed or a button is clicked, we hide the dialog and call the
|
// 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;
|
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';
|
'use strict';
|
||||||
|
|
||||||
const {Gio, GLib, GObject} = imports.gi;
|
import Gio from 'gi://Gio';
|
||||||
|
import GLib from 'gi://GLib';
|
||||||
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;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// Burn-My-Windows allows applying different sets of effect settings under specific //
|
// 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. //
|
// via Gio.Settings objects. //
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
var ProfileManager = class {
|
export class ProfileManager {
|
||||||
// ------------------------------------------------------------------------- constructor
|
// ------------------------------------------------------------------------- constructor
|
||||||
|
|
||||||
constructor() {
|
constructor(metadata) {
|
||||||
|
this._metadata = metadata;
|
||||||
|
|
||||||
this._makeProfilesDir();
|
this._makeProfilesDir();
|
||||||
this.reloadProfiles();
|
this.reloadProfiles();
|
||||||
}
|
}
|
||||||
@@ -151,58 +148,6 @@ var ProfileManager = class {
|
|||||||
return priority;
|
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
|
// ----------------------------------------------------------------------- private stuff
|
||||||
|
|
||||||
// Creates the directory ~/.config/burn-my-windows/profiles if it does not yet exist.
|
// 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
|
// Expect USER extensions to have a schemas/ subfolder, otherwise assume a
|
||||||
// SYSTEM extension that has been installed in the same prefix as the shell
|
// 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;
|
let source;
|
||||||
if (schemaDir.query_exists(null)) {
|
if (schemaDir.query_exists(null)) {
|
||||||
source = Gio.SettingsSchemaSource.new_from_directory(
|
source = Gio.SettingsSchemaSource.new_from_directory(
|
||||||
|
|||||||
@@ -14,13 +14,13 @@
|
|||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const {Gio, Shell, GObject, Clutter, Meta} = imports.gi;
|
import Gio from 'gi://Gio';
|
||||||
const ByteArray = imports.byteArray;
|
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;
|
import * as utils from './utils.js';
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
|
||||||
const utils = Me.imports.src.utils;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This is the base class for all shaders of Burn-My-Windows. It automagically loads //
|
// 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.
|
// used to clean up any resources.
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
var Shader = GObject.registerClass(
|
export var Shader = GObject.registerClass(
|
||||||
{
|
{
|
||||||
Signals: {
|
Signals: {
|
||||||
'begin-animation': {
|
'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
|
// 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.
|
// 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
|
// https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2650
|
||||||
if (utils.shellVersionIsAtLeast(44, 2)) {
|
this.get_pipeline().set_blend(
|
||||||
this.get_pipeline().set_blend(
|
'RGBA = ADD (SRC_COLOR * (SRC_COLOR[A]), DST_COLOR * (1-SRC_COLOR[A]))');
|
||||||
'RGBA = ADD (SRC_COLOR * (SRC_COLOR[A]), DST_COLOR * (1-SRC_COLOR[A]))');
|
|
||||||
}
|
|
||||||
|
|
||||||
this.set_uniform_float(this._uProgress, 1, [this._progress]);
|
this.set_uniform_float(this._uProgress, 1, [this._progress]);
|
||||||
super.vfunc_paint_target(...params);
|
super.vfunc_paint_target(...params);
|
||||||
@@ -202,18 +200,11 @@ var Shader = GObject.registerClass(
|
|||||||
|
|
||||||
// --------------------------------------------------------------------- private stuff
|
// --------------------------------------------------------------------- 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
|
// This loads a GLSL file from the extension's resources to a JavaScript string. The
|
||||||
// code from "common.glsl" is prepended automatically.
|
// code from "common.glsl" is prepended automatically.
|
||||||
_loadShaderResource(path) {
|
_loadShaderResource(path) {
|
||||||
let common = this._loadStringResource('/shaders/common.glsl');
|
let common = utils.getStringResource('/shaders/common.glsl');
|
||||||
let code = this._loadStringResource(path);
|
let code = utils.getStringResource(path);
|
||||||
|
|
||||||
// Add a trailing newline. Else the GLSL compiler complains...
|
// Add a trailing newline. Else the GLSL compiler complains...
|
||||||
return common + '\n' + code + '\n';
|
return common + '\n' + code + '\n';
|
||||||
|
|||||||
@@ -14,18 +14,17 @@
|
|||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const GObject = imports.gi.GObject;
|
import GObject from 'gi://GObject';
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
import {Shader} from './Shader.js';
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// 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 //
|
// shaders whenever a new one is required. It tries to re-use old shaders as much as //
|
||||||
// possible in order to avoid memory leaks. //
|
// 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
|
// Creates a new ShaderFactory. Requires the nick of the effect and a callback function
|
||||||
// which will be called whenever a new shader is created.
|
// 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.
|
// Only try to register the new type once.
|
||||||
if (GObject.type_from_name(typeName) == null) {
|
if (GObject.type_from_name(typeName) == null) {
|
||||||
const outerThis = this;
|
const outerThis = this;
|
||||||
GObject.registerClass({GTypeName: typeName},
|
GObject.registerClass({GTypeName: typeName}, class ShaderImp extends Shader {
|
||||||
class Shader extends Me.imports.src.Shader.Shader {
|
|
||||||
// This will actually load the GLSL source code from the resources.
|
// This will actually load the GLSL source code from the resources.
|
||||||
_init() {
|
_init() {
|
||||||
super._init(outerThis._nick);
|
super._init(outerThis._nick);
|
||||||
|
|||||||
@@ -15,12 +15,13 @@
|
|||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const {Gio, GLib} = imports.gi;
|
import Gio from 'gi://Gio';
|
||||||
const Main = imports.ui.main;
|
import GLib from 'gi://GLib';
|
||||||
const LookingGlass = imports.ui.lookingGlass;
|
|
||||||
|
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
|
||||||
const utils = Me.imports.src.utils;
|
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. //
|
// 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. //
|
// picking. //
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
var WindowPicker = class WindowPicker {
|
export class WindowPicker {
|
||||||
// ------------------------------------------------------------------------- constructor
|
// ------------------------------------------------------------------------- constructor
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
|
|||||||
@@ -14,12 +14,14 @@
|
|||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
import * as utils from '../utils.js';
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
// We import the ShaderFactory only in the Shell process as it is not required in the
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
// preferences process. The preferences process does not create any shader instances, it
|
||||||
const utils = Me.imports.src.utils;
|
// only uses the static metadata of the effect.
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
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. //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||||
// Store uniform locations of newly created shaders.
|
// Store uniform locations of newly created shaders.
|
||||||
shader._uSeed = shader.get_uniform_location('uSeed');
|
shader._uSeed = shader.get_uniform_location('uSeed');
|
||||||
shader._uShake = shader.get_uniform_location('uShake');
|
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
|
// The effect is not available on GNOME Shell 3.36 as it requires scaling of the window
|
||||||
// actor.
|
// actor.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [3, 38];
|
return [3, 38];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -68,13 +70,13 @@ var Apparition = class {
|
|||||||
// required. It should match the prefix of the settings keys which store whether the
|
// required. It should match the prefix of the settings keys which store whether the
|
||||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||||
// (e.g. '*-animation-time').
|
// (e.g. '*-animation-time').
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'apparition';
|
return 'apparition';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('Apparition');
|
return _('Apparition');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -82,7 +84,7 @@ var Apparition = class {
|
|||||||
|
|
||||||
// This is called by the preferences dialog whenever a new effect profile is loaded. It
|
// 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.
|
// 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-randomness');
|
||||||
dialog.bindAdjustment('apparition-animation-time');
|
dialog.bindAdjustment('apparition-animation-time');
|
||||||
dialog.bindAdjustment('apparition-twirl-intensity');
|
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
|
// 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
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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};
|
return {x: 2.0, y: 2.0};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,12 +14,17 @@
|
|||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
import * as utils from '../utils.js';
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
// We import some modules only in the Shell process as they are not available in the
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
// preferences process. They are used only in the creator function of the ShaderFactory
|
||||||
const utils = Me.imports.src.utils;
|
// which is only called within GNOME Shell's process.
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
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 //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||||
// We import these modules in this function as they are not available in the
|
|
||||||
// preferences process. This callback is only called within GNOME Shell's process.
|
|
||||||
const {Clutter, GdkPixbuf, Cogl} = imports.gi;
|
|
||||||
|
|
||||||
// Create the texture in the first call.
|
// Create the texture in the first call.
|
||||||
if (!this._shardTexture) {
|
if (!this._shardTexture) {
|
||||||
const shardData = GdkPixbuf.Pixbuf.new_from_resource('/img/shards.png');
|
const shardData = GdkPixbuf.Pixbuf.new_from_resource('/img/shards.png');
|
||||||
@@ -118,7 +119,7 @@ var BrokenGlass = class {
|
|||||||
// ---------------------------------------------------------------------------- metadata
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
// This effect is only available on GNOME Shell 40+.
|
// This effect is only available on GNOME Shell 40+.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [40, 0];
|
return [40, 0];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -127,13 +128,13 @@ var BrokenGlass = class {
|
|||||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
// 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
|
// (e.g. '*-animation-time'). Also, the shader file and the settings UI files should be
|
||||||
// named likes this.
|
// named likes this.
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'broken-glass';
|
return 'broken-glass';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('Broken Glass');
|
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
|
// 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.
|
// 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-animation-time');
|
||||||
dialog.bindAdjustment('broken-glass-scale');
|
dialog.bindAdjustment('broken-glass-scale');
|
||||||
dialog.bindAdjustment('broken-glass-gravity');
|
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
|
// 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
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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};
|
return {x: 2.0, y: 2.0};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,14 +14,14 @@
|
|||||||
|
|
||||||
'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 _ = await utils.importGettext();
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
|
||||||
const utils = Me.imports.src.utils;
|
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This effect melts your windows. Inspired by the legendary screen transitions of the //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||||
// Store uniform locations of newly created shaders.
|
// Store uniform locations of newly created shaders.
|
||||||
shader._uActorScale = shader.get_uniform_location('uActorScale');
|
shader._uActorScale = shader.get_uniform_location('uActorScale');
|
||||||
shader._uHorizontalScale = shader.get_uniform_location('uHorizontalScale');
|
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
|
// The effect is not available on GNOME Shell 3.36 as it requires scaling of the window
|
||||||
// actor.
|
// actor.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [3, 38];
|
return [3, 38];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,13 +77,13 @@ var Doom = class {
|
|||||||
// required. It should match the prefix of the settings keys which store whether the
|
// required. It should match the prefix of the settings keys which store whether the
|
||||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||||
// (e.g. '*-animation-time').
|
// (e.g. '*-animation-time').
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'doom';
|
return 'doom';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('Doom');
|
return _('Doom');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -92,7 +91,7 @@ var Doom = class {
|
|||||||
|
|
||||||
// This is called by the preferences dialog whenever a new effect profile is loaded. It
|
// 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.
|
// 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-animation-time');
|
||||||
dialog.bindAdjustment('doom-horizontal-scale');
|
dialog.bindAdjustment('doom-horizontal-scale');
|
||||||
dialog.bindAdjustment('doom-vertical-scale');
|
dialog.bindAdjustment('doom-vertical-scale');
|
||||||
@@ -106,7 +105,7 @@ var Doom = class {
|
|||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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.
|
// 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.
|
// 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);
|
let actorScale = 2.0 * Math.max(1.0, global.stage.height / actor.height);
|
||||||
return {x: 1.0, y: actorScale};
|
return {x: 1.0, y: actorScale};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,14 +14,15 @@
|
|||||||
|
|
||||||
'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 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 _ = await utils.importGettext();
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
|
||||||
const utils = Me.imports.src.utils;
|
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This effect looks a bit like the transporter effect from TOS. //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||||
// We import Clutter in this function as it is not available in the preferences
|
|
||||||
// process. This creator function of the ShaderFactory is only called within GNOME
|
|
||||||
// Shell's process.
|
|
||||||
const Clutter = imports.gi.Clutter;
|
|
||||||
|
|
||||||
// Store uniform locations of newly created shaders.
|
// Store uniform locations of newly created shaders.
|
||||||
shader._uColor = shader.get_uniform_location('uColor');
|
shader._uColor = shader.get_uniform_location('uColor');
|
||||||
shader._uScale = shader.get_uniform_location('uScale');
|
shader._uScale = shader.get_uniform_location('uScale');
|
||||||
|
|
||||||
// Write all uniform values at the start of each animation.
|
// Write all uniform values at the start of each animation.
|
||||||
shader.connect('begin-animation', (shader, settings) => {
|
shader.connect('begin-animation', (shader, settings) => {
|
||||||
const c = Clutter.Color.from_string(settings.get_string('energize-a-color'))[1];
|
|
||||||
|
|
||||||
// clang-format off
|
// 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')]);
|
shader.set_uniform_float(shader._uScale, 1, [settings.get_double('energize-a-scale')]);
|
||||||
// clang-format on
|
// clang-format on
|
||||||
});
|
});
|
||||||
@@ -62,7 +56,7 @@ var EnergizeA = class {
|
|||||||
// ---------------------------------------------------------------------------- metadata
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [3, 36];
|
return [3, 36];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -70,13 +64,13 @@ var EnergizeA = class {
|
|||||||
// required. It should match the prefix of the settings keys which store whether the
|
// required. It should match the prefix of the settings keys which store whether the
|
||||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||||
// (e.g. '*-animation-time').
|
// (e.g. '*-animation-time').
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'energize-a';
|
return 'energize-a';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('Energize A');
|
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
|
// 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.
|
// 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-animation-time');
|
||||||
dialog.bindAdjustment('energize-a-scale');
|
dialog.bindAdjustment('energize-a-scale');
|
||||||
dialog.bindColorButton('energize-a-color');
|
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
|
// 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
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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};
|
return {x: 1.0, y: 1.0};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -14,14 +14,15 @@
|
|||||||
|
|
||||||
'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 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 _ = await utils.importGettext();
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
|
||||||
const utils = Me.imports.src.utils;
|
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This effect looks a bit like the transporter effect from TNG. //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||||
// We import Clutter in this function as it is not available in the preferences
|
|
||||||
// process. This creator function of the ShaderFactory is only called within GNOME
|
|
||||||
// Shell's process.
|
|
||||||
const Clutter = imports.gi.Clutter;
|
|
||||||
|
|
||||||
// Store uniform locations of newly created shaders.
|
// Store uniform locations of newly created shaders.
|
||||||
shader._uColor = shader.get_uniform_location('uColor');
|
shader._uColor = shader.get_uniform_location('uColor');
|
||||||
shader._uScale = shader.get_uniform_location('uScale');
|
shader._uScale = shader.get_uniform_location('uScale');
|
||||||
|
|
||||||
// Write all uniform values at the start of each animation.
|
// Write all uniform values at the start of each animation.
|
||||||
shader.connect('begin-animation', (shader, settings) => {
|
shader.connect('begin-animation', (shader, settings) => {
|
||||||
const c = Clutter.Color.from_string(settings.get_string('energize-b-color'))[1];
|
|
||||||
|
|
||||||
// clang-format off
|
// 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')]);
|
shader.set_uniform_float(shader._uScale, 1, [settings.get_double('energize-b-scale')]);
|
||||||
// clang-format on
|
// clang-format on
|
||||||
});
|
});
|
||||||
@@ -63,7 +57,7 @@ var EnergizeB = class {
|
|||||||
// ---------------------------------------------------------------------------- metadata
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [3, 36];
|
return [3, 36];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -71,13 +65,13 @@ var EnergizeB = class {
|
|||||||
// required. It should match the prefix of the settings keys which store whether the
|
// required. It should match the prefix of the settings keys which store whether the
|
||||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||||
// (e.g. '*-animation-time').
|
// (e.g. '*-animation-time').
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'energize-b';
|
return 'energize-b';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('Energize B');
|
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
|
// 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.
|
// 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-animation-time');
|
||||||
dialog.bindAdjustment('energize-b-scale');
|
dialog.bindAdjustment('energize-b-scale');
|
||||||
dialog.bindColorButton('energize-b-color');
|
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
|
// 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
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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};
|
return {x: 1.0, y: 1.0};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,14 +14,17 @@
|
|||||||
|
|
||||||
'use strict';
|
'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;
|
// We import some modules only in the Shell process as they are not available in the
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
// preferences process. They are used only in the creator function of the ShaderFactory
|
||||||
const utils = Me.imports.src.utils;
|
// which is only called within GNOME Shell's process.
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
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 //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||||
// We import Clutter in this function as it is not available in the preferences
|
|
||||||
// process. This creator function of the ShaderFactory is only called within GNOME
|
|
||||||
// Shell's process.
|
|
||||||
const Clutter = imports.gi.Clutter;
|
|
||||||
|
|
||||||
// Store all uniform locations.
|
// Store all uniform locations.
|
||||||
shader._uGradient = [
|
shader._uGradient = [
|
||||||
shader.get_uniform_location('uGradient1'),
|
shader.get_uniform_location('uGradient1'),
|
||||||
@@ -64,10 +61,9 @@ var Fire = class {
|
|||||||
// And update all uniforms at the start of each animation.
|
// And update all uniforms at the start of each animation.
|
||||||
shader.connect('begin-animation', (shader, settings) => {
|
shader.connect('begin-animation', (shader, settings) => {
|
||||||
for (let i = 1; i <= 5; i++) {
|
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.set_uniform_float(
|
||||||
shader._uGradient[i - 1], 4,
|
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
|
// clang-format off
|
||||||
@@ -82,7 +78,7 @@ var Fire = class {
|
|||||||
// ---------------------------------------------------------------------------- metadata
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [3, 36];
|
return [3, 36];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -90,13 +86,13 @@ var Fire = class {
|
|||||||
// required. It should match the prefix of the settings keys which store whether the
|
// required. It should match the prefix of the settings keys which store whether the
|
||||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||||
// (e.g. '*-animation-time').
|
// (e.g. '*-animation-time').
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'fire';
|
return 'fire';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('Fire');
|
return _('Fire');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,7 +100,7 @@ var Fire = class {
|
|||||||
|
|
||||||
// This is called by the preferences dialog whenever a new effect profile is loaded. It
|
// 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.
|
// binds all user interface elements to the respective settings keys of the profile.
|
||||||
bindPreferences(dialog) {
|
static bindPreferences(dialog) {
|
||||||
|
|
||||||
// Bind all properties.
|
// Bind all properties.
|
||||||
dialog.bindAdjustment('fire-animation-time');
|
dialog.bindAdjustment('fire-animation-time');
|
||||||
@@ -118,8 +114,8 @@ var Fire = class {
|
|||||||
dialog.bindColorButton('fire-color-5');
|
dialog.bindColorButton('fire-color-5');
|
||||||
|
|
||||||
// Connect the buttons only once. The bindPreferences can be called multiple times...
|
// Connect the buttons only once. The bindPreferences can be called multiple times...
|
||||||
if (!this._isConnected) {
|
if (!Effect._isConnected) {
|
||||||
this._isConnected = true;
|
Effect._isConnected = true;
|
||||||
|
|
||||||
// The fire-gradient-reset button needs to be bound explicitly.
|
// The fire-gradient-reset button needs to be bound explicitly.
|
||||||
dialog.getBuilder().get_object('reset-fire-colors').connect('clicked', () => {
|
dialog.getBuilder().get_object('reset-fire-colors').connect('clicked', () => {
|
||||||
@@ -131,7 +127,7 @@ var Fire = class {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Initialize the fire-preset dropdown.
|
// 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
|
// 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
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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};
|
return {x: 1.0, y: 1.0};
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------- private stuff
|
// ----------------------------------------------------------------------- private stuff
|
||||||
|
|
||||||
// This populates the preset dropdown menu for the fire options.
|
// This populates the preset dropdown menu for the fire options.
|
||||||
_createFirePresets(dialog) {
|
static _createFirePresets(dialog) {
|
||||||
dialog.getBuilder().get_object('fire-prefs').connect('realize', (widget) => {
|
dialog.getBuilder().get_object('fire-prefs').connect('realize', (widget) => {
|
||||||
const presets = [
|
const presets = [
|
||||||
{
|
{
|
||||||
@@ -228,7 +224,7 @@ var Fire = class {
|
|||||||
|
|
||||||
dialog.getBuilder().get_object('fire-preset-button').set_menu_model(menu);
|
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);
|
root.insert_action_group(groupName, group);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,14 +14,14 @@
|
|||||||
|
|
||||||
'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 _ = await utils.importGettext();
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
|
||||||
const utils = Me.imports.src.utils;
|
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This very simple effect fades the window to transparency with subtle 3D effects. //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||||
// Store uniform locations of newly created shaders.
|
// Store uniform locations of newly created shaders.
|
||||||
shader._uScale = shader.get_uniform_location('uScale');
|
shader._uScale = shader.get_uniform_location('uScale');
|
||||||
shader._uSquish = shader.get_uniform_location('uSquish');
|
shader._uSquish = shader.get_uniform_location('uSquish');
|
||||||
@@ -60,7 +60,7 @@ var Glide = class {
|
|||||||
// ---------------------------------------------------------------------------- metadata
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [3, 36];
|
return [3, 36];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -68,13 +68,13 @@ var Glide = class {
|
|||||||
// required. It should match the prefix of the settings keys which store whether the
|
// required. It should match the prefix of the settings keys which store whether the
|
||||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||||
// (e.g. '*-animation-time').
|
// (e.g. '*-animation-time').
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'glide';
|
return 'glide';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('Glide');
|
return _('Glide');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ var Glide = class {
|
|||||||
|
|
||||||
// This is called by the preferences dialog whenever a new effect profile is loaded. It
|
// 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.
|
// 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-animation-time');
|
||||||
dialog.bindAdjustment('glide-scale');
|
dialog.bindAdjustment('glide-scale');
|
||||||
dialog.bindAdjustment('glide-squish');
|
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
|
// 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
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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};
|
return {x: 1.0, y: 1.0};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,14 +14,15 @@
|
|||||||
|
|
||||||
'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 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 _ = await utils.importGettext();
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
|
||||||
const utils = Me.imports.src.utils;
|
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This effect applies some intentional graphics issues to your windows. //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||||
// We import Clutter in this function as it is not available in the preferences
|
|
||||||
// process. This creator function of the ShaderFactory is only called within GNOME
|
|
||||||
// Shell's process.
|
|
||||||
const Clutter = imports.gi.Clutter;
|
|
||||||
|
|
||||||
// Store uniform locations of newly created shaders.
|
// Store uniform locations of newly created shaders.
|
||||||
shader._uSeed = shader.get_uniform_location('uSeed');
|
shader._uSeed = shader.get_uniform_location('uSeed');
|
||||||
shader._uColor = shader.get_uniform_location('uColor');
|
shader._uColor = shader.get_uniform_location('uColor');
|
||||||
@@ -52,11 +48,9 @@ var Glitch = class {
|
|||||||
|
|
||||||
// Write all uniform values at the start of each animation.
|
// Write all uniform values at the start of each animation.
|
||||||
shader.connect('begin-animation', (shader, settings, forOpening, testMode) => {
|
shader.connect('begin-animation', (shader, settings, forOpening, testMode) => {
|
||||||
const c = Clutter.Color.from_string(settings.get_string('glitch-color'))[1];
|
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
shader.set_uniform_float(shader._uSeed, 1, [testMode ? 0 : Math.random()]);
|
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._uScale, 1, [settings.get_double('glitch-scale')]);
|
||||||
shader.set_uniform_float(shader._uStrength, 1, [settings.get_double('glitch-strength')]);
|
shader.set_uniform_float(shader._uStrength, 1, [settings.get_double('glitch-strength')]);
|
||||||
shader.set_uniform_float(shader._uSpeed, 1, [settings.get_double('glitch-speed')]);
|
shader.set_uniform_float(shader._uSpeed, 1, [settings.get_double('glitch-speed')]);
|
||||||
@@ -68,7 +62,7 @@ var Glitch = class {
|
|||||||
// ---------------------------------------------------------------------------- metadata
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [3, 36];
|
return [3, 36];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -76,13 +70,13 @@ var Glitch = class {
|
|||||||
// required. It should match the prefix of the settings keys which store whether the
|
// required. It should match the prefix of the settings keys which store whether the
|
||||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||||
// (e.g. '*-animation-time').
|
// (e.g. '*-animation-time').
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'glitch';
|
return 'glitch';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('Glitch');
|
return _('Glitch');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -90,7 +84,7 @@ var Glitch = class {
|
|||||||
|
|
||||||
// This is called by the preferences dialog whenever a new effect profile is loaded. It
|
// 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.
|
// 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-animation-time');
|
||||||
dialog.bindAdjustment('glitch-scale');
|
dialog.bindAdjustment('glitch-scale');
|
||||||
dialog.bindAdjustment('glitch-speed');
|
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
|
// 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
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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};
|
return {x: 1.0, y: 1.0};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -14,14 +14,15 @@
|
|||||||
|
|
||||||
'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 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 _ = await utils.importGettext();
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
|
||||||
const utils = Me.imports.src.utils;
|
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This effect overlays a glowing hexagonal grid over the window. The grid cells then //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||||
// We import Clutter in this function as it is not available in the preferences
|
|
||||||
// process. This creator function of the ShaderFactory is only called within GNOME
|
|
||||||
// Shell's process.
|
|
||||||
const Clutter = imports.gi.Clutter;
|
|
||||||
|
|
||||||
// Store uniform locations of newly created shaders.
|
// Store uniform locations of newly created shaders.
|
||||||
shader._uAdditiveBlending = shader.get_uniform_location('uAdditiveBlending');
|
shader._uAdditiveBlending = shader.get_uniform_location('uAdditiveBlending');
|
||||||
shader._uSeed = shader.get_uniform_location('uSeed');
|
shader._uSeed = shader.get_uniform_location('uSeed');
|
||||||
@@ -54,20 +50,13 @@ var Hexagon = class {
|
|||||||
|
|
||||||
// Write all uniform values at the start of each animation.
|
// Write all uniform values at the start of each animation.
|
||||||
shader.connect('begin-animation', (shader, settings, forOpening, testMode) => {
|
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
|
// clang-format off
|
||||||
shader.set_uniform_float(shader._uAdditiveBlending, 1, [settings.get_boolean('hexagon-additive-blending')]);
|
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._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._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._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._uGlowColor, 4, utils.parseColor(settings.get_string('hexagon-glow-color')));
|
||||||
shader.set_uniform_float(shader._uLineColor, 4, [lc.red / 255, lc.green / 255, lc.blue / 255, lc.alpha / 255]);
|
shader.set_uniform_float(shader._uLineColor, 4, utils.parseColor(settings.get_string('hexagon-line-color')));
|
||||||
// clang-format on
|
// clang-format on
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -76,7 +65,7 @@ var Hexagon = class {
|
|||||||
// ---------------------------------------------------------------------------- metadata
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [3, 36];
|
return [3, 36];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,13 +73,13 @@ var Hexagon = class {
|
|||||||
// required. It should match the prefix of the settings keys which store whether the
|
// required. It should match the prefix of the settings keys which store whether the
|
||||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||||
// (e.g. '*-animation-time').
|
// (e.g. '*-animation-time').
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'hexagon';
|
return 'hexagon';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('Hexagon');
|
return _('Hexagon');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -98,7 +87,7 @@ var Hexagon = class {
|
|||||||
|
|
||||||
// This is called by the preferences dialog whenever a new effect profile is loaded. It
|
// 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.
|
// 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-animation-time');
|
||||||
dialog.bindAdjustment('hexagon-scale');
|
dialog.bindAdjustment('hexagon-scale');
|
||||||
dialog.bindAdjustment('hexagon-line-width');
|
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
|
// 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
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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};
|
return {x: 1.0, y: 1.0};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,14 +14,15 @@
|
|||||||
|
|
||||||
'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 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 _ = await utils.importGettext();
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
|
||||||
const utils = Me.imports.src.utils;
|
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This effect burns windows to ashes. The fire starts at a random position at the //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.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;
|
|
||||||
|
|
||||||
// Store uniform locations of newly created shaders.
|
// Store uniform locations of newly created shaders.
|
||||||
shader._uSeed = shader.get_uniform_location('uSeed');
|
shader._uSeed = shader.get_uniform_location('uSeed');
|
||||||
shader._uColor = shader.get_uniform_location('uColor');
|
shader._uColor = shader.get_uniform_location('uColor');
|
||||||
@@ -75,11 +72,9 @@ var Incinerate = class {
|
|||||||
shader._startPointerPos = null;
|
shader._startPointerPos = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
const c = Clutter.Color.from_string(settings.get_string('incinerate-color'))[1];
|
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
shader.set_uniform_float(shader._uSeed, 2, seed);
|
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._uScale, 1, [settings.get_double('incinerate-scale')]);
|
||||||
shader.set_uniform_float(shader._uTurbulence, 1, [settings.get_double('incinerate-turbulence')]);
|
shader.set_uniform_float(shader._uTurbulence, 1, [settings.get_double('incinerate-turbulence')]);
|
||||||
// clang-format on
|
// clang-format on
|
||||||
@@ -113,7 +108,7 @@ var Incinerate = class {
|
|||||||
// ---------------------------------------------------------------------------- metadata
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
// This effect is available on all supported GNOME Shell versions.
|
// This effect is available on all supported GNOME Shell versions.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [3, 36];
|
return [3, 36];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -121,13 +116,13 @@ var Incinerate = class {
|
|||||||
// required. It should match the prefix of the settings keys which store whether the
|
// required. It should match the prefix of the settings keys which store whether the
|
||||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||||
// (e.g. '*-animation-time').
|
// (e.g. '*-animation-time').
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'incinerate';
|
return 'incinerate';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('Incinerate');
|
return _('Incinerate');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -135,7 +130,7 @@ var Incinerate = class {
|
|||||||
|
|
||||||
// This is called by the preferences dialog whenever a new effect profile is loaded. It
|
// 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.
|
// 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-animation-time');
|
||||||
dialog.bindAdjustment('incinerate-scale');
|
dialog.bindAdjustment('incinerate-scale');
|
||||||
dialog.bindAdjustment('incinerate-turbulence');
|
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
|
// 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
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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};
|
return {x: 1.0, y: 1.0};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -14,14 +14,17 @@
|
|||||||
|
|
||||||
'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 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 _ = await utils.importGettext();
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
|
||||||
const utils = Me.imports.src.utils;
|
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// The Matrix shader multiplies a grid of random letters with some gradients which are //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||||
// We import these modules in this function as they are not available in the
|
|
||||||
// preferences process. This callback is only called within GNOME Shell's process.
|
|
||||||
const {Clutter, GdkPixbuf, Cogl} = imports.gi;
|
|
||||||
|
|
||||||
// Create the texture in the first call.
|
// Create the texture in the first call.
|
||||||
if (!this._fontTexture) {
|
if (!this._fontTexture) {
|
||||||
const fontData = GdkPixbuf.Pixbuf.new_from_resource('/img/matrixFont.png');
|
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.
|
// Write all uniform values at the start of each animation.
|
||||||
shader.connect('begin-animation', (shader, settings) => {
|
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
|
// clang-format off
|
||||||
shader.set_uniform_float(shader._uTrailColor, 3, [c1.red / 255, c1.green / 255, c1.blue / 255]);
|
shader.set_uniform_float(shader._uTrailColor, 3, utils.parseColor(settings.get_string('matrix-trail-color')));
|
||||||
shader.set_uniform_float(shader._uTipColor, 3, [c2.red / 255, c2.green / 255, c2.blue / 255]);
|
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._uLetterSize, 1, [settings.get_int('matrix-scale')]);
|
||||||
shader.set_uniform_float(shader._uRandomness, 1, [settings.get_double('matrix-randomness')]);
|
shader.set_uniform_float(shader._uRandomness, 1, [settings.get_double('matrix-randomness')]);
|
||||||
shader.set_uniform_float(shader._uOverShoot, 1, [settings.get_double('matrix-overshoot')]);
|
shader.set_uniform_float(shader._uOverShoot, 1, [settings.get_double('matrix-overshoot')]);
|
||||||
@@ -96,7 +91,7 @@ var Matrix = class {
|
|||||||
// ---------------------------------------------------------------------------- metadata
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
// This effect is only available on GNOME Shell 40+.
|
// This effect is only available on GNOME Shell 40+.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [40, 0];
|
return [40, 0];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,13 +99,13 @@ var Matrix = class {
|
|||||||
// required. It should match the prefix of the settings keys which store whether the
|
// required. It should match the prefix of the settings keys which store whether the
|
||||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||||
// (e.g. '*-animation-time').
|
// (e.g. '*-animation-time').
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'matrix';
|
return 'matrix';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('Matrix');
|
return _('Matrix');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -118,7 +113,7 @@ var Matrix = class {
|
|||||||
|
|
||||||
// This is called by the preferences dialog whenever a new effect profile is loaded. It
|
// 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.
|
// 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-animation-time');
|
||||||
dialog.bindAdjustment('matrix-scale');
|
dialog.bindAdjustment('matrix-scale');
|
||||||
dialog.bindAdjustment('matrix-randomness');
|
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
|
// 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
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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')};
|
return {x: 1.0, y: 1.0 + settings.get_double('matrix-overshoot')};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,14 +14,17 @@
|
|||||||
|
|
||||||
'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 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 _ = await utils.importGettext();
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
|
||||||
const utils = Me.imports.src.utils;
|
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This effect paints your windows with a thick paint brush. //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||||
// We import these modules in this function as they are not available in the
|
|
||||||
// preferences process. This callback is only called within GNOME Shell's process.
|
|
||||||
const {Clutter, GdkPixbuf, Cogl} = imports.gi;
|
|
||||||
|
|
||||||
// Create the texture in the first call.
|
// Create the texture in the first call.
|
||||||
if (!this._brushTexture) {
|
if (!this._brushTexture) {
|
||||||
const brushData = GdkPixbuf.Pixbuf.new_from_resource('/img/brush.png');
|
const brushData = GdkPixbuf.Pixbuf.new_from_resource('/img/brush.png');
|
||||||
@@ -84,7 +83,7 @@ var PaintBrush = class {
|
|||||||
// ---------------------------------------------------------------------------- metadata
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
// This effect is only available on GNOME Shell 40+.
|
// This effect is only available on GNOME Shell 40+.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [40, 0];
|
return [40, 0];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -92,13 +91,13 @@ var PaintBrush = class {
|
|||||||
// required. It should match the prefix of the settings keys which store whether the
|
// required. It should match the prefix of the settings keys which store whether the
|
||||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||||
// (e.g. '*-animation-time').
|
// (e.g. '*-animation-time').
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'paint-brush';
|
return 'paint-brush';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('Paint Brush');
|
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
|
// 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.
|
// 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-animation-time');
|
||||||
dialog.bindAdjustment('paint-brush-size');
|
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
|
// 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
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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};
|
return {x: 1.0, y: 1.0};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,14 +14,14 @@
|
|||||||
|
|
||||||
'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 _ = await utils.importGettext();
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
|
||||||
const utils = Me.imports.src.utils;
|
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This simple effect pixelates the window texture and hides the pixels in a wheel-like //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||||
// Store uniform locations of newly created shaders.
|
// Store uniform locations of newly created shaders.
|
||||||
shader._uPixelSize = shader.get_uniform_location('uPixelSize');
|
shader._uPixelSize = shader.get_uniform_location('uPixelSize');
|
||||||
shader._uSpokeCount = shader.get_uniform_location('uSpokeCount');
|
shader._uSpokeCount = shader.get_uniform_location('uSpokeCount');
|
||||||
@@ -56,7 +56,7 @@ var PixelWheel = class {
|
|||||||
// ---------------------------------------------------------------------------- metadata
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [3, 36];
|
return [3, 36];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -64,13 +64,13 @@ var PixelWheel = class {
|
|||||||
// required. It should match the prefix of the settings keys which store whether the
|
// required. It should match the prefix of the settings keys which store whether the
|
||||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||||
// (e.g. '*-animation-time').
|
// (e.g. '*-animation-time').
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'pixel-wheel';
|
return 'pixel-wheel';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('Pixel Wheel');
|
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
|
// 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.
|
// 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-animation-time');
|
||||||
dialog.bindAdjustment('pixel-wheel-pixel-size');
|
dialog.bindAdjustment('pixel-wheel-pixel-size');
|
||||||
dialog.bindAdjustment('pixel-wheel-spoke-count');
|
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
|
// 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
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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};
|
return {x: 1.0, y: 1.0};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,14 +14,14 @@
|
|||||||
|
|
||||||
'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 _ = await utils.importGettext();
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
|
||||||
const utils = Me.imports.src.utils;
|
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This effect pixelates the window texture and hides the pixels radially, starting //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||||
// Store uniform locations of newly created shaders.
|
// Store uniform locations of newly created shaders.
|
||||||
shader._uPixelSize = shader.get_uniform_location('uPixelSize');
|
shader._uPixelSize = shader.get_uniform_location('uPixelSize');
|
||||||
shader._uStartPos = shader.get_uniform_location('uStartPos');
|
shader._uStartPos = shader.get_uniform_location('uStartPos');
|
||||||
@@ -82,7 +82,7 @@ var PixelWipe = class {
|
|||||||
// ---------------------------------------------------------------------------- metadata
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [3, 36];
|
return [3, 36];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -90,13 +90,13 @@ var PixelWipe = class {
|
|||||||
// required. It should match the prefix of the settings keys which store whether the
|
// required. It should match the prefix of the settings keys which store whether the
|
||||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||||
// (e.g. '*-animation-time').
|
// (e.g. '*-animation-time').
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'pixel-wipe';
|
return 'pixel-wipe';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('Pixel Wipe');
|
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
|
// 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.
|
// 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-animation-time');
|
||||||
dialog.bindAdjustment('pixel-wipe-pixel-size');
|
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
|
// 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
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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};
|
return {x: 1.0, y: 1.0};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,14 +14,14 @@
|
|||||||
|
|
||||||
'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 _ = await utils.importGettext();
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
|
||||||
const utils = Me.imports.src.utils;
|
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This very simple effect pixelates the window texture and randomly hides pixels until //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||||
// Store uniform locations of newly created shaders.
|
// Store uniform locations of newly created shaders.
|
||||||
shader._uNoise = shader.get_uniform_location('uNoise');
|
shader._uNoise = shader.get_uniform_location('uNoise');
|
||||||
shader._uPixelSize = shader.get_uniform_location('uPixelSize');
|
shader._uPixelSize = shader.get_uniform_location('uPixelSize');
|
||||||
@@ -56,7 +56,7 @@ var Pixelate = class {
|
|||||||
// ---------------------------------------------------------------------------- metadata
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [3, 36];
|
return [3, 36];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -64,13 +64,13 @@ var Pixelate = class {
|
|||||||
// required. It should match the prefix of the settings keys which store whether the
|
// required. It should match the prefix of the settings keys which store whether the
|
||||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||||
// (e.g. '*-animation-time').
|
// (e.g. '*-animation-time').
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'pixelate';
|
return 'pixelate';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('Pixelate');
|
return _('Pixelate');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,7 +78,7 @@ var Pixelate = class {
|
|||||||
|
|
||||||
// This is called by the preferences dialog whenever a new effect profile is loaded. It
|
// 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.
|
// 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-animation-time');
|
||||||
dialog.bindAdjustment('pixelate-noise');
|
dialog.bindAdjustment('pixelate-noise');
|
||||||
dialog.bindAdjustment('pixelate-pixel-size');
|
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
|
// 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
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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};
|
return {x: 1.0, y: 1.0};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,14 +14,15 @@
|
|||||||
|
|
||||||
'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 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 _ = await utils.importGettext();
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
|
||||||
const utils = Me.imports.src.utils;
|
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This ridiculous effect teleports your windows from and to alternative dimensions. //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||||
// We import Clutter in this function as it is not available in the preferences
|
|
||||||
// process. This creator function of the ShaderFactory is only called within GNOME
|
|
||||||
// Shell's process.
|
|
||||||
const Clutter = imports.gi.Clutter;
|
|
||||||
|
|
||||||
// Store uniform locations of newly created shaders.
|
// Store uniform locations of newly created shaders.
|
||||||
shader._uSeed = shader.get_uniform_location('uSeed');
|
shader._uSeed = shader.get_uniform_location('uSeed');
|
||||||
shader._uColor = shader.get_uniform_location('uColor');
|
shader._uColor = shader.get_uniform_location('uColor');
|
||||||
@@ -53,11 +49,9 @@ var Portal = class {
|
|||||||
|
|
||||||
// Write all uniform values at the start of each animation.
|
// Write all uniform values at the start of each animation.
|
||||||
shader.connect('begin-animation', (shader, settings, forOpening, testMode) => {
|
shader.connect('begin-animation', (shader, settings, forOpening, testMode) => {
|
||||||
const c = Clutter.Color.from_string(settings.get_string('portal-color'))[1];
|
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
shader.set_uniform_float(shader._uSeed, 2, [testMode ? 0 : Math.random(), testMode ? 0 : Math.random()]);
|
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._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._uRotationSpeed, 1, [settings.get_double('portal-rotation-speed')]);
|
||||||
shader.set_uniform_float(shader._uWhirling, 1, [settings.get_double('portal-whirling')]);
|
shader.set_uniform_float(shader._uWhirling, 1, [settings.get_double('portal-whirling')]);
|
||||||
@@ -70,7 +64,7 @@ var Portal = class {
|
|||||||
// ---------------------------------------------------------------------------- metadata
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [3, 36];
|
return [3, 36];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,13 +72,13 @@ var Portal = class {
|
|||||||
// required. It should match the prefix of the settings keys which store whether the
|
// required. It should match the prefix of the settings keys which store whether the
|
||||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||||
// (e.g. '*-animation-time').
|
// (e.g. '*-animation-time').
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'portal';
|
return 'portal';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('Portal');
|
return _('Portal');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -92,7 +86,7 @@ var Portal = class {
|
|||||||
|
|
||||||
// This is called by the preferences dialog whenever a new effect profile is loaded. It
|
// 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.
|
// 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-animation-time');
|
||||||
dialog.bindAdjustment('portal-rotation-speed');
|
dialog.bindAdjustment('portal-rotation-speed');
|
||||||
dialog.bindAdjustment('portal-whirling');
|
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
|
// 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
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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};
|
return {x: 1.0, y: 1.0};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,14 +14,17 @@
|
|||||||
|
|
||||||
'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 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 _ = await utils.importGettext();
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
|
||||||
const utils = Me.imports.src.utils;
|
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This effects dissolves your windows into a cloud of dust. For this, it uses an //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||||
// We import these modules in this function as they are not available in the
|
|
||||||
// preferences process. This callback is only called within GNOME Shell's process.
|
|
||||||
const {Clutter, GdkPixbuf, Cogl} = imports.gi;
|
|
||||||
|
|
||||||
// Create the texture in the first call.
|
// Create the texture in the first call.
|
||||||
if (!this._dustTexture) {
|
if (!this._dustTexture) {
|
||||||
const dustData = GdkPixbuf.Pixbuf.new_from_resource('/img/dust.png');
|
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.
|
// Write all uniform values at the start of each animation.
|
||||||
shader.connect('begin-animation', (shader, settings, forOpening, testMode) => {
|
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
|
// 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._uSeed, 2, [testMode ? 0 : Math.random(), testMode ? 0 : Math.random()]);
|
||||||
shader.set_uniform_float(shader._uDustScale, 1, [settings.get_double('snap-scale')]);
|
shader.set_uniform_float(shader._uDustScale, 1, [settings.get_double('snap-scale')]);
|
||||||
// clang-format on
|
// clang-format on
|
||||||
@@ -96,7 +92,7 @@ var SnapOfDisintegration = class {
|
|||||||
// ---------------------------------------------------------------------------- metadata
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
// This effect is only available on GNOME Shell 40+.
|
// This effect is only available on GNOME Shell 40+.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [40, 0];
|
return [40, 0];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,13 +100,13 @@ var SnapOfDisintegration = class {
|
|||||||
// required. It should match the prefix of the settings keys which store whether the
|
// required. It should match the prefix of the settings keys which store whether the
|
||||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||||
// (e.g. '*-animation-time').
|
// (e.g. '*-animation-time').
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'snap';
|
return 'snap';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('Snap of Disintegration');
|
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
|
// 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.
|
// 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-animation-time');
|
||||||
dialog.bindAdjustment('snap-scale');
|
dialog.bindAdjustment('snap-scale');
|
||||||
dialog.bindColorButton('snap-color');
|
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
|
// 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
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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};
|
return {x: 1.2, y: 1.2};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,14 +14,17 @@
|
|||||||
|
|
||||||
'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 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 _ = await utils.importGettext();
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
|
||||||
const utils = Me.imports.src.utils;
|
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This effect tears your windows apart with a series of violent scratches! //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||||
// We import these modules in this function as they are not available in the
|
|
||||||
// preferences process. This callback is only called within GNOME Shell's process.
|
|
||||||
const {Clutter, GdkPixbuf, Cogl} = imports.gi;
|
|
||||||
|
|
||||||
// Create the texture in the first call.
|
// Create the texture in the first call.
|
||||||
if (!this._clawTexture) {
|
if (!this._clawTexture) {
|
||||||
const clawData = GdkPixbuf.Pixbuf.new_from_resource('/img/claws.png');
|
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.
|
// Write all uniform values at the start of each animation.
|
||||||
shader.connect('begin-animation', (shader, settings, forOpening, testMode) => {
|
shader.connect('begin-animation', (shader, settings, forOpening, testMode) => {
|
||||||
const c = Clutter.Color.from_string(settings.get_string('trex-scratch-color'))[1];
|
|
||||||
|
|
||||||
// clang-format off
|
// 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._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._uClawSize, 1, [settings.get_double('trex-scratch-scale')]);
|
||||||
shader.set_uniform_float(shader._uNumClaws, 1, [settings.get_int('trex-scratch-count')]);
|
shader.set_uniform_float(shader._uNumClaws, 1, [settings.get_int('trex-scratch-count')]);
|
||||||
@@ -94,7 +91,7 @@ var TRexAttack = class {
|
|||||||
// ---------------------------------------------------------------------------- metadata
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
// This effect is only available on GNOME Shell 40+.
|
// This effect is only available on GNOME Shell 40+.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [40, 0];
|
return [40, 0];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -102,13 +99,13 @@ var TRexAttack = class {
|
|||||||
// required. It should match the prefix of the settings keys which store whether the
|
// required. It should match the prefix of the settings keys which store whether the
|
||||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||||
// (e.g. '*-animation-time').
|
// (e.g. '*-animation-time').
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'trex';
|
return 'trex';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('T-Rex Attack');
|
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
|
// 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.
|
// binds all user interface elements to the respective settings keys of the profile.
|
||||||
bindPreferences(dialog) {
|
static bindPreferences(dialog) {
|
||||||
dialog.bindAdjustment('trex-animation-time');
|
dialog.bindAdjustment('trex-animation-time');
|
||||||
dialog.bindColorButton('trex-scratch-color');
|
dialog.bindColorButton('trex-scratch-color');
|
||||||
dialog.bindAdjustment('trex-scratch-scale');
|
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
|
// 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
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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');
|
const scale = 1.0 + 0.5 * settings.get_double('trex-scratch-warp');
|
||||||
return {x: scale, y: scale};
|
return {x: scale, y: scale};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,14 +14,15 @@
|
|||||||
|
|
||||||
'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 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 _ = await utils.importGettext();
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
|
||||||
const utils = Me.imports.src.utils;
|
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This effect hides the actor by making it first transparent from top and bottom //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||||
// We import Clutter in this function as it is not available in the preferences
|
|
||||||
// process. This creator function of the ShaderFactory is only called within GNOME
|
|
||||||
// Shell's process.
|
|
||||||
const Clutter = imports.gi.Clutter;
|
|
||||||
|
|
||||||
// Store uniform locations of newly created shaders.
|
// Store uniform locations of newly created shaders.
|
||||||
shader._uColor = shader.get_uniform_location('uColor');
|
shader._uColor = shader.get_uniform_location('uColor');
|
||||||
|
|
||||||
// Write all uniform values at the start of each animation.
|
// Write all uniform values at the start of each animation.
|
||||||
shader.connect('begin-animation', (shader, settings) => {
|
shader.connect('begin-animation', (shader, settings) => {
|
||||||
const c = Clutter.Color.from_string(settings.get_string('tv-effect-color'))[1];
|
|
||||||
shader.set_uniform_float(
|
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
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [3, 36];
|
return [3, 36];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -68,13 +63,13 @@ var TVEffect = class {
|
|||||||
// required. It should match the prefix of the settings keys which store whether the
|
// required. It should match the prefix of the settings keys which store whether the
|
||||||
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
// effect is enabled currently (e.g. '*-enable-effect'), and its animation time
|
||||||
// (e.g. '*-animation-time').
|
// (e.g. '*-animation-time').
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'tv';
|
return 'tv';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('TV Effect');
|
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
|
// 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.
|
// binds all user interface elements to the respective settings keys of the profile.
|
||||||
bindPreferences(dialog) {
|
static bindPreferences(dialog) {
|
||||||
dialog.bindAdjustment('tv-animation-time');
|
dialog.bindAdjustment('tv-animation-time');
|
||||||
dialog.bindColorButton('tv-effect-color');
|
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
|
// 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
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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};
|
return {x: 1.0, y: 1.0};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,14 +14,15 @@
|
|||||||
|
|
||||||
'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 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 _ = await utils.importGettext();
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
|
||||||
const utils = Me.imports.src.utils;
|
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This effect combines the Glitch and the TV Effect. Credits go to Kurt Wilson //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||||
// We import Clutter in this function as it is not available in the preferences
|
|
||||||
// process. This creator function of the ShaderFactory is only called within GNOME
|
|
||||||
// Shell's process.
|
|
||||||
const Clutter = imports.gi.Clutter;
|
|
||||||
|
|
||||||
// Store uniform locations of newly created shaders.
|
// Store uniform locations of newly created shaders.
|
||||||
shader._uSeed = shader.get_uniform_location('uSeed');
|
shader._uSeed = shader.get_uniform_location('uSeed');
|
||||||
shader._uColor = shader.get_uniform_location('uColor');
|
shader._uColor = shader.get_uniform_location('uColor');
|
||||||
@@ -53,11 +49,9 @@ var TVGlitch = class {
|
|||||||
|
|
||||||
// Write all uniform values at the start of each animation.
|
// Write all uniform values at the start of each animation.
|
||||||
shader.connect('begin-animation', (shader, settings, forOpening, testMode) => {
|
shader.connect('begin-animation', (shader, settings, forOpening, testMode) => {
|
||||||
const c = Clutter.Color.from_string(settings.get_string('tv-glitch-color'))[1];
|
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
shader.set_uniform_float(shader._uSeed, 1, [testMode ? 0 : Math.random()]);
|
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._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._uStrength, 1, [settings.get_double('tv-glitch-strength')]);
|
||||||
shader.set_uniform_float(shader._uSpeed, 1, [settings.get_double('tv-glitch-speed')]);
|
shader.set_uniform_float(shader._uSpeed, 1, [settings.get_double('tv-glitch-speed')]);
|
||||||
@@ -69,7 +63,7 @@ var TVGlitch = class {
|
|||||||
// ---------------------------------------------------------------------------- metadata
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [3, 36];
|
return [3, 36];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,13 +71,13 @@ var TVGlitch = class {
|
|||||||
// required. It should match the prefix of the settings keys which store whether the
|
// required. It should match the prefix of the settings keys which store whether the
|
||||||
// effect is enabled currently (e.g. '*-close-effect'), and its animation time
|
// effect is enabled currently (e.g. '*-close-effect'), and its animation time
|
||||||
// (e.g. '*-animation-time').
|
// (e.g. '*-animation-time').
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'tv-glitch';
|
return 'tv-glitch';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('TV Glitch');
|
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
|
// 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.
|
// 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-animation-time');
|
||||||
dialog.bindAdjustment('tv-glitch-scale');
|
dialog.bindAdjustment('tv-glitch-scale');
|
||||||
dialog.bindAdjustment('tv-glitch-speed');
|
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
|
// 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
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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};
|
return {x: 1.0, y: 1.0};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,14 +14,15 @@
|
|||||||
|
|
||||||
'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 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 _ = await utils.importGettext();
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
|
||||||
const utils = Me.imports.src.utils;
|
|
||||||
const ShaderFactory = Me.imports.src.ShaderFactory.ShaderFactory;
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// This effect lets your windows be carried to the realm of dreams by some little //
|
// 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
|
// 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
|
// GNOME Shell versions), to initialize the respective page of the settings dialog, as
|
||||||
// well as to create the actual shader for the effect.
|
// 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
|
// 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
|
// 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
|
// GLSL file in resources/shaders/<nick>.glsl. The callback will be called for each
|
||||||
// newly created shader instance.
|
// newly created shader instance.
|
||||||
constructor() {
|
constructor() {
|
||||||
this.shaderFactory = new ShaderFactory(this.getNick(), (shader) => {
|
this.shaderFactory = new ShaderFactory(Effect.getNick(), (shader) => {
|
||||||
// We import Clutter in this function as it is not available in the preferences
|
|
||||||
// process. This creator function of the ShaderFactory is only called within GNOME
|
|
||||||
// Shell's process.
|
|
||||||
const Clutter = imports.gi.Clutter;
|
|
||||||
|
|
||||||
// Store uniform locations of newly created shaders.
|
// Store uniform locations of newly created shaders.
|
||||||
shader._uSeed = shader.get_uniform_location('uSeed');
|
shader._uSeed = shader.get_uniform_location('uSeed');
|
||||||
shader._uScale = shader.get_uniform_location('uScale');
|
shader._uScale = shader.get_uniform_location('uScale');
|
||||||
@@ -56,9 +52,9 @@ var Wisps = class {
|
|||||||
// Write all uniform values at the start of each animation.
|
// Write all uniform values at the start of each animation.
|
||||||
shader.connect('begin-animation', (shader, settings, forOpening, testMode) => {
|
shader.connect('begin-animation', (shader, settings, forOpening, testMode) => {
|
||||||
for (let i = 1; i <= 3; i++) {
|
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.set_uniform_float(shader._uColor[i - 1], 3,
|
shader._uColor[i - 1], 3,
|
||||||
[c.red / 255, c.green / 255, c.blue / 255]);
|
utils.parseColor(settings.get_string('wisps-color-' + i)));
|
||||||
}
|
}
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
@@ -72,20 +68,20 @@ var Wisps = class {
|
|||||||
// ---------------------------------------------------------------------------- metadata
|
// ---------------------------------------------------------------------------- metadata
|
||||||
|
|
||||||
// The effect is available on all GNOME Shell versions supported by this extension.
|
// The effect is available on all GNOME Shell versions supported by this extension.
|
||||||
getMinShellVersion() {
|
static getMinShellVersion() {
|
||||||
return [3, 36];
|
return [3, 36];
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be called in various places where a unique identifier for this effect is
|
// 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
|
// required. It should match the prefix of the settings keys which store whether the
|
||||||
// effect is enabled currently (e.g. the '*-enable-effect').
|
// effect is enabled currently (e.g. the '*-enable-effect').
|
||||||
getNick() {
|
static getNick() {
|
||||||
return 'wisps';
|
return 'wisps';
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be shown in the sidebar of the preferences dialog as well as in the
|
// This will be shown in the sidebar of the preferences dialog as well as in the
|
||||||
// drop-down menus where the user can choose the effect.
|
// drop-down menus where the user can choose the effect.
|
||||||
getLabel() {
|
static getLabel() {
|
||||||
return _('Wisps');
|
return _('Wisps');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,7 +89,7 @@ var Wisps = class {
|
|||||||
|
|
||||||
// This is called by the preferences dialog whenever a new effect profile is loaded. It
|
// 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.
|
// 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-animation-time');
|
||||||
dialog.bindAdjustment('wisps-scale');
|
dialog.bindAdjustment('wisps-scale');
|
||||||
dialog.bindColorButton('wisps-color-1');
|
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
|
// 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
|
// animation. This is useful if the effect requires drawing something beyond the usual
|
||||||
// bounds of the actor. This only works for GNOME 3.38+.
|
// 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};
|
return {x: 1.0, y: 1.0};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,15 +14,13 @@
|
|||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
import {ProfileManager} from './ProfileManager.js';
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
import * as utils from './utils.js';
|
||||||
const ProfileManager = Me.imports.src.ProfileManager.ProfileManager;
|
|
||||||
const utils = Me.imports.src.utils;
|
|
||||||
|
|
||||||
// Migrating from pre-27 versions is pretty involved. Before, all settings were stored in
|
// 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
|
// the standard Gio.Settings backend. Now, there are effect profiles. Depending on the
|
||||||
// settings one or two profiles may be required.
|
// settings one or two profiles may be required.
|
||||||
async function fromVersion26() {
|
export async function fromVersion26() {
|
||||||
return utils
|
return utils
|
||||||
.executeCommand(['dconf', 'dump', '/org/gnome/shell/extensions/burn-my-windows/'])
|
.executeCommand(['dconf', 'dump', '/org/gnome/shell/extensions/burn-my-windows/'])
|
||||||
.catch(r => utils.debug('Failed to get old settings for effect migration: ' + r))
|
.catch(r => utils.debug('Failed to get old settings for effect migration: ' + r))
|
||||||
|
|||||||
@@ -14,16 +14,18 @@
|
|||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const {Gtk, Gio} = imports.gi;
|
import Gio from 'gi://Gio';
|
||||||
const ByteArray = imports.byteArray;
|
import GLib from 'gi://GLib';
|
||||||
|
|
||||||
// libadwaita is available starting with GNOME Shell 42.
|
// We import some modules optionally. This file is used in the preferences process as well
|
||||||
let Adw = null;
|
// as in the GNOME Shell process. Some modules are only available or required in one of
|
||||||
try {
|
// these processes.
|
||||||
Adw = imports.gi.Adw;
|
const Clutter = await importInShellOnly('gi://Clutter');
|
||||||
} catch (e) {
|
const Cogl = await importInShellOnly('gi://Cogl');
|
||||||
// Nothing to do.
|
|
||||||
}
|
// 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,
|
// Returns the given argument, except for "alpha", "beta", and "rc". In these cases -3,
|
||||||
// -2, and -1 are returned respectively.
|
// -2, and -1 are returned respectively.
|
||||||
@@ -39,60 +41,17 @@ function toNumericVersion(x) {
|
|||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
|
||||||
const Config = imports.misc.config;
|
|
||||||
const [GS_MAJOR, GS_MINOR] = Config.PACKAGE_VERSION.split('.').map(toNumericVersion);
|
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
|
// This method returns true if the current GNOME Shell version matches the given
|
||||||
// arguments.
|
// arguments.
|
||||||
function shellVersionIs(major, minor) {
|
export function shellVersionIs(major, minor) {
|
||||||
return GS_MAJOR == major && GS_MINOR == toNumericVersion(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
|
// 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.
|
// 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) {
|
if (GS_MAJOR > major) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -104,11 +63,58 @@ function shellVersionIsAtLeast(major, minor) {
|
|||||||
return false;
|
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
|
// Reads the contents of a file contained in the global resources archive. The data
|
||||||
// is returned as a string.
|
// is returned as a string.
|
||||||
function getStringResource(path) {
|
export function getStringResource(path) {
|
||||||
const data = Gio.resources_lookup_data(path, 0);
|
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
|
// 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.
|
// 'stdin' and cancellable can be used to stop the process before it finishes.
|
||||||
// This is directly taken from here:
|
// This is directly taken from here:
|
||||||
// https://gjs.guide/guides/gio/subprocesses.html#complete-examples
|
// 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 cancelId = 0;
|
||||||
let flags = (Gio.SubprocessFlags.STDOUT_PIPE | Gio.SubprocessFlags.STDERR_PIPE);
|
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
|
# ----------------------------------------------------- wait for the container to start up
|
||||||
|
|
||||||
echo "Waiting for D-Bus."
|
echo "Waiting for D-Bus."
|
||||||
do_in_pod wait-user-bus.sh > /dev/null 2>&1
|
sleep 5
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------------------------------- install the to-be-tested extension
|
# ----------------------------------------------------- install the to-be-tested extension
|
||||||
@@ -180,7 +180,7 @@ sleep 3
|
|||||||
# First we open the preferences and capture a portion of the dialog
|
# First we open the preferences and capture a portion of the dialog
|
||||||
echo "Opening Preferences."
|
echo "Opening Preferences."
|
||||||
do_in_pod gnome-extensions prefs "${EXTENSION}"
|
do_in_pod gnome-extensions prefs "${EXTENSION}"
|
||||||
sleep 3
|
sleep 5
|
||||||
capture "tests/references/preferences-${SESSION}-${FEDORA_VERSION}.png" "${PREFS_CROP}"
|
capture "tests/references/preferences-${SESSION}-${FEDORA_VERSION}.png" "${PREFS_CROP}"
|
||||||
send_keystroke "Alt+F4"
|
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 |