Gostaria de obter o tamanho da janela atual de um script de shell ...
Realmente não há muito mais a dizer ... Eu preferiria usar wmctrl.
fonte
Gostaria de obter o tamanho da janela atual de um script de shell ...
Realmente não há muito mais a dizer ... Eu preferiria usar wmctrl.
wmctrl -lG
Vai lhe dar algo como:
oli@bert:~$ wmctrl -lG
0x0384c0d5 -1 1590 1030 330 170 bert N/A
0x01200023 -1 0 0 3840 1200 bert x-nautilus-desktop
0x01000003 -1 3840 2352 1920 24 bert Bottom Expanded Edge Panel
0x01000028 -1 0 2352 1920 24 bert Bottom Expanded Edge Panel
0x0500003e 0 676 252 1404 1015 bert Chromium
0x02e00021 0 3860 160 1361 1084 bert Liferea
0x02000047 0 6650 940 506 683 bert Social broadcast messages
0x04600004 0 4546 460 1263 833 bert oli@bert: ~
Com isso, você pode grep
e cut
com base neles para ficar com os valores geométricos (colunas 3-6).
Para citar a página de manual para entender exatamente o que são as colunas:
-eu
Liste as janelas que estão sendo gerenciadas pelo gerenciador de janelas. Uma linha é emitida para cada janela, com a linha dividida em colunas separadas por espaço. A primeira coluna sempre contém a identidade da janela como um número inteiro hexadecimal e a segunda coluna sempre contém o número da área de trabalho (um -1 é usado para identificar uma janela adesiva). Se a opção -p for especificada, a próxima coluna conterá o PID da janela como um número inteiro decimal. Se a opção -G for especificada , seguirão quatro colunas inteiras: deslocamento x, deslocamento y, largura e altura. A próxima coluna sempre contém o nome da máquina do cliente. O restante da linha contém o título da janela (possivelmente com vários espaços no título).
Eu acredito que o wmctrl não tem nenhuma opção para encontrar o ID da janela ativa diretamente.
Se alguém sabe como fazê-lo, estou interessado em saber ..
Dito isto, aqui estão alguns scripts que imprimem o tamanho da janela ativa.
Isto é: wmctrl + xdotool ... (não usando sed).
Isto é: xwininfo + xdotool + sed
xwininfo
é parte dex11-utils
fonte
Use
xprop
ouxwininfo
. Ambos vêm por padrão, não é necessária instalaçãoExemplos de uso:
Ambos os comandos transformam o cursor em quadrado / cruz para permitir a seleção de uma janela específica.
Como alternativa, pode-se especificar a janela na linha de comando no formato XID
Outras postagens onde estas foram usadas
Em particular, ele
xwininfo
tem sido usado ativamente por scripts, como nestas perguntas do AskUbuntu:fonte
Os scripts de shell não conhecem nem se preocupam com o Windows. Na melhor das hipóteses, eles funcionam em um terminal (que pode ou não ser exibido em uma janela). Se você deseja obter a largura e a altura do terminal em caracteres, use o utilitário stty.
fonte
Eu achei
tput cols
que funcionava muito bem!fonte
wmctrl
, não estamos falando de console, mas de janelas do ambiente gráfico.Tem 3 telas, esta saída 3 linhas com as dimensões:
fonte