[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: why terminal resize changes size of windows?
From: |
Thomas Dickey |
Subject: |
Re: why terminal resize changes size of windows? |
Date: |
Thu, 10 Feb 2022 19:35:21 -0500 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
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.
>
> 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
signature.asc
Description: PGP signature
- why terminal resize changes size of windows?, Pavel Stehule, 2022/02/10
- Re: why terminal resize changes size of windows?,
Thomas Dickey <=
- Re: why terminal resize changes size of windows?, Pavel Stehule, 2022/02/10
- Re: why terminal resize changes size of windows?, Pavel Stehule, 2022/02/10
- Re: why terminal resize changes size of windows?, Leon Winter, 2022/02/11
- Re: why terminal resize changes size of windows?, Thomas Dickey, 2022/02/11
- Re: why terminal resize changes size of windows?, Pavel Stehule, 2022/02/11
- Re: why terminal resize changes size of windows?, Thomas Dickey, 2022/02/14