diff --git a/Makefile b/Makefile index e1eb6ce..44a8a8f 100644 --- a/Makefile +++ b/Makefile @@ -39,10 +39,6 @@ install-local: $(INSTALL) $(PIXMAPS) $(DESTDIR)/usr/share/pixmaps/ - # SDDM meta theme (configured with alternatives) - install -d $(DESTDIR)/usr/share/sddm/themes/debian-theme - $(INSTALL) $(wildcard sddm-debian/*) $(DESTDIR)/usr/share/sddm/themes/debian-theme - # Set Plasma 5/KDE default wallpaper install -d $(DESTDIR)/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates $(INSTALL) defaults/plasma5/desktop-base.js $(DESTDIR)/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/ diff --git a/debian/README.Debian b/debian/README.Debian index ad3d0dc..12d1cb9 100644 --- a/debian/README.Debian +++ b/debian/README.Debian @@ -6,8 +6,7 @@ README for desktop-base 1.2. Debian logos 1.3. Desktop files 1.4. Default configurations overrides - 1.5. SDDM meta-theme - 1.6. Plymouth boot splashes + 1.5. Plymouth boot splashes 2. How to switch themes 2.1. Global theme alternative 2.2. Individual alternatives @@ -76,22 +75,7 @@ running « update-grub ». once for each Plasma version. It is run at user login time. See: http://userbase.kde.org/KDE_System_Administration/PlasmaDesktopScripting -1.5. SDDM meta-theme - - desktop-base provides and SDDM theme called DebianTheme directly derived -from the default Plasma 5 theme Breeze. -This theme is mostly made of Breeze theme code but adjusts the background to -the currently selected desktop-login-background alternative (see below). - - Currently the package cannot set this theme as the default automatically so -to use it you’ll have to edit: - /etc/sddm.conf - -And add the following configuration section/directive: - [Theme] - Current=debian-theme - -1.6. Plymouth boot splashes +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: @@ -165,9 +149,9 @@ the background image and the menu colors to be used for grub. /usr/share/desktop-base/active-theme/login/background.svg This alternatives switches the login background for LightDM (default) and -SDDM when the SDDM theme DebianTheme is configured in sddm.conf. It defaults -to the login background of the active theme selected via the desktop-theme -alternative. +SDDM when the SDDM theme debian-theme is used (default when there’s 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 @@ -212,11 +196,7 @@ A theme pack should contain the following elements: wallpaper depending on the user’s screen resolution. ./login/background.svg -./login/sddm-preview.jpg -> To provide the login background alternative for LightDM, SDDM… - The SDDM-preview.jpg will make the theme recognizable from the Plasma 5 - preferences. To create it, set-up a new alternative, start SDDM, take a - screenshot and resize it to a 900x506 pixels JPG. ./lockscreen/gnome-background.xml ./lockscreen/contents/images diff --git a/debian/changelog b/debian/changelog index 630b780..41d1916 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,15 +1,16 @@ -desktop-base (9.0.0~exp2) UNRELEASED; urgency=medium +desktop-base (9.0.0) UNRELEASED; urgency=medium [ Aurélien COUDERC ] + * Fix detection of update-initramfs. (Closes: #843727) + * Include GRUB text/background colors in the theme pack / alternatives + system. (Closes: #606383) + * Additional wallpaper and lockscreen ratios for Soft Waves theme. * Remove Moreblue theme from Lenny. * Add theme pack support Joy/Spacefun themes. * Generate all GRUB bitmaps from SVG at build time instead of versioning them. - * Include GRUB text/background colors in the theme pack / alternatives - system. (Closes: #606383) - - * Fix detection of update-initramfs. (Closes: #843727) + * Stop shipping SDDM breeze-based theme, now in plasma-workspace. -- Aurélien COUDERC Mon, 07 Nov 2016 22:28:06 +0100 diff --git a/debian/postinst b/debian/postinst index 220afc1..93f7d4b 100644 --- a/debian/postinst +++ b/debian/postinst @@ -126,24 +126,18 @@ EOF # Highest priority for active theme update-alternatives --install /usr/share/images/desktop-base/login-background.svg \ desktop-login-background \ - /usr/share/desktop-base/active-theme/login/background.svg 50 \ - --slave /usr/share/sddm/themes/debian-theme/sddm-preview.jpg \ - desktop-sddm-preview \ - /usr/share/desktop-base/active-theme/login/sddm-preview.jpg + /usr/share/desktop-base/active-theme/login/background.svg 50 # Alternatives for theme packages - while read theme background sddm_preview priority; do + while read theme background priority; do update-alternatives --install /usr/share/images/desktop-base/login-background.svg \ desktop-login-background \ - /usr/share/desktop-base/$theme-theme/login/$background $priority \ - --slave /usr/share/sddm/themes/debian-theme/sddm-preview.jpg \ - desktop-sddm-preview \ - /usr/share/desktop-base/$theme-theme/login/$sddm_preview + /usr/share/desktop-base/$theme-theme/login/$background $priority done << EOF -softwaves background.svg sddm-preview.jpg 40 -lines background.svg sddm-preview.jpg 30 -lines background-nologo.svg sddm-preview-nologo.jpg 30 -joy background.svg sddm-preview.jpg 20 -spacefun background.svg sddm-preview.jpg 20 +softwaves background.svg 40 +lines background.svg 30 +lines background-nologo.svg 30 +joy background.svg 20 +spacefun background.svg 20 EOF # Set up an alternative for the GRUB background/colors config diff --git a/debian/preinst b/debian/preinst index 75b91cb..c00b729 100644 --- a/debian/preinst +++ b/debian/preinst @@ -5,19 +5,92 @@ set -e #DEBHELPER# if [ "${1}" = "upgrade" ]; then + if dpkg --compare-versions ${2} lt "9.0.0"; then + # Remove alternatives for moreblue wallpapers we don’t 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 + if dpkg --compare-versions ${2} ge "9.0.0~exp1"; then + echo "ge 9.0.0~exp1" + # 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 we’re 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 if dpkg --compare-versions ${2} lt "9.0.0~"; then # Remove alternative for desktop splash we don’t ship anymore update-alternatives --remove-all desktop-splash - # Remove alternatives for Lines we now ship elsewhere as a theme pack + # 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_1920x1080.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 @@ -41,61 +114,5 @@ lines-grub-1920x1080.png EOF fi - if dpkg --compare-versions ${2} lt "9.0.0~exp2"; then - # Remove alternatives for moreblue wallpapers we don’t 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 - # SDDM background - update-alternatives --remove \ - desktop-sddm-preview \ - /usr/share/desktop-base/joy-theme/sddm-preview.jpg - update-alternatives --remove \ - desktop-login-background \ - /usr/share/desktop-base/joy-theme/login-background.svg - # 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 - fi diff --git a/debian/prerm b/debian/prerm index 216f1aa..73b3d80 100644 --- a/debian/prerm +++ b/debian/prerm @@ -99,24 +99,18 @@ EOF # Remove login theme alternatives # For theme packages # Alternative for theme packages - while read theme background sddm_preview; do - update-alternatives --remove \ - desktop-sddm-preview \ - /usr/share/desktop-base/$theme-theme/login/$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 sddm-preview.jpg -lines background.svg sddm-preview.jpg -lines background-nologo.svg sddm-preview-nologo.jpg -joy background.svg sddm-preview.jpg -spacefun background.svg sddm-preview.jpg +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-sddm-preview \ - /usr/share/desktop-base/active-theme/login/sddm-preview.jpg update-alternatives --remove \ desktop-login-background \ /usr/share/desktop-base/active-theme/login/background.svg diff --git a/sddm-debian/Main.qml b/sddm-debian/Main.qml deleted file mode 100644 index 7820b6e..0000000 --- a/sddm-debian/Main.qml +++ /dev/null @@ -1,232 +0,0 @@ -/* - * Copyright 2016 David Edmundson - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Library General Public License as - * published by the Free Software Foundation; either version 2 or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details - * - * You should have received a copy of the GNU Library General Public - * License along with this program; if not, write to the - * Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -import QtQuick 2.2 - -import QtQuick.Layouts 1.1 -import QtQuick.Controls 1.1 - -import org.kde.plasma.core 2.0 as PlasmaCore -import org.kde.plasma.components 2.0 as PlasmaComponents -import org.kde.plasma.extras 2.0 as PlasmaExtras - -import "../breeze" -import "../breeze/components" - -PlasmaCore.ColorScope { - id: root - colorGroup: PlasmaCore.Theme.ComplementaryColorGroup - - width: 1600 - height: 900 - - property string notificationMessage - - LayoutMirroring.enabled: Qt.application.layoutDirection === Qt.RightToLeft - LayoutMirroring.childrenInherit: true - - PlasmaCore.DataSource { - id: keystateSource - engine: "keystate" - connectedSources: "Caps Lock" - } - - Repeater { - model: screenModel - - Background { - x: geometry.x; y: geometry.y; width: geometry.width; height:geometry.height - source: config.background - fillMode: Image.PreserveAspectCrop - } - } - - Clock { - visible: y > 0 - anchors.bottom: parent.verticalCenter - anchors.bottomMargin: units.gridUnit * 13 - anchors.horizontalCenter: parent.horizontalCenter - } - - - StackView { - id: mainStack - anchors { - top: parent.top - bottom: footer.top - left: parent.left - right: parent.right - topMargin: footer.height // effectively centre align within the view - } - focus: true //StackView is an implicit focus scope, so we need to give this focus so the item inside will have it - - Timer { - //SDDM has a bug in 0.13 where even though we set the focus on the right item within the window, the window doesn't have focus - //it is fixed in 6d5b36b28907b16280ff78995fef764bb0c573db which will be 0.14 - //we need to call "window->activate()" *After* it's been shown. We can't control that in QML so we use a shoddy timer - //it's been this way for all Plasma 5.x without a huge problem - running: true - repeat: false - interval: 200 - onTriggered: mainStack.forceActiveFocus() - } - - initialItem: Login { - id: userListComponent - userListModel: userModel - userListCurrentIndex: userModel.lastIndex >= 0 ? userModel.lastIndex : 0 - showUserList: (userListModel.count && userListModel.disableAvatarsThreshold) ? userListModel.count <= userListModel.disableAvatarsThreshold : true - - notificationMessage: { - var text = "" - if (keystateSource.data["Caps Lock"]["Locked"]) { - text += i18nd("plasma_lookandfeel_org.kde.lookandfeel","Caps Lock is on") - if (root.notificationMessage) { - text += " • " - } - } - text += root.notificationMessage - return text - } - - actionItems: [ - ActionButton { - iconSource: "system-suspend" - text: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Suspend") - onClicked: sddm.suspend() - enabled: sddm.canSuspend - }, - ActionButton { - iconSource: "system-reboot" - text: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Restart") - onClicked: sddm.reboot() - enabled: sddm.canReboot - }, - ActionButton { - iconSource: "system-shutdown" - text: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Shutdown") - onClicked: sddm.powerOff() - enabled: sddm.canPowerOff - }, - ActionButton { - iconSource: "system-search" - text: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Different User") - onClicked: mainStack.push(userPromptComponent) - enabled: true - visible: !userListComponent.showUsernamePrompt - } - ] - - onLoginRequest: { - root.notificationMessage = "" - sddm.login(username, password, sessionButton.currentIndex) - } - } - - Behavior on opacity { - OpacityAnimator { - duration: units.longDuration - } - } - - } - - Component { - id: userPromptComponent - Login { - showUsernamePrompt: true - notificationMessage: root.notificationMessage - - userListModel: QtObject { - property string name: i18nd("plasma_lookandfeel_org.kde.lookandfeel", "Login as different user") - property string iconSource: "" - } - - onLoginRequest: { - root.notificationMessage = "" - sddm.login(username, password, sessionButton.currentIndex) - } - - actionItems: [ - ActionButton { - iconSource: "go-previous" - text: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Back") - onClicked: mainStack.pop() - } - ] - } - } - - //Footer - RowLayout { - id: footer - anchors { - bottom: parent.bottom - left: parent.left - right: parent.right - margins: units.smallSpacing - } - - Behavior on opacity { - OpacityAnimator { - duration: units.longDuration - } - } - - KeyboardButton { - } - - SessionButton { - id: sessionButton - } - - Item { - Layout.fillWidth: true - } - - Battery { } - } - - Connections { - target: sddm - onLoginFailed: { - notificationMessage = i18nd("plasma_lookandfeel_org.kde.lookandfeel", "Login Failed") - } - onLoginSucceeded: { - //note SDDM will kill the greeter at some random point after this - //there is no certainty any transition will finish, it depends on the time it - //takes to complete the init - mainStack.opacity = 0 - footer.opacity = 0 - } - } - - onNotificationMessageChanged: { - if (notificationMessage) { - notificationResetTimer.start(); - } - } - - Timer { - id: notificationResetTimer - interval: 3000 - onTriggered: notificationMessage = "" - } - -} diff --git a/sddm-debian/metadata.desktop b/sddm-debian/metadata.desktop deleted file mode 100644 index 206389c..0000000 --- a/sddm-debian/metadata.desktop +++ /dev/null @@ -1,12 +0,0 @@ -[SddmGreeterTheme] -Name=Debian Breeze -Name[fr]=Debian Brise -Description=Debian theme based on Breeze -Description[fr]=Thème Debian basé sur Brise -Type=sddm-theme -Version=0.1 -Screenshot=sddm-preview.jpg -MainScript=Main.qml -ConfigFile=theme.conf -Theme-Id=debian-theme -Theme-API=2.0 diff --git a/sddm-debian/theme.conf b/sddm-debian/theme.conf deleted file mode 100644 index 7e7929f..0000000 --- a/sddm-debian/theme.conf +++ /dev/null @@ -1,2 +0,0 @@ -[General] -background=/usr/share/images/desktop-base/login-background.svg