// @BAKE gcc $@ -o $*.out $(pkg-config --cflags --libs ncurses) #include char * own_source(void) { FILE* f = fopen("ncurses_labels.c", "r"); fseek(f, 0, SEEK_END); int flen = ftell(f); rewind(f); char * buffer = calloc(flen+1, sizeof(char)); fread(buffer, flen, sizeof(char), f); fclose(f); return buffer; } signed main() { slk_init(3); initscr(); noecho(); cbreak(); WINDOW * win = newwin(0, 0, 0, 0); nodelay(win, TRUE); keypad(win, TRUE); refresh(); slk_set(1, "exit", 0); slk_refresh(); waddstr(win, own_source()); wrefresh(win); int do_run = TRUE; while (do_run) { if (wgetch(win) == KEY_F(1)) { do_run = FALSE; } } endwin(); return 0; }