994 B
- Use /dev/ptmx, to get ptmx (master) and pts (slave) file descriptors, then fork and exec shfx as child (+ close ptmx), then close pts as parent.
Note
Use
termios(3)to enable raw mode (implemented incursed.c) (for the slave or master?)
-
Implement a SIGCHLD handler instead of using
waitpidinkillchild(), see 2nd example inman wait(3p) -
Use threads to launch
killchildto avoid blocking, then just join all the threads using atexit() -
Should I compile ncurses with --with-pthread? (see
man 3x ncurses) What about --enable-widec? (are these just ligatures?) -
cursetree shits itself if width/height are 0 on bifurcation
-
ensure NDEBUG is set for preprocessor to avoid <assert.h> statements if not debugging
-
resize_node() is quite wasteful and results could definitely be cached for the next resize_node() call
-
I think this should help! https://tldp.org/HOWTO/NCURSES-Programming-HOWTO/windows.html#OTHERBORDERFUNCS