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/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/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/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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
},
|
||||
"dark": {
|
||||
"name": "cyberqueer",
|
||||
"name": "cosmonaut",
|
||||
"icon_theme": "auto"
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -241,10 +241,12 @@ for cfg in "${CONFIGS[@]}"; do
|
|||
done
|
||||
|
||||
# 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
|
||||
cp -f ~/Dotfiles/desktopenvs/hyprdrive/vicinae/cyberqueer.toml \
|
||||
~/.local/share/vicinae/themes/cyberqueer.toml
|
||||
cp -f ~/Dotfiles/desktopenvs/hyprdrive/vicinae/cosmonaut.toml \
|
||||
~/.local/share/vicinae/themes/cosmonaut.toml
|
||||
|
||||
# Device-specific overrides live in hypr/usr/ (bundled inside hypr/ above).
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue