Any project2 that would take me more that a day or so to complete, typically gets its own Activity.
With such a frequency of spinning them up and winding them down, I developed a preference on what a new Activity should consist of, to be as quick as possible as useful as it gets. And this blog post is my first step towards trying to create a Plasma template for when a new Activity gets created, to optimise this process.
So what I would like to achieve is that whenever I start a new Activity, it has the following settings/functionality:
- the desktop has Desktop view (instead of current default Folder view)3
- a Folder view Plasmoid is put on the desktop
- that plasmoid is set, so it shows all files and folders associated with that Activity (i.e.
- (bonus: the desktop gets a random image assigned for background)
Documentation gathering & early try¶
The kind people on Plasma’s Matrix channel helped me a lot with gathering documentation. But in the end I still got stuck.
The two resources are pretty good for theming, but when I saved my theme using the Plasma Global Theme Explorer (
lookandfeelexplorer) and later re-applied it as my Global Theme (incl. layout) in System Settings, two unfortunate things happened:
- it overrode all my existing Activities
- it did not apply to a new Activity
So that falls short of what I need.
Plasma desktop scripting¶
Next I tried the Desktop Shell Scripting Console (
This ended up in a mess, and I needed to pull
~/.config/plasma-org.kde.plasma.desktop-appletsrc from a backup.
To try it out I simply copy-pasted the Unity theme example and applied it. So I blame mostly myself. But it would be much more user-friendly if the tool would have an “Undo” button or a way to switch between the state that is stored in the settings and the script in the console.
I admit, I did not find the time to go through all of the Plasma scripting documentation yet, but I am at the stage of getting lost a bit in all the information.
One thing that makes me scratch my head is that the Plasma scripting: Configuration keys page is full of headings that say “BUG”, which I am not sure what to make of.
Call for help¶
Since I am not much of a coder, let alone a KDE dev, at this stage I feel a bit stuck. Any guidance would be warmly welcome.
If you would like to help, I opened a topic on KDE forums.
Example activities and reasoning¶
For example on my home laptop I have the following right now:
- Communication – e-mail, IRC, IM, web browser’s default profile4, often music
- Organise yourself – calendar, ToDo list, web browser with GitLab, GitHub etc. issue trackers
- Quick documents – when I just need to concentrate on a simple document, that does not need its own Activity
- Gaming – also mainly to have special Battery and power settings
- Blog – text editor session with all blog post drafts, web browser with blog and article-relevant pages
- System – terminal emulator(s), web browser with documentation, loads of system view desktop widgets
- Finances – finance software, bank statements, invoices, etc.
- and then about a dozen specific Activities for projects that are spun up when they pop up and get deleted when the project is completed (e.g. complex analysis document on topic A; same for topic B; slovenian ergonomic keyboard layout; activity-aware firefox; FOSS licensing presentation at faculty, restore your old disks; …)
The trick is to try to stay as little as possible in the Communications Activity. As that is most often not pro-active, but re-active work.
Keeping projects in separate Activities has several benefits for me:
- it is easier to concentrate on a task, if all the others are hidden away – I try to stop Activities I do not currently use
- when you need to come back to a task, having a familiar wallpaper and all the documents, web pages and sessions present when you re-start its Activity helps a lot to get back into the groove
- a stopped Activity does not consume any processing power or memory
hook out → I recently tried Georgian tea. Cool stuff!
As an aside, Activities really deserve, and frankly need, a more up-to-date and user-friendly explanation on a more prominent page. ↩
With a project I mean any complex task that consist of either a long-term committment or several sub-tasks, especially if they demand research and use of more than one tool/window. ↩