¿Hay alguna forma de que un script bash busque el nombre del espacio de trabajo actual (escritorio virtual)?
Esto parece realmente útil para cosas como personalizar comportamientos en mi archivo .bashrc en función del escritorio en el que se creó el shell.
wmctrl -d | grep '*' | sed 's/.* //g'
Respuestas:
Puede hacerlo
wmctrl -d
para enumerar todos los espacios de trabajo. El*
representa el espacio de trabajo actual:Entonces, para obtener solo la corriente, grep para
*
:¡Espero que esto ayude!
fuente
wmctrl -d
wmctrl -d
.Viewports en Unity
Si está utilizando Unity , la ventana gráfica actual no se puede recuperar directamente de
dado que Unity tiene viewports, que no son detectados directamente por
wmctrl -d
. La salida mostrará solo un espacio de trabajo:xrandr
)5040x2100
. Eso es 3x2 viewports: 5040/1680 = 3 y 2100/1050 = 2.1680,1050
(x, y)El siguiente script calcula la ventana gráfica actual a partir de esta información:
Usar:
Instalar en pc
wmctrl
Ejecútalo por el comando
Producirá 1, 2, 3 o lo que sea la ventana gráfica actual. Cuenta automáticamente las filas / columnas que puede incluir la configuración de su ventana gráfica.
Explicación
La secuencia de comandos
xrandr
, incluidos los posibles monitores adicionales.fuente
Al menos en el shell Gnome, pero probablemente también en otros WM, puede preguntar directamente al Xserver (si está en Wayland, no tengo idea).
Básicamente, el comando
xprop
volveráy luego puedes masajear un poco la información para obtener lo que necesitas.
fuente
_NET_DESKTOP_NAMES
.