Discussion:
Override default SDDM for Stretch release
Maximiliano Curia
2016-11-18 13:01:41 UTC
Permalink
¡Hola Aurélien!

I'm Ccing Alf Gaida and Matthias Klumpp as both are interested in sddm and I
would like to know their points of view about this.
I’m working on implementing the Soft Waves theme selected for Stretch.
The wallpaper setting for new user is done and I also have an SDDM theme ready, shipped in desktop-base 9.0.0~exp1.
This SDDM theme is simply a copy of Breeze’s Main.qml overriding the wallpaper, and it uses the Breeze SDDM themes components as is (see attached screenshot).
Nice.
The problem is I couldn’t find a proper way to make this theme the default for SDDM.
Right, currently the way to set the sddm theme is creating an /etc/sddm.conf
file with at least:
[Theme]
Current: theme_name

This file can also be created from plasma's systemsettings (using the sddm kcm
module).

Currently there is no support for configuration directories (let's say
/etc/sddm/conf.d/), this is planned for sddm 0.15, though.

The compiled in default (for our packages) is breeze, while upstream uses maui
by default. It's possible that this isn't the best default (as sddm is also
used by the lxqt desktop, and breeze exercises the video driver more that the
whole lxqt session).

In the 0.14 version upstream embeds the resources of the default theme
(previously named maui, but now called the empty string), that way the default
theme is used as a fallback if something goes wrong with the configured one.
But, this also introduced the inconvenient that a /etc/sddm.conf with:
[Theme]
Current: maui
Would start in error mode (it will use the fallback theme and show the error
message in the lower part of the screen).

To force the use of the maui theme you'll need to set:
[Theme]
Current:

But, if we ship sddm 0.14, we could probably embed the soft_waves theme as the
embedded one, keep the maui one as an additional package. We would also avoid
setting breeze as the default theme in the compiled in configuration.

To do this, we would need to change the soft_waves theme to be based on the
maui one.

