PHP Velho Oeste 2024

ncurses_getmaxyx

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0)

ncurses_getmaxyxÎntoarce mărimea unei ferestre

Descrierea

ncurses_getmaxyx ( resource $window , int &$y , int &$x ) : void
Avertizare

Această funcție este EXPERIMENTALĂ. Comportamentul acestei funcții, denumirea sa și orice alte aspecte documentate în privința acestei funcții pot să fie modificate fără preaviz într-o versiune viitoare a PHP. Utilizați această funcție la propriul risc.

Obține mărimile orizontală și verticală ale ferestrei specificate în window și le înscrie în variabilele date.

Variabilele trebuie să fie transmise prin referință, astfel ca ele să fie actualizate când utilizatorul modifică mărimea terminalului.

Parametri

window

Fereastra măsurată

y

În această variabilă se va înscrie înălțimea ferestrei

x

În această variabilă se va înscrie lățimea ferestrei

Valorile întoarse

Nu este întoarsă nici o valoare.

add a note add a note

User Contributed Notes 2 notes

up
1
vic at lfs dot net
15 years ago
TIP 1: If you want to know the size of the main (default) ncurses screen, you can use the defined constant STDSCR
eg. ncurses_getmaxyx (STDSCR, $Height, $Width);
No need to create a window, get its size and delete it again (not sure if this works on php versions < 5 though).

TIP 2 : If you are creating a PHP console application and want to support terminal resizing and if you find that the ncurses screen doesn't actually resize when you resize your terminal (which was the case for me (on FreeBSD 5.3 at least)) you should end the current ncurses session and restart it again. Very easy to do this if you create your own ncurses class with a nice con- and destructor.
up
-1
superzouz at hotmail dot com
16 years ago
After some headscratching as to why my script was not detecting the terminal being resized... i discovered that the function would not report the new size of the terminal until the window is refreshed.
So this is the code that I am using to get the size of the screen:

$fullscreen = ncurses_newwin ( 0, 0, 0, 0);

// everytime you want to find out the size of the screen, write the following 2 lines:
ncurses_wrefresh($fullscreen);
ncurses_getmaxyx ($fullscreen, $y, $x );
To Top