unity-design team mailing list archive
-
unity-design team
-
Mailing list archive
-
Message #06990
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