What do you think?
/etc/default/kdm.d/10_desktop-base
(see contents below) that KDM read to override its default, and I can’t seem to find a way to do the same for SDDM.
The /etc/default/kdm.d/ was processed by our sysv init script, in a kind of
hacky way that regenerated the configuration file every time. I would prefer
not having to maintain such a thing for sddm.
Would you mind helping with that so we can continue shipping a consistent Debian with Stretch also for Plasma 5 ?
Happy hacking,
--
"The cheapest, fastest and most reliable components of a computer system are
those that aren't there."
-- Gordon Bell
Saludos /\/\ /\ >< `/
Alf Gaida
2016-11-19 11:47:59 UTC
Permalink
¡Hola Aurélien!
I'm Ccing Alf Gaida and Matthias Klumpp as both are interested in sddm
and I would like to know their points of view about this.
I’m working on implementing the Soft Waves theme selected for
Stretch. The wallpaper setting for new user is done and I also have
an SDDM theme ready, shipped in desktop-base 9.0.0~exp1. This SDDM
theme is simply a copy of Breeze’s Main.qml overriding the wallpaper,
and it uses the Breeze SDDM themes components as is (see attached
screenshot).
Nice.
IMHO a default theme for debian should be based on maui - or better
elarun - we have done this for siduction - nothing against the breeze
theme, but it has to much dependencies on KF5/KDE - and this is exactly
the opposite of what SDDM means "Simple Desktop Display Manager".
Another thing about breeze or maui - i really don't like the idea of
displaying all users with name and (if set) picture per default. One
could call me old fashioned, but i prefer the old way of login: type
your name and password to login - if a user change it later it's ok, but
displaying all users on the system should not be default.

Regarding the theme setting: Let the theme provide a valid minimal
sddm.conf and recommend sddm should do the trick.

My 2¢ for now
Aurélien COUDERC
2016-11-20 22:02:25 UTC
Permalink
Post by Alf Gaida
¡Hola Aurélien!
I'm Ccing Alf Gaida and Matthias Klumpp as both are interested in sddm
and I would like to know their points of view about this.
I’m working on implementing the Soft Waves theme selected for
Stretch. The wallpaper setting for new user is done and I also have
an SDDM theme ready, shipped in desktop-base 9.0.0~exp1. This SDDM
theme is simply a copy of Breeze’s Main.qml overriding the wallpaper,
and it uses the Breeze SDDM themes components as is (see attached
screenshot).
Nice.
Hi Alf and all.
Post by Alf Gaida
IMHO a default theme for debian should be based on maui - or better
elarun - we have done this for siduction - nothing against the breeze
theme, but it has to much dependencies on KF5/KDE - and this is exactly
the opposite of what SDDM means "Simple Desktop Display Manager".
OK, but I would find it too bad if we don’t default to a breeze-like theme for people using Plasma 5. They’ll have the KF5/KDE dependencies installed already and the breeze theme is more full-featured and consistent with the rest of the Plasma’s design.
Besides by the look of it it seems to be getting much more attention than the other themes.

It’s trivial to change the background of maui/elarun since they both read the background file name from their theme.conf config file. Just replace the provided background with /usr/share/desktop-base/active-theme/login/background.svg.

What I can’t really make out is how to organize packages and dependencies to make it work if we want a Debian-themed breeze for Plasma 5 and Debian-themed something else for the other setups.

Could sddm source package build packages like sddm-theme-debian-{maui,elarun} with the updated theme.conf and these would depend on desktop-base for the actual background image/svg ?
Then could the sddm package come with the sddm.conf pointing to a theme handled with alternatives, and the sddm-theme-* packages create the alternatives ?
And then the DE could depend on their preferred sddm-theme-(debian)-* ?

Also I realize my current debian-breeze work has to go out of desktop-base since it runtime depends on kf5/plasma components and desktop-base cannot depend on these for obvious reasons. :-)
Could it be patched into plasma-workspace and be shipped as a sddm-theme-debian-breeze with a depends: sddm-theme-breeze, desktop-base ?
Post by Alf Gaida
Another thing about breeze or maui - i really don't like the idea of
displaying all users with name and (if set) picture per default. One
could call me old fashioned, but i prefer the old way of login: type
your name and password to login - if a user change it later it's ok, but
displaying all users on the system should not be default.
For that I’ll strongly disagree (and maybe call you old fashioned ;-).
As much as I can understand/share your preference and even think it’s going to be the choice for enterprise/organization deployments, I would say it’s not a good default.

Many recent systems and DM show the users list by default (Gnome/GDM and Ubuntu/lightdm come to my mind), and I feel it’s a safe bet of what users can expect for a default setup.
Users not wanting to see the list of users at login will certainly know where to look to change the login theme.
Post by Alf Gaida
Regarding the theme setting: Let the theme provide a valid minimal
sddm.conf and recommend sddm should do the trick.
Not so easy, see above.


Cheers,
--Aurélien
Aurélien COUDERC
2016-11-28 23:45:10 UTC
Permalink
Hi Alf and all,
Post by Alf Gaida
Post by Maximiliano Curia
¡Hola Aurélien!
I'm Ccing Alf Gaida and Matthias Klumpp as both are interested in sddm
and I would like to know their points of view about this.
I’m working on implementing the Soft Waves theme selected for
Stretch. The wallpaper setting for new user is done and I also have
an SDDM theme ready, shipped in desktop-base 9.0.0~exp1. This SDDM
theme is simply a copy of Breeze’s Main.qml overriding the wallpaper,
and it uses the Breeze SDDM themes components as is (see attached
screenshot).
Nice.
IMHO a default theme for debian should be based on maui - or better
elarun
Here’s a patch.
I’ve made it for both maui and elarun hoping it can suit everyone’s needs. :)

This patch :
- builds 2 additional packages on top of sddm 0.14 git head :
· sddm-theme-debian-maui and sddm-theme-debian-elarun
· both recommend desktop-base (>= 9.0.0~) in addition to sddm used by existing theme packages
- builds these themes from upstream code only, with mostly CMakeList changes
- configures the background for both themes to use the selected theme from desktop-base
- makes both theme packages provide an alternative for /usr/share/sddm/themes/debian-theme each
- makes sddm choose debian-theme (instead of breeze in current Debian package) when no sddm.conf is present, sddm will still default to the embedded maui if debian-theme is not provided by any package

The idea is that desktop environment can depend / recommend their preferred sddm-theme-debian-* theme based on Debian artwork.
If the patch is suitable I’ll do the same for the debian-breeze theme.

Comments welcome !


Cheers,
--Aurélien

Loading...