As has been brought to my attention recently, our SDDM theme sucks. It's been relatively unmodified since Julien Lavergne made a wee tweak to the default Maui theme that ships with SDDM and which is the embedded default theme. It's messy and hard to to read and worst of all, uses some proprietary custom types, the worst of which is PictureBox, which has hardcoded colours (💀!) and just so happens to surround the individual login icon, name, and password entry. I think in the end, the right solution is to start over, and here's what I think would be the required elements:
- get rid of the dependency on SddmComponents— this might be asking for a lot, so at the least get rid of any dependency with hardcoded colors
- use custom types to allow for separation of all the different elements into separate QML files which should make for easier theme creation/modification by contributors
- expose colors through the theme.conf so that users can easily make changes without having to write a whole new damn theme! (see the Clairvoyance's theme's auto password focus as an example)
- use Lenny as the default icon!
It's in the link above, but here's some docs:
- SDDM theming wiki page
- Qt Quick documentation
- especially pay attention to the types wherein you can find available properties (i.e. you can figure out whether or not you *can* set a color on a particular type)
- speaking of which, there's a good article on properties
- the poositioning article is helpful in understanding how the anchors work, among other things
- models and views should help explain some other aspects of the theme
- Qt QML documentation
- the first steps are a great way to get started understanding what you're reading
- the QML reference is good at understanding fundamentals
- Qt UI forms
- these are not something I have used, but they're created by Qt Creator's Design Mode and may provide a simple, graphical way to create