Stop shipping SDDM breeze-base theme, now in plasma-workspace

This commit is contained in:
Aurélien COUDERC
2016-12-04 20:15:45 +00:00
parent 8c2123d6d4
commit f82d4d20d4
9 changed files with 100 additions and 364 deletions
-4
View File
@@ -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/
+5 -25
View File
@@ -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 youll 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 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
@@ -212,11 +196,7 @@ A theme pack should contain the following elements:
wallpaper depending on the users 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
+6 -5
View File
@@ -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 <zecoucou@free.fr> Mon, 07 Nov 2016 22:28:06 +0100
+8 -14
View File
@@ -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
+75 -58
View File
@@ -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 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
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 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
if dpkg --compare-versions ${2} lt "9.0.0~"; then
# Remove alternative for desktop splash we dont 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 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
# 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
+6 -12
View File
@@ -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
-232
View File
@@ -1,232 +0,0 @@
/*
* Copyright 2016 David Edmundson <davidedmundson@kde.org>
*
* 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 = ""
}
}
-12
View File
@@ -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
-2
View File
@@ -1,2 +0,0 @@
[General]
background=/usr/share/images/desktop-base/login-background.svg