#1 Le 29/11/2020, à 20:29
- cristobal78
(résolu)Modifier dimensions terminal nombre ligne/colonne dans script
Bonjour à tous
par défaut mon terminal (celui que j'ouvre par Ctrl-Alt-T) a pour dimensions 18 lignes et 80 colonnes.
Je sais modifier ces dimensions via le menu "Édition > Préférences du profil", c'est facile et immédiat.
Mais ce que je voudrais c'est fixer ces dimensions par une ligne de Cde dans le corps du script que je lance.
En effet parfois un script lancé dans mon terminal 18 / 80 va me sortir des lignes plus longues que 80 colonnes et donc il y a un retour à la ligne ce qui n'est pas beau et en plus ce retour rend la lecture peu aisée.
Y a t il une commande, exécutée dans un script Bash dès sa 1-ere ligne, pour forcer un affichage du terminal avec un nombre de lignes et de colonnes donné, fixé par moi ? Bien sur idéalement dès la fin du script le terminal reprendrait ses dimensions par défaut à savoir 18 / 80.
Des idées ?
Dernière modification par cristobal78 (Le 02/12/2020, à 21:10)
Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE
Hors ligne
#2 Le 29/11/2020, à 23:01
- Hizoka
Re : (résolu)Modifier dimensions terminal nombre ligne/colonne dans script
Salut,
resize -s 18 80
?
Après ce sont des configs spécifique au terminal.
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#3 Le 29/11/2020, à 23:07
- MicP
Re : (résolu)Modifier dimensions terminal nombre ligne/colonne dans script
Bonjour
… une commande, exécutée dans un script Bash dès sa 1-ere ligne, pour forcer un affichage du terminal avec un nombre de lignes et de colonnes donné, …
Depuis un script,
pour redimensionner la fenêtre de terminal
en 25 lignes de 120 colonnes :
printf "\033[8;25;120t"
et pour la remettre
en 18 lignes de 80 colonnes :
printf "\033[8;18;80t"
Edit : Le dernier point-virgule n'était pas nécessaire.
Dernière modification par MicP (Le 02/12/2020, à 19:17)
Hors ligne
#4 Le 30/11/2020, à 08:18
- serged
Re : (résolu)Modifier dimensions terminal nombre ligne/colonne dans script
Tu peux utiliser wmctrl (désolé, rien dans la doc Ubuntu-fr. Un volontaire ?).
LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)
Hors ligne
#5 Le 02/12/2020, à 00:29
- cristobal78
Re : (résolu)Modifier dimensions terminal nombre ligne/colonne dans script
Bonsoir à tous les 3.
J'ai opté pour la proposition de MicP qui, placée en 1-ere ligne de mon script Bash, a parfaitement rempli son rôle. C'est super.
J'ai constaté qu'après exécution du script et fermeture du terminal ce dernier reprenait automatiquement les dimensions qui lui avaient été préalablement assignées dans :
édition > préférences du profil > taille de terminal initiale
Merci encore pour vos idées car ça fait maintenant de bien plus beaux affichages dans le terminal !
Une remarque
Depuis quelques temps je ne reçois plus de mail m'indiquant qu'une ou plusieurs personnes ont répondu à mon post.
C'est en allant sur le forum, à tout hasard, que j'ai découvert vos 3 interventions.
Voilà pourquoi j'ai mis presque 2 jours pour vous remercier et ... passer en "résolu".
Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE
Hors ligne
#6 Le 02/12/2020, à 08:25
- MicP
Re : (résolu)Modifier dimensions terminal nombre ligne/colonne dans script
Tu peux aussi remettre le terminal à la taille qu'il avait avant l'exécution du script
savSize="$LINES;$COLUMNS" # sauvegarde taille terminal
# … contenu du script
printf "\033[8;25;120t" # passage en 25 lignes de 120 caractères
# … fin du script
printf "\033[8;${savSize}t" # retour à la taille originale
Dernière modification par MicP (Le 02/12/2020, à 23:36)
Hors ligne
#7 Le 02/12/2020, à 15:35
- cristobal78
Re : (résolu)Modifier dimensions terminal nombre ligne/colonne dans script
salut Micp
je prends note de ton dernier post.
Une question cependant que j'avais oubliée :
J'ai regardé la cde printf dans le man. Pas triste pour comprendre quelquechose là dedans et surtout comme souvent dans le man pas le moindre exemple pour t'éclairer.
J'ai donc été voir ici :
http://www.gnu.org/software/coreutils/m … invocation
et je n'ai pas été déçu non plus !
Donc ce serait super si tu pouvais expliquer le fonctionnement de ta cde
printf "\033[8;25;120;t"
dans laquelle je ne déchiffre que le 25 et le 120 !
Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE
Hors ligne
#8 Le 02/12/2020, à 19:12
- MicP
Re : (résolu)Modifier dimensions terminal nombre ligne/colonne dans script
Bonjour
J'ai modifié les lignes de commandes proposées, car le dernier point-virgule n'était pas nécessaire.
Il s'agit de commandes CSI (Control Sequence Introducer)
Voir : https://en.wikipedia.org/wiki/ANSI_escape_code
Extrait de : XTerm Control Sequences
XTerm Control Sequences Edward Moy University of California, Berkeley Revised by Stephen Gildea X Consortium (1994) Thomas Dickey XFree86 Project (1996-2006) invisible-island.net (2006-2020) updated for XTerm Patch #362 (2020/11/06) Definitions Many controls use parameters, shown in italics. If a control uses a single parameter, only one parameter name is listed. Some parameters (along with separating ; characters) may be optional. Other characters in the control are required. C A single (required) character. Ps A single (usually optional) numeric parameter, composed of one or more digits. Pm Any number of single numeric parameters, separated by ; charac- ter(s). Individual values for the parameters are listed with Ps . Pt A text parameter composed of printable characters. Control Bytes, Characters, and Sequences ECMA-48 (aka "ISO 6429") documents C1 (8-bit) and C0 (7-bit) codes. Those are respectively codes 128 to 159 and 0 to 31. ECMA-48 avoids referring to these codes as characters, because that term is associated with graphic characters. Instead, it uses "bytes" and "codes", with occasional lapses to "characters" where the meaning cannot be mistaken. … CSI Ps ; Ps ; Ps t Window manipulation (XTWINOPS), dtterm, extended by xterm. These controls may be disabled using the allowWindowOps resource. xterm uses Extended Window Manager Hints (EWMH) to maximize the window. Some window managers have incomplete support for EWMH. For instance, fvwm, flwm and quartz-wm advertise sup- port for maximizing windows horizontally or vertically, but in fact equate those to the maximize operation. Valid values for the first (and any additional parameters) are: … Ps = 8 ; height ; width ⇒ Resize the text area to given height and width in characters. Omitted parameters reuse the current height or width. Zero parameters use the display's height or width. …
Dernière modification par MicP (Le 02/12/2020, à 19:50)
Hors ligne
#9 Le 02/12/2020, à 20:37
- cristobal78
Re : (résolu)Modifier dimensions terminal nombre ligne/colonne dans script
@ micp
J'ai suivi tes liens, mais j'y ai trouvé une vraie jungle ! Encore pire que le man.
Alors si je comprends bien:
\033 c'est pareil que ESC
avec le "[" ça devient
ESC [
c-à-d le Control Sequence Introducer
Ps = 8 ; height ; width ⇒ Resize the text area to given
height and width in characters.
ce qui permet la modif de hauteur et largeur
On les fixe à 25 et 120 par
25;120
le "t" est là mais on ne sait pas trop pourquoi ?
Ouf.
Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE
Hors ligne
#10 Le 02/12/2020, à 20:42
- MicP
Re : (résolu)Modifier dimensions terminal nombre ligne/colonne dans script
Le "t" fait partie de la séquence d'échappement,
il est nécessaire pour qu'elle soit bien interprétée.
… J'ai suivi tes liens, mais j'y ai trouvé une vraie jungle ! Encore pire que le man. …
Oui, ça a commencé il y a très très longtemps,
quand les fabriquant de terminaux se battaient pour imposer leur standards,
alors, il a fallu essayer de s'adapter à chaque "standard".
Dernière modification par MicP (Le 02/12/2020, à 20:45)
Hors ligne
#11 Le 02/12/2020, à 21:08
- cristobal78
Re : (résolu)Modifier dimensions terminal nombre ligne/colonne dans script
En tout cas thanks a lot.
Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE
Hors ligne
#12 Le 02/12/2020, à 21:36
- MicP
Re : (résolu)Modifier dimensions terminal nombre ligne/colonne dans script
Pour la séquence ESC, je préfère m'habituer à utiliser la notation Octale (\033)
parce qu'elle fonctionne aussi bien avec le shell /usr/bin/bash
qu'avec le shell /usr/bin/dash (<=> /usr/bin/sh)
Hors ligne
#13 Le 03/12/2020, à 14:56
- cristobal78
Re : (résolu)Modifier dimensions terminal nombre ligne/colonne dans script
Alors juste comme ça, pour rire, et en signe de reconnaissance pour ceux qui m'aident ou m'ont aidé
Je me suis écrit une micro fonction appelée "redimterm" que voici :
redimterm()
{
lig=$1 ; col=$2
printf "\033[8;$lig;$col;t"
}
que je suis en train de glisser dans mes scripts.
@ MicP : Apparemment il faut bien un ";" de séparation entre $col et "t" car
... $col t tout comme ..$colt ne marchent pas
Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE
Hors ligne
#14 Le 03/12/2020, à 18:10
- Hizoka
Re : (résolu)Modifier dimensions terminal nombre ligne/colonne dans script
c'est sur que $colt ne marchera pas, il se dira que c'est une variable inconnue, donc vide.
quand tu veux coller des variables à du texte, encadre le nom de la variable par des accolades :
echo "${col}t"
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#15 Le 03/12/2020, à 19:12
- serged
Re : (résolu)Modifier dimensions terminal nombre ligne/colonne dans script
À noter que les commandes "resize" et les séquences d'échappement ne fonctionnent pas avec mon terminal (terminator). Donc réservé à xterm ! (néanmoins, marche aussi avec gnome-terminal)
LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)
Hors ligne
#16 Le 03/12/2020, à 19:54
- Hizoka
Re : (résolu)Modifier dimensions terminal nombre ligne/colonne dans script
la hauteur ne fonctionne pas avec konsole et la largeur fait un truc étrange.
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne