From 3df682bac7a0c47056ae6f91d297c424c4ee3e1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20COUDERC?= Date: Tue, 1 Nov 2016 16:43:10 +0000 Subject: [PATCH] Add Soft Waves support for GRUB --- Makefile | 20 +- Makefile.inc | 1 + debian/changelog | 5 +- debian/control | 2 +- debian/postinst | 37 ++- debian/prerm | 24 +- softwaves-theme/grub/Makefile | 22 ++ softwaves-theme/grub/grub-16x9.svg | 434 ++++++++++++++++++++++++++++ softwaves-theme/grub/grub-4x3.svg | 437 +++++++++++++++++++++++++++++ 9 files changed, 957 insertions(+), 25 deletions(-) create mode 100644 Makefile.inc create mode 100644 softwaves-theme/grub/Makefile create mode 100644 softwaves-theme/grub/grub-16x9.svg create mode 100644 softwaves-theme/grub/grub-4x3.svg diff --git a/Makefile b/Makefile index afc7d3a..7a4c258 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,25 @@ +GRUB_THEMES=softwaves-theme/grub DEFAULT_BACKGROUND=desktop-background -INSTALL=install -m 0644 BACKGROUNDS=$(wildcard backgrounds/*.png backgrounds/*.jpg backgrounds/*.svg backgrounds/*.tga backgrounds/*.xml) PIXMAPS=$(wildcard pixmaps/*.png) DESKTOPFILES=$(wildcard *.desktop) -all: +all: build-grub -clean: +build-grub clean-grub install-grub: + @target=`echo $@ | sed s/-grub//`; \ + for grub_theme in $(GRUB_THEMES) ; do \ + if [ -f $$grub_theme/Makefile ] ; then \ + $(MAKE) $$target -C $$grub_theme || exit 1; \ + fi \ + done$ -install: +clean: clean-grub + +install: install-grub install-local + +install-local: # background files mkdir -p $(DESTDIR)/usr/share/images/desktop-base $(INSTALL) $(BACKGROUNDS) $(DESTDIR)/usr/share/images/desktop-base @@ -132,3 +142,5 @@ install: # Lock screen symlink for KDE install -d $(DESTDIR)/usr/share/wallpapers cd $(DESTDIR)/usr/share/wallpapers && ln -s /usr/share/desktop-base/softwaves-theme/lockscreen SoftWavesLockScreen + +include Makefile.inc diff --git a/Makefile.inc b/Makefile.inc new file mode 100644 index 0000000..e7d3c65 --- /dev/null +++ b/Makefile.inc @@ -0,0 +1 @@ +INSTALL=install -m 0644 diff --git a/debian/changelog b/debian/changelog index ded0e7d..e3d82fe 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,7 +2,8 @@ desktop-base (9.0.0~exp1) UNRELEASED; urgency=medium [ Aurélien COUDERC ] * Initial support for Soft Waves theme by Juliette Belin. - - Default theme for Gnome wallpaper and lock screen + - Default theme for GRUB. (Closes: #598776, #773369) + - Default theme Gnome wallpaper and lock screen - Theme available for SDDM login and Plasma 5 wallpaper and lock screen - debian/copyright updated * Initial support for global theme switching via alternatives @@ -27,7 +28,7 @@ desktop-base (9.0.0~exp1) UNRELEASED; urgency=medium [ Yves-Alexis Perez ] * Also use Debian wallpaper for second monitor on Xfce. closes: #785371 - -- Coucouf Tue, 06 Sep 2016 08:14:12 +0200 + -- Aurélien COUDERC Tue, 06 Sep 2016 08:14:12 +0200 desktop-base (8.0.2) unstable; urgency=medium diff --git a/debian/control b/debian/control index c609699..78d5f5b 100644 --- a/debian/control +++ b/debian/control @@ -8,7 +8,7 @@ Uploaders: Loïc Minier , Josselin Mouette , Paul Tagliamonte , Eshat Cakar -Build-Depends: cdbs (>= 0.4.93), debhelper (>= 9) +Build-Depends: cdbs (>= 0.4.93), debhelper (>= 9), librsvg2-bin Standards-Version: 3.9.8 Homepage: http://www.debian.org/devel/debian-desktop Vcs-Browser: http://svn.debian.org/wsvn/debian-desktop/packages/trunk/desktop-base diff --git a/debian/postinst b/debian/postinst index 12cd49e..e24942c 100644 --- a/debian/postinst +++ b/debian/postinst @@ -58,7 +58,7 @@ EOF /usr/share/images/desktop-base/desktop-background.xml \ desktop-background.xml \ /usr/share/desktop-base/active-theme/wallpaper/gnome-background.xml 50 - # Alternative for theme packages + # Alternatives for theme packages while read theme priority; do update-alternatives --install \ /usr/share/images/desktop-base/desktop-background.xml \ @@ -85,7 +85,7 @@ EOF /usr/share/images/desktop-base/desktop-lockscreen.xml \ desktop-lockscreen.xml \ /usr/share/desktop-base/active-theme/lockscreen/gnome-background.xml 50 - # Alternative for theme packages + # Alternatives for theme packages while read theme priority; do update-alternatives --install \ /usr/share/images/desktop-base/desktop-lockscreen.xml \ @@ -103,7 +103,7 @@ EOF --slave /usr/share/sddm/themes/debian-theme/sddm-preview.jpg \ desktop-sddm-preview \ /usr/share/desktop-base/active-theme/sddm-preview.jpg - # Alternative for theme packages + # Alternatives for theme packages while read theme priority; do update-alternatives --install /usr/share/images/desktop-base/login-background.svg \ desktop-login-background \ @@ -137,33 +137,46 @@ EOF /usr/share/desktop-base/joy-theme/sddm-preview.jpg # Alternatives for grub + # Highest priority for active theme ## Favor widescreen / hi-res background for efi installations num_grub_efi_installed=$(dpkg-query --list "grub-efi*" | grep "^i" | wc -l) if [ $num_grub_efi_installed -gt 0 ] ; then - lines_grub_prio=15 - lines_grub_1920_prio=20 + grub_prio_4x3=15 + grub_prio_16x9=20 else - lines_grub_prio=20 - lines_grub_1920_prio=15 + grub_prio_4x3=20 + grub_prio_16x9=15 fi update-alternatives --install \ /usr/share/images/desktop-base/desktop-grub.png \ desktop-grub \ - /usr/share/images/desktop-base/lines-grub.png $lines_grub_prio + /usr/share/desktop-base/active-theme/grub/grub-4x3.png $grub_prio_4x3 update-alternatives --install \ /usr/share/images/desktop-base/desktop-grub.png \ desktop-grub \ - /usr/share/images/desktop-base/lines-grub-1920x1080.png $lines_grub_1920_prio + /usr/share/desktop-base/active-theme/grub/grub-16x9.png $grub_prio_16x9 + # Alternatives for theme packages + while read theme ratio priority; do + update-alternatives --install /usr/share/images/desktop-base/desktop-grub.png \ + desktop-grub \ + /usr/share/desktop-base/$theme-theme/grub/grub-$ratio.png $priority + done << EOF +softwaves 4x3 15 +softwaves 16x9 15 +EOF + # Old alternatives while read background priority; do update-alternatives --install \ /usr/share/images/desktop-base/desktop-grub.png \ desktop-grub \ /usr/share/images/desktop-base/$background $priority done << EOF -joy-grub.png 15 -spacefun-grub.png 15 -spacefun-grub-widescreen.png 14 +lines-grub.png 10 +lines-grub-1920x1080.png 10 +joy-grub.png 10 +spacefun-grub.png 10 +spacefun-grub-widescreen.png 10 EOF # GRUB background diff --git a/debian/prerm b/debian/prerm index 37b6e77..64b7f9e 100644 --- a/debian/prerm +++ b/debian/prerm @@ -111,11 +111,23 @@ EOF /usr/share/desktop-base/active-theme/backgrounds/login.svg # Remove grub background alternatives + # For theme packages + while read theme ratio; do + update-alternatives --remove \ + desktop-grub \ + /usr/share/desktop-base/$theme-theme/grub/grub-$ratio.png + done << EOF +softwaves 4x3 +softwaves 16x9 +EOF + # For old alternatives while read background; do update-alternatives --remove \ desktop-grub \ /usr/share/images/desktop-base/$background done << EOF +lines-grub.png +lines-grub-1920x1080.png joy-grub.png spacefun-grub.png spacefun-grub-widescreen.png @@ -123,18 +135,18 @@ EOF ## *Lastly* remove *highest priority* alternative num_grub_efi_installed=$(dpkg-query --list "grub-efi*" | grep "^i" | wc -l) if [ $num_grub_efi_installed -gt 0 ] ; then - remove_first=lines-grub.png - remove_last=lines-grub-1920x1080.png + remove_first_ratio=4x3 + remove_last_ratio=16x9 else - remove_first=lines-grub-1920x1080.png - remove_last=lines-grub.png + remove_first_ratio=16x9 + remove_last_ratio=4x3 fi update-alternatives --remove \ desktop-grub \ - /usr/share/images/desktop-base/$remove_first + /usr/share/desktop-base/active-theme/grub/grub-$remove_first_ratio.png update-alternatives --remove \ desktop-grub \ - /usr/share/images/desktop-base/$remove_last + /usr/share/desktop-base/active-theme/grub/grub-$remove_last_ratio.png # Remove theme package alternatives while read theme; do diff --git a/softwaves-theme/grub/Makefile b/softwaves-theme/grub/Makefile new file mode 100644 index 0000000..d952960 --- /dev/null +++ b/softwaves-theme/grub/Makefile @@ -0,0 +1,22 @@ +dir = usr/share/desktop-base/softwaves-theme/grub + +files = \ + grub-4x3.png \ + grub-16x9.png + +build: $(files) + +clean: + rm -f grub-4x3.png grub-16x9.png + +install: + install -d $(DESTDIR)/$(dir) + $(INSTALL) $(wildcard *.png) $(DESTDIR)/$(dir) + +grub-4x3.png: grub-4x3.svg + rsvg-convert $< > $@ + +grub-16x9.png: grub-16x9.svg + rsvg-convert $< > $@ + +include ../../Makefile.inc diff --git a/softwaves-theme/grub/grub-16x9.svg b/softwaves-theme/grub/grub-16x9.svg new file mode 100644 index 0000000..770acad --- /dev/null +++ b/softwaves-theme/grub/grub-16x9.svg @@ -0,0 +1,434 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/softwaves-theme/grub/grub-4x3.svg b/softwaves-theme/grub/grub-4x3.svg new file mode 100644 index 0000000..c059cb3 --- /dev/null +++ b/softwaves-theme/grub/grub-4x3.svg @@ -0,0 +1,437 @@ + + + +image/svg+xml \ No newline at end of file