Bug 395027 - [feature_request] Add additional options to sddm-kcm
Summary: [feature_request] Add additional options to sddm-kcm
Status: RESOLVED INTENTIONAL
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_sddm (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR wishlist
Target Milestone: ---
Assignee: David Edmundson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-06-04 13:11 UTC by Filip Fila
Modified: 2018-08-17 20:14 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Fila 2018-06-04 13:11:16 UTC
Currently SDDM users are locked into using a theme as was hard coded by its designer. This becomes and issue of polish when different settings are used in the DE. With the goal of increasing uniformity between the DE and login manager, I propose (if possible) that the following options be added to the SDDM configuration module:

- a font chooser
- font rendering options (minimally DPI, hinting and subpixel rendering)
- an icon theme chooser

This would actually bring sddm-kcm in line with that the lighdm GTK+ greeter configuration can do: https://i.imgur.com/mFimbei.png
Comment 1 David Edmundson 2018-06-04 19:05:20 UTC
Note you can copy any ~/.config into /var/lib/sddm

As for those options. It's too niche to deserve a UI, sorry.
Comment 2 Krešimir Čohar 2018-06-04 21:29:11 UTC
(In reply to David Edmundson from comment #1)
> Note you can copy any ~/.config into /var/lib/sddm
> 
> As for those options. It's too niche to deserve a UI, sorry.

Niche? I beg to differ. It's already possible to modify the font in every aspect of Plasma except for the login screen. It's like saying the font settings in systemsettings5 are niche because hardly anybody wants to or needs to change their font settings at all. For people that do not want Noto Sans and do not have technical expertise to fiddle around with ~/.config, there's a constant mismatch between the login screen and the desktop.
Comment 3 Filip Fila 2018-06-04 21:34:46 UTC
(In reply to David Edmundson from comment #1)
> Note you can copy any ~/.config into /var/lib/sddm
> 
> As for those options. It's too niche to deserve a UI, sorry.

While I can admit this is fairly minor, I cannot agree with the niche qualifier since e.g. Windows or macOS would never allow having two different fonts in the login screen and the desktop - it's unprofessional. Unless we gnomishly agree that all users should use slightly hinted Noto Sans if they want uniformity, it's also a bit of an infringement on customization. And I think the fact that it's already included in a configuration tool for a different login manager goes to show it's not that niche. 

Can you however provide some help with manual configuration? I don't know how a config file could be written to override these settings. The best I could do is change the code of the theme to change the font and the rendering, and very inefficiently by having to edit it for every element. I have not figured out how to change the icons since it does not wish to properly (= icons are pixelated, but the files are quality enough) use the file I point it to.
Comment 4 Filip Fila 2018-06-04 22:29:03 UTC
Also, even looking into KDE's own kdm and how it could have been configured we can see that at least the font options were present: https://i.stack.imgur.com/OAeug.gif

So the question is why was it not niche back then but is now. Also I would say this uniformity problem theoretically affects everyone who does not use the default aforementioned settings. While we do not have the numbers, surely this subgroup is not that minuscule in number. And in that subgroup not all know how to edit files and code. What is more, it's AFAIK not even documented how to change these settings.

I do understand time constraints, among other things, as well as priorities, but sorry, I simply don't see how cold-hard arguments can possibly go in favor of the niche remark and consequently WONTFIX status. It's an issue of uniformity, it represents a loss of features related to the kdm -> sddm migration, a comparative weakness of using sddm to using lightdm and limits customization for the regular user.
Comment 5 daniel roi 2018-08-16 13:31:32 UTC
I just moved to KDE because it was supposedly "way more configurable" than Gnome, but seeing this request answered with a WONTFIX makes me wonder...
So the only thing I can do to change the horrible icons in SDDM when using Breeze as KDE's main theme is to change the theme itself?
Comment 6 Filip Fila 2018-08-16 14:04:50 UTC
(In reply to daniel roi from comment #5)
> I just moved to KDE because it was supposedly "way more configurable" than
> Gnome, but seeing this request answered with a WONTFIX makes me wonder...
> So the only thing I can do to change the horrible icons in SDDM when using
> Breeze as KDE's main theme is to change the theme itself?

Indeed. When it comes to icons, here's what I tried and failed at:

- copied the entire .config folder into /var/lib/sddm/.config because as a user I simply don't know what the "relevant files" are -> does not give desired icons, but what I learned was that if you copy fontconfig and .kdeglobals it will at least give you your desired fonts, fontsizes, font rendering and theme colors)
- added an iconTheme value to theme.conf -> does not work
- edited main.qml so that the icon paths point directly to the icons I like -> works, but sddm renders these icons terribly, even though they're of good quality
- wiped the Breeze icon theme and replaced it with another one -> does not work
- wiped the Breeze desktop theme and replaced it with another one -> does not work

So you can manually change some things with the Breeze theme, but I still have no clue how to properly change the icons. And thanks to not making SDDM customizable back when it was being implemented, as a consequence you now have some third-party themes which hardcode additional stuff (e.g font), meaning you possibly can't just elegantly parse values that would affect all themes into /var/lib/sddm/.config anymore even if you wanted to implement what I proposed here.
Comment 7 Filip Fila 2018-08-17 13:54:43 UTC
(In reply to daniel roi from comment #5)
> I just moved to KDE because it was supposedly "way more configurable" than
> Gnome, but seeing this request answered with a WONTFIX makes me wonder...
> So the only thing I can do to change the horrible icons in SDDM when using
> Breeze as KDE's main theme is to change the theme itself?

Update

*The bad news
It seems I was worng and that copying fontconfig and kdeglobals does not parse your font choices and settings after all, at least not on this computer.What you can do is grab a theme like NixOS and see where you need to hardcode your font and its size. To affect rendering you need to look up what the QML variable for it is and then add it for every textual element. 

*The good news
The icons files seem to be the following:
[/usr/share/plasma/desktoptheme/default/icons/battery.svgz]
[/usr/share/plasma/desktoptheme/default/icons/system.svgz]
[/usr/share/plasma/desktoptheme/default/icons/user.svgz]
[/usr/share/plasma/desktoptheme/default/widgets/arrows.svgz]
[/usr/share/plasma/desktoptheme/default/widgets/button.svgz]
[/usr/share/plasma/desktoptheme/default/widgets/lineedit.svgz]

Delete them and then insert icons of your choice. Will possibly have to do this every time Breeze gets updated.
Comment 8 daniel roi 2018-08-17 15:37:25 UTC
(In reply to Filip from comment #7)
> Delete them and then insert icons of your choice. Will possibly have to do
> this every time Breeze gets updated.

Thanks, Filip. Better than nothing I guess.
Comment 9 David Edmundson 2018-08-17 16:59:54 UTC
>I simply don't know what the "relevant files" are

Mostly kdeglobals and plasmathemerc

However, if you're referencing themes that are not install system-wide you also have a problem and need the relevant files from ~/.local/share  . This is one of the key things that makes offering this selection somewhat inpractical.

>- wiped the Breeze icon theme and replaced it with another one -> does not work

Note that icons (both from regular theme and plasma theme are cached. The cache for the sddm user needs wiping)
Comment 10 Rog131 2018-08-17 17:25:30 UTC
About Breeze sddm theme icons


Several ways to edit the theme icons:

1) Edit the default plasma theme: https://www.kubuntuforums.net/showthread.php/67703-Kubuntu-video-wallpaper?p=419060#post419060

2) Edit the SDDM greeter: https://www.kubuntuforums.net/showthread.php/67703-Kubuntu-video-wallpaper?p=401218&viewfull=1#post401218

3) Add a new default plasma theme to the 'sddm' home: https://www.kubuntuforums.net/showthread.php/67703-Kubuntu-video-wallpaper?p=419060&viewfull=1#post419060
Comment 11 Rog131 2018-08-17 18:43:01 UTC
(In reply to Rog131 from comment #10)
> About Breeze sddm theme icons
> 
> 
> Several ways to edit the theme icons:
> 
> 1) Edit the default plasma theme:
> https://www.kubuntuforums.net/showthread.php/67703-Kubuntu-video-
> wallpaper?p=419060#post419060
> 
> 2) Edit the SDDM greeter:
> https://www.kubuntuforums.net/showthread.php/67703-Kubuntu-video-
> wallpaper?p=401218&viewfull=1#post401218
> 
> 3) Add a new default plasma theme to the 'sddm' home:
> https://www.kubuntuforums.net/showthread.php/67703-Kubuntu-video-
> wallpaper?p=419060&viewfull=1#post419060

... and the #1 should be:

1) Edit the default plasma theme: https://www.kubuntuforums.net/showthread.php/67703-Kubuntu-video-wallpaper?p=401216&viewfull=1#post401216
Comment 12 Filip Fila 2018-08-17 18:51:28 UTC
Thanks David and Rog! It's good to know there are smarter solutions for changing the icons.

