// @COMPILECMD g++ ncurses_mv_win.cpp $(pkg-config --libs ncurses) #include #include #include #include int scr_h, scr_w; WINDOW* myWindow; WINDOW* mysubWindow; signed main(){ int r = 0; initscr(); noecho(); curs_set(0); getmaxyx(stdscr, scr_h, scr_w); const int myWinWidth = 100; myWindow = newwin(0, myWinWidth, 0, 0); if(!myWindow){ r = 1; goto exit; } box(myWindow, 0, 0); refresh(); mysubWindow = subwin(myWindow, 0, scr_w, 0, 0); if(!mysubWindow){ r = 1; goto exit; } touchwin(myWindow); refresh(); wrefresh(myWindow); wrefresh(mysubWindow); refresh(); while(1){ int y, x; getyx(mysubWindow, y, x); char* s; asprintf(&s, "%dx%d", y, x); mvwaddstr(mysubWindow, 1, 1, s); free(s); wrefresh(mysubWindow); switch(getch()){ case 'h': //if(x > 0){ mvderwin(mysubWindow, 0, 8); //} break; case 'l': //if(x < myWinWidth){ mvderwin(mysubWindow, 0, 8); //} break; } } exit: endwin(); return r; }