ChaniBlog











{May 24, 2010}   Activities in 4.5

huzzah! I made a screencast showing the activities stuff in 4.5 :)

if the embedded video causes trouble you can also get it straight from blip.tv

If you’re not going to watch the video, there’s one important thing in there: beta 1 has some bugs, so don’t try to switch activities with anything besides the new activity manager. Avoid the mouse plugin, the activity bar plasmoid, and the next/previous keyboard shortcuts – I’ll have them fixed in beta 2.

And because I know someone will forget and end up googling this: the default global keyboard shortcut for the activity manager is meta-q (meta is usually referred to as the windows key – I probably should have called it that in the video). That’s also accessible through plasma’s shortcuts config dialog, so you don’t actually have to google it at all. :)



KDEFan1 says:

Thanks by the video!! I have a little question, there is support for independent activity per desktop in KDE SC 4.5 or all desktops use the same activities like the panels? I remember how bugged it was in previous releases..

Thanks! :-)



Chani says:

yes and no :)

in 4.5, what you get is different widget groups per desktop. This is really just a renaming: it gives you all the same features as in 4.4 – but activities themselves are now a separate concept, not connected to desktops, and will grow to have their own set of features.

there *might* maybe be a bug if you frequently change the number of desktops you have… other than that it seems to work well.



pier says:

So each activity may have its own number of desktops?



Fri13 says:

So the activities can not have own panels? :-/

That is the killer feature what I am waiting. I want to have in home activity two panels with custom widgets on it. And then in school activity one panel in left edge of the screen and few different widgets on it. And then one as “demo” for clients etc. And fourth activity just for very plain use, where there is no panels at all but just few simple icons on desktop. :-)



Chani says:

hrm. I both love and hate wordpress’ refusal to thread comments deeply.

anyways… every activity has the same number of virtual desktops, because I don’t want to deal with all the complications involved in trying to pretend there are less on some. if certain activities don’t need as many desktops you can just not use them. :)

as for panels, no, in 4.5 you can’t associate them with activities. perhaps in 4.6…



Fri13 says:

Oh, hopefully KDE SC 4.6 gets then separated panels for activities. Because then we could have separated panels for every virtual desktop as well. Three flies with one stone.

It is so nice to have different wallpapers on every virtual desktop. And different set of widgets on every virtual desktop. But what always have wondered me, is why not different panels as well on different virtual desktops?

I believe many would like that. It would make virtual desktops more usefull for those who would not need different activities. And for me, I would like to have four virtual desktops, two different activities for all of them. ( 1 activity for 2 virtual desktops). And on every virtual desktop, having a different panel configuration with different set of widgets and panel placements /amount.

Does that sound too complicated?

In the end. I could use two virtual desktops for one activity. First desktop for “input” and second desktop for “output”. With different UI. Then two virtual desktops for the second activity where I could have same idea, other for “input” and other for “output”.

Oh, and if there comes easy way to save/load the activities sets. It would come perfect for many.



Tom says:

Cool improvements.
What I want to know is where is this heading? Will the overview be more like the workspace switcher where I can see and move windows? Is zooming totally dead now?
I would like to see stuff like moving one window with shift pressed copies it to another activity.

Does anybody know?



Chani says:

yes, zooming is dead. I’m not sure what workspace switcher or overview you’re referring to.

as for convenient ways of associating windows with activities… we had some sort of drag&drop ideas last year, but haven’t really had time to think about them. it’s something to sort out for 4.6 – I could only get the most basic of basic activity association into 4.5.

I wanted to have thumbnails instead of icons in the activity manager, too, but it turned out to be technically infeasible. blarg.



Tom says:

Hiya,

really cool sruff, thanks for all the great work you are doing. Maybe you could just fake thumbnails/approximate them(Downscaled wallpaper + boxes with icons for windows) Honestly I don’t like the idea of selecting icons for desktops, I would much prefer something where I could interact with windows and drag them from one activity to another. I know that sounds a lot like zooming, but I wouldn’t mind a faked/simplified approach.

That is probably still very hard, right?



Marc says:

Hi Chani,

thanks for the great work!

I have a question concerning dual monitor setups. I usually using a two monitor setup at work and also at home, where I have an additional LCD plugged into my laptop. Actually this is the main reason why I never really started to use activities. Because each monitor has its own activity, or at least that is like it seems to me. That means I would always have to switch two activities to make everything work. Also the ZUI usually confused the screens, so when I was switching the activity on one screen, it usually did nothing on this screen but did it on the other one, or something along this line.