David, by plasmathemerc did you mean plasmarc? I don't have a plasmathemerc file. I copied plasmarc, kdeglobals and fontconfig to var/lib/sddm/.config, deleted the sddm cache, but I'm still getting the default font settings. Checked if maybe the font is not installed system-wide, but it is. I can hardcode it in the theme, but it would be nicer to just copy some config file.
Comment 13 Filip Fila 2018-08-17 18:58:59 UTC
As for the impracticality caused by user-installed, I see the issue now. Because there are desktop themes and plasma color schemes that are user installed, this means we would have issues providing users with choosing the icon theme and color scheme for SDDM? Maybe we can just note that we only support choosing system-installed themes. Distros nowadays do package some more known third-party themes. But even if we don't add this, we could still add font choice and rendering options? At least font rendering shouldn't have to do anything with user installed stuff, although for fonts there could be a problem with non-systemwide installed fonts.
Comment 14 Rog131 2018-08-17 19:32:56 UTC
Few examples of the sddm themes with the option to set the font from the theme configuration file (theme.conf):

- https://github.com/MalditoBarbudo/solarized_sddm_theme
- https://github.com/avivace/breeze2-sddm-theme
Comment 15 Filip Fila 2018-08-17 19:39:34 UTC
(In reply to Rog131 from comment #14)
> Few examples of the sddm themes with the option to set the font from the
> theme configuration file (theme.conf):
> 
> - https://github.com/MalditoBarbudo/solarized_sddm_theme
> - https://github.com/avivace/breeze2-sddm-theme

Thanks, I've seen those but was hoping it was possible to just use a config file. 

BTW David, I've had a look at the LightDM GTK+ Greeter settings I referenced before and they just don't bother with user installed stuff. Tested with a user installed icon theme and a font, the settings just offers what is system-installed.