feat: 3 neue shader (vibrance, grayscale, invert) auf F7-F9, blaulicht-duplikat entfernt

This commit is contained in:
2026-04-23 20:30:14 +02:00
parent dbac00e04a
commit 48bb02ca4b
5 changed files with 55 additions and 2 deletions
+3 -1
View File
@@ -346,7 +346,9 @@ bind = , F3, exec, ~/.config/wal/next-theme.sh
bind = , F4, exec, $launcher
bind = , F5, exec, hyprpwcenter
bind = , F6, exec, ~/.config/hypr/scripts/hyprsunset-toggle.sh
bind = , F7, exec, hyprshade toggle ~/.config/hypr/shaders/blue-light-filter.glsl
bind = , F7, exec, hyprshade toggle ~/.config/hypr/shaders/vibrance.glsl
bind = , F8, exec, hyprshade toggle ~/.config/hypr/shaders/grayscale.glsl
bind = , F9, exec, hyprshade toggle ~/.config/hypr/shaders/invert-colors.glsl
# Touchpad ein/ausschalten (Fn+F7 = Ctrl+Super+F24 laut Firmware)
bind = CTRL SUPER, F24, exec, /home/tekki/.config/hypr/scripts/touchpad-toggle.sh
+12
View File
@@ -0,0 +1,12 @@
#version 300 es
precision highp float;
in vec2 v_texcoord;
uniform sampler2D tex;
out vec4 fragColor;
void main() {
vec4 pixColor = texture(tex, v_texcoord);
float gray = dot(pixColor.rgb, vec3(0.2627, 0.6780, 0.0593));
fragColor = vec4(vec3(gray), pixColor.a);
}
+11
View File
@@ -0,0 +1,11 @@
#version 300 es
precision highp float;
in vec2 v_texcoord;
uniform sampler2D tex;
out vec4 fragColor;
void main() {
vec4 pixColor = texture(tex, v_texcoord);
fragColor = vec4(1.0 - pixColor.rgb, pixColor.a);
}
+26
View File
@@ -0,0 +1,26 @@
#version 300 es
precision highp float;
in vec2 v_texcoord;
uniform sampler2D tex;
out vec4 fragColor;
// Farben satter machen (Stärke: positiv = mehr, negativ = weniger)
const vec3 Balance = vec3(1.0, 1.0, 1.0);
const float Strength = 0.3;
const vec3 VIB_coeffVibrance = Balance * -Strength;
void main() {
vec4 pixColor = texture(tex, v_texcoord);
vec3 color = pixColor.rgb;
vec3 VIB_coefLuma = vec3(0.212656, 0.715158, 0.072186);
float luma = dot(VIB_coefLuma, color);
float max_color = max(color.r, max(color.g, color.b));
float min_color = min(color.r, min(color.g, color.b));
float color_saturation = max_color - min_color;
vec3 p_col = (sign(VIB_coeffVibrance) * color_saturation - 1.0) * VIB_coeffVibrance + 1.0;
fragColor = vec4(mix(vec3(luma), color, p_col), pixColor.a);
}
+3 -1
View File
@@ -47,4 +47,6 @@
| `F4` | hyprlauncher (App-Launcher) |
| `F5` | hyprpwcenter (Audio-Mixer) |
| `F6` | Nachtmodus an/aus (hyprsunset, ~3500K) |
| `F7` | Blaulichtfilter an/aus (hyprshade) |
| `F7` | Vibrance an/aus (Farben satter) |
| `F8` | Graustufen an/aus |
| `F9` | Farben invertieren an/aus |