diff --git a/assets/branding/veilor-logo.svg b/assets/branding/veilor-logo.svg new file mode 100644 index 0000000..dd319e6 --- /dev/null +++ b/assets/branding/veilor-logo.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + veilor + diff --git a/assets/kde/plasma-desktop.conf b/assets/kde/plasma-desktop.conf index 89e96f1..8d55783 100644 --- a/assets/kde/plasma-desktop.conf +++ b/assets/kde/plasma-desktop.conf @@ -1,8 +1,8 @@ -# veilor-os default desktop config — solid black wallpaper (matches reference system). +# veilor-os default desktop config — solid black wallpaper. # Plasma uses `wallpaperplugin=org.kde.color` (not org.kde.image) — pure -# black solid color rendering, no SVG asset needed. -# Applied via 30-apply-v03-theme.sh into ~/.config/plasma-org.kde.plasma.desktop-appletsrc -# default for new users. +# black solid color rendering, no image asset required at runtime. +# Applied via 30-apply-v03-theme.sh into the system kdedefaults so new +# users inherit a black desktop on first login. [Containments][Wallpaper] wallpaperplugin=org.kde.color diff --git a/assets/konsole/veilor.profile b/assets/konsole/veilor.profile index 7516907..a01e724 100644 --- a/assets/konsole/veilor.profile +++ b/assets/konsole/veilor.profile @@ -12,7 +12,7 @@ TerminalCenter=false TerminalMargin=4 [Appearance] -ColorScheme=Linux +ColorScheme=Veilor Font=Fira Code,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1 LineSpacing=1 UseFontLineCharacters=true diff --git a/assets/wallpapers/veilor-black.png b/assets/wallpapers/veilor-black.png new file mode 100644 index 0000000..34d4a5e Binary files /dev/null and b/assets/wallpapers/veilor-black.png differ diff --git a/assets/wallpapers/veilor-black.svg b/assets/wallpapers/veilor-black.svg new file mode 100644 index 0000000..8dcc6c4 --- /dev/null +++ b/assets/wallpapers/veilor-black.svg @@ -0,0 +1,20 @@ + + + + + veilor + diff --git a/scripts/30-apply-v03-theme.sh b/scripts/30-apply-v03-theme.sh index b074a76..3f20cf3 100755 --- a/scripts/30-apply-v03-theme.sh +++ b/scripts/30-apply-v03-theme.sh @@ -76,7 +76,7 @@ if [[ -d $SDDM_SRC ]]; then install -d -m 0755 /etc/sddm.conf.d # Preserve other sddm.conf.d/*.conf entries; this file owns [Theme] only. cat > /etc/sddm.conf.d/veilor-theme.conf << 'EOF' -# veilor-os v0.3 — set veilor-black SDDM theme as default (matches reference system) +# veilor-os v0.3 — set veilor-black SDDM theme as system default [Theme] Current=veilor-black CursorTheme=Breeze_Light @@ -128,12 +128,44 @@ else fi # ───────────────────────────────────────────────────────────────────── -# 4. Wallpaper — solid black (matches reference system, no SVG asset) +# 4. Wallpaper — pure black (default: org.kde.color plugin; image fallback) # ───────────────────────────────────────────────────────────────────── -info "Wallpaper: setting Plasma default to org.kde.color (solid black)" -# reference system uses `wallpaperplugin=org.kde.color` + `Color=0,0,0` — pure black -# rendered by Plasma's color plugin, no image asset needed. -# Apply via system-wide kdedefaults so new users inherit. +info "Wallpaper: installing veilor-black image and setting Plasma defaults" + +# 4a. Install wallpaper images for users who prefer org.kde.image. The +# veilor-black asset (PNG primary, SVG fallback) is a 3840x2160 pure +# black canvas with a tiny low-opacity wordmark in the corner. +WP_SRC="$ASSETS/wallpapers" +WP_DST="/usr/share/wallpapers/veilor-black/contents/images" +WP_META="/usr/share/wallpapers/veilor-black/metadata.desktop" +if [[ -d $WP_SRC ]]; then + install -d -m 0755 "$WP_DST" + if [[ -f $WP_SRC/veilor-black.png ]]; then + install -m 0644 "$WP_SRC/veilor-black.png" "$WP_DST/veilor-black.png" + ok "wallpaper PNG installed at $WP_DST/veilor-black.png" + fi + if [[ -f $WP_SRC/veilor-black.svg ]]; then + install -m 0644 "$WP_SRC/veilor-black.svg" "$WP_DST/veilor-black.svg" + ok "wallpaper SVG installed at $WP_DST/veilor-black.svg" + fi + install -d -m 0755 "$(dirname "$WP_META")" + cat > "$WP_META" << 'EOF' +[Desktop Entry] +Name=veilor-black +X-KDE-PluginInfo-Name=veilor-black +X-KDE-PluginInfo-Author=veilor-os +X-KDE-PluginInfo-License=MIT +X-KDE-PluginInfo-Version=0.3 +EOF + ok "wallpaper metadata installed at $WP_META" +else + warn "wallpaper source dir missing at $WP_SRC — skipping image install" +fi + +# 4b. Default wallpaper plugin: org.kde.color with Color=0,0,0 (pure black). +# This is the lowest-overhead path — Plasma renders the colour without +# loading an image. Users may switch to org.kde.image and pick the +# veilor-black wallpaper installed above if they prefer. KDD=/etc/xdg/kdedefaults install -d -m 0755 "$KDD" cat > "$KDD/plasma-org.kde.plasma.desktop-appletsrc" << 'EOF' @@ -143,8 +175,11 @@ wallpaperplugin=org.kde.color [Containments][1][Wallpaper][org.kde.color][General] Color=0,0,0 + +[Containments][1][Wallpaper][org.kde.image][General] +Image=/usr/share/wallpapers/veilor-black/contents/images/veilor-black.png EOF -ok "default wallpaper = solid #000000 (Plasma color plugin)" +ok "default wallpaper plugin = org.kde.color (#000000); image fallback wired" # ───────────────────────────────────────────────────────────────────── # 5. Breeze decoration override @@ -173,7 +208,25 @@ else fi # ───────────────────────────────────────────────────────────────────── -# 6. Sanity: brand leak check (mirrors kickstart %post sanity) +# 6. Branding logo (referenced by /etc/os-release LOGO field) +# ───────────────────────────────────────────────────────────────────── +info "Branding: installing veilor logo into /usr/share/pixmaps" +BR_SRC="$ASSETS/branding" +if [[ -f $BR_SRC/veilor-logo.svg ]]; then + install -d -m 0755 /usr/share/pixmaps + install -m 0644 "$BR_SRC/veilor-logo.svg" /usr/share/pixmaps/veilor-logo.svg + ok "logo installed at /usr/share/pixmaps/veilor-logo.svg" + # Plymouth theme can pick up the same asset for consistency. + if [[ -d /usr/share/plymouth/themes/veilor ]]; then + install -m 0644 "$BR_SRC/veilor-logo.svg" /usr/share/plymouth/themes/veilor/veilor-logo.svg + ok "logo mirrored into plymouth theme dir" + fi +else + warn "branding source missing at $BR_SRC/veilor-logo.svg — skipping" +fi + +# ───────────────────────────────────────────────────────────────────── +# 7. Sanity: brand leak check (mirrors kickstart %post sanity) # ───────────────────────────────────────────────────────────────────── info "Sanity: scanning installed v0.3 paths for brand leaks" LEAK_PATHS=( @@ -185,6 +238,8 @@ LEAK_PATHS=( "/etc/sddm.conf.d/veilor-theme.conf" "/etc/xdg/konsolerc" "/etc/xdg/kdedefaults/plasma-org.kde.plasma.desktop-appletsrc" + "/usr/share/wallpapers/veilor-black" + "/usr/share/pixmaps/veilor-logo.svg" ) LEAK=0 for p in "${LEAK_PATHS[@]}"; do