feat(branding): restore the boot splash, SDDM theme, and greeter background
Neither the Plymouth theme nor the login/lock theming was ever installed by a restore, so a rebuilt box came up with stock distro branding. bin/boot-branding.sh installs all three, and the desktop stage of restore-linux.sh calls it. Each block self-skips when its greeter is absent or already current, so it is cheap to re-run and works whether the box boots lightdm or SDDM: - Plymouth: a real copy under /usr/share/plymouth/themes, not a symlink into the user home. The stock initramfs hook copies the theme path verbatim, so a symlink into an unmounted home dangles at early boot and Plymouth drops to text mode -- which is what assets/boot/initramfs-hook-my-custom-logo existed to work around. With a real copy that hook is unnecessary. - SDDM: the NexusOS-QML theme, selected via /etc/sddm.conf.d. - slick-greeter: cannot lay out a custom login screen, so the logo and wordmark are baked into assets/themes/greeter/greeter-background.svg and its own centered login box lands underneath. Main.qml now loads background.png instead of background.svg. QtSvg implements SVG Tiny 1.2, which has no <pattern>, so the brushed-metal and machine-line textures silently dropped out at runtime. librsvg renders them, so the SVG is rasterized at 1920x1200 and committed alongside it; the regeneration command is in the comment above the source: line. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
5294ab7c78
commit
f46e53de15
@@ -31,7 +31,16 @@ Rectangle {
|
||||
|
||||
Image {
|
||||
anchors.fill: parent
|
||||
source: "assets/background.svg"
|
||||
// background.png, not the .svg it was rendered from: QtSvg implements
|
||||
// SVG Tiny 1.2, which has no <pattern>, so the brushed-metal and
|
||||
// machine-line textures silently drop out ("Could not resolve property:
|
||||
// #brushLines"). librsvg renders them fine, so the SVG is rasterized at
|
||||
// 1920x1200 and committed. Regenerate after editing background.svg:
|
||||
// python3 -c 'import gi; gi.require_version("GdkPixbuf","2.0"); \
|
||||
// from gi.repository import GdkPixbuf as G; \
|
||||
// G.Pixbuf.new_from_file_at_scale("assets/background.svg",1920,1200,False) \
|
||||
// .savev("assets/background.png","png",["compression"],["9"])'
|
||||
source: "assets/background.png"
|
||||
fillMode: Image.PreserveAspectCrop
|
||||
smooth: true
|
||||
asynchronous: false
|
||||
@@ -71,7 +80,7 @@ Rectangle {
|
||||
|
||||
Text {
|
||||
id: brandLabel
|
||||
text: "NexusOS"
|
||||
text: "Welcome to NexusOS"
|
||||
color: textPrimary
|
||||
font.family: "Sans"
|
||||
font.pixelSize: 28
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 192 KiB |
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 249 KiB |
Reference in New Issue
Block a user