Move Activities features into Workspaces and ultimately remove Activities
Closed, InvalidPublic

Description

Currently, as I see it, Activities is mostly a pointless gimmick feature (no offence) in Plasma if you use non-KDE applications (both because non-KDE Apps don't get relaunched the intended way when starting up shut-down Activities and because it's barely mentioned as being a feature), and it'd be a whole lot better being partly merged into the workspaces feature (with the non-merged stuff going bye-bye permanently). Plus, if it means features like monitor wallpaper spanning officially being in Plasma finally, it'd make so many people happy, sacrifice aside for that.

That tangent aside, Activities have a bunch of good features that I don't want to see removed, but rather merged into places they'd work better in:

  1. Move the desktop background changing to be a feature across different virtual desktops instead of across different activities (and therefore different monitors) - this could work hand-in-hand with https://phabricator.kde.org/T12620
  1. Allow all the virtual desktops to have the application session saving functionality of Activities, when Desktop Session -> Session Restoring on logging into Plasma is turned on. (if it doesn't already behave this way)
  1. (silly idea that could be pretty cool to have) Allow workspaces to be 'Set Aside', akin to Classic Microsoft Edge's feature of the same name (this would essentially be like shutting down an Activity and would allow people to keep certain workspaces out of the way for later use)?
The-Feren-OS-Dev triaged this task as Wishlist priority.
The-Feren-OS-Dev renamed this task from Move Activities features into Workspaces and ultimately ditch Activities to Move Activities features into Workspaces and ultimately remove Activities.
The-Feren-OS-Dev updated the task description. (Show Details)

I'm a huge fan of Activities, so this is an interesting thought experiment, especially if I disregard the merit of removing Activities or not and jump straight to how it would work.
First off I'll start mentioning how I usually define Activities to make them easier to grasp:

I like to use a multiverse analogy where each Activity is a parallel universe. Universe 1 could have four planets (Workspaces), and those same planets appear in their exact same locations in Universe 2, but everything/everyone inside each planet is a little different from Universe 1 (window placement, panel, wallpaper, widgets). You would then be a multidimensional traveller, switching between both Universes (Activities) at will.

Activities currently:

  1. have only centralized management
    • you change one workspace, it works for all workspaces in the entire Activity
    • they always have the same number of workspaces
      • therefore no need to set the number of workspaces for each Activity
  2. can differentiate semantic usage of one's desktop (so Work, Play, Research etc)
    • you can "pause" programs once you switch between Activities
    • you can save program sessions once you switch between Activities
  3. allow for different settings
    • layout
      • Latte panels/docks
      • widgets
      • wallpaper
    • configs
      • privacy settings
      • window rules

So it's generally a matter of determining which features to keep.

I see the following obvious implications if both are merged, though.
In an ideal merge that reproduces as many features provided by Activities as possible, you'd likely need to:

  1. have both centralized management and individual management
    • always two options available through the GUI, change something for one or all workspaces
      • it could be desirable to use current behavior (change one, changes all) as it's lazier
      • it could be desirable to users if they can customize each workspace's settings and layouts
        • Feren's Point 1 is part of this.
  2. be able to differentiate semantic usage of one's desktop
    • no idea how to distinguish between Work and Play if both are merged
    • no idea how the "pause" functionality that Edge has works, but Feren's Point 3 seems to adress pause
    • to me it sounds like the current Save session function available on most DEs, but Feren's Point 2 seems to adress save
  3. allow for different settings
    • layout that's the whole point of the merge and the most desired feature
      • Latte panels/docks
      • default panel [?]
      • widgets
      • wallpaper (as stated, Feren's Point 1 is this)
    • configs
      • privacy settings (no idea how to implement this or if it should be implemented at all)
      • window rules (no option for Activities window rules, only Window/Application window rules which already exist, also possible redesign of KCM)
The-Feren-OS-Dev added a comment.EditedAug 31 2020, 6:49 PM

So my current ideas are:

  • Have the names of Virtual Desktops be more prominently shown by default (enable the name OSD, etc.)
  • (maybe) have privacy settings work on a per-Virtual-Desktop basis if users really need it, otherwise make it into a general Privacy KCM
  • Make desktop backgrounds be simply swapped to on a VD basis rather than Activities basis
  • Get rid of the Activities switcher (just use Desktop Grid/Cube/etc. Effects)
  • (maybe) Make desktop backgrounds, and the overall VD's Desktop Layout, be spanned across all monitors when there's multiple monitors.
  • Have Latte have its current Activity-specific changing be VD-specific changing
  • Allow 'Setting Aside' Virtual Desktops (literally the 'Shut Down Activity' feature in a shellnut but adapted to be for doing the same to Virtual Desktops instead)
  • Allow for applications to start in their current workspaces if Restore Session on Startup is enabled (if not already implemented)
  • When making a new Virtual Desktop, make it clone the configurations (and map Latte's current layout to also being used on that new workspace too), of the currently active Virtual Desktop, or the last Virtual Desktop in the list before that one's creation, to make sure that people who don't want the Activities aspect of these Virtual Desktops aren't alienated by a Virtual Desktop they make suddenly looking like the default configuration for Plasma rather than their own customisations to Plasma
  • If no customisations are made to that new VD, have it sync its configs, until changes are made to that new VD, with the VD it got its configurations from when it was created
  • Replace the Activities... options in Plasma with shortcuts to the appropriate Desktop Switcher effect.
  • (maybe) have the option of different pins, etc be there for different Virtual Desktops if there's enough demand for that
ngraham closed this task as Invalid.Mar 7 2022, 2:45 PM
ngraham added a subscriber: ngraham.

Urgh, I didn't know about this when I opened https://invent.kde.org/plasma/plasma-workspace/-/issues/35. Since that exists and has more discussion, let's close this and migrate the conversation there. Sorry about that!