Respostas:
Sim. O terminal suporta seqüências de escape para manipular janelas, incluindo tamanho e posição, camadas e minimização. As dimensões podem ser expressas em pixels ou caracteres. Consulte Xterm Control Sequences para obter detalhes (pesquise "Manipulação de janelas"; se você não estiver familiarizado com a notação, "CSI" significa "Control Sequence Introducer", que é ESC [
).
Por exemplo, este comando shell definirá a janela para 100x50 caracteres:
printf '\e[8;50;100t'
Minimize a janela por alguns segundos e restaure-a:
printf '\e[2t' && sleep 3 && printf '\e[1t'
Mova a janela para o canto superior / esquerdo da tela:
printf '\e[3;0;0t'
Zoom na janela:
printf '\e[9;1t'
Traga a janela para frente (sem alterar o foco do teclado):
printf '\e[5t'
Alguns emuladores de terminal ignoram essas seqüências de controle por padrão e requerem configuração para habilitá-las.
Para habilitá-los no XTerm , defina o seguinte recurso como true:
allowWindowOps
Para habilitá-los no iTerm2 , desmarque a seguinte preferência:
Preferências> Perfis> [perfil]> Terminal> Desativar redimensionamento de janela iniciado por sessão
Você sempre pode usar o AppleScript:
setwidth() { osascript -e "tell app \"Terminal\" to tell window 1
set b to bounds
set item 3 of b to (item 1 of b) + $1
set bounds to b
end"; }
Use /usr/X11/bin/resize
.
resize -s 30 80
lhe dará 30 linhas e 80 colunas.
resize -s 30 0
fornecerá 30 linhas e colunas completas.
resize -s 0 80
fornecerá linhas completas e 80 colunas.
Na verdade, você sabe, mover uma janela de redimensionamento com o mouse é terrivelmente lento.
Eu uso este aplicativo SizeUp há muito tempo. Basicamente, redimensiona qualquer janela do aplicativo usando o comando do teclado.
Você pode fazer o seguinte (meus comandos de teclado personalizados abaixo):
Eu acho que isso pode fazer o truque e também ajudar com outro gerenciamento de janelas.