themes: add hyperclass — Gilded Void, first class through the void#3
Conversation
The collection's luxury liner, designed from r/unixporn field research
(top-of-year rice analysis via Wayback, palette-craft rules measured from
the flagship schemes) and FMHY's customization resources: champagne brass
(#C9A24A, the desaturated "expensive gold" band) as hairline trim on
deep-space ink, warm ivory text, one ice vein for technical chrome.
Every contrast ratio audited — body text 14:1, all six ANSI hues >= 5.9:1
in their canonical hue slots, brights never darker than normals.
Ships: three seeded procedural wallpapers (deco sunburst marque, first
light over a ringed gas giant, the jump) on a slow GNOME crossfade;
generated Ptyxis/Alacritty/btop/micro/GTK from the palette; starship,
fastfetch (original deco starliner emblem), cava gradient, fish greeting
with 24 original crew quotes; a Burn My Windows profile (champagne
hexagon, exactly one effect enabled, active-profile wired via {{ home }});
and three stdlib terminal instruments under assets/hyperclass/bin —
an ASCII orrery that is a working clock (orrery), a truecolor hyperspace
jump (warp), and a self-printing art-deco boarding pass (boarding), all
pty-tested including tiny terminals, SIGTERM restore and non-TTY paths.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ccj2MQWdbeNSx9nHtBKZBx
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (9)
🚧 Files skipped from review as they are similar to previous changes (3)
📝 WalkthroughWalkthroughAdds the Hyperclass “Gilded Void” theme with a palette, generated wallpapers, desktop and application configurations, Fish integration, ASCII assets, and three interactive terminal programs. Registers the theme, defines installation targets and GNOME settings, and updates shared GTK/Ptyxis palette mappings. ChangesHyperclass theme
Estimated code review effort: 4 (Complex) | ~45 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 6
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@CHANGELOG.md`:
- Around line 23-26: Update the changelog description’s “sunburst marque”
wording to “sunburst marquee,” preserving the surrounding feature description
unchanged.
In `@themes/hyperclass/files/cava/config`:
- Line 3: Align the Cava config with its documented minimum version: either
replace the newer noise_reduction syntax with the Cava 0.8-compatible value and
explicit gradient_count, or update the minimum-version comment to the version
required by the current settings.
In `@themes/hyperclass/files/fastfetch/config.jsonc`:
- Around line 38-45: Declare Fastfetch 2.50.0 as the minimum supported version
for the configuration containing the display.bar.char and display.bar.border
settings. Add the project’s established version note or baseline check near this
config, without changing the bar values.
In `@themes/hyperclass/files/gtk/gtk.css`:
- Around line 1-11: Update the accent foreground color in the libadwaita and
GTK3 definitions so text on accent_bg_color `#C9A24A` uses the ink tone `#12151F`,
replacing the low-contrast `#FBF6E7` value while leaving the accent background and
accent color unchanged.
In `@themes/hyperclass/files/micro/hyperclass.micro`:
- Around line 3-4: Update the comment color in the color-link comment definition
to a brighter muted tone that provides sufficient contrast against the `#12151F`
background, while preserving the italic styling and the existing default color
definition.
In `@themes/hyperclass/files/ptyxis/Hyperclass.palette`:
- Around line 36-64: Update the [Light] palette in Hyperclass.palette to improve
contrast: replace the near-background Color7 and Color15 values with darker
light-mode variants, darken CursorForeground and SuperuserForeground for
readability against the brass backgrounds, and re-audit the remaining Light ANSI
foreground/background pairs so bright output and privileged-shell indicators
remain legible.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: ae91da67-9582-4d2c-a484-c8ccdc212230
⛔ Files ignored due to path filters (5)
docs/media/palette-hyperclass.svgis excluded by!**/*.svgthemes/hyperclass/files/shell/hyperclass-emblem.svgis excluded by!**/*.svgthemes/hyperclass/files/wallpaper/first-light.pngis excluded by!**/*.pngthemes/hyperclass/files/wallpaper/gilded-void.pngis excluded by!**/*.pngthemes/hyperclass/files/wallpaper/warp-transit.pngis excluded by!**/*.png
📒 Files selected for processing (27)
CHANGELOG.mdREADME.mdthemes/hyperclass/assets/wallpaper-gen.pythemes/hyperclass/files/alacritty/alacritty.tomlthemes/hyperclass/files/alacritty/hyperclass.tomlthemes/hyperclass/files/ascii/quotes.txtthemes/hyperclass/files/ascii/starliner.txtthemes/hyperclass/files/ascii/sunburst.txtthemes/hyperclass/files/bin/hyperclass-boardingthemes/hyperclass/files/bin/hyperclass-orrerythemes/hyperclass/files/bin/hyperclass-warpthemes/hyperclass/files/btop/btop.confthemes/hyperclass/files/btop/hyperclass.themethemes/hyperclass/files/burn-my-windows/hyperclass.confthemes/hyperclass/files/cava/configthemes/hyperclass/files/fastfetch/config.jsoncthemes/hyperclass/files/fastfetch/hyperclass-logo.txtthemes/hyperclass/files/fish/config.fishthemes/hyperclass/files/gtk/gtk.cssthemes/hyperclass/files/micro/hyperclass.microthemes/hyperclass/files/micro/settings.jsonthemes/hyperclass/files/ptyxis/Hyperclass.palettethemes/hyperclass/files/starship.tomlthemes/hyperclass/files/wallpaper/hyperclass-slideshow.xmlthemes/hyperclass/palette.tomlthemes/hyperclass/theme.tomlthemes/index.json
| "bar": { | ||
| "width": 10, | ||
| "char": { "elapsed": "━", "total": "─" }, // one engraved rule, filled vs bare | ||
| "border": { "left": "", "right": "" }, | ||
| "color": { | ||
| "elapsed": "38;2;169;218;232", // ice — a system readout glows cool | ||
| "total": "38;2;110;116;136" // recessed track | ||
| } |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/sh
set -eu
command -v fastfetch >/dev/null
fastfetch --version
fastfetch --config themes/hyperclass/files/fastfetch/config.jsonc >/dev/nullRepository: blyatiful1/gtheme
Length of output: 155
🏁 Script executed:
#!/bin/sh
set -eu
printf '\n== file ==\n'
cat -n themes/hyperclass/files/fastfetch/config.jsonc | sed -n '1,120p'
printf '\n== fastfetch mentions ==\n'
rg -n --hidden --glob '!**/.git/**' 'fastfetch|display\.bar|bar": \{' .
printf '\n== related theme files ==\n'
fd -a 'fastfetch' themes . || trueRepository: blyatiful1/gtheme
Length of output: 6961
🌐 Web query:
Fastfetch display.bar char border nested option names version introduced schema
💡 Result:
In Fastfetch, the configuration options for percentage bars under the display category were reorganized into a nested object structure in version 2.50.0 [1]. Previously, these options were flat (e.g., display.bar.charElapsed and display.bar.borderLeft) [1]. They were renamed to their new nested locations as follows [1]: 1. display.bar.char.elapsed (formerly display.bar.charElapsed) [1] 2. display.bar.char.total (formerly display.bar.charTotal) [1] 3. display.bar.border.left (formerly display.bar.borderLeft) [1] 4. display.bar.border.right (formerly display.bar.borderRight) [1] Additionally, version 2.50.0 introduced new border options under the display.bar.border namespace, including leftElapsed, rightElapsed, and the ability to set display.bar.border to null to disable borders entirely [1]. The JSON schema reflects this nested structure, grouping these settings under display > bar [2][3].
Citations:
- 1: https://github.com/fastfetch-cli/fastfetch/releases/tag/2.50.2
- 2: https://github.com/fastfetch-cli/fastfetch/wiki/Json-Schema-display
- 3: https://github.com/fastfetch-cli/fastfetch/wiki/Json-Schema
Declare the minimum Fastfetch version
display.bar.char.* and display.bar.border.* require Fastfetch 2.50.0+, so older installs will use the wrong schema. Add a version note or baseline check for this config.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@themes/hyperclass/files/fastfetch/config.jsonc` around lines 38 - 45, Declare
Fastfetch 2.50.0 as the minimum supported version for the configuration
containing the display.bar.char and display.bar.border settings. Add the
project’s established version note or baseline check near this config, without
changing the bar values.
CodeRabbit findings on #3, triaged and applied at the right layer — the contrast defects lived in the SHARED render templates, not the theme: - gtk.css.j2: accent-filled widgets now pair the theme's dark bg with the accent (ivory-on-brass/orange was ~2.2:1; ink is 7-7.6:1 on both bundled accents). - ptyxis.palette.j2: the derived [Light] scheme no longer emits near-invisible white slots (Color7 -> comment at 4.3:1, Color15 -> ansi_black; cursor/bell/superuser text -> bg) and the [Dark] superuser badge drops ivory-on-accent too. Both bundled themes rebuilt. - cava config: documented minimum is now >= 0.10 (integer noise_reduction postdates 0.8). - fastfetch config: note that nested display.bar char/border options need fastfetch >= 2.50. Declined (replied on-thread): micro comment colour recession is the deliberate flagship-scheme convention; "sunburst marque" is the intended word (emblem, not marquee). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ccj2MQWdbeNSx9nHtBKZBx
Adds hyperclass — Gilded Void to the collection: first class aboard a starliner crossing the void. Champagne brass (
#C9A24A, the desaturated "expensive gold" band — deliberately not slot-machine#FFD700) as hairline trim on deep-space ink, warm ivory text, one vein of ice for anything technical. The design came out of field research: a top-of-year r/unixporn rice analysis (via a Wayback snapshot of the live listing), palette-craft rules measured from the flagship schemes (Catppuccin/Rosé Pine/Kanagawa/Gruvbox et al.), art-deco/luxury-brand color references, and FMHY's Linux customization resource list (which is where Burn My Windows joined the lineup).What ships:
assets/wallpaper-gen.py): an art-deco sunburst marque in brass hairlines, first light over a ringed gas giant, and the hyperspace jump — on an unhurried 15-min GNOME crossfade.gtheme build: Ptyxis palette, Alacritty colors, btop theme, micro colorscheme, GTK accent CSS.❯), fastfetch with an original deco-starliner ASCII emblem, cava champagne gradient, fish config with a boarding-lounge greeting and 24 original crew quotes, Papirus + slate shell accent (cool hull) vs gold app accent (warm cabin).active-profiledconf key wired with{{ home }}, exactly one effect enabled (fire pinned off, since BMW randomizes among all enabled effects).~/.local/share/gtheme/assets/hyperclass/bin(fish shortcuts):orrery— an ASCII orrery that is a working clock (hours/minutes/smooth-seconds on engraved orbits, Roman-numeral bezel),warp— a truecolor hyperspace starfield with a 2-second drift then the jump,boarding— a self-printing art-deco boarding pass to a random exoplanet. All pty-tested: tiny terminals, resize, Ctrl-C, SIGTERM restore, non-TTY degradation.An adversarial multi-agent review pass ran before this PR; all confirmed findings (orrery SIGTERM restore, a dead cava key, two unused palette pins, a narrow-terminal animation guard in
boarding) are fixed in this diff.Checklist
python -m pytest -qpasses (240 passed; the 2test_baselinefailures in my container are root-only chmod artifacts — the failure-injection viachmod 0o555is a no-op as root; they pass in unprivileged CI)python -m gtheme validate allpasses (hyperclass: valid; package/extension warnings are absent-package noise on the build box)gtheme index(themes/index.jsonregenerated in this diff), assets are original (procedural wallpapers + hand-drawn ASCII/SVG, original quotes; no ripped art, no trademarked logos)🤖 Generated with Claude Code
https://claude.ai/code/session_01Ccj2MQWdbeNSx9nHtBKZBx
Generated by Claude Code
Summary by CodeRabbit