Have you ever tried the new activities with a dual monitor setup?



Chani says:

oh, I completely forgot to talk about that!

yes, when you switch activities now, *everything* changes. the activity is truly global, because really, humans suck at multitasking ;)

I got access to a multiscreen setup last month, so I’ve finally been able to test this stuff. :)

there’s just one bug: if you enable a second screen, then disable it and enable it again, it won’t get a view until plasma-desktop is restarted. this is due to some weird old code in plasma that aaron was going to clean up… I might go fight with it again myself next week.



Marc says:

This is even greater news! One thing I forgot to ask is: Will the activities also be location aware? Because in one of the menus you showed I saw a tab called “location”. That would be the total-awesomeness, if you just arrive at home, and your system automatically changes the activity based on the IP or GPS or whatever…(just starting to dream here!)



Chani says:

location? I’m not sure where you saw that…

location-awareness is something we’ve wanted and for a long time, and bits and pieces of it exist; I don’t know when that’ll come together, though. so… yes, someday. :)



Thanks for a great video. You’re an inspiration for all those who believed in Activities but were just a little confused.

P.S. Thanks for the great audio this time.



Chani says:

:) you’re welcome :)
I turned the volume up to maximum this time – *after* recording the whole darned thing at minimum! it seems my mic volume setting isn’t restored properly after I reboot. :P



Oh yeah, I use multiple monitors too. Interested to see what this is like.



Great stuff there! Liking the functionality and now we really need a few UI-side improvements (like drag and drop suggested above) for window association.

By the way, is the option to be associated with an activity remembered for that window only, or for the entire application as a whole? (eg: opening a new dialog box within the app, or closing and reopening the app)



Chani says:

window only… but windows with a parent-child relationship may be tied together (I followed the virtual desktop logic in many places, but haven’t got around to testing every case).

personally, I often have a dozen okular windows and a half dozen konqueror windows that belong to 3-6 different projects; it wouldn’t make sense to tie them all together.

also, the setting will be lost when you close the window or log out, simply because I didn’t have time to investigate saving such things. :( that’ll change eventually, of course.



Saleel says:

derp. You might have answered this already, but how does the hiding/assigning windows to activities, work with autotabbing similar windows? why not automatically pause activities when not focused?

I really like the video, and it seems like this activities stuff will majorly effect both kwin and plasma workflow. awesome job.



Chani says:

windows that are tabbed together will be forced to share the same activities.

automatically closing activities is not something I want to try yet, because when windows *do* close with them, they might not restore perfectly (I still have some apps that don’t restore on login, even).
it might be something worth trying on netbooks.. just… not yet :)



KenP says:

this video makes activities clearer than what was in my head. however, as Marc pointed out, location awareness will be a killer feature, if implemented.

other than that, i am still struggling to see what and how activities can benefit over, say, virtual desktops.

also, has this concept of ‘activities’ got anything to do with what they are doing with gnome 3.0?



Chani says:

this post might help you understand why I kept activities and virtual desktops separate.

4.5 is still just the most basic of basic activity features; ohhh, how I wish someone would just pay me to work on this full-time. :)

as for gnome shell… short answer: no. :)

long answer: as far as I can tell, their definition of “activity” has been wandering between application, window, virtual desktop, and.. something that sounds like it’s halfway between recent-documents and my concept of activities.
However, the last thing I read suggested that we could have some things in common, so I really ought to get in contact with those guys when I find some time, and see if we can collaborate on any standards.



KenP says:

thanks. i guess when 4.5 is released, it will become easier to move from virtual desktops to activities!



Ivan says:

Gnome Shell (apart from being also a new application/document launcher) is just a virtual desktop easy-add-and-remove thingie.

KDE (in the forthcoming 4.5) has ‘+’ and ‘-‘ buttons in desktop grid effect which do the same thing GSH does.



KenP says:

awesome. i am a kde-fanboy so let me say: when kde introduces a concept it is complete from form to function. sadly, can’t say the same for other DE’s. thanks for all the great work.



KenP says:

sorry, the last sentence in my previous post shoud read: is this concept, in any way, similar to what gnome 3 is doing with their ‘activities’ (no pun intended) ?



Siv says:

Great job! The possibility of starting and stopping activities is great!



Fri13 says:

Yes, that is very nice feature. And because there is windows linked to activity, I think it could be awesome in KDE SC 4.6 that when you pause the activity, the applications programs in them are paused as well (Ctrl+Z) to sleep.

