GSoC/2019/StatusReports/Filip Fila: Difference between revisions

From KDE Community Wiki
< GSoC‎ | 2019‎ | StatusReports
(Created page with "== Summary == * '''Project Name:''' Ensuring consistency between the SDDM login manager and the Plasma desktop * '''Mentors:''' David Edmundson and Nate Graham * '''Abstract:'...")
 
mNo edit summary
 
(5 intermediate revisions by the same user not shown)
Line 2: Line 2:
* '''Project Name:''' Ensuring consistency between the SDDM login manager and the Plasma desktop
* '''Project Name:''' Ensuring consistency between the SDDM login manager and the Plasma desktop
* '''Mentors:''' David Edmundson and Nate Graham
* '''Mentors:''' David Edmundson and Nate Graham
* '''Abstract:''' The Plasma desktop does not have a hard dependency on any login manager, but the SDDM (Simple Desktop Display Manager) login manager is the recommended option. SDDM used in conjunction with Plasma, however, results in certain issues, some of which fall under the guise of consistency between the login screen and the desktop. In practice this means that as soon as there is any relevant veering from Plasma defaults, the login manager no longer provides an identical visual experience. This GSoC project would try to solve that very issue by adding the possibility of syncing the desktop and login manager options. Options that could be synced are: color scheme, font, font size, font rendering, icon theme (obtained from the Plasma theme). Rather than adding discrete options, the suggestion is to have only one option that would pertain to syncing SDDM settings with a particular user’s settings. Patching SDDM to support Plasma wallpapers would also fall within the scope of the project. Most importantly, because desktop display scaling preferences are likewise not respected in SDDM, the project would also tackle the issue of allowing users to set a display scaling preference via GUI.
* '''Abstract (as was initially proposed):''' The Plasma desktop does not have a hard dependency on any login manager, but the SDDM (Simple Desktop Display Manager) login manager is the recommended option. SDDM used in conjunction with Plasma, however, results in certain issues, some of which fall under the guise of consistency between the login screen and the desktop. In practice this means that as soon as there is any relevant veering from Plasma defaults, the login manager no longer provides an identical visual experience. This GSoC project would try to solve that very issue by adding the possibility of syncing the desktop and login manager options. Options that could be synced are: color scheme, font, font size, font rendering, icon theme (obtained from the Plasma theme). Rather than adding discrete options, the suggestion is to have only one option that would pertain to syncing SDDM settings with a particular user’s settings. Patching SDDM to support Plasma wallpapers would also fall within the scope of the project. Most importantly, because desktop display scaling preferences are likewise not respected in SDDM, the project would also tackle the issue of allowing users to set a display scaling preference via GUI.


== Work Report ==
== Work report ==
Currently working on:


- Adding a discrete option for setting scaling DPI to make the following easier: https://wiki.archlinux.org/index.php/SDDM#DPI_settings
'''1st period'''
* Did minor code cleanup in repo
- Changing the default save directory from /etc/sddm.conf to /etc/sddm.conf.d/kde_settings.conf
* Did UI cleanup to prepare for the addition of new options
* Changed the configuration file's location


- Syncing user and SDDM font rendering


== Links to Blogs and other writing ==
'''2nd period'''
[https://filipfila.wordpress.com/tag/planet-kde/ GSoC blog entries]
* Did more cleanup of existing code in repo
* Initial implementation of settings synchronization: color scheme, font, font rendering and Plasma theme could be synced
* Deprecated the cursor theme option and allowed syncing it instead
* Added NumLock preference to the list of things synced
* Added Scaling DPI to the list of things synced
 
 
'''3rd period'''
* Did cleanup of my code: more debug info and better security
* Submitted a minor UI patch to improve user understanding of the feature
* Submitted a patch to SDDM to allow for easier syncing of Plasma font, as well as the companion patch on the KDE side
 
 
'''Final result'''
[[File:Sddmkcm.png|thumb|UI option exposed]]
* The feature enables visual cohesion between the login manager and desktop, as well as adding some functional benefits (syncing of scaling and NumLock options).
* Areas of improvement include making the feature more discoverable (or even applied automatically), better handling of the background and further syncing of the behavior of input devices
 
== Commits & patches ==
 
'''Commits (GSoC period is from 2019/05/27 to 2019/08/26):'''
* https://cgit.kde.org/sddm-kcm.git/log/?qt=author&q=Filip+Fila
 
 
'''Patches (pending review as of end of GSoC):'''
* [https://phabricator.kde.org/D23257 (KDE) Allow for easier syncing of Plasma font]
* [https://phabricator.kde.org/D23308 (KDE) Add a warning message about needing globally installed theme files]
* [https://phabricator.kde.org/D23378 (KDE) Check if sddm user exists]
* [https://github.com/sddm/sddm/pull/1191 (SDDM) Add font option]
 
== Link to blog posts ==
* [https://filipfila.wordpress.com/tag/gsoc/ GSoC blog entries]

Latest revision as of 21:22, 25 August 2019

Summary

  • Project Name: Ensuring consistency between the SDDM login manager and the Plasma desktop
  • Mentors: David Edmundson and Nate Graham
  • Abstract (as was initially proposed): The Plasma desktop does not have a hard dependency on any login manager, but the SDDM (Simple Desktop Display Manager) login manager is the recommended option. SDDM used in conjunction with Plasma, however, results in certain issues, some of which fall under the guise of consistency between the login screen and the desktop. In practice this means that as soon as there is any relevant veering from Plasma defaults, the login manager no longer provides an identical visual experience. This GSoC project would try to solve that very issue by adding the possibility of syncing the desktop and login manager options. Options that could be synced are: color scheme, font, font size, font rendering, icon theme (obtained from the Plasma theme). Rather than adding discrete options, the suggestion is to have only one option that would pertain to syncing SDDM settings with a particular user’s settings. Patching SDDM to support Plasma wallpapers would also fall within the scope of the project. Most importantly, because desktop display scaling preferences are likewise not respected in SDDM, the project would also tackle the issue of allowing users to set a display scaling preference via GUI.

Work report

1st period

  • Did minor code cleanup in repo
  • Did UI cleanup to prepare for the addition of new options
  • Changed the configuration file's location


2nd period

  • Did more cleanup of existing code in repo
  • Initial implementation of settings synchronization: color scheme, font, font rendering and Plasma theme could be synced
  • Deprecated the cursor theme option and allowed syncing it instead
  • Added NumLock preference to the list of things synced
  • Added Scaling DPI to the list of things synced


3rd period

  • Did cleanup of my code: more debug info and better security
  • Submitted a minor UI patch to improve user understanding of the feature
  • Submitted a patch to SDDM to allow for easier syncing of Plasma font, as well as the companion patch on the KDE side


Final result

UI option exposed
  • The feature enables visual cohesion between the login manager and desktop, as well as adding some functional benefits (syncing of scaling and NumLock options).
  • Areas of improvement include making the feature more discoverable (or even applied automatically), better handling of the background and further syncing of the behavior of input devices

Commits & patches

Commits (GSoC period is from 2019/05/27 to 2019/08/26):


Patches (pending review as of end of GSoC):

Link to blog posts