Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1186 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Modifier la taille du Terminal ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Modifier la taille du Terminal ?

n°1895978
magicpotu
Posté le 17-06-2009 à 00:15:47  profilanswer
 

Hello,
je suis en train de coder un petit Rogue-like en C++ avec ncurses. Pour le moment tout ce passe bien, mais je suis un peu limité par la taille par défaut de la fenêtre du Terminal. Je n'ai pas la place d'afficher de grand donjons.
Je cherche donc à redimensionner la fenêtre en C++. Comment faire ? J'ai fais pas mal de rechercher, mais j'ai pas réussi à trouver ce que je voulais...
 
Merci d'avance :)

mood
Publicité
Posté le 17-06-2009 à 00:15:47  profilanswer
 

n°1896006
Taz
bisounours-codeur
Posté le 17-06-2009 à 07:27:12  profilanswer
 

Tu ne peux pas.

n°1896012
Un Program​meur
Posté le 17-06-2009 à 08:04:07  profilanswer
 

Avec un xterm -- ou un émulateur qui émule suffisemment bien tout ce que les VTxxx pouvaient faire -- tu peux passer en mode 132 colonnes.

 

Esc [ 40 h pour autoriser la fonctionnalité
Esc [ 3 h pour passer en mode 132 colonnes
Esc [ 3 l pour repasser en mode 80 colonnes
Esc [ 40 l pour interdire la fonctionnalité

 

Je viens de retester en shell avec:

Code :
  1. printf "\e[?40h\e[?3h"


et ça fonctionne bien avec un xterm, mais pas avec konsole ni l'émulateur de gnome.

Message cité 1 fois
Message édité par Un Programmeur le 17-06-2009 à 08:09:25

---------------
The truth is rarely pure and never simple (Oscar Wilde)
n°1896014
Joel F
Real men use unique_ptr
Posté le 17-06-2009 à 08:06:30  profilanswer
 

et pas sous DOS non plus je pense

n°1896016
Un Program​meur
Posté le 17-06-2009 à 08:24:03  profilanswer
 

Joel F a écrit :

et pas sous DOS non plus je pense


 
DOS?  J'ai ai pas touché depuis bien trop longtemps.  Avec une carte graphique ayant un mode texte 132 colonnes (ce que les cartes VGA avaient, mais qui n'était pas possible en EGA) et en ayant chargé ANSI.SYS, je ne vois pas d'objections de principe.  Bien que je doute qu'ANSI.SYS ait été programmé pour, la plupart des programmes bypassaient toute cette machinerie pour accéder au hard directement naturellement.
 
Et en ce qui concerne les boîtes DOS de Windows et la console de Windows NT, je n'ai quasiment été qu'utilisateur ayant passé toute ma programmation à la maison sous Linux en 94 et utilisant des stations Unix au boulot.  Quasiment tout ce que je sais de la programmation sous Windows, c'est ce que j'ai compris de discussions sur Internet.


---------------
The truth is rarely pure and never simple (Oscar Wilde)
n°1896207
magicpotu
Posté le 17-06-2009 à 12:26:16  profilanswer
 

Merci  pour vos réponses !
"Un programmeur", ta solution marche mais :
- Comment faire pour augmenter le nombre de ligne ?
- Et surtout ça n'a pas l'air très "propre" comme solution. Dans ce cas... comment faire pour augmenter la taille de la fenêtre de mon jeu ? :/

n°1896215
Un Program​meur
Posté le 17-06-2009 à 12:41:55  profilanswer
 

Normalement tu fonctionnes dans l'autre sens: tu détectes la taille du terminal (ncurses a tout ce qu'il faut pour cela) et tu t'y adaptes (note que c'est la même philosophie pour X, à part qu'avec X tu peux demander une taille, mais tu n'es pas sûr de l'avoir).  Tu peux même être notifié des changements de taille avec le signal SIGWINCH.
 
La séquence de contrôle que j'ai donnée est en fait une séquence demandant le changement de fonte d'un terminal texte.  Tu avais aussi des séquences pour passer en double hauteur et double largeur, mais de mémoire elles ne sont pas implémentée, même par xterm.


---------------
The truth is rarely pure and never simple (Oscar Wilde)
n°1896226
magicpotu
Posté le 17-06-2009 à 13:11:44  profilanswer
 

Encore merci pour ta réponse !
 
Donc si je veux afficher uen "map" de 40*40 caractères dans le terminal... c'est pas possible ? Y'a pas moyen de mettre le Terminal en fullscreen ?
Sinon tant pis, je vais faire avec le peu de place qu'on me donne ^^
 

n°1896289
Taz
bisounours-codeur
Posté le 17-06-2009 à 15:17:44  profilanswer
 

Un Programmeur a écrit :

Avec un xterm -- ou un émulateur qui émule suffisemment bien tout ce que les VTxxx pouvaient faire -- tu peux passer en mode 132 colonnes.
 
Esc [ 40 h pour autoriser la fonctionnalité
Esc [ 3 h pour passer en mode 132 colonnes
Esc [ 3 l pour repasser en mode 80 colonnes
Esc [ 40 l pour interdire la fonctionnalité
 
Je viens de retester en shell avec:

Code :
  1. printf "\e[?40h\e[?3h"


et ça fonctionne bien avec un xterm, mais pas avec konsole ni l'émulateur de gnome.


Encore moins avec un VT100 physique.

n°1896304
Un Program​meur
Posté le 17-06-2009 à 15:39:11  profilanswer
 

Taz a écrit :


Encore moins avec un VT100 physique.


 
Un VT100, si: http://vt100.net/docs/vt100-ug/chapter3.html#DECCOLM


---------------
The truth is rarely pure and never simple (Oscar Wilde)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Modifier la taille du Terminal ?

 

Sujets relatifs
Modifier un PDF avec JavascriptManipuler directement le terminal pour faire un Rogue-like ?
problème taille <div> avec Ajax.autocompleterlire et modifier une ligne précise
Redefinir la taille d'un JButtonTaille bouton radio Css
Est-il possible de modifier à la volée l'URL d'une HttpServletRequest?modifier phatfusion
Modifier texte couleur formulaire en PHPTaille maximale de la mise en mémoire d'un exécutable
Plus de sujets relatifs à : Modifier la taille du Terminal ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR