Mirrors the private dots tree at 900bdda: one shared base plus per-host overlays, replacing the old flat .config/ layout (last synced 2026-06-28). - packages: common/ gui/ wm/ lw/ fl/ + install.sh and bin/ tooling (dotsync, reconcile-hyde.sh) - new README (layout, deploy order, HyDE dependency), plus ToDo.md and HYDE-UPDATE.md - current HyDE waybar rig (layouts/, cava), pi agent extensions, claude/ config, tmux, presenterm, aichat roles - drops stale duplicates and generated cruft that should never have been tracked: the second top-level .pi/ copy, btop.log, zellij config.kdl.bak, fish_variables, nvim codecompanion.lua - .pi/agent/auth.json is gitignored now; auth.json.example ships instead - fl/ and wm/ hypr themes/ stay untracked (HyDE-generated per machine, per the root .gitignore)
53 lines
1.6 KiB
GLSL
53 lines
1.6 KiB
GLSL
#version 330
|
|
|
|
in vec2 fragCoord;
|
|
out vec4 fragColor;
|
|
|
|
// bar values. defaults to left channels first (low to high), then right (high
|
|
// to low).
|
|
uniform float bars[512];
|
|
|
|
uniform int bars_count; // number of bars (left + right) (configurable)
|
|
uniform int bar_width; // bar width (configurable), not used here
|
|
uniform int bar_spacing; // space bewteen bars (configurable)
|
|
|
|
uniform vec3 u_resolution; // window resolution
|
|
|
|
// colors, configurable in cava config file (r,g,b) (0.0 - 1.0)
|
|
uniform vec3 bg_color; // background color
|
|
uniform vec3 fg_color; // foreground color
|
|
|
|
uniform int gradient_count;
|
|
uniform vec3 gradient_colors[8]; // gradient colors
|
|
|
|
uniform sampler2D inputTexture; // Texture from the first render pass
|
|
|
|
vec3 normalize_C(float y, vec3 col_1, vec3 col_2, float y_min, float y_max) {
|
|
// create color based on fraction of this color and next color
|
|
float yr = (y - y_min) / (y_max - y_min);
|
|
return col_1 * (1.0 - yr) + col_2 * yr;
|
|
}
|
|
|
|
void main() {
|
|
// find which bar to use based on where we are on the y axis
|
|
int bar = int(bars_count * fragCoord.y);
|
|
float y = bars[bar];
|
|
float band_size = 1.0 / float(bars_count);
|
|
float current_band_min = bar * band_size;
|
|
float current_band_max = (bar + 1) * band_size;
|
|
|
|
int hist_length = 512;
|
|
float win_size = 1.0 / hist_length;
|
|
|
|
if (fragCoord.x > 1.0 - win_size) {
|
|
|
|
if (fragCoord.y > current_band_min && fragCoord.y < current_band_max) {
|
|
|
|
fragColor = vec4(fg_color * y, 1.0);
|
|
}
|
|
} else {
|
|
vec2 offsetCoord = fragCoord;
|
|
offsetCoord.x += float(win_size);
|
|
fragColor = texture(inputTexture, offsetCoord);
|
|
}
|
|
} |