Plasma look and feel switching

Marco Martin notmart at gmail.com
Wed Aug 10 17:59:04 UTC 2016


Hi all,
as i've came pretty much on a stale mate at the development of a particular 
feature, I'll try to describe it as better as i can, so maybe I can get some 
fresh ideas.
branch, mart/separateLookAndFeelLayout
review https://phabricator.kde.org/D2345

the behavior is:
* look and feel packages bring a layout.js javascript file with them
* right now it's used only if the lnf package is set in kdeglobals before the 
first time plasmashell starts
* with the new branch, the whole plasma shell will get unloaded, and reloaded 
with the new layout.js from the new selected lnf package
* plasmashell has a different config file per lnf package
* when switching from one to another, by default it would use the config file 
saved previously, if present, in order to minimize data loss (otherwise 
switching lnf becomes a very destructive operation)
* but still need an option to reset to the default layout: when switching, the 
kcm could just delete the config file before switching lnf, but to reset the 
current lnf a different way could be needed
* at the moment i have a reloadDefaultLayout() method exposed to dbus: i hate 
it as exposing a dbus method that destroys the current setup doesn't look good 
at all (again to be the least desrtuctive possible)
* a function to dump the current layout in javascript is provided by 
plasmashell, so a separate utility can create a new lnf layout from the 
current setup: makes easier creation by users to publish on kdelook.

did i explain it clearly?

as you can see on https://phabricator.kde.org/D2345 (and the very long 
discussion on it) it's still something that needs work, and there is still not 
really much agreement on it.

I really need it in for 5.8 (as look and feel packages would be a prominent 
content of the new ocs server), but time is getting close, and i'm not sure 
about it at all, in a word.. i need help :(

-- 
Marco Martin


More information about the Plasma-devel mailing list