Why, though? PADs are WINDOWs, just special ones. On Tue, Jun 16, 2026 at 7:12 PM Juergen Pfeifer <[email protected]> wrote:
> IMHO the panel library should be modified to return an error if one tries > to wrap a PAD with a PANEL. PANELs are/were intended for WINDOWs. > > Jürgen > > Am 16.06.2026 um 04:43 schrieb Giorgos Xou <[email protected]>: > > > > > ---------- Forwarded message --------- > From: Giorgos Xou <[email protected]> > Date: Tue, Jun 16, 2026 at 4:35 AM > Subject: Re: move_panel not working with pads > To: Thomas Dickey <[email protected]> > > > On Mon, Jun 15, 2026 at 07:11:11PM -0400, Thomas Dickey wrote: > > On Mon, Jun 15, 2026 at 06:12:27PM -0400, Bill Gray wrote: > > > On 6/15/26 16:56, Thomas Dickey wrote: > > > > On Mon, Jun 15, 2026 at 02:57:45PM -0400, Bill Gray wrote: > > > > > Hmmm... please post the test code you're using for this? Have > you tried > > > > > it with PDCursesMod? (Its panel library is a near-total rewrite, > but its > > > > > move_panel() does use mvwin() internally.) > > No, I haven't tested it against PDCursesMod nor PDCurses, it was just a > speculation > considering it uses mvwin internally too. > > > > > > > > > > yes... a test-program is needed to see how it compares with the > > > > various implementations :-) > > Here's a simple test-program i guess :-D > > ``` > #include <curses.h> > #include <panel.h> > > > int main( void) > { > int ch = -1; > int y = 0, x = 0; > WINDOW *pad1; > PANEL *panel1; > > initscr (); > noecho (); > start_color(); > > init_pair(1, COLOR_BLUE, COLOR_RED); > keypad(stdscr, TRUE); > > refresh(); > > pad1 = newpad(10,10); > > wbkgd (pad1, COLOR_PAIR(1)); > waddstr (pad1,"Test."); > prefresh(pad1, 0, 0, 1, 2, 4 , 9); > > panel1 = new_panel(pad1); > > while(ch != 'q' && ch != 'Q') > { > ch = getch(); > > if (ch == KEY_UP ) ++y; > else if (ch == KEY_DOWN ) --y; > else if (ch == KEY_RIGHT) ++x; > else if (ch == KEY_LEFT ) --x; > > move_panel(panel1, y, x); > update_panels(); > } > endwin( ); > return(0); > } > ``` > > > > > > > It occurs to me to wonder : is the panel library warranteed to work > if > > > you feed it a pad (or subpad or sub-window) instead of a plain old > window? > > > I've never tried it. > > Had the same thoughts, never tried it too. > > > > > > > Is there a use case for calling new_panel( ) with a pad? > > Pads are really useful with anything involving scrollable text (such as > logs, lists, fancy-tuifimanager stuff etc.). > > As you already know, the main appeal of panels is the fact that they > solve the flickering issue of stacked windows in a more elegant way > than manually doing so. > > Therefore pads with panels are practically useful for anything that > already previously involved plain old stacked-windows but with > too-much text. > > A few practical examples I can think of using pads with panels are > thinks like: > - https://www.reddit.com/r/neovim/comments/1u49mnw/ > - https://www.reddit.com/r/commandline/comments/1tbfeua/ > - https://github.com/reekta92/graf > - plus, fancy modern-TUI animations? > > > > > > maybe - but pads differ from windows by being more readily movable > > > > > > > > -- Bill > > > > > > > > -- Bill > > > > > > > > > > On 6/15/26 14:20, Giorgos Xou wrote: > > > > > > move_panel internally uses mvwin, which doesn't work with pads > (pdcurses > > > > > > seems to be affected by this as well). Maybe pnoutrefresh could > be used > > > > > > internally for that specific case or some kind of an alternative > new > > > > > > mvpad function? > > > > > > > > > > > > (It just happened that I was again looking deep into how panels > work > > > > > > internally and just happened to stumble upon this issue.) > > > > > > > > > > > > *Cross-refs: * > > > > > > 3. ncurses 6.3 - patch 20211106 < > https://github.com/mirror/ncurses/commit/f399f54c6c4ea2143afcbf704ce9af0be52b63fc > > > > > > > > 2. hide_panel/show_panel not working with pads. > > > > > > < > https://lists.gnu.org/archive/html/bug-ncurses/2021-10/msg00037.html> > > > > > > 1. https://github.com/wmcbrine/PDCurses/issues/124 > > > > > > <https://github.com/wmcbrine/PDCurses/issues/124> > > > > > > > > > > > > > > > > > > > > > -- > > Thomas E. Dickey <[email protected]> > > https://invisible-island.net > > > PS. For some reason html "reply via email to" didn't work and I had to > figure out how (this cool thing that is called) neomutt works. so I've > no idea how this mail will be sent or if it actually was sent > correctly. > >
