Make one system - Virtual Desktop or Activities

I think I remember seeing this exact same layout three times (not counting mine), one of them being an Activities dev. I’m surprised nobody tried to implement it yet.

It’s functionally similar to psifidotos: Activities and WorkAreas [Draft] too. The main difference is that psifidotos’ had vertical VDs rather than horizontal.

That could be done the same way we currently hide virtual desktops: by having the “pager” be present by default, but not show it unless there’s more than one.

1 Like

Yes, the idea is not mine. I just like it and have tried to spread it.

I think what you are proposing is elegant, but I think it will make it harder to discover activities. I’ve seen plenty people commenting a post on Reddit about activities, saying that they had no idea such feature existed until reading about it.

That’s why I like the idea of showcasing it when the user triggers the Overview function, and to let them disable it in the settings if they don’t find any need for it.

Yeah, I don’t like the idea of hiding it by default either. Just saying it can be done that way.

Also I’m sorry, I didn’t mean to make a statement on who did what. I meant to say that if multiple people have thought of similar things then KDE should probably pursue it.

This topic will run forever…
It’s still a cool idea to have everything in one Activity (Default) and then for the Pro users to have a very different setup for the next Activity

No worries, I’m glad that you have an interest in activities and are contributing.

People seem to like the mockup about the introduction of Activities in the Overview. This is already something actionable in a feature request somewhere — where? —, and we could just make a recap of the proposals in this topic to complete such request. I still think there must already be, somewhere, a feature request like this, because it is a long standing issue, but maybe I’m wrong.

Hi,
I’m kde user for lot of years and have a multi monitor setup of 3 monitors in portrait mode for years. In the days when Graphiccards had only 2 outputs I started with dual graphic card setup and Xinerama.
I loved Xinerama for providing a single desktop that spans all monitors (skipping the technically details and focus on user experience only).
With that setup I could maximize a window to the whole desktop - the monitor borders seemed not to exists - and I love Xinerama for that behavior.

I heavily use virtual desktops in the sense like @krake does - to separate windows into tasks and let the windowbar just show the windows of the current virtual desktop.
In the former days I placed some images on the desktop, that I often used.
When activities came up, that images disappeared. I could see them in the activity selector, but could not bring them to screen.
So I started to hate activities and wherever I found an option about activities, I disabled activities.

Today I read all posts from this discussion and from the posts of @krake I understood the sense of activities for the first time!
… and how my work could benefit from it. Amazing!
Guess I need some time to figure it out completely.

Nowadays where Xinerama is dead, I miss a lot of things provided by Xinerama:
First of all: the behaviour of a single desktop that spans all monitors.
I understand, that monitor limits have some importance as xrandr supports very fancy monitor setups.
But I’m convinced, that I’m not the only user of multiple monitors of the same size and organized in same direction and orientation.

So please add at least an option to screen config, whether desktop should be monitor based or screen based.
I heavily use maximize window in one direction. Doubleclick at titlebar maximizes vertically and right click on maximize icon grows the window horizontally.
I use lots of konsoles organized in windows of fixed size and location and subwindows.
Viewing scripts or other sources I need to (temporarily) maximize the konsole vertically and on examining logfiles I’d like to maximize the konsole horizontally.
Actually maximizing windows horizontally brings the window to monitor width, even if the window already is wider than the monitor. That is really really annoying.

Actually I use SuperPaper to get the illusion of a single desktop spanning all monitors. I’d love kde doing it on its own!

And last not least: I would like to have each virtual desktop have its own backgroundimage, so I could identify the area where I’m in - even with lots of windows opened.

1 Like

Same! I reboot often, after every upgrade and that a bit frustrating to have all this windows popping out! ^^

And I liked reading your posts and comments.

My point of view is that it’s hierarchic:

  • tilling: space micro management ( like code and logs side by side )
  • virtual desktop: space macro management ( like coding and tchat with the team )
  • activity: logical separation of concern ( like work and home ).

