1 # include "curses.ext" 2 # include <signal.h> 3 4 extern char *getenv(); 5 6 /* 7 * This routine initializes the current and standard screen. 8 * 9 * 03/06/81 (Berkeley) @(#)initscr.c 1.2 10 */ 11 WINDOW * 12 initscr() { 13 14 reg char *sp; 15 int tstp(); 16 17 # ifdef DEBUG 18 fprintf(outf, "INITSCR()\n"); 19 # endif 20 if (!My_term && isatty(2)) { 21 _tty_ch = 2; 22 gettmode(); 23 if ((sp = getenv("TERM")) == NULL) 24 sp = Def_term; 25 setterm(sp); 26 # ifdef DEBUG 27 fprintf(outf, "INITSCR: term = %s\n", sp); 28 # endif 29 } 30 else 31 setterm(Def_term); 32 _puts(TI); 33 _puts(VS); 34 # ifdef SIGTSTP 35 signal(SIGTSTP, tstp); 36 # endif 37 if (curscr != NULL) { 38 # ifdef DEBUG 39 fprintf(outf, "INITSCR: curscr = 0%o\n", curscr); 40 # endif 41 delwin(curscr); 42 } 43 # ifdef DEBUG 44 fprintf(outf, "LINES = %d, COLS = %d\n", LINES, COLS); 45 # endif 46 if ((curscr = newwin(LINES, COLS, 0, 0)) == ERR) 47 return ERR; 48 curscr->_clear = TRUE; 49 if (stdscr != NULL) { 50 # ifdef DEBUG 51 fprintf(outf, "INITSCR: stdscr = 0%o\n", stdscr); 52 # endif 53 delwin(stdscr); 54 } 55 stdscr = newwin(LINES, COLS, 0, 0); 56 return stdscr; 57 } 58