Posición en el espacio de trabajo central al iniciar sesión


12

He configurado un conmutador de espacio de trabajo 3x3, y quiero que mi posición esté en la central por defecto. ¿Es posible?

Respuestas:


7

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

6

Sí: instalar wmctrl

sudo apt-get install wmctrl

y cree un archivo ~/.config/autostart/wmctrl.desktopcon lo siguiente:

[Desktop Entry]
Name=Desktop Switcher
Exec=/usr/bin/wmctrl -s 4
Type=Application

1
Solo hay un escritorio en compiz. Pero wmctrlpuede cambiar la vista dentro del escritorio de todos modos. Vea mi respuesta a continuación.
Xiè Jìléi

2
  1. Primero descargue este script de ayudatexto alternativo para controlar compiz desde la línea de comandos. Guárdalo comocompiz-send.py en su carpeta de inicio.
  2. Ejecute el comando python compiz-send.py vpswitch switch_to_5_keypara asegurarse de que funciona correctamente. Debería cambiarte al espacio de trabajo central.
  3. Si funciona, cree un archivo llamado .switch_to_center_workspace.shen su carpeta de inicio y pegue lo siguiente dentro de él:

    #!/bin/bash
    sleep 5 && python /home/user/compiz-send.py vpswitch switch_to_5_key
    

    reemplazando usercon su nombre de usuario.

  4. Abra Aplicaciones de inicio, Sistema -> Preferencias -> Aplicaciones de inicio .

  5. 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:

  6. Cierre sesión y vuelva a iniciar sesión y verifique que funcione.


Desafortunadamente el guión no funcionadbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "activate" with signature "si" on interface "org.freedesktop.compiz" doesn't exist
Xiè Jìléi

@ 谢 继 雷 Cambie la sleep 5parte de la secuencia de comandos a un número mayor sleep 10para asegurarse de que compiz ya se está ejecutando cuando se ejecuta la secuencia de comandos. Estás usando compiz ¿verdad?
Isaías

Intento ejecutar el script en gnome-terminal y obtengo la excepción. Estoy usando compiz 0.8.6.
Xiè Jìléi

En el script, se dice que la firma del método "si" no existe, así que supongo que los argumentos (string, int) pasados ​​para activar () pueden no ser correctos ..
Xiè Jìléi

2

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í:

  • En el espacio de trabajo 1: 0 * DG: 4098x768 VP: 0,0 WA: 0,24 1366x744 Workspace 1
  • En el espacio de trabajo 2: 0 * DG: 4098x768 VP: 1366,0 WA: 0,24 1366x744 Workspace 1
  • En el espacio de trabajo 3: 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;)


El comando que estoy usando en "Sistema -> Preferencias -> Aplicaciones de inicio":sh -c "sleep 2;/usr/bin/wmctrl -o 1366,0
wik

... es posible que deba ajustar el valor del sueño, por ejemplo, pruebe 10, 15, etc.
wik

Gracias por esta nota, lo siento, no lo leí antes de leer tu respuesta :)
sdaau

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:

$ wmctrl -d
# top left
0  * DG: 2048x1200  VP: 0,0  WA: 0,24 1024x576  Workspace 1
# bottom left
0  * DG: 2048x1200  VP: 0,600  WA: 0,24 1024x576  Workspace 1
# top right
0  * DG: 2048x1200  VP: 1024,0  WA: 0,24 1024x576  Workspace 1
# bottom right 
0  * DG: 2048x1200  VP: 1024,600  WA: 0,24 1024x576  Workspace 1

... 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 los VPvalores enumerados anteriormente, es decir:

wmctrl -o 0,0
wmctrl -o 0,600
wmctrl -o 1024,0
wmctrl -o 1024,600

EDITAR: Ups, lo siento, acabo de ver que esto es lo mismo que la respuesta de @ wik: fusionar / eliminar según corresponda.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.