ChaniBlog











{November 9, 2010}   Recent Activity… uh.. activities

:) There’s been lots of fun plasma stuff going on as feature freeze approaches.

Ivan’s been doing lots of stuff behind the scenes, making big changes to the activitymanager service. He’s also been polishing up the UI – you’ll notice that it highlights the current activity now (although the effect’s a bit subtle in whatever theme I’m using), various little bugs have been cleaned out, and it’s possible to edit the name and icon right there. :)

Then there’s the template thing Ivan mentioned – I hardly had to write any code for this really. The options are organized so that new users won’t be as overwhelmed (it was.. educational.. watching people try the UI at the opensuse conference) and anyone can write templates – little javascript snippets that set up widgets for an activity. :)

There’s one unfortunate thing here – the guy who was planning to actually create a set of templates for 4.6 is busy, and the freeze is thursday, and all we have right now is one ugly demo template I threw together in a few minutes. So if you want to create some – well, come pester me to document the process. ;) Hopefully I’ll have time to add a GHNS button to the UI too, and then more templates can be downloaded – but it’d be nice to have more than one shipped with 4.6. :)

That’s not all that’s been going on, though. :) Thanks to ivan’s changes under the hood, we can finally hook up my activity-session stuff to an actual UI! :D Clicking the little stop button in plasma now properly closes it, windows and all. :)
There’s more to do, like queuing things under the hood so that you don’t have to wait for one activity to finish shutting down before clicking hte stop button on the next; that’ll give us something to do after freeze. ;) I’m sure bugs will turn up too, now that I’m not the only person using the session thing. In fact, this will also expose bugs in most applications’ session handling. I already know that many qt apps (assistant, anki, etc) are not very good at session-restore; I’m still hoping there are a few things I can do on the kwin/ksmserver side, but a lot of this is up to the application itself.

One more thing: I created a dataengine for activities. This means that if you think you can do better than the current activity management UI, you can easily give it a try. :) There’s even examples to look at – I’ve ported the activitybar plasmoid and the switchactivity mouse plugin to use it. I haven’t added all the new API yet (you can add/remove activities but not open/close them) but I’ll get that done today or tomorrow. :)

One thing I’d love to see is a popupapplet for quickly switching activities. The activitybar takes too much space for my liking – I just want a cute little icon showing my current activity, and a popup that lets me switch to the others. then I could put it right into my regular panel. :) I’d write the applet myself if I only had the time…

btw, sorry for the lack of screenshots – my ksnapshot is crashing instantly this week. the joys of running trunk, eh? ;)
Maybe I’ll do a screencast instead, this weekend. :)



acemo says:

Aweasome!
I hope activities will start getting really usefull with this.



Daniel says:

Great!! I’m so looking forward to activity sessions!



Eduardo says:

Hey very nice job, compliments to you and Ivan for the great improvement!!!
I have a couple of questions btw:

1- when I open $WHATEVER_APP, it will be showed by default in every activity created; how it is possible to make it “stick” only in the activity I’m using right now?

2 – kwin now is showing only the apps associated with the current activity I’m in (yay!), but the taskmanager plasmoid still shows every applications I opened, even if they are on different activities. So when an option like “show only tasks from the current activity” will appear?

Cheerio!



Chani says:

1) oh boy, multiple people are asking about that now. hmmm. it’s too late for 4.6 I’m afraid… but maaaybe, if a hidden option were to quietly sneak in, nobody would object? ;)

2) I’m hoping to fix that tonight. hoping. I’m not sure how hard it’ll be – I usually avoid all code related to the taskmanager :P



>> when I open $WHATEVER_APP, it will be showed by default
>> in every activity created

> oh boy, multiple people are asking about that now.

Well, yeah. Isn’t the idea of activities to keep apps separate, based on your activity? I’d say, sneak it in and make it default, that an app only appears within the activity that launched it, unless otherwise (somehow) set to be on multiple activities (much like one/all desktops button, which would be a good way to even more blur the lines between activity and desktop (do we want blurred lines with these concepts? (i think we do…))).



illissius says:

I remember reading something a while back about the Linux kernel gaining the ability to “hibernate” individual processes out to disk and load them back in; perhaps this could be a useful alternative on Linux systems for those apps whose session support is flaky? (Or even all of them, I have no idea. Obviously this wouldn’t be a cross-platform solution, but it might be a useful option for Linux users.)



Yeah, this is the sort of thing I was hoping for (like what he said):
http://forum.kde.org/brainstorm.php#idea89654_page1

Should I start getting hopeful? :)



Comments are closed.

et cetera
%d bloggers like this: