In this post I describe the way I use KDE to get my job as a software engineer done in a pleasant way.
My requirements on a DE
Using the DE for personal stuff I want it to show me some widgets like weather, news (RSS feeds), health of my system, updates, etc. So, the standard configuration of KDE in most distros fits perfectly and I just have to add some widgets here and there. I use KDE activities to be able to reflect tasks like watching movies, do stuff with pictures and playing a game. So, all boils down to some tweaking on the power settings and using different widgets for each task.
Now here comes the tricky part. If I have to get my job done efficiently, I don’t want to get distracted. I don’t care if there is a software update. I am not interested in the current temperature out there and if it’s rainy or not. I don’t even want to know what time it is (I use the alarm of my cell phone to remind me to take a break or when it’s time to leave the office).
So, how to accomplish that? Unfortunately you can’t. Well, you can but not within the same session.
The problem is, activities are unable to control everything on your workspace. Yes, it can show and hide widgets, control some content, but activities can’t control your panels and their widgets. So, what to do about that. There are two ways I figured out so far.
1. Using ECMA scripts which are able to manipulate the widgets on desktops and panels.
2. Simply creating another user with a different configuration.
I tried to use the first method in the list. This does work but there is a drawback I can’t accept. You can’t deal with position changes of widgets in an easy way.
Let’s say you have the clock-widget on the right. You remove it by your script from the panel. Then you switch activities and another script adds the clock-widget again. This works, but the widget will not appear at the correct position. (I am aware of working with indexes, saving the old location somewhere and to load the location again to add the widget at the same position it was.)
But boy, that’s a hell of work for a simple task like getting the DE to just shut up.
So, I use a second session. All I have to do is switch users and there I have it. In this session my main panel only contains the activity switcher, the taskbar and some desktop icons. (I can’t use launchers in the panel as I would like to because they are also widgets....) So, there are my activities for Qt and Java coding. Widgets on here are completely different. For Qt stuff I am very interested in performance as it is for Java. So I have a couple of widgets showing me those informations. Also I have Yakuake as an autostart application. There is another activity for general development stuff like brainstorming, documentation and so on with desktop icons for applications I use for those tasks. Aaaaaaand that’s it. There is no clock anywhere, no distracting events, no eye-candy.
So, I got this fixed but I am still wondering If this could be done in another way using a single session? Any ideas?