diff --git a/src/backend/render/mod.rs b/src/backend/render/mod.rs index 8aedca71..fd4c7654 100644 --- a/src/backend/render/mod.rs +++ b/src/backend/render/mod.rs @@ -208,7 +208,7 @@ impl IndicatorShader { alpha: f32, active_window_hint: [f32; 3], ) -> PixelShaderElement { - let t = (thickness as i32) / 2; + let t = thickness as i32; element_geo.loc -= (t, t).into(); element_geo.size += (t * 2, t * 2).into(); diff --git a/src/backend/render/shaders/rounded_outline.frag b/src/backend/render/shaders/rounded_outline.frag index 75cfeef1..05756d50 100644 --- a/src/backend/render/shaders/rounded_outline.frag +++ b/src/backend/render/shaders/rounded_outline.frag @@ -24,8 +24,8 @@ void main() { vec4 mix_color; float distance = rounded_box(location - center, (size / 2.0) - (thickness / 2.0), radius); - float smoothedAlpha = 1.0 - smoothstep(0.0, 1.0, abs(distance) - (thickness / 2.0)); - + float smoothedAlpha = 1.0 - smoothstep(-0.5, 0.5, abs(distance) - (thickness / 2.0)); + mix_color = mix(vec4(0.0, 0.0, 0.0, 0.0), vec4(color, alpha), smoothedAlpha); #if defined(DEBUG_FLAGS)