Pour que je puisse redimensionner la fenêtre à une certaine taille depuis le terminal.
C'est juste parfait !
Pour que je puisse redimensionner la fenêtre à une certaine taille depuis le terminal.
Oui. Le terminal prend en charge les séquences d'échappement pour manipuler les fenêtres, notamment la taille et la position, la superposition et la réduction. Les dimensions peuvent être exprimées en pixels ou en caractères. Voir Séquences de contrôle Xterm pour plus de détails (cherchez "Window manipulation" ; si vous n'êtes pas familier avec la notation, "CSI" signifie "Control Sequence Introducer", qui est ESC [
).
Par exemple, cette commande shell définira la fenêtre à 100x50 caractères :
printf '\e[8;50;100t'
Réduisez la fenêtre pendant quelques secondes, puis restaurez-la :
printf '\e[2t' && sleep 3 && printf '\e[1t'
Déplacez la fenêtre dans le coin supérieur/gauche de l'écran :
printf '\e[3;0;0t'
Zoomer la fenêtre :
printf '\e[9;1t'
Mettez la fenêtre en avant (sans changer le focus du clavier) :
printf '\e[5t'
Certains émulateurs de terminal ignorent ces séquences de contrôle par défaut et nécessitent une configuration pour les activer.
Pour les activer dans XTerm , mettez la ressource suivante à true :
allowWindowOps
Pour les activer dans iTerm2 désélectionnez la préférence suivante :
Préférences > Profils > [profil] > Terminal > Désactiver le redimensionnement de la fenêtre à l'initiative de la session
Cette solution n'est pas limitée à MacOS. Elle est basée sur un terminal, elle devrait donc fonctionner sur tous les terminaux. Je l'utilise pour redimensionner PuTTY Windows sur Windows exécutant des shells bash avec TERM=xterm.
Cela fonctionne pour moi avec Apple Terminal mais pas avec iTerm2. Cependant, en envoyant la séquence d'échappement \e [8;24;80t fonctionne avec les deux.
Cela ne fonctionne que pour la fenêtre/onglet du terminal actuellement actif. Pour que cela fonctionne de manière fiable, récupérez le chemin du périphérique tty actuel et localisez l'onglet du terminal qui correspond.
Je m'excuse de faire revivre une vieille question, mais j'ai pensé que cette réponse pourrait être utile à d'autres.
De tedsmith3rd voici un bash pour déplacer une fenêtre de terminal. La magie des séquences de commandes du terminal.
function bumpNjump() {
local xDimension="" yDimension="" width="" height="" OPTIND
while getopts 'x:y:w:h:' thisArg
do
case "${thisArg}" in
x) xDimension="${OPTARG}" ;;
y) yDimension="${OPTARG}" ;;
w) width="${OPTARG}" ;;
h) height="${OPTARG}" ;;
esac
done
if [ -n "${width}" -a -n "${height}" ]
then
printf '\e[4;'${height}';'${width}'t';
fi
if [ -n "${xDimension}" -a -n "${yDimension}" ]
then
printf '\e[3;'${xDimension}';'${yDimension}'t'
fi
}
Combinez cela avec ceci termsize.bash script pour obtenir la géométrie actuelle, et vous avez un moyen facile de contrôler votre fenêtre Terminal.
#!/bin/bash
# based on a script from http://invisible-island.net/xterm/xterm.faq.html
exec < /dev/tty
oldstty=$(stty -g)
stty raw -echo min 0
printf "\e[13t" > /dev/tty
IFS=';' read -r -d t -a pos
xpos=${pos[1]}
ypos=${pos[2]}
# Window (including chrome) size in pixels
printf "\e[14;2t" > /dev/tty
IFS=';' read -r -d t -a size
hsize=${size[1]}
wsize=${size[2]}
stty $oldstty
echo "bumpNjump -x $xpos -y $ypos -h $hsize -w $wsize"
Cela semble utile, mais ne fonctionne pas sous MacOS 10.5.6 - les caractères de contrôle sont imprimés : bumpNjump -x 10 -y 20 -w 800 -h 300
\E[4;300;800t\E[3;10;20t
Est-ce que ça marche pour vous ?
En fait, vous savez, déplacer et redimensionner Windows avec une souris est horriblement lent.
J'ai utilisé cette application SizeUp depuis très longtemps maintenant. Il permet de redimensionner la fenêtre de n'importe quelle application en utilisant une commande du clavier.
Vous pouvez faire ce qui suit (mes commandes clavier personnalisées ci-dessous) :
Je pense que cela pourrait faire l'affaire et aussi aider à la gestion des autres fenêtres.
LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.