Option to cycle through grouped task manager tasks on activation
This merge request includes two commits which should be reviewed separately and not be squashed upon merging (if it gets merged):
- One to add a new "cycle through tasks" option for the Task Manager's grouped task activation options
- Another to make it the new default setting
Commit #1 implements a common feature request to cycle through grouped tasks when clicking on the group. There are two behaviors depending on the currently active task:
- If the currently active task is not among the tasks of the clicked-on app/grouped task, then the most-recently used task in the group is brought forward.
- Otherwise, the next task in the group is brought forward, ignoring the stacking order, and instead going by the order of the indexes in the tasks model. This is deliberate; cycling through all tasks according to stacking order does not work because the stacking order changes every time a task is activated. Not using the stacking order for this case preserves the cycle order to improve the user's muscle memory when cycling through a large number of tasks.
As a result, it becomes extremely simple with this mode to switch between two recently-used windows belonging to different apps when one or both are in groups in the Task Manager; it takes only a single click! And switching between multiple windows of the same app likewise becomes simple since you don't have to move your cursor from the grouped task icon; instead you just keep clicking until you find the task you want.
As another point, this behavior is used in macOS, elementaryOS, and the most popular GNOME dock extension (including the one shipped in Ubuntu, so adding it as an option here improves people's ability to replicate those workflows in Plasma is they so choose.
Making this option the new default in commit #2 is done because it is ultimately the sanest default as it provides the quickest way to perform the two most common actions for grouped tasks: switching to the last-used one, or hunting through all of them to find the one you want. The "Cycle through task" option allows you to perform both actions with clicks on the same icon, meaning that you don't have to move your cursor or your visual focus compared to using any of the other three methods.