Supongamos que estoy usando 4 espacios de trabajo y, por cierto, necesito más, ¿hay un proceso automatizado o, si es imposible, una manera fácil de agregar más espacios de trabajo (en lugar de instalar, Ubuntu tweak
etc., etc.)?
14.04
unity
workspaces
automation
workspace-switcher
panico kernel
fuente
fuente
Respuestas:
Establecer automáticamente el número de espacios de trabajo; agregar y eliminar columnas y filas, según sus necesidades
Debajo de una versión de (la) secuencia de comandos de fondo que agregará automáticamente espacios de trabajo si ingresó la última columna o fila de su matriz de espacio de trabajo.
Así es como funciona:
Si llega a la última columna o fila, se agregan ventanas gráficas adicionales:
Si sus espacios de trabajo no se utilizan durante 5-10 segundos y no hay ventanas, los espacios de trabajo adicionales se eliminarán nuevamente. Sin embargo, siempre mantendrá una fila adicional debajo y una columna adicional a la derecha de su ventana gráfica actual:
La secuencia de comandos:
Cómo utilizar
add_space.py
En la sección de encabezado del script, edite las líneas si desea otras configuraciones (número máximo de espacios de trabajo, matriz predeterminada, por ejemplo, 2x2):
Prueba: ejecútelo con el comando:
Si todo funciona bien, agréguelo a sus aplicaciones de inicio: Tablero> Aplicaciones de inicio> Agregue el comando:
Nota
Como siempre, el script es extremadamente "bajo en jugo" y no agrega ninguna carga notable a su procesador.
Explicación
La historia a continuación es un poco complicada y en su mayoría es una explicación sobre el concepto y el procedimiento , en lugar de la codificación. Solo lee si te interesa.
Cómo calcular los espacios de trabajo necesarios (columnas de ejemplo)
La salida de se
wmctrl -d
ve así:En la salida,
VP: 1680,1050
nos da información sobre dónde estamos en el espacio de trabajo de expansión (la matriz de todas las ventanas gráficas). Esta información solo es útil si también tenemos la resolución de la pantalla, ya que, por ejemplo,1680
podría ser el ancho de dos (poco probable, pero aún) o una vez la pantalla.Afortunadamente, podemos analizar la resolución de la pantalla desde el comando
xrandr
.Entonces, si sabemos que el tamaño x de la pantalla es
1680
y actualmente estamos encendidosVP: 1680,1050
, sabemos que estamos en la segunda columna de la matriz del espacio de trabajo. Como también conocemos el tamaño de la matriz total (DG: 3360x2100
también de la salida dewmctrl -d
), sabemos que la matriz actual incluye dos columnas (3360/1680), y estamos en la "última".El script luego enviará una instrucción para agregar una columna a la matriz mediante el comando:
Este es el principio.
Cómo calcular los espacios de trabajo para eliminar (columnas de ejemplo)
Una vez cada 10 segundos, el script ejecuta el comando para enumerar todas las ventanas abiertas actualmente, con el comando:
Esto también nos da información sobre la posición de la ventana, como:
En la salida,
3425
es la posición x de la ventana. Sin embargo, esta cifra es relativa al espacio de trabajo actual (lado izquierdo). Para conocer la posición absoluta de la ventana (x-wise) en la matriz de espacio de trabajo, debemos agregar el primer número de la información de la ventana gráfica actual (pVP: 1680,1050
. Ej. , De la salida dewmctrl -d
).Sin embargo, por razones de simplicidad, supongamos que estamos en viewport
1,1
(topleft viewport), por lo que la posición relativa de la ventana es igual a su posición absoluta.Dado que la resolución de la pantalla es
1680
, sabemos que la ventana está en la columna3425/1680
, redondeada, ya que todo lo que3360 and 5040
está en medio está en la misma columna en la matriz (entre 3 y 4 veces la resolución). Para el cálculo adecuado usamosmath.ceil()
(python
)Dado que el script también practica la regla de tener siempre un espacio de trabajo adicional a la derecha / abajo, debemos establecer el número de columnas con el valor más alto de:
Y así lo hace el guión :)
Las filas se gestionan exactamente en el mismo procedimiento.
fuente
Técnicamente, no existe un acceso directo para cambiar el tamaño de los espacios de trabajo, pero puede usar el script simple a continuación y vincularlo a un acceso directo.
.local/share/applications
carpeta o donde prefiera.chmod 755 /path/to/script
Por ejemplo, tengo esta configuración:
El guión está obligado a ShiftCtrlAltI. Pero CtrlAltIpodría funcionar también. Doy la ruta completa al guión, que es
Y así es como debería verse:
Guión
Muy simple de usar, muy simple de configurar
fuente