feat(hyprdrive): give vicinae its own "cosmonaut" holographic theme
hyprdrive's vicinae used to ship the exact same "cyberqueer" theme as hyprlua/hyprland. Vicinae's theme format is colors-only (no border-radius/ box-shadow/blur/animation hooks), so it can't reproduce the Cosmonaut Shell suite's live Cairo-drawn scanline/sweep/noise overlay — but it can reuse the same static palette that overlay sits on top of: emitted-magenta text (#EB00A6), glow-violet borders (#8A5CFF), a near-black-violet background, and translucent violet-glass secondary surfaces, matching orbit-menu/astro-menu/ station-bar/transmitter-panel/supersonic-booster's look. Replaces desktopenvs/hyprdrive/vicinae/cyberqueer.toml with cosmonaut.toml, repoints settings.json and hyprdrive.sh's install step at it, and adds a second apply-theme.sh entry so live colors.conf edits keep syncing it (alongside the fix for the pre-existing hyprlua/hyprland entry, which was pointing at the inert ~/.config/vicinae/ copy instead of the ~/.local/share/vicinae/themes/ file vicinae actually reads). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TkkH9eiCBfpWysUXAD9bDGmain
parent
516adeb5ae
commit
ad386f3c89
|
|
@ -49,7 +49,18 @@ USER_FILES=(
|
||||||
"desktopenvs/hyprdrive/station-bar/style/_colors.css|$HOME/.config/station-bar/style/_colors.css"
|
"desktopenvs/hyprdrive/station-bar/style/_colors.css|$HOME/.config/station-bar/style/_colors.css"
|
||||||
"desktopenvs/hyprdrive/supersonic-booster/style/_colors.css|$HOME/.config/supersonic-booster/style/_colors.css"
|
"desktopenvs/hyprdrive/supersonic-booster/style/_colors.css|$HOME/.config/supersonic-booster/style/_colors.css"
|
||||||
"desktopenvs/hyprlua/audio-panel/style/_colors.css|$HOME/.config/audio-panel/style/_colors.css"
|
"desktopenvs/hyprlua/audio-panel/style/_colors.css|$HOME/.config/audio-panel/style/_colors.css"
|
||||||
"desktopenvs/hyprland/vicinae/cyberqueer.toml|$HOME/.config/vicinae/cyberqueer.toml"
|
# Vicinae loads named custom themes from ~/.local/share/vicinae/themes/*.toml,
|
||||||
|
# NOT from ~/.config/vicinae/ (see the matching comment in hyprland.sh/
|
||||||
|
# hyprdrive.sh/hyprlua.sh's install steps, which cp the theme there once at
|
||||||
|
# install time) — this used to point at the inert ~/.config/ copy, so
|
||||||
|
# re-running apply-theme.sh after editing colors.conf never actually
|
||||||
|
# updated the theme vicinae reads. hyprdrive deploys its own "cosmonaut"
|
||||||
|
# theme file instead of hyprlua/hyprland's shared "cyberqueer" (see
|
||||||
|
# desktopenvs/hyprdrive/vicinae/cosmonaut.toml) — only whichever one is
|
||||||
|
# actually installed on this machine will exist, the other entry is a
|
||||||
|
# harmless no-op (do_replace skips missing deployed files).
|
||||||
|
"desktopenvs/hyprland/vicinae/cyberqueer.toml|$HOME/.local/share/vicinae/themes/cyberqueer.toml"
|
||||||
|
"desktopenvs/hyprdrive/vicinae/cosmonaut.toml|$HOME/.local/share/vicinae/themes/cosmonaut.toml"
|
||||||
"desktopenvs/hyprland/scripts/onscreenkb.sh|$HOME/.config/scripts/onscreenkb.sh"
|
"desktopenvs/hyprland/scripts/onscreenkb.sh|$HOME/.config/scripts/onscreenkb.sh"
|
||||||
"desktopenvs/hyprland/spicetify/Themes/cli-cyberqueer/color.ini|$HOME/.config/spicetify/Themes/cli-cyberqueer/color.ini"
|
"desktopenvs/hyprland/spicetify/Themes/cli-cyberqueer/color.ini|$HOME/.config/spicetify/Themes/cli-cyberqueer/color.ini"
|
||||||
"desktopenvs/hyprland/spicetify/Themes/matte-cyberqueer/color.ini|$HOME/.config/spicetify/Themes/matte-cyberqueer/color.ini"
|
"desktopenvs/hyprland/spicetify/Themes/matte-cyberqueer/color.ini|$HOME/.config/spicetify/Themes/matte-cyberqueer/color.ini"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,88 @@
|
||||||
|
# Cosmonaut Shell's holographic palette for Vicinae — hyprdrive's own theme,
|
||||||
|
# distinct from hyprlua/hyprland's plain "cyberqueer". Same CyberQueer core
|
||||||
|
# hues, restyled with the glow-violet border (#8A5CFF) and emitted-magenta
|
||||||
|
# text (#EB00A6) the rest of the Cosmonaut Shell suite uses (orbit-menu,
|
||||||
|
# astro-menu, station-bar, transmitter-panel, supersonic-booster, ...).
|
||||||
|
#
|
||||||
|
# Vicinae's theme format is colors-only — no border-radius/box-shadow/blur
|
||||||
|
# or animation hooks — so this can't reproduce the suite's live Cairo-drawn
|
||||||
|
# scanline/sweep/noise overlay (see hyprdrive's lib/hologram.py). What it CAN
|
||||||
|
# do: the same glass/glow *palette* those overlays sit on top of, so Vicinae
|
||||||
|
# reads as one more orbit of the same look even without the live effect.
|
||||||
|
#
|
||||||
|
# Check out the full documentation at https://docs.vicinae.com/theming/getting-started
|
||||||
|
|
||||||
|
[meta]
|
||||||
|
name = "cosmonaut"
|
||||||
|
description = "Cosmonaut Shell holographic palette (hyprdrive)"
|
||||||
|
variant = "dark" # "dark" | "light": impacts what icon to show in some circumstances
|
||||||
|
|
||||||
|
[colors.core]
|
||||||
|
accent = "#E40046"
|
||||||
|
accent_foreground = "#1A1A1A"
|
||||||
|
background = "#140B28"
|
||||||
|
foreground = "#EB00A6"
|
||||||
|
secondary_background = "#665018DD"
|
||||||
|
border = "#8A5CFF"
|
||||||
|
|
||||||
|
[colors.main_window]
|
||||||
|
border = "#8A5CFF"
|
||||||
|
footer = { background = "colors.core.secondary_background" }
|
||||||
|
|
||||||
|
[colors.settings_window]
|
||||||
|
border = "#8A5CFF"
|
||||||
|
|
||||||
|
[colors.accents]
|
||||||
|
blue = "#8A5CFF"
|
||||||
|
green = "#3a9c61"
|
||||||
|
magenta = "#EB00A6"
|
||||||
|
orange = "#f0883e"
|
||||||
|
red = "#F50505"
|
||||||
|
yellow = "#bfae78"
|
||||||
|
cyan = "#18a5b3"
|
||||||
|
purple = "#5018DD"
|
||||||
|
|
||||||
|
# For now, shortcuts cannot have their own dedicated background
|
||||||
|
[colors.shortcut]
|
||||||
|
border = "colors.core.border"
|
||||||
|
|
||||||
|
[colors.text]
|
||||||
|
default = "colors.core.foreground"
|
||||||
|
muted = "#D6ABAB"
|
||||||
|
danger = "#F50505"
|
||||||
|
success = "#E40046"
|
||||||
|
placeholder = "#D6ABAB"
|
||||||
|
selection = { background = "#E40046", foreground = "#1A1A1A" }
|
||||||
|
|
||||||
|
[colors.text.links]
|
||||||
|
default = "#E40046"
|
||||||
|
visited = "#8A5CFF"
|
||||||
|
|
||||||
|
[colors.input]
|
||||||
|
border = "#8A5CFF"
|
||||||
|
border_focus = "#E40046"
|
||||||
|
border_error = "#F50505"
|
||||||
|
|
||||||
|
[colors.button.primary]
|
||||||
|
background = "#5018DD"
|
||||||
|
foreground = "#EB00A6"
|
||||||
|
hover = { background = "#bb8A5CFF" }
|
||||||
|
focus = { outline = "colors.core.accent" }
|
||||||
|
|
||||||
|
[colors.list.item.selection]
|
||||||
|
background = "#8A5CFF"
|
||||||
|
foreground = "#1A1A1A"
|
||||||
|
secondary_background = "#8A5CFF"
|
||||||
|
secondary_foreground = "#1A1A1A"
|
||||||
|
|
||||||
|
[colors.grid.item]
|
||||||
|
background = "#3A1650"
|
||||||
|
hover = { outline = "#EB00A6" }
|
||||||
|
selection = { outline = "#8A5CFF" }
|
||||||
|
|
||||||
|
[colors.scrollbars]
|
||||||
|
background = "#5018DD"
|
||||||
|
|
||||||
|
[colors.loading]
|
||||||
|
bar = "#EB00A6" # shown right below the search bar when something is loading
|
||||||
|
spinner = "#EB00A6" # used by dynamic toasts
|
||||||
|
|
@ -1,80 +0,0 @@
|
||||||
# This file demonstrates all available theme configuration options for Vicinae.
|
|
||||||
# You don't need to define all of these: only override what you want to customize.
|
|
||||||
# Undefined colors will be automatically derived from core colors or inherited from base themes.
|
|
||||||
#
|
|
||||||
# Check out the full documentation at https://docs.vicinae.com/theming/getting-started
|
|
||||||
|
|
||||||
[meta]
|
|
||||||
name = "cyberqueer"
|
|
||||||
description = "Default Vicinae dark palette"
|
|
||||||
variant = "dark" # "dark" | "light": impacts what icon to show in some circumstances
|
|
||||||
|
|
||||||
[colors.core]
|
|
||||||
accent = "#E40046"
|
|
||||||
accent_foreground = "#D6ABAB"
|
|
||||||
background = "#1a1a1a"
|
|
||||||
foreground = "#D6ABAB"
|
|
||||||
secondary_background = "#4F1A2F"
|
|
||||||
border = "#5018DD"
|
|
||||||
|
|
||||||
[colors.main_window]
|
|
||||||
border = "#5018DD"
|
|
||||||
footer = { background = "colors.core.secondary_background" }
|
|
||||||
|
|
||||||
[colors.settings_window]
|
|
||||||
border = "#5018DD"
|
|
||||||
|
|
||||||
[colors.accents]
|
|
||||||
blue = "#E40046"
|
|
||||||
green = "#3a9c61"
|
|
||||||
magenta = "#bc8cff"
|
|
||||||
orange = "#f0883e"
|
|
||||||
red = "#F50505"
|
|
||||||
yellow = "#bfae78"
|
|
||||||
cyan = "#18a5b3"
|
|
||||||
purple = "#bc8cff"
|
|
||||||
|
|
||||||
# For now, shortcuts cannot have their own dedicated background
|
|
||||||
[colors.shortcut]
|
|
||||||
border = "colors.core.border"
|
|
||||||
|
|
||||||
[colors.text]
|
|
||||||
default = "colors.core.foreground"
|
|
||||||
muted = "#D6ABAB"
|
|
||||||
danger = "#F50505"
|
|
||||||
success = "#E40046"
|
|
||||||
placeholder = "#D6ABAB"
|
|
||||||
selection = { background = "#E40046", foreground = "#D6ABAB" }
|
|
||||||
|
|
||||||
[colors.text.links]
|
|
||||||
default = "#E40046"
|
|
||||||
visited = "#5018DD"
|
|
||||||
|
|
||||||
[colors.input]
|
|
||||||
border = "#5018DD"
|
|
||||||
border_focus = "#E40046"
|
|
||||||
border_error = "#F50505"
|
|
||||||
|
|
||||||
[colors.button.primary]
|
|
||||||
background = "#5018DD"
|
|
||||||
foreground = "#D6ABAB"
|
|
||||||
hover = { background = "#bb5018DD" }
|
|
||||||
focus = { outline = "colors.core.accent" }
|
|
||||||
|
|
||||||
[colors.list.item.selection]
|
|
||||||
background = "#5018DD"
|
|
||||||
foreground = "#D6ABAB"
|
|
||||||
secondary_background = "#5018DD"
|
|
||||||
secondary_foreground = "#D6ABAB"
|
|
||||||
|
|
||||||
[colors.grid.item]
|
|
||||||
background = "#4F1A4F"
|
|
||||||
hover = { outline = "#D6ABAB" }
|
|
||||||
selection = { outline = "#D6ABAB" }
|
|
||||||
|
|
||||||
[colors.scrollbars]
|
|
||||||
background = "#5018DD"
|
|
||||||
|
|
||||||
[colors.loading]
|
|
||||||
bar = "#D6ABAB" # shown right below the search bar when something is loading
|
|
||||||
spinner = "#D6ABAB" # used by dynamic toasts
|
|
||||||
|
|
@ -31,7 +31,7 @@
|
||||||
"icon_theme": "auto"
|
"icon_theme": "auto"
|
||||||
},
|
},
|
||||||
"dark": {
|
"dark": {
|
||||||
"name": "cyberqueer",
|
"name": "cosmonaut",
|
||||||
"icon_theme": "auto"
|
"icon_theme": "auto"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -241,10 +241,12 @@ for cfg in "${CONFIGS[@]}"; do
|
||||||
done
|
done
|
||||||
|
|
||||||
# Vicinae loads NAMED custom themes from ~/.local/share/vicinae/themes/*.toml —
|
# Vicinae loads NAMED custom themes from ~/.local/share/vicinae/themes/*.toml —
|
||||||
# see hyprlua.sh for the same note.
|
# see hyprlua.sh for the same note. hyprdrive gets its own "cosmonaut" theme
|
||||||
|
# (glow-violet borders, emitted-magenta text) instead of hyprlua/hyprland's
|
||||||
|
# plain "cyberqueer", matching the rest of the Cosmonaut Shell suite's look.
|
||||||
mkdir -p ~/.local/share/vicinae/themes
|
mkdir -p ~/.local/share/vicinae/themes
|
||||||
cp -f ~/Dotfiles/desktopenvs/hyprdrive/vicinae/cyberqueer.toml \
|
cp -f ~/Dotfiles/desktopenvs/hyprdrive/vicinae/cosmonaut.toml \
|
||||||
~/.local/share/vicinae/themes/cyberqueer.toml
|
~/.local/share/vicinae/themes/cosmonaut.toml
|
||||||
|
|
||||||
# Device-specific overrides live in hypr/usr/ (bundled inside hypr/ above).
|
# Device-specific overrides live in hypr/usr/ (bundled inside hypr/ above).
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue