42 lines
695 B
C
42 lines
695 B
C
// @BAKE gcc $@ -o $*.out $(pkg-config --cflags --libs ncurses)
|
|
#include <ncurses.h>
|
|
|
|
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;
|
|
}
|