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 -d
para 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
wmctrl
puede cambiar la vista dentro del escritorio de todos modos. Vea mi respuesta a continuación.compiz-send.py
en su carpeta de inicio.python compiz-send.py vpswitch switch_to_5_key
para asegurarse de que funciona correctamente. Debería cambiarte al espacio de trabajo central.Si funciona, cree un archivo llamado
.switch_to_center_workspace.sh
en su carpeta de inicio y pegue lo siguiente dentro de él:reemplazando
user
con 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 exist
sleep 5
parte de la secuencia de comandos a un número mayorsleep 10
para 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 -d
resultado (por espacio de trabajo) se ve así:0 * DG: 4098x768 VP: 0,0 WA: 0,24 1366x744 Workspace 1
0 * DG: 4098x768 VP: 1366,0 WA: 0,24 1366x744 Workspace 1
0 * DG: 4098x768 VP: 2732,0 WA: 0,24 1366x744 Workspace 1
De 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,0
Solo 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 -o
comando directamente con losVP
valores 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