ncurses - window refresh'd nicht

Post Reply
Message
Author
blubb

ncurses - window refresh'd nicht

#1 Post by blubb »

hallo, nach 8h hab ich keine lust mehr, ich find den fehler einfach nicht
ich wollte ein einfaches fenster machen (stdscr) und in dem 2 subwin's.
in dem einen soll nur drinnen stehen "press f or q" und das andere soll sich staendig veraendern, hier der code:

#include <panel.h>
#include <stdio.h>
#include <curses.h>
#include <stdlib.h>
#include <unistd.h>

int main(void)
{
char prozess[] = {'|', '/', '-', '\\'};
WINDOW *usage_win, *win_proz;
PANEL *usage_pan, *pan_proz;
int i = 0;
char antwort;
initscr(); cbreak(); noecho();

usage_win = subwin(stdscr, 1, 13, LINES / 5, 10); //usage menu
usage_pan = new_panel(usage_win);
mvwaddnstr(usage_win, 0, 0, "press f or q", 13);
show_panel(usage_pan);
update_panels();
doupdate();

win_proz = subwin(stdscr, 1, 1, LINES / 10, 10);
mvwaddch(win_proz, 0, 0, (chtype) prozess[0]);
pan_proz = new_panel(win_proz);
show_panel(pan_proz);
update_panels();
doupdate();


nodelay(stdscr, 0);
i = 1;
for(; ;)
{
if(i == 4)
i = 0;
nodelay(stdscr, 0);
mvwaddch(win_proz, 0, 0, (chtype) prozess);
//werase(win_proz); dachte mir vll gehts mal zu loeschen - negativ :/
antwort = getch();
refresh();
sleep(1);
if(antwort == 'q')
{
endwin();
break;
}

sleep(1);

}
endwin();
}

Guest

huch...

#2 Post by Guest »

hab das i++ unten in der for schleife vergessen :oops:
habs jetzt gefixed, aber er wartet trotz nodelay() auf die user eingabe, vorher mag er einfach nix anzeigen
weis jemand wieso das so ist?

blubb

Post Reply