Merge branch 'main' into feature/magic-lamp
Checks / Check Clang-Format (push) Has been cancelled
Checks / Check Compliance with REUSE Specification (push) Has been cancelled
Checks / Check Comment Percentage (push) Has been cancelled
Checks / Run ShellCheck (push) Has been cancelled
Checks / Generate References (push) Has been cancelled
Checks / Run Tests (gnome-wayland-nested, 32) (push) Has been cancelled
Checks / Run Tests (gnome-wayland-nested, 33) (push) Has been cancelled
Checks / Run Tests (gnome-wayland-nested, 34) (push) Has been cancelled
Checks / Run Tests (gnome-wayland-nested, 35) (push) Has been cancelled
Checks / Run Tests (gnome-wayland-nested, 36) (push) Has been cancelled
Checks / Run Tests (gnome-wayland-nested, 37) (push) Has been cancelled
Checks / Run Tests (gnome-wayland-nested, 38) (push) Has been cancelled
Checks / Run Tests (gnome-wayland-nested, rawhide) (push) Has been cancelled
Checks / Run Tests (gnome-xsession, 32) (push) Has been cancelled
Checks / Run Tests (gnome-xsession, 33) (push) Has been cancelled
Checks / Run Tests (gnome-xsession, 34) (push) Has been cancelled
Checks / Run Tests (gnome-xsession, 35) (push) Has been cancelled
Checks / Run Tests (gnome-xsession, 36) (push) Has been cancelled
Checks / Run Tests (gnome-xsession, 37) (push) Has been cancelled
Checks / Run Tests (gnome-xsession, 38) (push) Has been cancelled
Checks / Run Tests (gnome-xsession, rawhide) (push) Has been cancelled
Checks / Check Clang-Format (push) Has been cancelled
Checks / Check Compliance with REUSE Specification (push) Has been cancelled
Checks / Check Comment Percentage (push) Has been cancelled
Checks / Run ShellCheck (push) Has been cancelled
Checks / Generate References (push) Has been cancelled
Checks / Run Tests (gnome-wayland-nested, 32) (push) Has been cancelled
Checks / Run Tests (gnome-wayland-nested, 33) (push) Has been cancelled
Checks / Run Tests (gnome-wayland-nested, 34) (push) Has been cancelled
Checks / Run Tests (gnome-wayland-nested, 35) (push) Has been cancelled
Checks / Run Tests (gnome-wayland-nested, 36) (push) Has been cancelled
Checks / Run Tests (gnome-wayland-nested, 37) (push) Has been cancelled
Checks / Run Tests (gnome-wayland-nested, 38) (push) Has been cancelled
Checks / Run Tests (gnome-wayland-nested, rawhide) (push) Has been cancelled
Checks / Run Tests (gnome-xsession, 32) (push) Has been cancelled
Checks / Run Tests (gnome-xsession, 33) (push) Has been cancelled
Checks / Run Tests (gnome-xsession, 34) (push) Has been cancelled
Checks / Run Tests (gnome-xsession, 35) (push) Has been cancelled
Checks / Run Tests (gnome-xsession, 36) (push) Has been cancelled
Checks / Run Tests (gnome-xsession, 37) (push) Has been cancelled
Checks / Run Tests (gnome-xsession, 38) (push) Has been cancelled
Checks / Run Tests (gnome-xsession, rawhide) (push) Has been cancelled
This commit is contained in:
@@ -20,13 +20,14 @@
|
||||
|
||||
// Each shader can access these standard input values:
|
||||
|
||||
// vec2 iTexCoord: Texture coordinates for retrieving the window input color.
|
||||
// bool uForOpening: True if a window-open animation is ongoing, false otherwise.
|
||||
// float uProgress: A value which transitions from 0 to 1 during the animation.
|
||||
// float uDuration: The duration of the current animation in seconds.
|
||||
// vec2 uSize: The size of uTexture in pixels.
|
||||
// float uPadding: The empty area around the actual window (e.g. where the shadow
|
||||
// is drawn). For now, this will only be set on GNOME.
|
||||
// vec2 iTexCoord: Texture coordinates for retrieving the window input color.
|
||||
// bool uIsFullscreen: True if the window is maximized or in fullscreen mode.
|
||||
// bool uForOpening: True if a window-open animation is ongoing, false otherwise.
|
||||
// float uProgress: A value which transitions from 0 to 1 during the animation.
|
||||
// float uDuration: The duration of the current animation in seconds.
|
||||
// vec2 uSize: The size of uTexture in pixels.
|
||||
// float uPadding: The empty area around the actual window (e.g. where the shadow
|
||||
// is drawn). For now, this will only be set on GNOME.
|
||||
|
||||
// Furthermore, there are two global methods for reading the window input color and
|
||||
// setting the shader output color. Both methods assume straight alpha:
|
||||
@@ -35,6 +36,7 @@
|
||||
// void setOutputColor(vec4 outColor)
|
||||
|
||||
uniform bool uForOpening;
|
||||
uniform bool uIsFullscreen;
|
||||
uniform float uProgress;
|
||||
uniform float uDuration;
|
||||
|
||||
@@ -168,14 +170,18 @@ float easeOutBack(float x, float e) {
|
||||
// --------------------------------------------------------------------- edge mask helpers
|
||||
|
||||
// This method returns a mask which smoothly transitions towards zero when approaching
|
||||
// the window's borders. There is a variant which takes the transition area width in
|
||||
// the window's borders. If the window is currently maximized or in fullscreen mode, this
|
||||
// will return 1.0 everywhere. There is a variant which takes the transition area width in
|
||||
// pixels and one which takes this as a percentage.
|
||||
float getEdgeMask(vec2 uv, vec2 maxUV, float fadeWidth) {
|
||||
float mask = 1.0;
|
||||
mask *= smoothstep(0.0, 1.0, clamp(uv.x / fadeWidth, 0.0, 1.0));
|
||||
mask *= smoothstep(0.0, 1.0, clamp(uv.y / fadeWidth, 0.0, 1.0));
|
||||
mask *= smoothstep(0.0, 1.0, clamp((maxUV.x - uv.x) / fadeWidth, 0.0, 1.0));
|
||||
mask *= smoothstep(0.0, 1.0, clamp((maxUV.y - uv.y) / fadeWidth, 0.0, 1.0));
|
||||
|
||||
if (!uIsFullscreen) {
|
||||
mask *= smoothstep(0.0, 1.0, clamp(uv.x / fadeWidth, 0.0, 1.0));
|
||||
mask *= smoothstep(0.0, 1.0, clamp(uv.y / fadeWidth, 0.0, 1.0));
|
||||
mask *= smoothstep(0.0, 1.0, clamp((maxUV.x - uv.x) / fadeWidth, 0.0, 1.0));
|
||||
mask *= smoothstep(0.0, 1.0, clamp((maxUV.y - uv.y) / fadeWidth, 0.0, 1.0));
|
||||
}
|
||||
|
||||
return mask;
|
||||
}
|
||||
|
||||
@@ -221,10 +221,10 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
<property name="margin-bottom">20</property>
|
||||
<property name="margin-start">20</property>
|
||||
<property name="margin-end">20</property>
|
||||
<property name="title" translatable="yes">Effect Settings</property>
|
||||
<property name="title" translatable="yes">Effect Selection</property>
|
||||
<property name="description" translatable="yes">If multiple are selected, one is chosen randomly.</property>
|
||||
|
||||
<!-- <child type="header-suffix">
|
||||
<child type="header-suffix">
|
||||
<object class="GtkBox">
|
||||
<property name="valign">center</property>
|
||||
<style>
|
||||
@@ -232,19 +232,19 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
</style>
|
||||
|
||||
<child>
|
||||
<object class="GtkButton">
|
||||
<property name="icon-name">bmw-copy-effects-symbolic</property>
|
||||
<object class="GtkButton" id="choose-all-effects-button">
|
||||
<property name="label" translatable="yes">All</property>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<object class="GtkButton">
|
||||
<property name="icon-name">bmw-paste-effects-symbolic</property>
|
||||
<object class="GtkButton" id="choose-no-effects-button">
|
||||
<property name="label" translatable="yes">None</property>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
</object>
|
||||
</child> -->
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
||||
@@ -51,6 +51,12 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
</item>
|
||||
</submenu>
|
||||
</section>
|
||||
<section>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">Open Effect-Profile Directory</attribute>
|
||||
<attribute name="action">prefs.profile-dir</attribute>
|
||||
</item>
|
||||
</section>
|
||||
<section>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">About Burn-My-Windows</attribute>
|
||||
|
||||
+48
-12
@@ -120,19 +120,55 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
<property name="spacing">5</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Effect Settings</property>
|
||||
<property name="halign">start</property>
|
||||
<style>
|
||||
<class name="heading" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<object class="GtkBox">
|
||||
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">If multiple are selected, one is chosen randomly.</property>
|
||||
<property name="halign">start</property>
|
||||
<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>
|
||||
|
||||
|
||||
+48
-12
@@ -78,19 +78,55 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
<property name="spacing">5</property>
|
||||
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Effect Settings</property>
|
||||
<property name="halign">start</property>
|
||||
<style>
|
||||
<class name="heading" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<object class="GtkBox">
|
||||
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">If multiple are selected, one is chosen randomly.</property>
|
||||
<property name="halign">start</property>
|
||||
<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>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user