bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: why terminal resize changes size of windows?


From: Pavel Stehule
Subject: Re: why terminal resize changes size of windows?
Date: Fri, 11 Feb 2022 03:34:17 +0100



pá 11. 2. 2022 v 1:35 odesílatel Thomas Dickey <dickey@his.com> napsal:
On Thu, Feb 10, 2022 at 11:54:00AM +0100, Pavel Stehule wrote:
> Hi
>
> I found an interesting issue. When I resize the terminal, so some windows
> are partially out of screen, the window size is reduced. From this moment,
> the window lost original size, and the size of window is related to size of
> screen.

As I pointed out here:

https://lists.gnu.org/archive/html/bug-ncurses/2020-08/msg00011.html

windows don't extend outside the screen.

When ncurses is handling SIGWINCH, it shrinks windows to fit in the screen.

ok

Thank you for info

Regards

Pavel

>
> It can be easy demonstrated by example:
>
> #include <ncurses.h>
>
> int
> main()
> {
>     int     c;
>     WINDOW *win;
>
>     initscr();
>
>     clear();
>     noecho();
>     cbreak();
>     curs_set(0);
>     keypad(stdscr, TRUE);
>
>     win = newwin(20, 40, 15,15);
>
>     timeout(250);
>
>     while (c != 'q')
>     {
>         int lines, cols;
>
>         clear();
>
>         /* termina size */
>         mvprintw(10, 10, "terminal: %d, %d", LINES, COLS);
>         clrtoeol();
>
>         /* stdscr size */
>         getmaxyx(stdscr, lines, cols);
>         mvprintw(11, 10, "stdscr: %d, %d", lines, cols);
>         clrtoeol();
>
>         /* win size */
>         getmaxyx(win, lines, cols);
>         mvprintw(12, 10, "win: %d, %d", lines, cols);
>         clrtoeol();
>
>         refresh();
>
>         wclear(win);
>         box(win, 0,0);
>         wrefresh(win);
>
>         c = getch();
>     }
>
>     endwin();
> }
>
> when running, try to reduce terminal size to 20 lines, 40 cols. After
> increasing terminal size, the size of window win is increased too.
>
> What is the reason for this behaviour?
>
> Regards
>
> Pavel Stehule





--
Thomas E. Dickey <dickey@invisible-island.net>
https://invisible-island.net
ftp://ftp.invisible-island.net

reply via email to

[Prev in Thread] Current Thread [Next in Thread]