← Back to team overview

unity-design team mailing list archive

Are Workspaces the right model?

 

Hi!

Workspaces
----------

The purpose of workspaces is having a means of organizing windows in sets and making it simple and fast to switch between them. Making one set visible means hiding all others (except when going into an overview).

Each workspace holds a set of windows in a specific layout.

If you want to have a specific window on all workspaces, you either need an "on all workspaces" or an "always on current workspace" feature. You are out of luck, if you want one window on some workspaces.

Conceptually, having a single desktop background, including icons, requires a background layer below the workspace layer.


Just Sets
---------

An alternative to the workspace metaphor is dealing with sets of windows directly. No switching between semi-physical workspaces, just showing and hiding of sets of windows.

While it's likely preferable that selecting one set hides the others, selecting several sets to have all their windows shown can be allowed without stretching the metaphor.

The equivalent of "on all workspaces" or "always on current workspace" could be having one always present set, which could also hold the background and panel.

Set membership could/should be non-exclusive. So instead of an always present set (aside of background and panel), there could be a "include in all sets" feature.

In addition to sets, there could be layouts. Each set would default to a manual layout, but allow switching to automatic tiling layouts. Currently, getting to screen filling side-by-side layout is bearable thanks to the snapping feature, but a top/bottom split is *work*. Either could be had without any dragging, by having a single command to cycle through layouts (or several commands for switching to specific layouts).


Stacking
--------

Currently, z-order and minimization are separate affairs, the desktop is very special and show-desktop is a special command.

What if the desktop would be treated more like a regular window, with a place in the z-order that is not fixed to always-bottom?

Minimization could be replaced with falling to below the desktop. Show-desktop would be just raising the desktop to top. Restoring windows would be just letting it drop to bottom again. You would probably want a special rule to *not* automatically raise the desktop when it receives focus, though.

Hiding a set would be dropping the collective z-order to below the desktop. The z-stack would contain a little bit of history of set-selection, then. That selecting a set would lead to dropping the previous top set to the bottom and making sure the desktop is right below the selected set is admittedly a little complex of a story :)


--
Thorsten Wilms

thorwil's design for free software:
http://thorwil.wordpress.com/



Follow ups