Proper setup

This commit is contained in:
2026-04-03 00:19:54 -07:00
parent ff60a3ef14
commit 07c300741b
10 changed files with 76 additions and 2009 deletions
+24
View File
@@ -0,0 +1,24 @@
NOTICE — Third-Party Source Acknowledgement
============================================
This package is a fork of the Debian Project's "desktop-base" package,
originally created and maintained by the Debian Desktop Team.
Original project:
Name: desktop-base
Source: https://salsa.debian.org/desktop-team/desktop-base
Authors: Colin Walters, Gustavo Noronha Silva, Gustavo Franco,
Fathi Boudra, Loïc Minier, Josselin Mouette, Yves-Alexis Perez,
Eshat Cakar, Paul Tagliamonte, Aurélien COUDERC, Jonathan Carter,
and contributors to the Debian Desktop Team.
This fork replaces all upstream Debian artwork and themes with VesperOS
branding and makes structural changes to the packaging scripts. All original
copyright notices have been retained as required by the GPL-2+ licence under
which the original work was distributed.
VesperOS modifications:
Copyright 2025-2026 Seth Olivarez <contact@oxmc.me>
VesperOS Team <team@chillcraft.org>
For full copyright and licence details see debian/copyright.
-370
View File
@@ -1,370 +0,0 @@
README for desktop-base
=======================
1. Whats provided
1.1. Themes packs
1.2. VesperOS logos
1.2.1. VesperOS logos icons
1.2.2. VesperOS logos images
1.3. Desktop files
1.4. Default configurations overrides
1.5. Plymouth boot splashes
2. How to switch themes
2.1. Global theme alternative
2.2. Individual alternatives
3. Theme pack structure
4. Contributing
4.1. Artists
4.2. Desktop environment maintainers
4.3. Notes and references
1. Whats provided
1.1. Theme packs
The Homeworld theme pack is currently provided as the default theme for VesperOS.
This theme contains customization for GRUB, Plymouth, login managers like
SDDM and LightDM, wallpapers and lock screen for desktop environments like
GNOME, KDEs Plasma 5, Xfce, Mate…
See below for how to switch between themes and a detailed description of the
theme packs structure.
1.2. VesperOS logos
Three version of the logo are shipped as icons:
- emblem-system : the VesperOS logo in it's original red-purple color
- emblem-system-symbolic: the VesperOS logo in a black+transparent format that
desktop like GNOME can use and adapt the color
depending on the context.
- emblem-system-white : the VesperOS logo in white
We also ship 3 versions of the logo as images:
- logo : logo alone
- logo-text : logo + "VesperOS" name
- logo-text-version: logo + "VesperOS" name + VesperOS version number
All these images and logos are provided both in several bitmap resolutions
(PNG) and also in vector form (SVG).
The "vendor-logos" alternative is shipped with alternatives for both
logo images and icons.
It should be used by derivatives to replace by their own logos.
The alternative has the following structure:
- Main alternative
/usr/share/images/vendor-logos -> /etc/alternatives/vendor-logos
- Secondary alternatives
/usr/share/icons/vendor/128x128/emblems:
emblem-vendor.png -> /etc/alternatives/emblem-vendor-128
emblem-vendor-symbolic.png -> /etc/alternatives/emblem-vendor-symbolic-128
emblem-vendor-white.png -> /etc/alternatives/emblem-vendor-white-128
/usr/share/icons/vendor/256x256/emblems:
emblem-vendor.png -> /etc/alternatives/emblem-vendor-256
emblem-vendor-symbolic.png -> /etc/alternatives/emblem-vendor-symbolic-256
emblem-vendor-white.png -> /etc/alternatives/emblem-vendor-white-256
/usr/share/icons/vendor/64x64/emblems:
emblem-vendor.png -> /etc/alternatives/emblem-vendor-64
emblem-vendor-symbolic.png -> /etc/alternatives/emblem-vendor-symbolic-64
emblem-vendor-white.png -> /etc/alternatives/emblem-vendor-white-64
/usr/share/icons/vendor/scalable/emblems:
emblem-vendor.svg -> /etc/alternatives/emblem-vendor-scalable
emblem-vendor-symbolic.svg -> /etc/alternatives/emblem-vendor-symbolic-scalable
emblem-vendor-white.svg -> /etc/alternatives/emblem-vendor-white-scalable
1.2.1. VesperOS logos icons
Several sizes of logo icons are shipped:
64, 128, 256 and scalable (svg)
They can be found in:
/usr/share/icons/desktop-base/${size}x${size}/emblems/${emblem}.png
/usr/share/icons/desktop-base/emblems/${emblem}.svg
[Legacy]
Several sizes of legacy logo icons are shipped:
16, 22, 32, 36, 48, 64, 128, 256 and scalable (svg)
They can be found in:
/usr/share/icons/hicolor/${size}x${size}/emblems/${emblem}.png
/usr/share/icons/hicolor/${size}x${size}/emblems/${emblem}.icon
/usr/share/icons/hicolor/scalable/emblems/${emblem}.svg
/usr/share/icons/hicolor/scalable/emblems/${emblem}.icon
These will be removed after buster.
1.2.2. VesperOS logos images
The VesperOS logo images are shipped in:
/usr/share/desktop-base/os-logos/
A VesperOS security logo is also shipped in:
/usr/share/pixmaps/vesperos-security.png
1.3. Desktop files
/usr/share/desktop-base/vesperos-homepage.desktop
/usr/share/desktop-base/vesperos-reference.desktop
/usr/share/desktop-base/vesperos-security.desktop
1.4. Default configurations overrides
desktop-base ships different files to override default theme configurations
of various parts of the system and prefer the active VesperOS theme.
See below « How to switch themes » for directions on how to configure these
overridden defaults.
- GRUB background and menu colors:
/usr/share/desktop-base/grub_background.sh
This alternative is used by /etc/grub.d/05_debian_theme provided by
grub-common to correctly update the GRUB background with the VesperOS theme when
running « update-grub ».
- GNOME desktop wallpaper and lock screen:
/usr/share/glib-2.0/schemas/10_desktop-base.gschema.override
- Plasma 5 desktop wallpaper:
/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/desktop-base.js
Plasma ensures this JavaScript script is run for every user once and only
once for each Plasma version. It is run at user login time. See:
https://userbase.kde.org/KDE_System_Administration/PlasmaDesktopScripting
1.5. Plymouth boot splashes
desktop-base ships several Plymouth themes. To activate the default theme,
install the plymouth and plymouth-themes packages and run:
plymouth-set-default-theme homeworld
and update the initrd by running:
update-initramfs -u
Then remember to add “splash” to your kernel command line.
To do that permamently, edit /etc/default/grub and add splash to the
GRUB_CMDLINE_LINUX_DEFAULT variable. For example:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
2. How to switch themes
2.1. Global theme alternative
The package provides a global alternative to switch themes all relevant
elements to a given theme.
This alternative is called « desktop-theme » and currently supports GRUB
background, login manager background (SDDM, LightDM), Desktops wallpapers
(GNOME, Plasma 5, Xfce, Mate…).
You can change the theme pack selection with:
update-alternatives --config desktop-theme
Following a theme switch youll also need to run the GRUB menu update command:
update-grub
Plymouth theme switching is currently not supported inside theme packs so
youll have to do it by hand for now with plymouth-set-default-theme command.
2.2. Individual alternatives
In addition do the global theme alternative, desktop-base provides a series
of finer grained alternatives to override specific elements of the theme packs.
Each alternative can be switched with:
update-alternative --config ${alternative-name}
Selecting 0 will revert to the initial default of an alternative.
Additional alternatives can be added with:
update-alternatives --install ${target-file} \
${alternative-name} \
${alternative-file} ${priority}
You may check the desktop-base postinst script for examples.
The list of alternatives provided by desktop-base is explained below:
- desktop-grub, alternative for:
/usr/share/images/desktop-base/desktop-grub.png
- desktop-grub.sh (sub-alternative of desktop-grub), alternative for:
/usr/share/desktop-base/grub_background.sh
The desktop-grub PNG file is used by the update-grub script to define the
background for the GRUB boot menu.
It defaults to the active theme selected via the desktop-theme alternative,
and on top of that:
- To the 16x9 / 1920x1080 version of the background for systems where EFI is
in use (grub-efi installed).
- To the 4x3 / 640x480 version otherwise.
Its possible to override this default behaviour by selecting the other
ratio alternative pointing to /usr/share/desktop-base/active-theme/grub/*
while still keeping the GRUB background automatically switching via the global
desktop-theme alternative.
The desktop-grub.sh script is sourced by update-grub to read the path to
the background image and the menu colors to be used for grub.
- desktop-login-background, alternative for:
/usr/share/desktop-base/active-theme/login/background.svg
This alternatives switches the login background for LightDM (default) and
SDDM when the SDDM theme debian-theme is used (default when theres no SDDM
conf file). It defaults to the login background of the active theme selected
via the desktop-theme alternative.
- desktop-background, alternative for:
/usr/share/images/desktop-base/desktop-background
This is a single SVG file used by desktop environments that dont require
a more complex wallpaper setup (Xfce, MATE…).
It defaults to the 1920x1080 version of the active theme wallpaper selected
via the desktop-theme alternative.
- desktop-background.xml, alternative for:
/usr/share/images/desktop-base/desktop-background.xml
- desktop-lockscreen.xml, alternative for:
/usr/share/images/desktop-base/desktop-lockscreen.xml
These two XML files are used by GNOME to set the wallpaper and lock screen
for all users who didnt otherwise chose a wallpaper or lock screen themselves.
It defaults to the wallpaper and lock screen for the active theme selected via
the desktop-theme alternative.
- desktop-plasma5-wallpaper, alternative for:
/usr/share/wallpapers/VesperOSTheme
This alternative folder is used by Plasma 5 in VesperOS to select the
wallpaper for all users who didnt otherwise select a wallpaper themselves. It
defaults to the wallpaper of the active theme selected via the desktop-theme
alternative.
3. Theme pack structure
A certain theme pack structure is expected in order to provide drop-in
replacements for the default VesperOS theme that can be switched globally with
the desktop-theme alternative. This paragraph describes the structure to mimic
if you want to provide additional theme packs for VesperOS.
A theme pack should contain the following elements:
-> A section in the global package Makefile.
You should be able to copy the section for an existing theme, just take
care to replace all theme name occurrences with that of your new theme.
At some point it would be desirable to have the Makefile parts inside
each themes folders so the themes can be self contained, and the main
Makefile will only have to detect the themes present in the sources.
./grub/Makefile
./grub/grub-4x3.svg
./grub/grub-16x9.svg
-> SVG and Makefile used to produce the GRUB background images. The Makefile
can be copy-pasted from and existing theme pack and should generate the
PNGs corresponding to each SVG in the GRUB folder.
For best compatibility grub-4x3.svg should generate a 640x480 PNG for used
by system with classical BIOS. grub-16x9.svg should generate 1920x1080 PNG
for used by more recent EFI firmwares.
./grub/grub_background.sh
-> Shell file containing variables to configure GRUB. This file is sourced
when running « update-grub ».
./plymouth/vesperos.png
./plymouth/logo.png
-> Assets used in the Plymouth splash screen
./plymouth/${theme}.plymouth
-> Descriptor file for the Plymouth theme, a bit like .desktop files for
applications. Copy and adapt to your needs.
./plymouth/${theme}.script
-> Script handling everything plymouthy when splash is activated, from just
after grub to display manager. Its a massive amount of work to get
everything right, including encrypted partitions password input, system
messages, fsck feedback… so its highly recommended to start with an
existing script and adapt the background setup and animation to the needs
of your theme.
./login/background.svg
-> To provide the login background alternative for LightDM, SDDM…
./gnome-wp-list.xml
-> To make the wallpaper and lock screen selectable in GNOME preferences.
This file describes a list of XML files, one for each image packs provided.
GNOME uses these image packs to select the most appropriate version of a
wallpaper depending on the users screen resolution.
./wallpaper/gnome-background.xml
./wallpaper/contents/images/2560x1440.svg
./wallpaper/contents/images/1280x720.svg
./wallpaper/contents/images/1920x1200.svg
./wallpaper/contents/images/1920x1080.svg
./wallpaper/contents/images/1280x800.svg
./wallpaper/contents/images/2560x1600.svg
./wallpaper/metadata.desktop
-> Wallpaper image pack, similar to the lock screen pack described above.
./lockscreen/gnome-background.xml
./lockscreen/contents/images
./lockscreen/contents/images/2560x1440.svg
./lockscreen/contents/images/1280x720.svg
./lockscreen/contents/images/1920x1080.svg
./lockscreen/metadata.desktop
-> Lock screen background image pack.
The gnome-background.xml describes the available resolutions for the image,
for use by GNOME.
The metadata.desktop contains the description and license of the image pack
for use by Plasma 5.
The various files in the images folder are the provided resolutions and
ratio of the image. They can be either PNG or SVG, and should be name
according to their width and height as the example above so that Plasma 5
can select the correct version.
There is no strict rule on which resolution and ratio should be provided
and a single version could suffice as long as its appearance is not broken
when cropped at different resolutions.
./sources
-> Additional sources for theme elements that are not shipped as SVG in the
binary package, or for visuals not strictly related to the desktop theme
(CD covers, t-shirts…).
4. Contributing
4.1. Artists
We need professional looking VesperOS artwork in the Desktop. If you want to
help improve themes in VesperOS or provide additional theme proposals, you
can contribute through our repository or contact us at contact@oxmc.me.
If youve suggestions for a better artwork, create or edit the images and open
a 'wishlist' bug against desktop-base in our Bug Tracking System
(https://bugs.debian.org/). Please attach the source file, preferably in SVG or
XCF format, and only propose work for which youre the author.
For us to be able to distribute your work in Debian, it will need to be under
a free and open source licenses which permits reuse and modifications as
required by the Debian Free Software Guidelines.
See a more complete list of requirements here:
https://wiki.debian.org/DebianDesktop/Artwork/Requirements
4.2. Desktop environment maintainers
desktop-base is used by GNOME, KDEs Plasma 5, Xfce, Mate…
If youre responsible for a desktop environment in Debian and want to use
desktop-base artwork, improve the support for your DE, or add additional
theming options use the layout described above and send your patch through the
Bug Tracking System, or ping us on debian-desktop@lists.debian.org.
Were glad to help with theme packaging and improving the consistency of
Debian themes over the desktop environments available in the archive.
4.3. Notes and references
If you're interested in working on VesperOS theming, you may be interested in
these references:
- Repository:
https://git.oxmc.me/Chillcraft/desktop-base
- Contact:
contact@oxmc.me
-17
View File
@@ -1,17 +0,0 @@
For occasional contributions, the preferred way to contribute to this
repository is to create a branch on git.oxmc.me/Chillcraft/desktop-base, create a pull request
and ask for the pull request to be reviewed on
contact@oxmc.me.
For VesperOS developers and maintainers doing the tag and publication work for
the package, the preferred workflow is the following.
- During development cycle:
-> simply git commit, or accept merge requests
- To prepare a release, as a source-only upload:
gbp dch -R --commit
gbp buildpackage --git-tag --changes-option=-S
- To prepare d/changelog for the next development cycle:
gbp dch -N new_version --commit
+12 -1178
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,7 +1,7 @@
Source: desktop-base
Section: x11
Priority: optional
Maintainer: VesperOS Desktop Team <contact@oxmc.me>
Maintainer: Seth Olivarez <contact@oxmc.me>
Uploaders: VesperOS Team <contact@oxmc.me>
Build-Depends: debhelper-compat (= 13),
inkscape,
+4 -1
View File
@@ -1,6 +1,9 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Contact: VesperOS Desktop Team <contact@oxmc.me>
Upstream-Contact: Seth Olivarez <contact@oxmc.me>
Source: https://git.oxmc.me/Chillcraft/desktop-base
Comment: This package is a fork of the Debian Project's desktop-base package.
Original source: https://salsa.debian.org/desktop-team/desktop-base
See NOTICE.txt for full acknowledgement.
Files: *
Copyright: 2002, Colin Walters <walters@debian.org>
+27 -212
View File
@@ -1,233 +1,48 @@
#!/bin/sh
set -e
# Tag to allow some debhelper commands to inject relevant code
#DEBHELPER#
if [ "${1}" = "configure" ] && [ ! -z "${2}" ]; then
if dpkg --compare-versions ${2} le "9.0.0~exp1"; then
# Try remove folder if empty, left after 9.0.0~exp1 conf suppression
# by debhelper conffile handling
OLD_KDM_DIR=/etc/default/kdm.d
if [ -d ${OLD_KDM_DIR} ] ; then
echo "Removing old KDM configuration directory \"${OLD_KDM_DIR}\""
rmdir ${OLD_KDM_DIR} || true
fi
fi
fi
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-remove" ]; then
# Vendor logo alternative
mkdir -p /usr/share/images/desktop-base
# Register vesperos as a desktop theme option.
# active-theme is the master; all per-theme files are slaves so that
# a single `update-alternatives --config desktop-theme` switches everything.
update-alternatives --install \
/usr/share/images/vendor-logos \
vendor-logos \
/usr/share/desktop-base/os-logos 50 \
--slave /usr/share/icons/vendor/64x64/emblems/emblem-vendor.png \
emblem-vendor-64 \
/usr/share/icons/desktop-base/64x64/emblems/emblem-vesperos.png \
--slave /usr/share/icons/vendor/128x128/emblems/emblem-vendor.png \
emblem-vendor-128 \
/usr/share/icons/desktop-base/128x128/emblems/emblem-vesperos.png \
--slave /usr/share/icons/vendor/256x256/emblems/emblem-vendor.png \
emblem-vendor-256 \
/usr/share/icons/desktop-base/256x256/emblems/emblem-vesperos.png \
--slave /usr/share/icons/vendor/scalable/emblems/emblem-vendor.svg \
emblem-vendor-scalable \
/usr/share/icons/desktop-base/scalable/emblems/emblem-vesperos.svg \
--slave /usr/share/icons/vendor/64x64/emblems/emblem-vendor-symbolic.png \
emblem-vendor-symbolic-64 \
/usr/share/icons/desktop-base/64x64/emblems/emblem-debian-symbolic.png \
--slave /usr/share/icons/vendor/128x128/emblems/emblem-vendor-symbolic.png \
emblem-vendor-symbolic-128 \
/usr/share/icons/desktop-base/128x128/emblems/emblem-debian-symbolic.png \
--slave /usr/share/icons/vendor/256x256/emblems/emblem-vendor-symbolic.png \
emblem-vendor-symbolic-256 \
/usr/share/icons/desktop-base/256x256/emblems/emblem-debian-symbolic.png \
--slave /usr/share/icons/vendor/scalable/emblems/emblem-vendor-symbolic.svg \
emblem-vendor-symbolic-scalable \
/usr/share/icons/desktop-base/scalable/emblems/emblem-debian-symbolic.svg \
--slave /usr/share/icons/vendor/64x64/emblems/emblem-vendor-white.png \
emblem-vendor-white-64 \
/usr/share/icons/desktop-base/64x64/emblems/emblem-debian-white.png \
--slave /usr/share/icons/vendor/128x128/emblems/emblem-vendor-white.png \
emblem-vendor-white-128 \
/usr/share/icons/desktop-base/128x128/emblems/emblem-debian-white.png \
--slave /usr/share/icons/vendor/256x256/emblems/emblem-vendor-white.png \
emblem-vendor-white-256 \
/usr/share/icons/desktop-base/256x256/emblems/emblem-debian-white.png \
--slave /usr/share/icons/vendor/scalable/emblems/emblem-vendor-white.svg \
emblem-vendor-white-scalable \
/usr/share/icons/desktop-base/scalable/emblems/emblem-debian-white.svg
# Theme package alternatives
while read theme priority; do
update-alternatives --install \
/usr/share/desktop-base/active-theme \
desktop-theme \
/usr/share/desktop-base/$theme-theme $priority
done << EOF
vesperos 50
EOF
# Use active theme as highest priority for background
active_background=/usr/share/desktop-base/active-theme/wallpaper/contents/images/1920x1080.svg
if [ -e ${active_background} ]; then
update-alternatives --install \
/usr/share/images/desktop-base/desktop-background \
desktop-background ${active_background} 70
fi
# Alternatives for the background in theme packages
while read theme filename priority; do
update-alternatives --install \
/usr/share/images/desktop-base/desktop-background \
/usr/share/desktop-base/active-theme \
desktop-theme \
/usr/share/desktop-base/vesperos-theme \
50 \
--slave /usr/share/images/desktop-base/desktop-background \
desktop-background \
/usr/share/desktop-base/$theme-theme/wallpaper/contents/images/$filename $priority
done << EOF
vesperos 1920x1080.svg 50
EOF
# Set up an alternative for the XML version of the background
# (for GNOME)
# Highest priority for active theme
active_background_xml=/usr/share/desktop-base/active-theme/wallpaper/gnome-background.xml
if [ -e ${active_background_xml} ]; then
update-alternatives --install \
/usr/share/images/desktop-base/desktop-background.xml \
desktop-background.xml ${active_background_xml} 50
fi
# Alternatives for theme packages
while read theme priority; do
update-alternatives --install \
/usr/share/images/desktop-base/desktop-background.xml \
/usr/share/desktop-base/vesperos-theme/wallpaper/contents/images/1920x1080.svg \
--slave /usr/share/images/desktop-base/desktop-background.xml \
desktop-background.xml \
/usr/share/desktop-base/$theme-theme/wallpaper/gnome-background.xml $priority
done << EOF
vesperos 40
EOF
# Set up an alternative for the XML version of the lock screen
# (for GNOME)
# Highest priority for active theme
active_lockscreen=/usr/share/desktop-base/active-theme/lockscreen/gnome-background.xml
if [ -e ${active_lockscreen} ]; then
update-alternatives --install \
/usr/share/images/desktop-base/desktop-lockscreen.xml \
desktop-lockscreen.xml ${active_lockscreen} 50
fi
# Alternatives for theme packages
while read theme priority; do
update-alternatives --install \
/usr/share/images/desktop-base/desktop-lockscreen.xml \
/usr/share/desktop-base/vesperos-theme/wallpaper/gnome-background.xml \
--slave /usr/share/images/desktop-base/desktop-lockscreen.xml \
desktop-lockscreen.xml \
/usr/share/desktop-base/$theme-theme/lockscreen/gnome-background.xml $priority
done << EOF
vesperos 40
EOF
# Set up an alternative for the wallpaper for Plasma 5/KDE
# Highest priority for active theme
active_plasma_wallpaper=/usr/share/desktop-base/active-theme/wallpaper
if [ -e ${active_plasma_wallpaper} ]; then
update-alternatives --install \
/usr/share/wallpapers/VesperOSTheme \
desktop-plasma5-wallpaper ${active_plasma_wallpaper} 50
fi
# Alternatives for theme packages
while read theme priority; do
update-alternatives --install \
/usr/share/wallpapers/VesperOSTheme \
desktop-plasma5-wallpaper \
/usr/share/desktop-base/$theme-theme/wallpaper $priority
done << EOF
vesperos 40
EOF
# Login theme
# Highest priority for active theme
active_login_background=/usr/share/desktop-base/active-theme/login/background.svg
if [ -e ${active_login_background} ]; then
update-alternatives --install /usr/share/images/desktop-base/login-background.svg \
desktop-login-background ${active_login_background} 50
fi
# Alternatives for theme packages
while read theme background priority; do
update-alternatives --install /usr/share/images/desktop-base/login-background.svg \
/usr/share/desktop-base/vesperos-theme/wallpaper/gnome-background.xml \
--slave /usr/share/images/desktop-base/login-background.svg \
desktop-login-background \
/usr/share/desktop-base/$theme-theme/login/$background $priority
done << EOF
vesperos background.svg 40
EOF
# Set up an alternative for the GRUB background/colors config
# Highest priority for active theme
# Favor widescreen / hi-res background for efi installations detected
# by the presence of grub-efi* packages (not the grub-efi*-bin which dont
# necessary account for grub being the active bootloader).
if dpkg-query --list grub-efi* | grep -v "^... grub-efi[^[:space:]]*-bin" | grep -q "^[ih][HUFWti] " ; then
echo "grub-efi* packages found, using 16/9 as default grub background ratio"
grub_first_ratio="16x9"
grub_second_ratio="4x3"
else
echo "No grub-efi* package found, using 4/3 as default grub background ratio"
grub_first_ratio="4x3"
grub_second_ratio="16x9"
fi
active_grub_background=/usr/share/desktop-base/active-theme/grub/grub_background.sh
active_grub_first_ratio=/usr/share/desktop-base/active-theme/grub/grub-${grub_first_ratio}.png
if [ -e ${active_grub_first_ratio} ] && [ -e ${active_grub_background} ]; then
update-alternatives --install \
/usr/share/images/desktop-base/desktop-grub.png \
desktop-grub ${active_grub_first_ratio} 50 \
--slave /usr/share/desktop-base/grub_background.sh \
desktop-grub.sh ${active_grub_background}
fi
active_grub_second_ratio=/usr/share/desktop-base/active-theme/grub/grub-${grub_second_ratio}.png
if [ -e ${active_grub_second_ratio} ] && [ -e ${active_grub_background} ]; then
update-alternatives --install \
/usr/share/images/desktop-base/desktop-grub.png \
desktop-grub ${active_grub_second_ratio} 45 \
--slave /usr/share/desktop-base/grub_background.sh \
desktop-grub.sh ${active_grub_background}
fi
# Alternatives for theme packages
while read theme ratio priority; do
update-alternatives --install /usr/share/images/desktop-base/desktop-grub.png \
/usr/share/desktop-base/vesperos-theme/login/background.svg \
--slave /usr/share/images/desktop-base/desktop-grub.png \
desktop-grub \
/usr/share/desktop-base/$theme-theme/grub/grub-$ratio.png $priority \
--slave /usr/share/desktop-base/grub_background.sh \
/usr/share/desktop-base/vesperos-theme/grub/grub-16x9.png \
--slave /usr/share/desktop-base/grub_background.sh \
desktop-grub.sh \
/usr/share/desktop-base/$theme-theme/grub/grub_background.sh
done << EOF
vesperos 4x3 40
vesperos 16x9 40
EOF
/usr/share/desktop-base/vesperos-theme/grub/grub_background.sh
# Apply GRUB background update into /boot
# Try detecting active grub packages (so not -doc, -common, -bin) as a hint
# that GRUB is being used as bootloader before calling update-grub.
# Some people use the *-bin packages without using GRUB as bootloader
# (see #851893 for more context).
if dpkg-query --list "grub-*" | grep -v "^... grub\(-common\|-emu\|[^[:space:]]*\(-bin\|-doc\)\)" | grep -q "^[ih][HUFWti] " \
&& which update-grub > /dev/null ; then
# Ensure the background image file has actually been written to disc
# before updating.
# Update GRUB if present
if command -v update-grub > /dev/null 2>&1; then
sync
# Report success whatever grub return status. This is needed at least
# in live systems fon installation to succeed (see #850601).
# Until we find a better solution like detecting were in a live image
# and not calling update-grub at all.
update-grub || echo "Updating grub failed, report success anyway!"
fi
# Plymouth theme
update-alternatives --install \
/usr/share/plymouth/themes/default.plymouth \
default.plymouth \
/usr/share/plymouth/themes/vesperos/vesperos.plymouth \
100
if which update-initramfs > /dev/null; then
update-initramfs -u -k all
# Plymouth theme — sets plymouthd.conf, default.plymouth, and rebuilds initramfs
if command -v plymouth-set-default-theme > /dev/null 2>&1; then
plymouth-set-default-theme -R vesperos
fi
fi
+5 -8
View File
@@ -1,16 +1,13 @@
#!/bin/sh
set -e
# Tag to allow some debhelper commands to inject relevant code
#DEBHELPER#
if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then
update-alternatives --remove \
default.plymouth \
/usr/share/plymouth/themes/vesperos/vesperos.plymouth || true
if which update-grub2 > /dev/null ; then
update-grub2 || true
# Reset Plymouth theme only if vesperos is still active
if command -v plymouth-set-default-theme > /dev/null 2>&1; then
if [ "$(plymouth-set-default-theme)" = "vesperos" ]; then
plymouth-set-default-theme -R text
fi
fi
fi
-109
View File
@@ -3,112 +3,3 @@ set -e
# Tag to allow some debhelper commands to inject relevant code
#DEBHELPER#
if [ "${1}" = "upgrade" ]; then
if dpkg --compare-versions ${2} le "9.0.0~exp1"; then
# Remove alternative for desktop splash we dont ship anymore
update-alternatives --remove-all desktop-splash
# Remove alternatives for themes we now ship elsewhere as a theme pack
## Wallpaper
for background in \
lines-wallpaper_1280x1024.svg \
lines-wallpaper_1600x1200.svg \
lines-wallpaper_1920x1200.svg \
lines-wallpaper_2560x1080.svg \
lines-wallpaper_1920x1080.svg \
; do
update-alternatives --remove desktop-background /usr/share/images/desktop-base/$background
done
update-alternatives --remove \
desktop-background.xml \
/usr/share/images/desktop-base/lines.xml
## Login background
update-alternatives --remove desktop-login-background \
/usr/share/desktop-base/lines-theme/login-background.svg
update-alternatives --remove desktop-login-background \
/usr/share/desktop-base/lines-theme/login-background-with-logo.svg
## Grub background
while read background; do
update-alternatives --remove \
desktop-grub \
/usr/share/images/desktop-base/$background
done << EOF
lines-grub.png
lines-grub-1920x1080.png
EOF
# Remove alternatives for moreblue wallpapers we dont ship anymore
while read background; do
update-alternatives --remove \
desktop-background \
/usr/share/images/desktop-base/$background
done << EOF
moreblue-orbit-wallpaper.svg
moreblue-orbit-wallpaper-widescreen.svg
EOF
# Remove alternatives for Joy/Spacefun we now ship elsewhere as a theme
# pack.
# Wallpapers
while read background; do
update-alternatives --remove \
desktop-background \
/usr/share/images/desktop-base/$background
done << EOF
joy-wallpaper_1600x1200.svg
joy-wallpaper_1280x1024.svg
joy-wallpaper_1920x1080.svg
joy-wallpaper_1920x1200.svg
joy-inksplat-wallpaper_1920x1080.svg
spacefun-wallpaper.svg
spacefun-wallpaper-widescreen.svg
EOF
# Wallpaper XML descriptions (for GNOME)
while read desktopbackground; do
update-alternatives --remove \
desktop-background.xml \
/usr/share/images/desktop-base/$desktopbackground
done << EOF
joy.xml
EOF
# GRUB backgrounds
while read background; do
update-alternatives --remove \
desktop-grub \
/usr/share/images/desktop-base/$background
done << EOF
joy-grub.png
spacefun-grub.png
spacefun-grub-widescreen.png
EOF
fi
if dpkg --compare-versions ${2} eq "9.0.0~exp1"; then
# Remove alternatives shipped in 9.0.0~exp1 but now integrated
# into the theme pack system.
# Joy old theme structure
update-alternatives --remove \
desktop-login-background \
/usr/share/desktop-base/joy-theme/login-background.svg
# Remove login theme alternatives for theme packages
# because were dropping the secondary link for SDDM preview
while read theme background; do
update-alternatives --remove \
desktop-login-background \
/usr/share/desktop-base/$theme-theme/login/$background
done << EOF
softwaves background.svg
lines background.svg
lines background-nologo.svg
joy background.svg
spacefun background.svg
EOF
# *Last* remove *highest priority* alternative for active theme
update-alternatives --remove \
desktop-login-background \
/usr/share/desktop-base/active-theme/login/background.svg
fi
fi
+3 -113
View File
@@ -1,121 +1,11 @@
#!/bin/sh
set -e
# Tag to allow some debhelper commands to inject relevant code
#DEBHELPER#
if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then
# Remove vendor logos alternative, all slaves get removed automatically
# Removing the master also removes all slaves automatically
update-alternatives --remove \
vendor-logos \
/usr/share/desktop-base/vesperos-logos
# Remove background alternatives for theme packages
while read theme filename; do
update-alternatives --remove \
desktop-background \
/usr/share/desktop-base/$theme-theme/wallpaper/contents/images/$filename
done << EOF
vesperos 1920x1080.svg
EOF
# *Last* remove background *highest priority* alternatives for active theme
update-alternatives --remove desktop-background /usr/share/desktop-base/active-theme/wallpaper/contents/images/1920x1080.svg
# Remove desktop-background.xml alternatives
# For theme packages
while read theme; do
update-alternatives --remove \
desktop-background.xml \
/usr/share/desktop-base/$theme-theme/wallpaper/gnome-background.xml
done << EOF
vesperos
EOF
# *Lastly* remove *highest priority* alternative for active theme
update-alternatives --remove \
desktop-background.xml \
/usr/share/desktop-base/active-theme/wallpaper/gnome-background.xml
# Remove desktop-lockscreen.xml alternatives
# For theme packages
while read theme; do
update-alternatives --remove \
desktop-lockscreen.xml \
/usr/share/desktop-base/$theme-theme/lockscreen/gnome-background.xml
done << EOF
vesperos
EOF
# *Last* remove *highest priority* alternative for active theme
update-alternatives --remove \
desktop-lockscreen.xml \
/usr/share/desktop-base/active-theme/lockscreen/gnome-background.xml
# Remove Plasma 5/KDE wallpaper alternatives
# For theme packages
while read theme; do
update-alternatives --remove \
desktop-plasma5-wallpaper \
/usr/share/desktop-base/$theme-theme/wallpaper
done << EOF
vesperos
EOF
# *Last* remove *highest priority* alternative for active theme
update-alternatives --remove \
desktop-plasma5-wallpaper \
/usr/share/desktop-base/active-theme/wallpaper
# Remove login theme alternatives
# For theme packages
# Alternative for theme packages
while read theme background; do
update-alternatives --remove \
desktop-login-background \
/usr/share/desktop-base/$theme-theme/login/$background
done << EOF
vesperos background.svg
EOF
# *Last* remove *highest priority* alternative for active theme
update-alternatives --remove \
desktop-login-background \
/usr/share/desktop-base/active-theme/login/background.svg
# Remove GRUB background alternatives
while read theme ratio; do
update-alternatives --remove \
desktop-grub \
/usr/share/desktop-base/$theme-theme/grub/grub-$ratio.png
done << EOF
vesperos 4x3
vesperos 16x9
EOF
## *Lastly* remove *highest priority* alternative
num_grub_efi_installed=$(dpkg-query --list "grub-efi*" 2> /dev/null | grep "^i" | wc -l)
if [ $num_grub_efi_installed -gt 0 ] ; then
remove_first_ratio=4x3
remove_last_ratio=16x9
else
remove_first_ratio=16x9
remove_last_ratio=4x3
fi
update-alternatives --remove \
desktop-grub.sh \
/usr/share/desktop-base/active-theme/grub/grub_background.sh
update-alternatives --remove \
desktop-grub \
/usr/share/desktop-base/active-theme/grub/grub-$remove_first_ratio.png
update-alternatives --remove \
desktop-grub \
/usr/share/desktop-base/active-theme/grub/grub-$remove_last_ratio.png
# Remove theme package alternatives
while read theme; do
update-alternatives --remove \
desktop-theme \
/usr/share/desktop-base/$theme-theme
done << EOF
vesperos
EOF
## *Lastly* remove *highest priority* alternative
# (already removed above, keeping for consistency)
desktop-theme \
/usr/share/desktop-base/vesperos-theme || true
fi