Preciso de um comando no Linux (meu gerenciador de janelas é o fluxbox) que forneça o espaço de trabalho atual como saída (se possível, uma saída simples, pois preciso dessas informações para um script python).
Verifiquei o man (manual) do fluxbox e ele dá pouca informação, e ao pesquisar online só explicou como fazer em outro gerenciador de janelas.
Responder1
fluxbox
éEWMHgerenciador de janelas compatível e isso significa que podemos usar ferramentas para wmctrl
interagir com ele. Para encontrar o espaço de trabalho atual:
$ wmctrl -d | grep '*' | cut -d ' ' -f1
man wmctrl
diz:
-d Lista todos os desktops gerenciados pelo gerenciador de janelas. (...) A segunda coluna contém um caractere '*' para a área de trabalho atual, caso contrário contém um caractere '-'
EDITAR: Acabei de verificar se você pode nomear um espaço de trabalho como um único arquivo *
. Nesse caso, o comando acima retornaria dois resultados. Usar awk
:
$ wmctrl -d | awk '{ if ($2 == "'*'") print $0}'
Responder2
atalho para @arkadiusz-drabczyk está usando este código
$ wmctrl -d | awk '$2=="*"'
explicação errada:
'$2=="*"'
, awk terá esse padrão- print é a ação padrão para awk, é como
{print $0}
, então não precisa escrevê-lo, a menos que queira imprimir um argumento específico, como as primeiras palavras com$1
mais detalhes sobre o padrão neste link:https://www.gnu.org/software/gawk/manual/gawk.html#Pattern-Overview