xaizek / vifm-pdcurses (License: mostly public domain) (since 2019-03-20)
PDCurses 3.4 with vifm-specific patches applied (a couple were upstreamed)
Commit c54862725e3f1d045d22c34e48891905a2b4079a

Don't reset window timeout on window redraw
Three window related functions didn't copy _delayms member of the
WINDOW structure, thus losing delay length. Patch is for 3.4
release version and fixes the bug (but there might be more similar
bugs).

This patch has been taken from:
https://sourceforge.net/p/pdcurses/bugs/79/
Author: xaizek
Author date (UTC): 2024-12-19 16:01
Committer name: xaizek
Committer date (UTC): 2024-12-19 16:02
Parent(s): 6909c66c13f3b330289cade6449543d4d2e17051
Signing key: 99DC5E4DB05F6BE2
Tree: c2d79eb324c265b08cfc3f0a8fe46f1ccd9aa133
File Lines added Lines deleted
pdcurses/window.c 3 0
File pdcurses/window.c changed (mode: 100644) (index dbfd5849..69d0fe97)
... ... WINDOW *subwin(WINDOW *orig, int nlines, int ncols, int begy, int begx)
323 323 win->_leaveit = orig->_leaveit; win->_leaveit = orig->_leaveit;
324 324 win->_scroll = orig->_scroll; win->_scroll = orig->_scroll;
325 325 win->_nodelay = orig->_nodelay; win->_nodelay = orig->_nodelay;
326 win->_delayms = orig->_delayms;
326 327 win->_use_keypad = orig->_use_keypad; win->_use_keypad = orig->_use_keypad;
327 328 win->_immed = orig->_immed; win->_immed = orig->_immed;
328 329 win->_sync = orig->_sync; win->_sync = orig->_sync;
 
... ... WINDOW *dupwin(WINDOW *win)
410 411 new->_leaveit = win->_leaveit; new->_leaveit = win->_leaveit;
411 412 new->_scroll = win->_scroll; new->_scroll = win->_scroll;
412 413 new->_nodelay = win->_nodelay; new->_nodelay = win->_nodelay;
414 new->_delayms = win->_delayms;
413 415 new->_use_keypad = win->_use_keypad; new->_use_keypad = win->_use_keypad;
414 416 new->_tmarg = win->_tmarg; new->_tmarg = win->_tmarg;
415 417 new->_bmarg = win->_bmarg; new->_bmarg = win->_bmarg;
 
... ... WINDOW *resize_window(WINDOW *win, int nlines, int ncols)
486 488 new->_leaveit = win->_leaveit; new->_leaveit = win->_leaveit;
487 489 new->_scroll = win->_scroll; new->_scroll = win->_scroll;
488 490 new->_nodelay = win->_nodelay; new->_nodelay = win->_nodelay;
491 new->_delayms = win->_delayms;
489 492 new->_use_keypad = win->_use_keypad; new->_use_keypad = win->_use_keypad;
490 493 new->_tmarg = (win->_tmarg > new->_maxy - 1) ? 0 : win->_tmarg; new->_tmarg = (win->_tmarg > new->_maxy - 1) ? 0 : win->_tmarg;
491 494 new->_bmarg = (win->_bmarg == win->_maxy - 1) ? new->_bmarg = (win->_bmarg == win->_maxy - 1) ?
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/vifm-pdcurses

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/vifm-pdcurses

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master