minimizando e levantando uma janela a partir de um shell script

0

Eu estou tentando executar um script que irá verificar a velocidade da Internet em uma máquina linux com gui, trazer a janela do terminal para baixo e quando a consulta for concluída, a janela virá com a resposta. por enquanto, eu posso baixar a janela, mas não para cima.

    #!/bin/bash
    xdotool getactivewindow windowminimize
    #xdotool set_window --name speedy
    #xdotool set_window --icon-name speedy
    speedtest-cli --simple

    if [ $? -eq 0 ]
    then
    #xdotool windowactivate speedy
    xdotool windowfocus  #speedy
    xdotool key "F11"
    fi

    exec $SHELL
    
por Busted 31.08.2016 / 10:28

3 respostas

4

xdotool precisa saber o ID da janela para todas as suas ações. Você usou corretamente getactivewindow para obter a janela do comando windowminimize , mas também precisa fazer isso para definir seu nome. Então coloque

xdotool getactivewindow set_window --name speedy

antes da linha de minimização.

Então você pode usar search para encontrá-lo para ativar mais tarde.

xdotool search --name speedy windowactivate

Veja as seções de mana Pilha de janelas e Encadeamento de Comando para uma explicação de como tudo isso funciona.

O roteiro inteiro:

#!/bin/bash
# rename the window for finding it again later
xdotool getactivewindow set_window --name speedy
xdotool search --name speedy windowminimize

speedtest-cli --simple

if [ $? -eq 0 ]
then
  xdotool search --name speedy windowactivate
  xdotool key "F11"
fi
    
por 31.08.2016 / 11:04
3

Eu não sei como fazer isso usando xdotool, mas é assim que você pode levantar uma janela usando o wmctrl e mudar para o modo de tela cheia com apenas um comando:

#!/bin/sh
TITLE_OF_WINDOW_TO_BE_RAISED="Tor-Browser"
wmctrl -a $TITLE_OF_WINDOW_TO_BE_RAISED -b add,fullscreen

Também muda para a área de trabalho que contém a janela e a foca. -a aumenta a janela, -b add,fullscreen 'adiciona' a propriedade de tela cheia.

    
por 31.08.2016 / 10:54
0

Para evitar renomear a janela, salve seu identificador em uma variável bash, que pode ser devolvida para xdotool para todas as ações futuras:

#!/bin/bash
WID=$(xdotool getactivewindow)
xdotool windowminimize $WID

speedtest-cli --simple

if [ $? -eq 0 ]
then
  xdotool windowactivate $WID
  xdotool key "F11" $WID
fi
    
por 31.08.2016 / 11:12