Compare commits
34 Commits
gnome-3.36-44
...
v38
| Author | SHA1 | Date | |
|---|---|---|---|
| 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 |
@@ -110,13 +110,7 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
version:
|
version:
|
||||||
- "32"
|
- "rawhide"
|
||||||
- "33"
|
|
||||||
- "34"
|
|
||||||
- "35"
|
|
||||||
- "36"
|
|
||||||
- "37"
|
|
||||||
- "38"
|
|
||||||
session:
|
session:
|
||||||
- "gnome-xsession"
|
- "gnome-xsession"
|
||||||
- "gnome-wayland-nested"
|
- "gnome-wayland-nested"
|
||||||
|
|||||||
@@ -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 "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 "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..."
|
||||||
|
|||||||
@@ -19,35 +19,37 @@ SPDX-License-Identifier: CC-BY-4.0
|
|||||||
<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>
|
||||||
|
|
||||||
|
**:warning: 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,7 +86,6 @@ 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>
|
||||||
|
|
||||||
|
|
||||||
## 💞 These People _love_ this Extension
|
## 💞 These People _love_ this Extension
|
||||||
|
|
||||||
While [coding new features](docs/how-to-create-new-effects.md) or [translating the extension](https://hosted.weblate.org/engage/burn-my-windows/) are the most awesome ways to contribute, providing financial support will help me stay motivated to invest my spare time to keep the project alive in the future.
|
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.
|
||||||
@@ -125,7 +126,6 @@ While [coding new features](docs/how-to-create-new-effects.md) or [translating t
|
|||||||
<a href="https://github.com/RickStanley">@RickStanley</a><br>
|
<a href="https://github.com/RickStanley">@RickStanley</a><br>
|
||||||
</p>
|
</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>!
|
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/)!
|
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/)!
|
||||||
|
|
||||||
@@ -157,7 +157,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 +173,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,13 +188,12 @@ 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).
|
||||||
@@ -201,21 +206,21 @@ You can either download the effects from the KDE store (a), download a stable ve
|
|||||||
|
|
||||||
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)
|
- [Doom](https://store.kde.org/p/1898739)
|
||||||
* [Energize A](https://store.kde.org/p/1884310)
|
- [Energize A](https://store.kde.org/p/1884310)
|
||||||
* [Energize B](https://store.kde.org/p/1884311)
|
- [Energize B](https://store.kde.org/p/1884311)
|
||||||
* [Fire](https://store.kde.org/p/1884307)
|
- [Fire](https://store.kde.org/p/1884307)
|
||||||
* [Glide](https://store.kde.org/p/1935778)
|
- [Glide](https://store.kde.org/p/1935778)
|
||||||
* [Glitch](https://store.kde.org/p/1972813)
|
- [Glitch](https://store.kde.org/p/1972813)
|
||||||
* [Hexagon](https://store.kde.org/p/1884309)
|
- [Hexagon](https://store.kde.org/p/1884309)
|
||||||
* [Incinerate](https://store.kde.org/p/1861183)
|
- [Incinerate](https://store.kde.org/p/1861183)
|
||||||
* [Pixelate](https://store.kde.org/p/1898742)
|
- [Pixelate](https://store.kde.org/p/1898742)
|
||||||
* [Pixel Wheel](https://store.kde.org/p/1898746)
|
- [Pixel Wheel](https://store.kde.org/p/1898746)
|
||||||
* [Pixel Wipe](https://store.kde.org/p/1898748)
|
- [Pixel Wipe](https://store.kde.org/p/1898748)
|
||||||
* [Portal](https://store.kde.org/p/1959879)
|
- [Portal](https://store.kde.org/p/1959879)
|
||||||
* [TV-Effect](https://store.kde.org/p/1884312)
|
- [TV-Effect](https://store.kde.org/p/1884312)
|
||||||
* [TV-Glitch](https://store.kde.org/p/1982142)
|
- [TV-Glitch](https://store.kde.org/p/1982142)
|
||||||
* [Wisps](https://store.kde.org/p/1884313)
|
- [Wisps](https://store.kde.org/p/1884313)
|
||||||
|
|
||||||
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 +242,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 +262,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,14 @@ SPDX-License-Identifier: CC-BY-4.0
|
|||||||
|
|
||||||
# Changelog of the Burn-My-Windows Extension
|
# Changelog of the Burn-My-Windows Extension
|
||||||
|
|
||||||
|
## [Burn My Windows 38](https://github.com/schneegans/Burn-My-Windows/releases/tag/v38)
|
||||||
|
|
||||||
|
**Release Date:** 2023-09-09
|
||||||
|
|
||||||
|
#### Major Changes
|
||||||
|
|
||||||
|
- This is the first release of Burn-My-Windows supporting GNOME 45. This required a [major refactoring](https://github.com/Schneegans/Burn-My-Windows/pull/373/files) of the code base as GJS now uses ESM modules. As a consequence, this version is not compatible with older versions of GNOME Shell anymore. The old code base is still available on the `gnome-3.36-44` branch and if new features are added (especially translations), they can be backported to this branch.
|
||||||
|
|
||||||
## [Burn My Windows 37](https://github.com/schneegans/Burn-My-Windows/releases/tag/v37)
|
## [Burn My Windows 37](https://github.com/schneegans/Burn-My-Windows/releases/tag/v37)
|
||||||
|
|
||||||
**Release Date:** 2023-08-26
|
**Release Date:** 2023-08-26
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ journalctl -f -o cat | grep -E 'burn-my-windows|'
|
|||||||
For the sake of this tutorial, we will create a **"Simple Fade"** effect.
|
For the sake of this tutorial, we will create a **"Simple Fade"** effect.
|
||||||
Of course, you can replace any occurrence of this name and its nick `simple-fade` with your custom effect name.
|
Of course, you can replace any occurrence of this name and its nick `simple-fade` with your custom effect name.
|
||||||
|
|
||||||
Three simple steps are required to create a new effect.
|
Three simple steps are required to create a new effect.
|
||||||
You will have to ...
|
You will have to ...
|
||||||
|
|
||||||
1. add preferences keys for enabling the effect,
|
1. add preferences keys for enabling the effect,
|
||||||
@@ -103,13 +103,14 @@ Please study this code carefully, all of it is explained with inline comments.
|
|||||||
// The content from common.glsl is automatically prepended to each shader effect. This
|
// 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');
|
||||||
@@ -651,4 +393,4 @@ make install && pkill -f '.Extensions' && sleep 2 ; gnome-extensions prefs burn-
|
|||||||
|
|
||||||
That's it!
|
That's it!
|
||||||
If you have any questions, feel free to [ask them on the discussions board](https://github.com/Schneegans/Burn-My-Windows/discussions).
|
If you have any questions, feel free to [ask them on the discussions board](https://github.com/Schneegans/Burn-My-Windows/discussions).
|
||||||
If you are happy with your effect, submit a pull request, and it may get included in the next version!
|
If you are happy with your effect, submit a pull request, and it may get included in the next version!
|
||||||
|
|||||||
+120
-134
@@ -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;
|
||||||
@@ -620,8 +612,9 @@ 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 5
|
||||||
// seconds.
|
// seconds.
|
||||||
const duration =
|
const duration = testMode ?
|
||||||
testMode ? 5000 : profile.settings.get_int(effect.getNick() + '-animation-time');
|
5000 :
|
||||||
|
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);
|
||||||
@@ -635,16 +628,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();
|
|
||||||
}
|
|
||||||
|
|||||||
+1
-7
@@ -10,13 +10,7 @@
|
|||||||
"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",
|
|
||||||
"40",
|
|
||||||
"41",
|
|
||||||
"42",
|
|
||||||
"43",
|
|
||||||
"44"
|
|
||||||
],
|
],
|
||||||
"url": "https://github.com/Schneegans/Burn-My-Windows",
|
"url": "https://github.com/Schneegans/Burn-My-Windows",
|
||||||
"version": 38
|
"version": 38
|
||||||
|
|||||||
@@ -14,22 +14,77 @@
|
|||||||
|
|
||||||
'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';
|
||||||
|
import * as Config from 'resource:///org/gnome/Shell/Extensions/js/misc/config.js';
|
||||||
|
|
||||||
|
const [GS_MAJOR, GS_MINOR] = Config.PACKAGE_VERSION.split('.').map(toNumericVersion);
|
||||||
|
|
||||||
|
// Returns the given argument, except for "alpha", "beta", and "rc". In these cases -3,
|
||||||
|
// -2, and -1 are returned respectively.
|
||||||
|
function toNumericVersion(x) {
|
||||||
|
switch (x) {
|
||||||
|
case 'alpha':
|
||||||
|
return -3;
|
||||||
|
case 'beta':
|
||||||
|
return -2;
|
||||||
|
case 'rc':
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return x;
|
||||||
}
|
}
|
||||||
|
|
||||||
const _ = imports.gettext.domain('burn-my-windows').gettext;
|
// 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';
|
||||||
|
}
|
||||||
|
|
||||||
|
// This method returns true if the current GNOME Shell version is at least as high as the
|
||||||
|
// given arguments. Supports "alpha" and "beta" for the minor version number.
|
||||||
|
function shellVersionIsAtLeast(major, minor) {
|
||||||
|
if (GS_MAJOR > major) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (GS_MAJOR == major) {
|
||||||
|
return GS_MINOR >= toNumericVersion(minor);
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
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 //
|
||||||
@@ -37,73 +92,56 @@ const ProfileManager = Me.imports.src.ProfileManager.ProfileManager;
|
|||||||
// 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 +167,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 +205,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 +228,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 (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 +250,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 +264,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 +320,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 +381,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 +396,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);
|
||||||
@@ -531,7 +448,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);
|
||||||
|
|
||||||
@@ -550,71 +467,34 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
|||||||
const sponsors = this._getJSONResource('/credits/sponsors.json');
|
const sponsors = this._getJSONResource('/credits/sponsors.json');
|
||||||
let dialog;
|
let dialog;
|
||||||
|
|
||||||
// We try to use the special Adw.AboutWindow if it is available.
|
let formatSponsors = (sponsors) => {
|
||||||
if (utils.isADW() && Adw.AboutWindow) {
|
return sponsors.map(s => {
|
||||||
let formatSponsors = (sponsors) => {
|
if (s.url == '')
|
||||||
return sponsors.map(s => {
|
return s.name;
|
||||||
if (s.url == '')
|
else
|
||||||
return s.name;
|
return `${s.name} ${s.url}`;
|
||||||
else
|
});
|
||||||
return `${s.name} ${s.url}`;
|
};
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
dialog = new Adw.AboutWindow({transient_for: window, modal: true});
|
dialog = new Adw.AboutWindow({transient_for: window, modal: true});
|
||||||
dialog.set_application_icon('burn-my-windows-symbolic');
|
dialog.set_application_icon('burn-my-windows-symbolic');
|
||||||
dialog.set_application_name('Burn-My-Windows');
|
dialog.set_application_name('Burn-My-Windows');
|
||||||
dialog.set_version(`${Me.metadata.version}`);
|
dialog.set_version(`${this.metadata.version}`);
|
||||||
dialog.set_developer_name('Simon Schneegans');
|
dialog.set_developer_name('Simon Schneegans');
|
||||||
dialog.set_issue_url('https://github.com/Schneegans/Burn-My-Windows/issues');
|
dialog.set_issue_url('https://github.com/Schneegans/Burn-My-Windows/issues');
|
||||||
if (sponsors.gold.length > 0) {
|
if (sponsors.gold.length > 0) {
|
||||||
dialog.add_credit_section(_('Gold Sponsors'),
|
dialog.add_credit_section(_('Gold Sponsors'), formatSponsors(sponsors.gold));
|
||||||
formatSponsors(sponsors.gold));
|
}
|
||||||
}
|
if (sponsors.silver.length > 0) {
|
||||||
if (sponsors.silver.length > 0) {
|
dialog.add_credit_section(_('Silver Sponsors'),
|
||||||
dialog.add_credit_section(_('Silver Sponsors'),
|
formatSponsors(sponsors.silver));
|
||||||
formatSponsors(sponsors.silver));
|
}
|
||||||
}
|
if (sponsors.bronze.length > 0) {
|
||||||
if (sponsors.bronze.length > 0) {
|
dialog.add_credit_section(_('Bronze Sponsors'),
|
||||||
dialog.add_credit_section(_('Bronze Sponsors'),
|
formatSponsors(sponsors.bronze));
|
||||||
formatSponsors(sponsors.bronze));
|
}
|
||||||
}
|
if (sponsors.past.length > 0) {
|
||||||
if (sponsors.past.length > 0) {
|
dialog.add_credit_section(_('Past Sponsors'), formatSponsors(sponsors.past));
|
||||||
dialog.add_credit_section(_('Past Sponsors'),
|
|
||||||
formatSponsors(sponsors.past));
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
let formatSponsors = (sponsors) => {
|
|
||||||
return sponsors.map(s => {
|
|
||||||
if (s.url == '')
|
|
||||||
return s.name;
|
|
||||||
else
|
|
||||||
return `<a href="${s.url}">${s.name}</a>`;
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
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']);
|
|
||||||
if (sponsors.gold.length > 0) {
|
|
||||||
dialog.add_credit_section(_('Gold Sponsors'),
|
|
||||||
formatSponsors(sponsors.gold));
|
|
||||||
}
|
|
||||||
if (sponsors.silver.length > 0) {
|
|
||||||
dialog.add_credit_section(_('Silver Sponsors'),
|
|
||||||
formatSponsors(sponsors.silver));
|
|
||||||
}
|
|
||||||
if (sponsors.bronze.length > 0) {
|
|
||||||
dialog.add_credit_section(_('Bronze Sponsors'),
|
|
||||||
formatSponsors(sponsors.bronze));
|
|
||||||
}
|
|
||||||
if (sponsors.past.length > 0) {
|
|
||||||
dialog.add_credit_section(_('Past Sponsors'),
|
|
||||||
formatSponsors(sponsors.past));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dialog.set_translator_credits([...translators].join('\n'));
|
dialog.set_translator_credits([...translators].join('\n'));
|
||||||
@@ -622,11 +502,7 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
|
|||||||
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);
|
||||||
@@ -711,10 +587,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
|
||||||
@@ -730,11 +603,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) {
|
||||||
@@ -800,17 +668,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'.
|
||||||
@@ -849,26 +706,17 @@ 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.
|
||||||
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 (shellVersionIsAtLeast(minMajor, minMinor)) {
|
||||||
this.bindSwitch(`${effect.getNick()}-enable-effect`);
|
this.bindSwitch(`${effect.getNick()}-enable-effect`);
|
||||||
effect.bindPreferences(this);
|
effect.bindPreferences(this);
|
||||||
}
|
}
|
||||||
@@ -883,7 +731,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
|
||||||
@@ -897,7 +745,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));
|
||||||
@@ -905,6 +753,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.
|
||||||
@@ -981,15 +881,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,
|
||||||
@@ -1009,16 +906,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
|
||||||
@@ -1027,53 +919,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
|
||||||
@@ -1092,25 +959,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>
|
|
||||||
+7
-62
@@ -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(
|
||||||
|
|||||||
+11
-20
@@ -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);
|
||||||
|
|||||||
+7
-6
@@ -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,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};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+17
-16
@@ -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};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+13
-14
@@ -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
-18
@@ -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,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 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');
|
||||||
@@ -62,7 +58,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 +66,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 +80,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 +91,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
-18
@@ -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,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 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');
|
||||||
@@ -63,7 +59,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 +67,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 +81,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 +92,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};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+21
-24
@@ -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'),
|
||||||
@@ -82,7 +79,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 +87,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 +101,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 +115,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 +128,7 @@ var Fire = class {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Initialize the fire-preset dropdown.
|
// Initialize the fire-preset dropdown.
|
||||||
this._createFirePresets(dialog);
|
Effect._createFirePresets(dialog);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -140,14 +137,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 +225,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);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
+13
-13
@@ -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
-18
@@ -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');
|
||||||
@@ -68,7 +64,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 +72,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 +86,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 +99,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
-18
@@ -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');
|
||||||
@@ -76,7 +72,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 +80,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 +94,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 +108,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
-17
@@ -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');
|
||||||
@@ -113,7 +110,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 +118,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 +132,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 +145,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};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+16
-17
@@ -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');
|
||||||
@@ -96,7 +95,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 +103,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 +117,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 +131,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')};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+16
-17
@@ -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};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+13
-13
@@ -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};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+13
-13
@@ -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');
|
||||||
@@ -83,7 +83,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];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,13 +91,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');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -105,7 +105,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');
|
||||||
}
|
}
|
||||||
@@ -115,7 +115,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};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+13
-13
@@ -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
-18
@@ -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');
|
||||||
@@ -70,7 +66,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 +74,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 +88,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 +101,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');
|
||||||
@@ -96,7 +95,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 +103,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 +117,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 +128,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};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+16
-17
@@ -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');
|
||||||
@@ -94,7 +93,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 +101,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 +115,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 +128,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
-18
@@ -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,19 +33,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 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');
|
||||||
|
|
||||||
@@ -60,7 +56,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 +64,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 +78,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 +88,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
-18
@@ -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');
|
||||||
@@ -69,7 +65,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 +73,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 +87,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 +100,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
-18
@@ -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');
|
||||||
@@ -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};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-5
@@ -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))
|
||||||
|
|||||||
+26
-75
@@ -14,101 +14,52 @@
|
|||||||
|
|
||||||
'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.
|
|
||||||
let Adw = null;
|
|
||||||
try {
|
|
||||||
Adw = imports.gi.Adw;
|
|
||||||
} catch (e) {
|
|
||||||
// Nothing to do.
|
|
||||||
}
|
|
||||||
|
|
||||||
// Returns the given argument, except for "alpha", "beta", and "rc". In these cases -3,
|
|
||||||
// -2, and -1 are returned respectively.
|
|
||||||
function toNumericVersion(x) {
|
|
||||||
switch (x) {
|
|
||||||
case 'alpha':
|
|
||||||
return -3;
|
|
||||||
case 'beta':
|
|
||||||
return -2;
|
|
||||||
case 'rc':
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
|
|
||||||
const Config = imports.misc.config;
|
|
||||||
const [GS_MAJOR, GS_MINOR] = Config.PACKAGE_VERSION.split('.').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
|
// 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
|
// 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
|
// 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:
|
// can more effectively watch the log output of GNOME Shell:
|
||||||
// journalctl -f -o cat | grep -E 'particle-effects|'
|
// journalctl -f -o cat | grep -E 'burn-my-windows|'
|
||||||
// This method is based on a similar script from the Fly-Pie GNOME Shell extension which
|
export function debug(message) {
|
||||||
// os published under the MIT License (https://github.com/Schneegans/Fly-Pie).
|
|
||||||
function debug(message) {
|
|
||||||
const stack = new Error().stack.split('\n');
|
const stack = new Error().stack.split('\n');
|
||||||
|
|
||||||
// Remove debug() function call from stack.
|
// Remove debug() function call from stack.
|
||||||
stack.shift();
|
stack.shift();
|
||||||
|
|
||||||
// Find the index of the extension directory (e.g. particles@schneegans.github.com) in
|
// Find the index of the extension directory in the stack entry. We do not want to
|
||||||
// the stack entry. We do not want to print the entire absolute file path.
|
// print the entire absolute file path.
|
||||||
const extensionRoot = stack[0].indexOf(Me.metadata.uuid);
|
const extensionRoot = stack[0].indexOf('burn-my-windows@schneegans.github.com');
|
||||||
|
|
||||||
log('[' + stack[0].slice(extensionRoot) + '] ' + message);
|
console.log('[' + stack[0].slice(extensionRoot) + '] ' + message);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This method simply returns true if we are currently using GTK4.
|
// This method can be used to import a module in the GNOME Shell process only. This
|
||||||
function isGTK4() {
|
// is useful if you want to use a module in extension.js, but not in the preferences
|
||||||
return Gtk.get_major_version() == 4;
|
// process. This method returns null if it is called in the preferences process.
|
||||||
}
|
export async function importInShellOnly(module) {
|
||||||
|
if (typeof global !== 'undefined') {
|
||||||
// Starting with GNOME Shell 42, the settings dialog uses libadwaita (at least most of
|
return (await import(module)).default;
|
||||||
// the time - it seems that pop!_OS does not support libadwaita even on GNOME 42).
|
|
||||||
function isADW() {
|
|
||||||
return Adw && shellVersionIsAtLeast(42, 'beta');
|
|
||||||
}
|
|
||||||
|
|
||||||
// This method returns 'gtk3', 'gtk4', or 'adw' depending on the currently used GTK / and
|
|
||||||
// or libadwaita version.
|
|
||||||
function getUIDir() {
|
|
||||||
return isADW() ? 'adw' : (isGTK4() ? 'gtk4' : 'gtk3');
|
|
||||||
}
|
|
||||||
|
|
||||||
// This method returns true if the current GNOME Shell version matches the given
|
|
||||||
// arguments.
|
|
||||||
function shellVersionIs(major, minor) {
|
|
||||||
return GS_MAJOR == major && GS_MINOR == toNumericVersion(minor);
|
|
||||||
}
|
|
||||||
|
|
||||||
// This method returns true if the current GNOME Shell version is at least as high as the
|
|
||||||
// given arguments. Supports "alpha" and "beta" for the minor version number.
|
|
||||||
function shellVersionIsAtLeast(major, minor) {
|
|
||||||
if (GS_MAJOR > major) {
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
if (GS_MAJOR == major) {
|
// This method can be used to import gettext. This is done differently in the
|
||||||
return GS_MINOR >= toNumericVersion(minor);
|
// 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;
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 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 +67,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);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user