------------------------------------------------------------------------------ Title: TODO LIST FOR PTYPLUMBER Version: $HeadURL$ $LastChangedRevision$ ------------------------------------------------------------------------------ * get it to handle input from a file fed on stdin before coded for a file generally. * then code for a file * then code readline support * readline fixes: when does readline modify terminal settings? is it at the time of registering the callback or only when the character is pushed into the readline buffer? When is the terminal restored? At deregistration? During the execution of the callback function? Both? I need to remember the unmodified settings and ensure they are restored during the execution of the command handler (I don't care what they are during the callback). * add an 'echo' command * add a flag to the term data FLG_AWAITED * add a field to the term data called .alias (char BUFSIZ) * modify pfd_open() to accept an alias (NULL allowed to not define one) and modify the open command handler to accept 'open [ ] '. * the *real* command handler for 'wait' - which is the main loop should not do whatever it nornally does on when retunring from a command handler unless there are no AWAITED PFDs; if there are then it should just loop into the select() function as if it was term_data[PFD_CONSOLE].outpfd != PFD_CONTROL until such time as the awaited PFDs have been closed (by the SIGCHLD handler cleaning up after the child exits) * waitall sets AWAITED on all non-PROCLESS PFDs (probably by calling pfd_setawaited(pfd) on each non-PROCLESS PFD) * support 'ptyplumber '; i need to distinguish 0 from scriptfh; in the case that is not specified then I do 'scriptfh = 0', but if not then I need to open and close it. * make the choice of using readline or not a run-time choice, not a compile-time choice. * add 'set' command for: set desc set readline set aufoflush * if scriptfh is not a terminal (how does '[ -t ]' do this?) then 'set readline 0' ------------------------------------------------------------------------------