Thanks everyone :slight_smile:

1 Like

I am noticing this project seems currently unmaintained. It still works fine but I’m worried it’ll stop working at some point. This gives such an impressive QoL improvement for Firefox users who use Plasma Activities (and contribute to show the power Activities themselves) that I wonder if KDE devs should start looking into it, making possible an official / core add-on?

Matija is, likely among many other things, also a KDE developer :slight_smile:

The tool is likely just in a state in which it needs little attention.

2 Likes

Like the activities thing would be actually nice if you had multiple rices (if you’re that kind of person) and could just easily switch between them depending on your mood. This could also work… if you don’t like Koi/etc. to switch from light/dark with changing backgrounds.

I don’t use either of them so I’m not really anybody to judge, but…

Until a couple of years ago I used lightweight desktops or even just WMs. When I noticed that Plasma runs smoothly on an old dual core Skylake I switched to it.

One of the first things I stumbled across was the lack of being able to set different backgrounds per virtual desktop as I was used to on XFCE. How could it be that such a simple thing isn’t possible in such a big desktop environment? I found out that folks asking about
the feature were pointed to Activities. So I tried this but it didn’t make sense to me and it wasn’t what I looked for.

A lot later I found out about Tiles and was very happy to easily be able to unclutter the desktop. I happily tried to unclutter the second desktop just to find out that it had the same
Tiling as the first one. I didn’t want to believe it, so I thouhgt perhaps it is an Activities thing again. But no not this time. While one can change the background, there was just a single global Tiling. Now this was changed to a per desktop Tiling recently in 6.4, so the feature became useful.

Still it just doesn’t make sense to me that there is exactly the same number of desktops per Activities. It doesn’t make sense that if you change the Tiling in one Activity it is changed in all other Activities since the desktops are the same except for the background and maybe some
other (let’s have a guess) things. It also doesn’t make sense that if I try to start Kontact inside Activity B on desktop 2 it brings me straight to desktop 3 of Activity A since Kontact was already running there. (If I would be inside Activity A then ok.)

Being a software developer near the end of my career I think I understand all of these things, but this isn’t the point. If even the basics don’t work the way I’m able to understand them (as user) then I ignore the whole feature. Saved me a lot of time.

I guess this is for consistency with virtual desktops.

When you activate an already existing application window the activation takes you to that window instead of taking the window to you.

For such central applications like email I can recommend setting them to available in all activities.

I do that for KMail (on PC) and Kontact (on laptop) and I know it will always be on desktop 2, regardless of activity.

When I get an email I can simply switch to it, read the email and then switch to the activity most suitable for handling it.

This isn’t what I tried to explain. I didn’t want to take a window to me nor to show the same window again. What we need is a different window (of the same application). This is because we are (assuming to be) in a separate activity and hence we don’t want to change the window’s content in any of the other activities but the current one.

Suppose we have 3 different applications: Kontact, Kdenlive and (as a non-K one) Firefox. Each of these applications behaves differently. Kontact doesn’t give you a different window at all, Kdenlive and Firefox do, but if you Quit (Ctrl+Q) Kdenlive closes the respective window while Firefox closes also all windows in whatever activity (I read about the workaround to use a different profile - but workarounds are nothing but a confirmation that it does not work).

Now, my point is: since applications do not go along with the idea of activities such a feature can’t work and a desktop environment can’t do anything about it. Hence it shouldn’t try to pretend otherwise.

Instead, one would offer virtual desktops. Then if one needs more of these desktops than one can handle, the next natural thing would be to offer to group them. One could give such groups names like “Surfing”, “Writing”, etc. So are these groups the same as activities? No not really because an activity doesn’t give you different virtual desktops. These are just the same duplicates in all the activities, and this is where I think the confusion comes from – not just among the users but probably in the implementation, too.

But what about the cool things like wallpapers, widgets and locations that are associated with an activity? Well wouldn’t they all belong more naturally to a virtual desktop? Having these as properties of the virtual desktop one can also apply these to all the virtual desktops of a group at once.

