Necesito un comando en Linux (mi administrador de ventanas es fluxbox) que proporcione el espacio de trabajo actual como salida (si es posible, una salida simple, ya que necesito esta información para un script en Python).
Revisé el man (manual) de fluxbox y da poca información, y al buscar esto en línea, solo explica cómo hacerlo en otro administrador de ventanas.
Respuesta1
fluxbox
esEWMHadministrador de ventanas compatible y eso significa que podemos usar herramientas para wmctrl
interactuar con él. Para encontrar el espacio de trabajo actual:
$ wmctrl -d | grep '*' | cut -d ' ' -f1
man wmctrl
dice:
-d Lista todos los escritorios administrados por el administrador de ventanas. (...) La segunda columna contiene un carácter '*' para el escritorio actual; de lo contrario, contiene un carácter '-'
EDITAR: Acabo de comprobar que puedes nombrar un espacio de trabajo como único *
. En ese caso, el comando anterior devolvería dos resultados. Usar awk
:
$ wmctrl -d | awk '{ if ($2 == "'*'") print $0}'
Respuesta2
El camino corto a @arkadiusz-drabczyk está usando este código.
$ wmctrl -d | awk '$2=="*"'
explicación extraña:
'$2=="*"'
, awk verá este patrón- imprimir es la acción predeterminada para awk, es similar
{print $0}
, así que no es necesario escribirlo a menos que desee imprimir un argumento específico, como las primeras palabras con$1
Más detalles sobre el patrón en este enlace:https://www.gnu.org/software/gawk/manual/gawk.html#Pattern-Overview