Maximizar um aplicativo com PID conhecido do CLI

2

Eu preciso maximizar a janela de um aplicativo quando ele é minimizado usando apenas a linha de comando.

Então, como fazer isso conhecendo o ID do processo.

Ao trabalhar no comando wmctrl , recebi o seguinte erro:

X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  20 (X_GetProperty)
  Resource id in failed request:  0x6718
  Serial number of failed request:  11
  Current serial number in output stream:  11
    
por Maythux 02.12.2013 / 14:50

3 respostas

4

Isso deve funcionar:

xdotool windowactivate 'xdotool search --pid YOUR_PID_HERE | tail -1'

O xdootool reporta alguns ids de janela ao procurar por pid, então eu "segui" a saída para obter apenas o id da última janela da saída. Para mim, funcionou bem com o Firefox e com a calculadora gnome. Se o xdotool reportar apenas um id de janela para o seu pid, então o tubo de escape é obviamente desnecessário.

    
por falconer 02.12.2013 / 17:00
4

Você pode usar wmctrl ( página de manual ) para manipular as janelas do linha de comando.

  1. Instale o programa usando sudo apt-get install wmctrl ou qualquer outro gerenciador de pacotes com o qual você se sinta confortável.
  2. Obtenha o ID da janela pertencente ao seu PID. wmctrl -lp listará todas as janelas existentes com sua ID de janela no primeiro e o PID na segunda coluna da saída.
  3. Aumentar a janela com wmctrl -iR <window ID> ou wmctrl -ia <window ID> , dependendo de você desejar mudar para a área de trabalho ou movê-la para a atual.
por drc 02.12.2013 / 15:07
1

Isso deve ser feito:

awk ' == 17213 {print }' <(wmctrl -lp) | xargs -i% sh -c "xwit -id % -pop -raise; wmctrl -i -r % -b add,maximized_vert,maximized_horz"

Você precisará alterar o ID na declaração awk , mas isso maximizará e ativará a janela. Você também precisará instalar o xwit ( sudo apt-get install xwit ) para que a minimização funcione.

A razão pela qual isso é tão complicado é porque nenhuma ferramenta faz tudo o que você precisa e aquelas que são um pouco capazes, têm problemas com o terminal:

  • xdotool não pode procurar por PID (apesar de ser um recurso anunciado)
  • wmctrl não sabe como minimizar e maximizar as coisas
  • xwit não pode alterar dicas da janela, mas pode minimizar as coisas

Idealmente, isso é algo que você deve ser capaz de fazer com apenas xdotool ou wmctrl , mas suas pesquisas de PID não funcionam ou existem, respectivamente.

    
por Oli 02.12.2013 / 15:26