Skip to content

themes: add hyperclass — Gilded Void, first class through the void#3

Merged
blyatiful1 merged 2 commits into
mainfrom
claude/hyper-class-theme-wf0m8n
Jul 14, 2026
Merged

themes: add hyperclass — Gilded Void, first class through the void#3
blyatiful1 merged 2 commits into
mainfrom
claude/hyper-class-theme-wf0m8n

Conversation

@blyatiful1

@blyatiful1 blyatiful1 commented Jul 14, 2026

Copy link
Copy Markdown
Owner

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).

palette

What ships:

  • Palette, contrast-audited: body text 14.2:1, every ANSI hue ≥ 5.9:1 on the ink, all six in their canonical hue slots (red 352°, yellow 42°, green 129°, cyan 187°, blue 216°, magenta 264°), brights never darker than normals, comments deliberately recessed at 3.9:1.
  • Three seeded procedural wallpapers (generator in 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.
  • Generated from the palette via gtheme build: Ptyxis palette, Alacritty colors, btop theme, micro colorscheme, GTK accent CSS.
  • Hand-authored: starship prompt (hairline, no powerline fills, exit-code-reactive ), 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).
  • Burn My Windows profile: windows open/close through a champagne hexagon lattice — profile file + active-profile dconf key wired with {{ home }}, exactly one effect enabled (fire pinned off, since BMW randomizes among all enabled effects).
  • Three stdlib terminal instruments under ~/.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 -q passes (240 passed; the 2 test_baseline failures in my container are root-only chmod artifacts — the failure-injection via chmod 0o555 is a no-op as root; they pass in unprivileged CI)
  • python -m gtheme validate all passes (hyperclass: valid; package/extension warnings are absent-package noise on the build box)
  • For theme PRs: ran gtheme index (themes/index.json regenerated 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

  • New Features
    • Added Hyperclass — Gilded Void desktop theme, including terminal/editor/monitor/shell/GTK and desktop integration.
    • Added three procedural wallpapers with slideshow support.
    • Included terminal “experiences” (warp animation, orrery clock, boarding pass), plus themed ASCII art, quotes, and prompt/visualizer assets.
  • Bug Fixes
    • Improved GTK accent rendering for better theme contrast.
    • Adjusted Light palette mapping to prevent near-invisible color slots.
  • Documentation
    • Updated the changelog and theme collection with Hyperclass.

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
@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: cff5770c-6994-4f90-adf8-35e8d7f827dc

📥 Commits

Reviewing files that changed from the base of the PR and between fa3745e and f5e528f.

📒 Files selected for processing (9)
  • CHANGELOG.md
  • src/gtheme/templates/gtk.css.j2
  • src/gtheme/templates/ptyxis.palette.j2
  • themes/hyperclass/files/cava/config
  • themes/hyperclass/files/fastfetch/config.jsonc
  • themes/hyperclass/files/gtk/gtk.css
  • themes/hyperclass/files/ptyxis/Hyperclass.palette
  • themes/magma/files/gtk/gtk.css
  • themes/magma/files/ptyxis/Magma.palette
🚧 Files skipped from review as they are similar to previous changes (3)
  • themes/hyperclass/files/cava/config
  • themes/hyperclass/files/fastfetch/config.jsonc
  • themes/hyperclass/files/ptyxis/Hyperclass.palette

📝 Walkthrough

Walkthrough

Adds 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.

Changes

Hyperclass theme

Layer / File(s) Summary
Theme identity and palette
themes/hyperclass/palette.toml, themes/hyperclass/theme.toml, themes/index.json, README.md, CHANGELOG.md
Defines Hyperclass metadata, palette values, component registration, and documentation entries.
Procedural wallpaper assets
themes/hyperclass/assets/wallpaper-gen.py, themes/hyperclass/files/wallpaper/hyperclass-slideshow.xml
Generates three deterministic PNG wallpapers and configures their GNOME slideshow rotation.
Application theme configurations
themes/hyperclass/files/{alacritty,btop,burn-my-windows,cava,fastfetch,gtk,micro,ptyxis}/*, themes/hyperclass/files/starship.toml
Adds Hyperclass configurations for terminal, monitoring, editor, visualizer, system information, GTK, window effects, and prompt styling.
Interactive terminal instruments
themes/hyperclass/files/bin/*
Adds boarding-pass, orrery, and warp terminal programs with animation, TTY handling, resize support, signal handling, and cleanup paths.
Shell experience and themed text assets
themes/hyperclass/files/fish/config.fish, themes/hyperclass/files/ascii/*
Adds Fish startup styling, command wrappers, tool aliases, palette settings, and themed quotes and ASCII artwork.
Theme installation and desktop wiring
themes/hyperclass/theme.toml
Maps theme assets into user configuration paths and sets GNOME appearance, terminal, dock, shell-extension, wallpaper, and window-effect settings.
Shared GTK and Ptyxis palette mappings
src/gtheme/templates/*.j2, themes/magma/files/{gtk,ptyxis}/*
Updates generated accent and terminal mappings and rebuilds the bundled Magma outputs.

Estimated code review effort: 4 (Complex) | ~45 minutes

Suggested reviewers: claude

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the new hyperclass Gilded Void theme and matches the main theme-addition change.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/hyper-class-theme-wf0m8n

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between ddf7ddd and fa3745e.

⛔ Files ignored due to path filters (5)
  • docs/media/palette-hyperclass.svg is excluded by !**/*.svg
  • themes/hyperclass/files/shell/hyperclass-emblem.svg is excluded by !**/*.svg
  • themes/hyperclass/files/wallpaper/first-light.png is excluded by !**/*.png
  • themes/hyperclass/files/wallpaper/gilded-void.png is excluded by !**/*.png
  • themes/hyperclass/files/wallpaper/warp-transit.png is excluded by !**/*.png
📒 Files selected for processing (27)
  • CHANGELOG.md
  • README.md
  • themes/hyperclass/assets/wallpaper-gen.py
  • themes/hyperclass/files/alacritty/alacritty.toml
  • themes/hyperclass/files/alacritty/hyperclass.toml
  • themes/hyperclass/files/ascii/quotes.txt
  • themes/hyperclass/files/ascii/starliner.txt
  • themes/hyperclass/files/ascii/sunburst.txt
  • themes/hyperclass/files/bin/hyperclass-boarding
  • themes/hyperclass/files/bin/hyperclass-orrery
  • themes/hyperclass/files/bin/hyperclass-warp
  • themes/hyperclass/files/btop/btop.conf
  • themes/hyperclass/files/btop/hyperclass.theme
  • themes/hyperclass/files/burn-my-windows/hyperclass.conf
  • themes/hyperclass/files/cava/config
  • themes/hyperclass/files/fastfetch/config.jsonc
  • themes/hyperclass/files/fastfetch/hyperclass-logo.txt
  • themes/hyperclass/files/fish/config.fish
  • themes/hyperclass/files/gtk/gtk.css
  • themes/hyperclass/files/micro/hyperclass.micro
  • themes/hyperclass/files/micro/settings.json
  • themes/hyperclass/files/ptyxis/Hyperclass.palette
  • themes/hyperclass/files/starship.toml
  • themes/hyperclass/files/wallpaper/hyperclass-slideshow.xml
  • themes/hyperclass/palette.toml
  • themes/hyperclass/theme.toml
  • themes/index.json

Comment thread CHANGELOG.md
Comment thread themes/hyperclass/files/cava/config Outdated
Comment on lines +38 to +45
"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
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 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/null

Repository: 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 . || true

Repository: 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:


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.

Comment thread themes/hyperclass/files/gtk/gtk.css Outdated
Comment thread themes/hyperclass/files/micro/hyperclass.micro
Comment thread themes/hyperclass/files/ptyxis/Hyperclass.palette Outdated
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
@blyatiful1
blyatiful1 merged commit c4200f3 into main Jul 14, 2026
13 checks passed
@blyatiful1
blyatiful1 deleted the claude/hyper-class-theme-wf0m8n branch July 14, 2026 08:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants