tests/C_C++/ncurses_resize_test.c
2024-07-22 19:37:02 +02:00

115 lines
2.3 KiB
C

#include <signal.h>
#include <ncurses.h>
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 <signal.h>
//#include <ncurses.h>
//
//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 <signal.h>
//#include <ncurses.h>
//
//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;
//}