Gracias a Marco, he descubierto una forma de usar wmctrl.
Debido a que los espacios de trabajo compiz son en realidad la vista de un solo escritorio, la solución es mover la vista actual para cubrir la región central del escritorio.
Primero, llame wmctrl -dpara obtener la información del escritorio actual:
read desktop_id _ast \
DG_ geometry \
VP_ viewport \
WA_ wa_off wa_size \
title \
< <(LANG=C wmctrl -d | grep '*')
geom_w=${geometry%x*}
geom_h=${geometry#*x}
# The workarea size isn't accurate, because the top/bottom panel is excluded.
viewport_w=${wa_size%x*}
viewport_h=${wa_size#*x}
rows=$((geom_w / viewport_w))
cols=$((geom_h / viewport_h))
# Fix the viewport size
viewport_w=$((geom_w / rows))
viewport_h=$((geom_h / cols))
Luego, calcule el origen de la ventana central:
center_row=$((rows / 2))
center_col=$((cols / 2))
center_x=$((center_col * viewport_w))
center_y=$((center_row * viewport_h))
center_viewport=$center_x,$center_y
Y mueva la ventana allí:
wmctrl -o $center_viewport
wmctrlpuede cambiar la vista dentro del escritorio de todos modos. Vea mi respuesta a continuación.compiz-send.pyen su carpeta de inicio.python compiz-send.py vpswitch switch_to_5_keypara asegurarse de que funciona correctamente. Debería cambiarte al espacio de trabajo central.Si funciona, cree un archivo llamado
.switch_to_center_workspace.shen su carpeta de inicio y pegue lo siguiente dentro de él:reemplazando
usercon su nombre de usuario.Abra Aplicaciones de inicio, Sistema -> Preferencias -> Aplicaciones de inicio .
Haga clic en Agregar y en el comando: entrada poner
/home/user/.switch_to_center_workspace.sh. Ponga lo que quiera en las entradas Nombre: y Comentario:Cierre sesión y vuelva a iniciar sesión y verifique que funcione.
fuente
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "activate" with signature "si" on interface "org.freedesktop.compiz" doesn't existsleep 5parte de la secuencia de comandos a un número mayorsleep 10para asegurarse de que compiz ya se está ejecutando cuando se ejecuta la secuencia de comandos. Estás usando compiz ¿verdad?Iba a hacer una pregunta similar, pero para 3 espacios de trabajo horizontales y también estoy ejecutando compiz, y el
wmctrl -dresultado (por espacio de trabajo) se ve así:0 * DG: 4098x768 VP: 0,0 WA: 0,24 1366x744 Workspace 10 * DG: 4098x768 VP: 1366,0 WA: 0,24 1366x744 Workspace 10 * DG: 4098x768 VP: 2732,0 WA: 0,24 1366x744 Workspace 1De lo que simplemente usé
wmctrl -o 1366,0( valores de VP ) para hacer que el centro sea mi espacio de trabajo predeterminado al inicio. Puede que no funcione para todos, pero por las dudas;)fuente
sh -c "sleep 2;/usr/bin/wmctrl -o 1366,0Solo una breve nota: estoy usando Natty, y gracias a la respuesta de @ 谢 继 雷, noté que lo siguiente se informa al mover el terminal en cada uno de los cuatro 'espacios de trabajo' en Unity:
... es decir, no son escritorios separados, ni espacios de trabajo, ¡simplemente cambia la ventana gráfica!
Entonces, para cambiar entre esas cuatro ventanas gráficas, simplemente llame al
wmctrl -ocomando directamente con losVPvalores enumerados anteriormente, es decir:EDITAR: Ups, lo siento, acabo de ver que esto es lo mismo que la respuesta de @ wik: fusionar / eliminar según corresponda.
fuente