4 * Copyright (c) 2008 James McKenzie <james@fishsoup.dhs.org>,
14 * Revision 1.5 2008/02/06 17:53:28 james
15 * *** empty log message ***
17 * Revision 1.4 2008/02/04 20:23:55 james
18 * *** empty log message ***
20 * Revision 1.3 2008/02/04 05:45:55 james
23 * Revision 1.2 2008/02/04 02:05:06 james
24 * *** empty log message ***
26 * Revision 1.1 2008/02/03 16:20:24 james
27 * *** empty log message ***
34 struct termios old = { 0 };
35 static int had_winch=0;
37 static void quit (int not)
39 tcsetattr (0, TCSANOW, &old);
43 static void winch (int not)
52 struct termios raw = { 0 };
60 signal (SIGINT, quit);
62 struct sigaction sa={0};
65 sa.sa_flags=SA_RESTART;
66 sigaction(SIGWINCH,&sa,NULL);
73 tcsetattr (0, TCSANOW, &raw);
81 fd = open_fd_to_bash ();
88 struct timeval tv={0,100000};
92 if (select (fd + 1, &rfd, NULL, NULL, &tv)<0) continue;
94 if (FD_ISSET (0, &rfd))
96 if ((read (0, &c, 1) <= 0) || (c == 3))
101 if (FD_ISSET (fd, &rfd))
103 if ((read (fd, &c, 1) <= 0))
106 vt102_parse_char (&v, c);
107 ansi_draw (&a, &v.crt);
113 ansi_draw (&a, &v.crt);
116 tcsetattr (0, TCSANOW, &old);