That is something what I now dream because think about activity of code compilation, music playing, video playing or even games running. You could easily just pause all them as you would be working on powerfull shell.

That just gets me so fascinating about the activities now. And if there comes the place detection (SSID of the WLAN etc), then thinking how you would close the laptop screen in morning, jump to car and drive to school/work and when you open the screen, it automatically switch to that place activity (unvisible) and pauses the first activity.

I can come up very different scenes with that. You play game in home and when you go to school, it has school activity. Or when you leave from home. The social widgets and others -activity is turned to bling-bling to show others how awesome KDE SC really is! :-D



Chani says:

huh, I never thought of ctrl-z. neat. I wonder how modern apps react to being paused that way…

I was thinking of doing a full close of the app, with session management.



Fri13 says:

I believe there is no problems at all as long there is no other process what would need the paused process and because of it, it would just give error.

I use a lot the pause function. Like on browsers, video editors, image editors, compiling (-j 2), archiving (ark). Only problems what I have found have been with Skype what loose the connection, what is very natural actually. To wget, kget or ktorrent it has no effect at all. Same thing has gone for games. like OTTD (Open Transport Tycoon Deluxe), Spring (RTS engine) and NeverWinter Nights. No need to spend any CPU time for those softwares when no need.

As far I have used, you can use it well as long you focus it to mother process of the program.
The side effect of course for that is that when pausing program what has GUI, the GUI does not update anymore. But that seems to happend when using Ctrl+Z from CLI.

I just tried first time the process manager from KRunner. You right click the process -> Send Signal (STOP). And the screen will stay as it were. When wanted to continue program, same thing but choose the “Continue”. I even noticed that when I stopped Dolphin and then I clicked few times wanted folders and it did not react to them but it was just okay until I continued it and it worked like nothing happened.

But I got wied function now. If I pause open Dolphin window. Then I start new one. It starts as zombie. And when I continue the paused dolphin, they both get merged. What seems to be something to do with the Dolphin itself. Because it does not show different PID for different process. Not even in htop/top. Even konqueror gets own processes for every tab and window. But Dolphin has only a single process. Very wierd.



Wow, I’m liking this very much! It *almost* makes me get the SVN ebuilds and compile the beta ;)

Sooooo, by pausing an activity, it would remove it from the memory and store it on the disk? No CPU nor RAM usage?

BTW, are we talking about “Contexts” or “Activities” here? That’s still a bit confusing.

@Fri13: I agree. Pausing the applications together with the activity would be cool :]



Aaron Seigo says:

“by pausing an activity, it would remove it from the memory and store it on the disk? No CPU nor RAM usage?”

correct.

“are we talking about “Contexts” or “Activities” here?”

Activity is what you are doing, Context includes what you are doing, but also where you are, who you are, etc. So context is a superset of Activity, but we’re using Activity to drive this since it is the thing that changes what tools you need the most.

There is interplay between other parts of Context and the Activity; e.g. where you are might help the computer filter your Activities for you (e.g. “I’m in the office now, so automatically switch to my work activity when I first log onto the network there.”)

That will be the next steps in research and devel we’ll be looking into in the future.



Kyrre says:

Thank you for making this great webcast. The kde team are working hard, and its also important to present news also. This is a good way.



@Aseigo:
OK, thanks for explaining.

Überkool about the pausing! :D

Now if/when KDE SC implements the application auto-sleeping via an Activity-pause, it’ll be a(nother) killer feature! :D



AhmedG says:

Wow, this is all very neat stuff thanks for the video and thanks to everyone for all the information in the comments.

I do have some questions though:
-What is the end game for this? Are the changes to activities planned out to eventually lead to a specific idea in the developers minds or are all these changes happening spontaneously based on need or interest of certain developers (all with the goal of making it better of course).

If indeed there is some sort of roadmap, is there some place I can get a look at it?



Chani says:

read my other blogs on activities :) in one of them I actually laid out a theoretical roadmap, iirc… I wonder how closely I’ve been keeping up with that…

I may also try to write a more coherent design doc t some point.



Some1 says:

Just a quick note for Chani : in the activity I think it could be useful to have the possibility of selecting a work directory (for all the applications).

Use case : right now I’m working on a project and getting mad each time I must open a file because the file selector opens the default directory ! For Save that’s less important as it remembers the last directory used (but having it right already for the first time it’s used would be nice ^^ )



Comments are closed.

et cetera
%d bloggers like this: