From 79e4f6ba85bdf57b052507d80319a7deddcfab16 Mon Sep 17 00:00:00 2001 From: anon Date: Sun, 10 Mar 2024 15:57:36 +0100 Subject: [PATCH] Added ncurses_mv_win.cpp --- ncurses_mv_win.cpp | 68 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 ncurses_mv_win.cpp diff --git a/ncurses_mv_win.cpp b/ncurses_mv_win.cpp new file mode 100644 index 0000000..46d0252 --- /dev/null +++ b/ncurses_mv_win.cpp @@ -0,0 +1,68 @@ +// @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; +} +