From ace372780d8c0ee39fffb6c1a8fdb10254c824c5 Mon Sep 17 00:00:00 2001 From: The_miro Date: Mon, 20 Jul 2026 09:46:14 +0200 Subject: [PATCH] feat(hyprdrive): holographic glow for kitty + new Ghostty CyberQueer config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit kitty: add a seamlessly-tiled scanlines+noise+ambient-bloom PNG as background_image, giving kitty a static approximation of the suite's HologramOverlay treatment since it has no per-frame draw hook or shader support to do real bloom. ghostty: port the CyberQueer theme (palette, cursor/selection colors) to a new Ghostty config, with a real per-pixel custom-shader instead of a static image — color-preserving bloom, procedural scanlines/grain, an occasional analog glitch/roll burst (tear + vertical roll + chromatic aberration), and a one-time hologram boot intro that resolves out of colored static via a downward sweep. Window decorations and the tab bar are disabled to match kitty's borderless look under Hyprland. Not wired up anywhere yet — no keybind or $TERMINAL changes point at Ghostty. This is just the config, ready to test. --- desktopenvs/hyprdrive/ghostty/config | 64 ++++++ .../ghostty/shaders/cyberqueer-glow.glsl | 202 ++++++++++++++++++ desktopenvs/hyprdrive/kitty/kitty.conf | 10 + desktopenvs/hyprdrive/kitty/scanlines.png | Bin 0 -> 47186 bytes 4 files changed, 276 insertions(+) create mode 100644 desktopenvs/hyprdrive/ghostty/config create mode 100644 desktopenvs/hyprdrive/ghostty/shaders/cyberqueer-glow.glsl create mode 100644 desktopenvs/hyprdrive/kitty/scanlines.png diff --git a/desktopenvs/hyprdrive/ghostty/config b/desktopenvs/hyprdrive/ghostty/config new file mode 100644 index 0000000..92ea251 --- /dev/null +++ b/desktopenvs/hyprdrive/ghostty/config @@ -0,0 +1,64 @@ +# CyberQueer — Ghostty config +# Ported from ../kitty/{kitty.conf,themes/cyberqueer.conf}. Palette matches +# ~/Dotfiles/colors.conf (COLOR_TEXT/BG/HIGHLIGHT/DARK/RED) plus the same +# neon green/yellow/magenta/cyan tints used in the kitty theme so ANSI +# output looks identical across both terminals. Kitty could only fake a +# glow with a static background image (../kitty/scanlines.png); here it's +# a real per-frame bloom shader — see shaders/cyberqueer-glow.glsl. +# +# NOT wired up as the active terminal yet: no keybinds or $TERMINAL changes +# point at Ghostty. This file just needs `ghostty --config-file=` +# (or deploying to ~/.config/ghostty/config) to try it. + +font-family = Agave Nerd Font +font-size = 13 + +cursor-style = bar +cursor-style-blink = false +shell-integration-features = no-cursor + +background-opacity = 0.4 +background-blur = true + +window-padding-x = 4 +window-padding-y = 4 +scrollback-limit = 10485760 +confirm-close-surface = false + +# No titlebar, no tab bar — Hyprland handles window placement/borders itself +# (matches kitty's borderless look under this compositor). Note: an old +# Ghostty bug (ghostty-org/ghostty#3178, fixed in 1.0.1) made this exact +# Arch+Hyprland combo render as a single flat color with gtk-titlebar=false; +# using window-decoration=none instead of gtk-titlebar avoids that specific +# combo, but if the "flat pane, no text" symptom ever comes back, this is +# the first place to check by reverting. +window-decoration = none +window-show-tab-bar = never + +custom-shader = shaders/cyberqueer-glow.glsl +custom-shader-animation = always + +foreground = D6ABAB +background = 1A1A1A +selection-foreground = E40046 +selection-background = 5018DD +cursor-color = E40046 +cursor-text = 5018DD +split-divider-color = 5018DD + +palette = 0=1A1A1A +palette = 1=E40046 +palette = 2=33E6A0 +palette = 3=E8B23D +palette = 4=5018DD +palette = 5=A6178C +palette = 6=34C6C6 +palette = 7=D6ABAB +palette = 8=4B3A55 +palette = 9=F50505 +palette = 10=5CFFC2 +palette = 11=FFD873 +palette = 12=8C6FFF +palette = 13=FF5FC0 +palette = 14=6FF5F0 +palette = 15=F2DEDE diff --git a/desktopenvs/hyprdrive/ghostty/shaders/cyberqueer-glow.glsl b/desktopenvs/hyprdrive/ghostty/shaders/cyberqueer-glow.glsl new file mode 100644 index 0000000..581fcc5 --- /dev/null +++ b/desktopenvs/hyprdrive/ghostty/shaders/cyberqueer-glow.glsl @@ -0,0 +1,202 @@ +// CyberQueer glow shader for Ghostty's custom-shader hook. +// Real per-pixel bloom (unlike kitty, which can only fake this with a static +// background image — see ../../kitty/scanlines.png). Deliberately +// color-preserving: it blooms whatever color a glyph already is, so the +// suite's violet/crimson/neon ANSI palette blooms in its own hues instead of +// a single hardcoded tint. +// +// Only one custom-shader reliably renders on Linux/OpenGL (stacking multiple +// silently drops all but the last), so bloom + scanlines + grain + glitch + +// the boot intro all live here as a single pass rather than several files. +// +// Four effects, composited in order: +// 1. occasional glitch/roll burst (analog-signal tear + vertical roll + +// chromatic aberration), ported from the technique in +// github.com/0xhckr/ghostty-shaders/blob/main/glitchy.glsl +// 2. bloom (existing, sampled post-glitch-warp) +// 3. scanlines + ambient grain (existing) +// 4. a one-time hologram boot intro: the picture resolves out of colored +// static via a downward sweep over the first ~1.8s of iTime. + +// ---------- shared noise helpers (glitch §1 + intro §4) ---------- +// SS: a windowed pulse — 0 outside [a,b], rising then falling inside it. +#define SS(a, b, x) (smoothstep(a, b, x) * smoothstep(b, a, x)) + +#define UI0 1597334673u +#define UI1 3812015801u +#define UI2 uvec2(UI0, UI1) +#define UI3 uvec3(UI0, UI1, 2798796415u) +#define UIF (1.0 / float(0xffffffffu)) + +// Hash by David Hoskins — reused from glitchy.glsl for the glitch burst's +// analog distortion and the intro's static field. +vec3 hash33(vec3 p) { + uvec3 q = uvec3(ivec3(p)) * UI3; + q = (q.x ^ q.y ^ q.z) * UI3; + return -1.0 + 2.0 * vec3(q) * UIF; +} + +// Gradient noise by iq — continuous in space and time, so animating it +// reads as organic shimmer rather than a hard per-frame strobe (deliberate: +// this drives a full-window effect, so avoiding flicker matters). +float gnoise(vec3 x) { + vec3 p = floor(x); + vec3 w = fract(x); + vec3 u = w * w * w * (w * (w * 6.0 - 15.0) + 10.0); + + vec3 ga = hash33(p + vec3(0.0, 0.0, 0.0)); + vec3 gb = hash33(p + vec3(1.0, 0.0, 0.0)); + vec3 gc = hash33(p + vec3(0.0, 1.0, 0.0)); + vec3 gd = hash33(p + vec3(1.0, 1.0, 0.0)); + vec3 ge = hash33(p + vec3(0.0, 0.0, 1.0)); + vec3 gf = hash33(p + vec3(1.0, 0.0, 1.0)); + vec3 gg = hash33(p + vec3(0.0, 1.0, 1.0)); + vec3 gh = hash33(p + vec3(1.0, 1.0, 1.0)); + + float va = dot(ga, w - vec3(0.0, 0.0, 0.0)); + float vb = dot(gb, w - vec3(1.0, 0.0, 0.0)); + float vc = dot(gc, w - vec3(0.0, 1.0, 0.0)); + float vd = dot(gd, w - vec3(1.0, 1.0, 0.0)); + float ve = dot(ge, w - vec3(0.0, 0.0, 1.0)); + float vf = dot(gf, w - vec3(1.0, 0.0, 1.0)); + float vg = dot(gg, w - vec3(0.0, 1.0, 1.0)); + float vh = dot(gh, w - vec3(1.0, 1.0, 1.0)); + + return 2.0 * (va + u.x * (vb - va) + + u.y * (vc - va) + + u.z * (ve - va) + + u.x * u.y * (va - vb - vc + vd) + + u.y * u.z * (va - vc - ve + vg) + + u.z * u.x * (va - vb - ve + vf) + + u.x * u.y * u.z * (-va + vb + vc - vd + ve - vf - vg + vh)); +} + +float gnoise01(vec3 x) { + return 0.5 + 0.5 * gnoise(x); +} + +// Golden-spiral sample offsets + inverse-distance weights for the bloom, +// reused verbatim from the community bloom kernel (0xhckr/ghostty-shaders). +const vec3[24] samples = vec3[24]( + vec3(0.1693761725038636, 0.9855514761735895, 1.0), + vec3(-1.333070830962943, 0.4721463328627773, 0.7071067811865475), + vec3(-0.8464394909806497, -1.51113870578065, 0.5773502691896258), + vec3(1.554155680728463, -1.2588090085709776, 0.5), + vec3(1.681364377589461, 1.4741145918052656, 0.4472135954999579), + vec3(-1.2795157692199817, 2.088741103228784, 0.4082482904638631), + vec3(-2.4575847530631187, -0.9799373355024756, 0.3779644730092272), + vec3(0.5874641440200847, -2.7667464429345077, 0.35355339059327373), + vec3(2.997715703369726, 0.11704939884745152, 0.3333333333333333), + vec3(0.41360842451688395, 3.1351121305574803, 0.31622776601683794), + vec3(-3.167149933769243, 0.9844599011770256, 0.30151134457776363), + vec3(-1.5736713846521535, -3.0860263079123245, 0.2886751345948129), + vec3(2.888202648340422, -2.1583061557896213, 0.2773500981126146), + vec3(2.7150778983300325, 2.5745586041105715, 0.2672612419124244), + vec3(-2.1504069972377464, 3.2211410627650165, 0.2581988897471611), + vec3(-3.6548858794907493, -1.6253643308191343, 0.25), + vec3(1.0130775986052671, -3.9967078676335834, 0.24253562503633297), + vec3(4.229723673607257, 0.33081361055181563, 0.23570226039551587), + vec3(0.40107790291173834, 4.340407413572593, 0.22941573387056174), + vec3(-4.319124570236028, 1.159811599693438, 0.22360679774997896), + vec3(-1.9209044802827355, -4.160543952132907, 0.2182178902359924), + vec3(3.8639122286635708, -2.6589814382925123, 0.21320071635561041), + vec3(3.3486228404946234, 3.4331800232609, 0.20851441405707477), + vec3(-2.8769733643574344, 3.9652268864187157, 0.20412414523193154) +); + +float lum(vec4 c) { + return 0.299 * c.r + 0.587 * c.g + 0.114 * c.b; +} + +// Cheap 2D hash for the ambient grain speckles — no texture lookup needed. +float hash(vec2 p) { + p = fract(p * vec2(123.34, 456.21)); + p += dot(p, p + 45.32); + return fract(p.x * p.y); +} + +// How often (seconds) an occasional glitch/roll burst fires, and what +// fraction of that cycle it's actually active for — "occasional" means +// rare and brief, not a constant tic. +#define GLITCH_DURATION 18.0 +#define GLITCH_AMT 0.045 +// How long the hologram takes to resolve out of static when it first boots. +#define INTRO_DURATION 1.8 + +void mainImage(out vec4 fragColor, in vec2 fragCoord) { + vec2 uv = fragCoord.xy / iResolution.xy; + float t = iTime; + + // --- 1. occasional glitch/roll burst --- + // glitchAmount is ~0 almost all the time and spikes for under a second + // once every GLITCH_DURATION seconds. + float glitchAmount = SS(GLITCH_DURATION * 0.002, GLITCH_DURATION * GLITCH_AMT, mod(t, GLITCH_DURATION)); + float rowY = fragCoord.y; + float tear = gnoise(vec3(0.0, rowY * 0.01, t * 500.0)) * (glitchAmount * 0.03 + 0.0015); + float roll = glitchAmount * gnoise(vec3(t * 3.0, 0.0, 0.0)) * 0.05; + vec2 guv = uv + vec2(tear, roll); + guv.y = fract(guv.y); // vertical roll wraps top/bottom, like a CRT losing vertical hold + + vec2 caOffset = vec2(2.0 / iResolution.x, 0.0) * (1.0 + glitchAmount * 3.0); + vec4 color; + color.r = texture(iChannel0, guv + caOffset).r; + color.g = texture(iChannel0, guv).g; + color.b = texture(iChannel0, guv - caOffset).b; + color.a = texture(iChannel0, guv).a; + + // --- 2. bloom: color-preserving glow around bright glyphs --- + vec2 bstep = vec2(1.414) / iResolution.xy; + for (int i = 0; i < 24; i++) { + vec3 s = samples[i]; + vec4 c = texture(iChannel0, guv + s.xy * bstep); + float l = lum(c); + if (l > 0.25) { + color += l * s.z * c * 0.15; + } + } + + // burst noise: a brief flash of static riding on top of the tear/roll + float burst = hash33(vec3(fragCoord, mod(float(iFrame), 1000.0))).r; + color.rgb += burst * glitchAmount * 0.35; + + // --- 3. scanlines: a hard-edged dark line every 3rd physical row --- + float scan = mod(fragCoord.y, 3.0) < 1.0 ? 0.90 : 1.0; + color.rgb *= scan; + + // holographic grain: sparse, low-alpha, slowly time-varying speckles in + // the theme's accent/violet/danger hues. Update rate capped at ~8Hz and + // intensity kept low deliberately — this sits behind text all day, so it + // should read as ambient shimmer, not a strobe. + vec2 grainCell = floor(fragCoord.xy / 2.0) + floor(iTime * 8.0); + float n = hash(grainCell); + if (n > 0.985) { + vec3 speck = n > 0.9925 ? vec3(0.894, 0.0, 0.271) // accent E40046 + : n > 0.99 ? vec3(0.961, 0.020, 0.020) // danger F50505 + : vec3(0.314, 0.094, 0.867); // violet 5018DD + color.rgb += speck * 0.10; + } + + // --- 4. hologram boot intro: resolve out of colored static over + // INTRO_DURATION seconds via a downward sweep, then never run again for + // the life of the shader (t only grows). Uses gnoise (continuous) rather + // than a per-frame hash flip, so the static shimmers instead of strobing. + float introProgress = clamp(t / INTRO_DURATION, 0.0, 1.0); + float sweepFrac = introProgress * 1.15 - 0.05; + float resolved = 1.0 - smoothstep(sweepFrac - 0.05, sweepFrac + 0.05, uv.y); + + float n1 = gnoise01(vec3(fragCoord * 0.08, t * 6.0)); + float n2 = gnoise01(vec3(fragCoord * 0.08 + 19.0, t * 6.0)); + vec3 violet = vec3(0.314, 0.094, 0.867); + vec3 accent = vec3(0.894, 0.0, 0.271); + vec3 danger = vec3(0.961, 0.020, 0.020); + vec3 introField = mix(violet, accent, n1); + introField = mix(introField, danger, smoothstep(0.75, 1.0, n2) * 0.5); + introField *= (0.18 + 0.22 * n2); // keep it dim — ambient static, not a flash + + float sweepBand = 1.0 - smoothstep(0.0, 0.12, abs(uv.y - sweepFrac)); + vec3 sweepGlow = violet * sweepBand * 1.2; + + vec3 finalRGB = mix(introField, color.rgb, resolved) + sweepGlow; + + fragColor = vec4(finalRGB, color.a); +} diff --git a/desktopenvs/hyprdrive/kitty/kitty.conf b/desktopenvs/hyprdrive/kitty/kitty.conf index c3db446..18dea78 100644 --- a/desktopenvs/hyprdrive/kitty/kitty.conf +++ b/desktopenvs/hyprdrive/kitty/kitty.conf @@ -11,6 +11,16 @@ window_padding_width 4 scrollback_lines 20000 background_opacity 0.4 background_blur 1 + +# Holographic scanlines + noise grain + soft ambient violet/crimson bloom, +# matching the suite's HologramOverlay treatment (orbit-menu/astro-menu/ +# station-bar/beacon) — a static tiled equivalent since kitty has no +# per-frame draw hook to animate it, and no shader hook to bloom glyphs +# directly, so the "glow" comes from ambient light behind the text instead. +background_image scanlines.png +background_image_layout tiled +background_tint 0.3 + editor nvim confirm_os_window_close 0 diff --git a/desktopenvs/hyprdrive/kitty/scanlines.png b/desktopenvs/hyprdrive/kitty/scanlines.png new file mode 100644 index 0000000000000000000000000000000000000000..71ca6e09eeb2a9d8a44d9b2da4aefb6ce435e8d3 GIT binary patch literal 47186 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 qdXAUAtCe?`UzFox