|
|
1.1 ! root 1: /* ! 2: * test ncurses. ! 3: */ ! 4: #include <curses.h> ! 5: #include <signal.h> ! 6: ! 7: static char *diemsg = "Signal recieved"; ! 8: ! 9: die() ! 10: { ! 11: noraw(); ! 12: echo(); ! 13: signal(SIGINT, SIG_IGN); ! 14: mvcur(0, COLS - 1, LINES - 1, 0); ! 15: endwin(); ! 16: printf("%s\n", diemsg); ! 17: exit(0); ! 18: } ! 19: ! 20: rg(win) ! 21: WINDOW *win; ! 22: { ! 23: if (!memok()) { ! 24: diemsg = "memok trouble"; ! 25: die(); ! 26: } ! 27: wrefresh(win); ! 28: if ('q' == getch()) ! 29: die(); ! 30: } ! 31: ! 32: main() ! 33: { ! 34: register WINDOW *win, *win2; ! 35: int c; ! 36: ! 37: initscr(); ! 38: raw(); ! 39: noecho(); ! 40: signal(SIGINT, die); ! 41: ! 42: box(stdscr, '|', '-'); ! 43: refresh(); ! 44: win = newwin(LINES - 2, COLS - 2, 1, 1); ! 45: wmove(win, 10, 10); ! 46: waddstr(win, "134567890 missing "); ! 47: waddch(win, '2'); ! 48: rg(win); ! 49: ! 50: wmove(win, 10, 11); ! 51: winsch(win, '2'); ! 52: wmove(win, 10, 20); ! 53: wclrtoeol(win); ! 54: wmove(win, 11, 10); ! 55: waddstr(win, "2 inserted"); ! 56: rg(win); ! 57: ! 58: wmove(win, 10, 11); ! 59: c = winch(win); ! 60: wdelch(win); ! 61: wmove(win, 11, 10); ! 62: wstandout(win); ! 63: wprintw(win, "%c found at 11, 10 and removed", c); ! 64: wstandend(win); ! 65: rg(win); ! 66: ! 67: wmove(win, 11, 10); ! 68: winsertln(win); ! 69: rg(win); ! 70: ! 71: delwin(win); ! 72: touchwin(stdscr); ! 73: rg(stdscr); ! 74: ! 75: win = newwin(5, 20, 1, 1); ! 76: win2 = newwin(5, 20, 10, 10); ! 77: waddstr(win, "A long line in a small window"); ! 78: wmove(win2, 2, 0); ! 79: waddstr(win2, "Window 2"); ! 80: wrefresh(win2); ! 81: rg(win); ! 82: ! 83: mvwin(win, 15, 10); /* move the window */ ! 84: touchwin(stdscr); /* refresh whats below */ ! 85: refresh(); ! 86: touchwin(win2); ! 87: wrefresh(win2); ! 88: rg(win); /* show moved copy */ ! 89: ! 90: clear(); ! 91: scrollok(stdscr, TRUE); ! 92: setscrreg(2, LINES-4); ! 93: mvaddstr(2, 2, "scroll this out"); ! 94: mvaddstr(3, 2, "this goes to the top"); ! 95: mvaddstr(LINES-4, 2, "bottom of scroll region"); ! 96: move(LINES-7, 2); ! 97: rg(stdscr); ! 98: ! 99: scroll(stdscr); ! 100: rg(stdscr); ! 101: ! 102: move(10, 0); ! 103: clrtobot(); ! 104: move(2, 0); ! 105: deleteln(); ! 106: rg(stdscr); ! 107: ! 108: mvaddstr(2, 0, "line 1\nline 2\nline 3"); ! 109: move(2, 0); ! 110: deleteln(); ! 111: rg(stdscr); ! 112: ! 113: erase(); ! 114: rg(stdscr); ! 115: ! 116: diemsg = "normal end"; ! 117: die(); ! 118: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.