簡體   English   中英

ncurses終端大小

[英]ncurses terminal size

如何找到ncurses應用程序的終端寬度和高度?

void getmaxyx(WINDOW *win, int y, int x); 我相信...

另外,這可能會有所幫助......

在C中獲得終端寬度?

ncurses應用程序通常處理SIGWINCH並使用帶有TIOCGWINSZioctl來獲取系統的SIGWINCH概念。 這可能被環境變量LINESCOLUMNS覆蓋(參見use_env )。

鑒於此,當wgetch返回KEY_RESIZE (響應SIGWINCH )以給出stdscr的大小(表示整個終端的標准屏幕)時,ncurses全局變量LINESCOLS被更新為副作用。

您當然可以使用getmaxxgetmaxygetmaxyx來獲取窗口的x和y坐標的一個或兩個限制。 只有最后一個是標准的(和便攜式)。

進一步閱讀:

我正在使用此代碼:

struct winsize size;
if (ioctl(0, TIOCGWINSZ, (char *) &size) < 0)
    printf("TIOCGWINSZ error");
printf("%d rows, %d columns\n", size.ws_row, size.ws_col);

那么使用SCR_HSCR_W呢?

在initscr()之后,變量COLS,LINES被初始化為屏幕大小。

資料來源: NCURSES編程HOWTO

我不確定他們是否會在調整大小時獲得更新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM