This patch should be applied on top of the externalpipe patch. It
prevents the reset of the signal handler set on SIGCHILD, when the
forked process that executes the external process exits. I opted for
switching from signal to sigaction instead of rearming the signal in the
sigchld function, just because it is the recommended function (although I
tried both ways and both worked).
Support for OSC escape sequences 10, 11 and 12 to modify the bg, fg and
cursor colors. I selected entries in the colorname table after the 255
position for defaultfg, defaultbg and defaultcs
When an OCS sequence was used to change the bg color, the borders where
dirty. This simple patch just clears the window before the redraw of the
terminal when the bg color has been changed. This is apparently enough
and seams to be very smooth. There was a TODO comment for it on the st.c
file, which I removed.
When a read operation returns 0 then it means that we arrived to the end of the
file, and new reads will return 0 unless you do some other operation such as
lseek(). This case happens with USB-232 adapters when they are unplugged.
Scroll is a program that stores all the lines of its child and be used in st as
a way of implementing scrollback.
This solution is much better than implementing the scrollback in st itself
because having a different program allows to use it in any other program
without doing modifications to those programs.