i think what you are calling for is exactly what nate proposed

Under the hood, each activity would have completely separate ~/.config/, ~/.local/share/, ~/.local/state/ folders, and apps launched in each activity would look in activity-specific versions of those folders.

in that way is more alike a separate user for each activity without having to logout

each “user” would still have their own set of virtual desktops, configured to suit that activity along with their own set of applications, each doing their own thing independently.

unless you wanted them to be connected, in which case you could point then at a global set of defaults, or one of the activities as the default for all activities.

and the bonus is, out of that work, we would likely get a robust set of tools to manage KDE settings with archive, share and restore capability.

but first the team got distracted by their plasma 6 work and now the new shinny is the immutable distro, so who knows when they will get to this work.

1 Like

If I understand correctly it looks more like nate proposes to fix activities. I tried to show why this wouldn’t work (even if you get the K applications to respect activities when running under Plasma). What I suggest is really as simple minded as grouping virtual desktops. It’s just like creating a group of tabs inside a web browser.

Most applications will do exactly that.

Kontact is a bit special in that regard as it can only launched onces.
Mostly a legacy decision from the time when its KMail component was handling email servers directly and having only one instances made data integrity more robust.

Contemporary KMail could be made to allow as many instances as you’d want and/or you could run several different email UIs at the same time.

It is not a workaround if you want activities to be independent.
Profiles are essentially Firefox’s implementation of activities.

Many applications actually support this concept, so it is probably more a matter of how to tie those together in a more convenient way.

I think it is the other way around.
A lot of applications support the concept of activities, though the might call them profiles or sessions, projects, etc.
A desktop environment with similar capability can then help to orchestrate these.

Virtual desktops already exist. This is not an either/or choice.

Activities do essentially that. Each activity is its own group of virtual desktops.

Yes, they do.
They (currently) just don’t give you a different number of virtual desktops.

My main/private activity has different (fancy) wallpapers for each monitor, my work related ones have the same (simple) wallpapers across all monitors but each one has a different image.

My main activity has a classic “icons on desktop” configured showing the user account’s “Desktop” folder, the others have folder views with activity specific folders.

All have a “sticky notes” applet but obviously with different content.

The work related activities have certain similarities, e.g. positions of applets, however that is because I’ve configured them this way for consistency. I didn’t have to.

That is what activities do. Their virtual desktops are a group, one per activity. Making changes applies to all virtual desktops in that group but none of the others.

yes, the proposal is to fix (finish) Activities so that it does more of what is promised.

not only would you be able to have separate instances of all your applications, but they could each have separate settings and defaults that were specific to each activity.

your kmail for work would keep track of your work emails, and you kmail for dodad collecting would keep track of those emails.

firefox, as @krake points out, already has this ability using profiles… it just needs a more formal connection to plasma activities.

virtual desktops are more akin to just having a larger desk to lay your work out on… and right now, tho you can customize the look and widgets on your 3 virtual desktops in each activity, you cannot say have 2 virtual desktops in one activity and 6 virtual desktops in another.

that would be fixed if each activity had their own .config and .local settings to look to.

Doesn’t look so. They are the same - from a user point of view since they happen to have the same name and tiling layout - but also technically they seem to have the same pointer/ref as i can see when playing a bit with the KWin Script console

print(workspace.currentDesktop);

gives something like

Sep 12 16:43:19 gremlin kwin_wayland[1211]: js: KWin::VirtualDesktop(0x55af221d80e0)
Sep 12 16:44:23 gremlin kwin_wayland[1211]: js: KWin::VirtualDesktop(0x55af2248b530)
Sep 12 16:44:35 gremlin kwin_wayland[1211]: js: KWin::VirtualDesktop(0x55af221d80e0)

The 0x.. are the same for the virtual desktops in any activity.

Maybe. Personally i would never use different profiles. This is all too complicated to me.