Una cosa a decir es que uso gnome como escritorio ( aunque creo que funciona todo en kde. Ya direis si es así)
Lo primero es asignar atajos de teclado que sean de facil acceso y comodos para cambiar entre escritorios virtuales, los ya consabidos workspaces ( viewports en compiz).
yo personalmente para cambiar de uno a otro uso esta combinacion:
Alt+numero_de_workspace.
y Para llevar una ventana a un escritorio concreto:
Ctrl+Alt+numero
Como yo no uso compiz, este es el modo de activar metacity como composer del escritorio.
gconftool-2 —set —type bool /apps/metacity/general/compositing_manager true
Podeis tambien usar gconf-editor.
Esto mejora algunos aspectos de la apariencia como son ventanas con sombra (dando un aspecto de 3d) y transparencias (utiles sobre todo para usar docks como awn , cairo-dock, etc)
Ahora algo que quizas algunos no sepan.
Para no liarme con las ventanas ( unas debajo de otras) sobre todo cuando tienes JackControl, Qsynth, Ardour, Rosegarden, jkmeter, Jamin, Patchage, Rackarrack, Hydrogen, etc abiertos al mismo tiempo, envio las ventanas de cada programa a un escritorio diferente.
Pero no vayais a pensar que lo hago manualmete, de uno en uno, cada vez que los lanzo, no.
Existe una aplicacion llamada devilspie ( El pastel del diablo ) que lo hace automaticamente cada vez que se lanza una cierta aplicacion.
El modo que tiene de saber lo que hay hacer con cada aplicacion es leyendo unos pequeños scripts ( con su propia sintaxis) que se guardaran en ~/.devilspie.
Por ejemplo para mandar Ardour al escritorio 2 y que se maximize. el script seria ~/.devilspie/ardour.ds
(
if
( is (aplication_name) "Ardour")
(begin
(set_workspace 2)
(maximize)
)
)
Los condiciones son anidables se pueden crear grupos or y and y ... bueno mas cosas.
Por ejemplo yo uso dos monitores. Y ardour suelo poner en el escritorio 3 con el editor en el primer monitor (1440x900) y el mezclador en el monitor de la derecha, ambos maximizados.( Pero evitando que se maximizen el resto de ventanas de Ardour)
Este es el script que uso para ardour
(
if
(and
(is (application_name) "Ardour")
(not (contains (window_name) "Control"))
)
(begin
(spawn_async 'notify-send --icon=ardour "Ardour" "en escritorio 3"')
(set_workspace 3)
(if
(contains (window_name) "- Ardour")
(begin
(if
(contains (window_name) "Mezclador")
(begin
(geometry "+1500+10")
)
)
(maximize)
)
)
)
)
Os dejo aqui un enlace muy util y sobre todo muy completo , ya que su "man" se queda corto.
http://foosel.org/linux/devilspie
Espero que os sea util.