PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ncurses/X : Größe des Terminalfensters ermitteln



ReSeT
27-12-2002, 11:56
Hallo!

ich möchte gerne beim Programmstart eines ncurses-Programms die Größe des Terminalfensters
ermitteln, da das Terminalfenster ja unter X-Window geöffnet wird, hat es nicht immer die gleiche
Größe bzw. es kann in seiner Größe verändert werden. Hier muß es doch auch eine Möglichkeit
geben, die Fenstergröße auszulesen und den Fensterinhalt anzupassen.

Das passendste was ich nach stundenlanger Suche im Netz gefunden habe, war dieses hier:

http://www.ohse.de/uwe/software/resize.c.html

Allerdings blicke ich da noch nicht ganz durch, kennt sich hier vielleicht jemand damit aus?

GreetZ

ReSeT

ReSeT
28-12-2002, 13:28
Hi!

Hab's selbst herausgefunden.

Wen's interessiert:

Beim starten eines ncurses Programms wird immer ein Fenster "stdscr" mit der Größe des
Terminalfensters initialisiert. Die Größe lässt sich dann wie folgt ermitteln:




int height, width;

height = getmaxy(stdscr);
width = getmaxx(stdscr):



Beim Verändern der Größe des Terminals wird an die Standardeingabe ein KEY_RESIZE gesendet
hierüber kann dann die Routine zum Neuzeichnen des Fensterinhalts getriggert werden.

Gruß

ReSeT