One of the lesser-known features in KDE Applications and Plasma is the Kiosk Framework, a means of restricting the customizability of the workspace in order to keep users in an enterprise or public environment from performing unwanted actions or modifications.
Unfortunately, it hasn’t seen much love lately. However, a couple of weeks ago, we received some feedback about the state of Kiosk in “40 classroom installations” of Plasma on our Enterprise mailing list which David Edmundson and I tackled immediately. Within a couple of days we could already remedy the majority of shortcomings revealed.
While Kiosk already had the ability to prevent users from hiding toolbars in applications, there were a couple of ways this could be circumvented: by accessing menus created by Qt itself – which knows nothing about Kiosk. I managed to correct that and additionally, I also made sure that inaccessible settings linked to by e.g. plasmoids aren’t even offered to the user, avoiding dummy menu entries. The KCMShell QML import gained the ability to report whether a settings module may be accessed.
Most of my effort went into locking down Kickoff, our “Start Menu”. When the Plasma Shell is “system immutable” it becomes effectively read-only. System immutable, as opposed to user immutable (the normal “lock widgets”), is when Kiosk restrictions prevent the user from unlocking widgets. When this is in effect, favorites in Kickoff can neither be added, removed, or re-arranged, nor can applications or the menu itself be edited.
Moreover, KRunner won’t even get started now when the “run_command” action is restricted, making sure it cannot be bypassed by placing a direct DBus call or typing on an empty desktop. Its history also gets disabled now when the “lineedit_text_completion” restriction is active. We’re also currently updating Kiosk documentation and making sure all our applications actually use the keys as mentioned in there.
If you are a sysadmin maintaining a larger Plasma deployment or a manager seeking a free, open, and productive alternative to the omnipresent proprietary desktops, get in touch with us on our Enterprise mailing list and we’d be happy to help you!
Choose a face!
In Plasma 5.7 we’ll be getting an all new login screen design. While I wasn’t much involved in that, I finally came around to port the user avatar gallery. Our awesome Visual Design Group made several user icons a while ago but with the transition to User Manager we unfortunately lost the ability to select them. Now it’s back, and I’d love a “From Webcam” option there as well. :)
Plasma 5.6 saw the introduction of jump list actions, enabling you to directly access a specific task within an application. In the upcoming Plasma release KRunner will be aware of them, too. For an even more concise workflow, I added actions to various KDE applications, including Spectacle and KMail. The cool thing is that users of KDE Applications running desktop environments other than Plasma, such as Unity, will also benefit from those shortcuts.
Additionally, I fixed the longstanding issue of applications started through KRunner not showing up in the recently used list. Furthermore, the “Run in Terminal” option returned for the shell command runner and finally, more runners had drag and drop support added as well as various high-dpi issues resolved.
In my first blog post one and a half years ago I already teased you with PowerDevil notifying about low peripheral devices, such as wireless keyboard and mice. However, I never felt like finishing this feature, up until yesterday when my mouse unexpectedly stopped working: the battery was dead empty. After writing a couple of lines of code I realized I had already created a git branch back then. I rebased it on top of the almost 200 commits that happened since and, to keep it from getting dusty again, put it up for review right away.