#include #include void handle_winch(int sig) { endwin(); refresh(); clear(); } int main() { initscr(); cbreak(); noecho(); curs_set(0); signal(SIGWINCH, handle_winch); while(true){ mvprintw(LINES-2, 0, "Hello, world! %d:%d\n", LINES, COLS); refresh(); } endwin(); return 0; } //#include //#include // //void sigwinch_handler(int sig) { // // Tell ncurses to update its internal screen size data // endwin(); // refresh(); //} // //int main() { // // Initialize ncurses // initscr(); // cbreak(); // noecho(); // curs_set(0); // // // Register the SIGWINCH signal handler // signal(SIGWINCH, sigwinch_handler); // // // Set the initial screen color and print a message // start_color(); // init_pair(1, COLOR_BLUE, COLOR_TRANSPARENT); // bkgd(COLOR_PAIR(1)); // printw("Hello, world!\n"); // // // Wait for user input // refresh(); // getch(); // // // Resize the screen // endwin(); // refresh(); // int new_rows, new_cols; // getmaxyx(stdscr, new_rows, new_cols); // resizeterm(new_rows, new_cols); // // // Update the screen color and print another message // init_pair(2, COLOR_RED, COLOR_TRANSPARENT); // bkgd(COLOR_PAIR(2)); // printw("Goodbye!\n"); // // // Wait for user input // refresh(); // getch(); // // // Clean up and exit // endwin(); // return 0; //} //#include //#include // //void sigwinch_handler(int sig) { // // Resize the terminal to the new size // endwin(); // refresh(); // resize_term(LINES, COLS); //} // //int main() { // // Initialize ncurses // initscr(); // cbreak(); // noecho(); // // // Register the SIGWINCH signal handler // signal(SIGWINCH, sigwinch_handler); // // // Print the initial size of the screen // printw("Initial screen size: %d rows, %d columns\n", LINES, COLS); // // // Wait for user input // refresh(); // getch(); // // // Resize the screen // resize_term(40, 80); // // // Print the new size of the screen // printw("New screen size: %d rows, %d columns\n", LINES, COLS); // // // Wait for user input // refresh(); // getch(); // // // Clean up and exit // endwin(); // return 0; //}