void recreate_terminal(void) { int index = 0; determine_terminal_size(&max_y, &max_x); resizeterm(max_y, max_x); endwin(); refresh(); create_windows(); for(index = window_history_n - 1; index >= 0; index--) { if (slow_history[index]) myprint(w_slow, slow_history[index]); if (fast_history[index]) myprint(w_fast, fast_history[index]); } doupdate(); win_resize = 0; }
static void sig_setup_changed(void) { static int firsttime = TRUE; static int status_window = FALSE, msgs_window = FALSE; int changed = FALSE; if (settings_get_bool("use_status_window") != status_window) { status_window = !status_window; changed = TRUE; } if (settings_get_bool("use_msgs_window") != msgs_window) { msgs_window = !msgs_window; changed = TRUE; } if (firsttime) { firsttime = FALSE; changed = TRUE; windows_layout_restore(); if (windows != NULL) return; } if (changed) create_windows(); }
void fe_common_core_finish_init(void) { signal_emit("irssi init read settings", 0); #ifdef SIGPIPE signal(SIGPIPE, SIG_IGN); #endif if (cmdline_nick != NULL) { /* override nick found from setup */ settings_set_str("nick", cmdline_nick); } if (cmdline_hostname != NULL) { /* override host name found from setup */ settings_set_str("hostname", cmdline_hostname); } create_windows(); /* _after_ windows are created.. */ g_log_set_handler(G_LOG_DOMAIN, (GLogLevelFlags) (G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING), (GLogFunc) glog_func, NULL); autoconnect_servers(); }
/* Funzione che inizzializza le ncurses */ void init_screen() { initscr(); /* inizzializza lo schermo */ cbreak(); /* input senza buffer */ keypad(stdscr, TRUE); /* tasti freccia, ecc */ noecho(); /* non stampare il carattere a video */ curs_set(0); /* non mostrare il cursore */ refresh(); signal(SIGWINCH, SIG_IGN); while (LINES<25 || COLS<120) { printw("Per giocare è consigliato un terminale di almeno 25x120!\n"); printw("Per una migliore esperienza di gioco, ti consigliamo di ridimensionare ora il tuo terminale\n"); printw("Una volta ridimensionato il terminale, premere un tasto per continuare\n"); refresh(); getch(); endwin(); refresh(); clear(); } /* Segnale di ridimensionamento finestra */ signal(SIGWINCH, resize_terminal); refresh(); create_windows(); refresh(); }
int invutil_interactive(char *inv_path, char *mountpt, uuid_t *uuidp, time32_t timeSecs) { int keyc; node_t *menulist; menulist = generate_menu(inv_path); if(menulist == NULL) { fprintf(stderr, "%s: abnormal termination\n", g_programName); exit(1); } if(timeSecs > 0) { list_prune(menulist, mountpt, uuidp, timeSecs); } keyc = sizeof(keyv) / sizeof(keyv[0]); create_windows(); menu(mainmenu, 1, 0, menulist, keyc, keyv); endwin(); close_all_stobj(); close_all_invidx(); close_all_fstab(); return 0; }
Err open_window(t_info *info, t_args *args) { Err err; int w, h; memcpy(&w, args->data, sizeof(w)); memcpy(&h, args->data + sizeof(w), sizeof(h)); if ((err = init_sdl(info))) return (err); if ((err = create_windows(info, w, h))) return (err); return (0); }
void debug_console::recreate_terminal() { term_change = false; determine_terminal_size(&max_y, &max_x); resizeterm(max_y, max_x); endwin(); refresh(); /* <- as specified by ncurses faq, was: doupdate(); */ create_windows(); }
/*ARGSUSED*/ void signal_handler(int s) { switch(s) { case SIGWINCH: signal(SIGWINCH, signal_handler); delwin(mainmenu); delwin(infowin); endwin(); create_windows(); redraw_screen = BOOL_TRUE; break; } }
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { MSG msg ; HACCEL hAccel ; g_hInstance = hInstance; env_init(); register_frame(); register_main_board_win(); register_grid_win(); register_input_board_win(); register_mark_win(); register_input_grid_win(); register_mark_grid_win(); register_tip_win(); register_ver_update_win(); create_app_fonts(); create_windows(iCmdShow); hAccel = LoadAccelerators (hInstance, TEXT("MY_ACCELER")) ; /* 初始化完毕。*/ init_over=1; /* 下面进入消息循环 */ while (GetMessage (&msg, NULL, 0, 0)) { if (!TranslateAccelerator (hwnd_frame, hAccel, &msg)) { TranslateMessage (&msg) ; /* 如果需要的话,这里可以修改个别消息的传递 if (msg.message==WM_KEYDOWN && VK_RETURN==msg.wParam && msg.hwnd==hwnd_origin) { msg.hwnd = hwnd_new; } */ DispatchMessage (&msg) ; } } return msg.wParam ; }
int main(int argc, char *argv[]) { char *host, *port, *path, *tmp_url; lo_server osc_server; gint osc_server_socket_tag; Y_DEBUG_INIT("WhySynth_gtk"); #ifdef Y_DEBUG GDB_MESSAGE(GDB_MAIN, " starting (pid %d)...\n", getpid()); #else fprintf(stderr, "WhySynth_gtk starting (pid %d)...\n", getpid()); #endif /* { int i; fprintf(stderr, "args:\n"); for(i=0; i<argc; i++) printf("%d: %s\n", i, argv[i]); } // debug */ gtk_init(&argc, &argv); if (argc > 1 && !strcmp(argv[1], "-test")) { gui_test_mode = 1; test_argv[0] = argv[0]; test_argv[1] = "osc.udp://localhost:9/test/mode"; if (argc >= 5) test_argv[4] = argv[4]; argc = 5; argv = test_argv; } else if (argc != 5) { fprintf(stderr, "usage: %s <osc url> <plugin dllname> <plugin label> <user-friendly id>\n" " or: %s -test\n", argv[0], argv[0]); exit(1); } /* set up OSC support */ osc_host_url = argv[1]; host = lo_url_get_hostname(osc_host_url); port = lo_url_get_port(osc_host_url); path = lo_url_get_path(osc_host_url); osc_host_address = lo_address_new(host, port); osc_configure_path = osc_build_path(path, "/configure"); osc_control_path = osc_build_path(path, "/control"); osc_exiting_path = osc_build_path(path, "/exiting"); osc_hide_path = osc_build_path(path, "/hide"); osc_midi_path = osc_build_path(path, "/midi"); osc_program_path = osc_build_path(path, "/program"); osc_quit_path = osc_build_path(path, "/quit"); osc_rate_path = osc_build_path(path, "/sample-rate"); osc_show_path = osc_build_path(path, "/show"); osc_update_path = osc_build_path(path, "/update"); osc_server = lo_server_new(NULL, osc_error); lo_server_add_method(osc_server, osc_configure_path, "ss", osc_configure_handler, NULL); lo_server_add_method(osc_server, osc_control_path, "if", osc_control_handler, NULL); lo_server_add_method(osc_server, osc_hide_path, "", osc_action_handler, "hide"); lo_server_add_method(osc_server, osc_program_path, "ii", osc_program_handler, NULL); lo_server_add_method(osc_server, osc_quit_path, "", osc_action_handler, "quit"); lo_server_add_method(osc_server, osc_rate_path, "i", osc_action_handler, "sample-rate"); lo_server_add_method(osc_server, osc_show_path, "", osc_action_handler, "show"); lo_server_add_method(osc_server, NULL, NULL, osc_debug_handler, NULL); tmp_url = lo_server_get_url(osc_server); osc_self_url = osc_build_path(tmp_url, (strlen(path) > 1 ? path + 1 : path)); free(tmp_url); GDB_MESSAGE(GDB_OSC, ": listening at %s\n", osc_self_url); /* set up GTK+ */ update_port_wavetable_counts(); create_windows(argv[4]); /* add OSC server socket to GTK+'s watched I/O */ if (lo_server_get_socket_fd(osc_server) < 0) { fprintf(stderr, "WhySynth_gtk fatal: OSC transport does not support exposing socket fd\n"); exit(1); } osc_server_socket_tag = gdk_input_add(lo_server_get_socket_fd(osc_server), GDK_INPUT_READ, osc_data_on_socket_callback, osc_server); /* default patches, temporary patchfile support */ gui_data_friendly_patches(); rebuild_patches_list(); patches_dirty = 0; last_configure_load_was_from_tmp = 0; create_patches_tmp_filename(path); /* schedule our update request */ update_request_timeout_tag = g_timeout_add(50, update_request_timeout_callback, NULL); /* let GTK+ take it from here */ gtk_main(); /* clean up and exit */ GDB_MESSAGE(GDB_MAIN, ": yep, we got to the cleanup!\n"); /* release test note, if playing */ release_test_note(); /* GTK+ cleanup */ if (update_request_timeout_tag != 0) gtk_timeout_remove(update_request_timeout_tag); gdk_input_remove(osc_server_socket_tag); /* say bye-bye */ if (!host_requested_quit) { lo_send(osc_host_address, osc_exiting_path, ""); } /* clean up patches */ if (patches) free(patches); if (project_directory) free(project_directory); /* clean up OSC support */ lo_server_free(osc_server); free(host); free(port); free(path); free(osc_configure_path); free(osc_control_path); free(osc_exiting_path); free(osc_hide_path); free(osc_midi_path); free(osc_program_path); free(osc_quit_path); free(osc_rate_path); free(osc_show_path); free(osc_update_path); free(osc_self_url); return 0; }
void resize_terminal(int signal __attribute__((__unused__))) { endwin(); refresh(); delete_windows(); create_windows(); }
int main() { int logi, ch, y, x; display_log_type = INFO; log_init(&log); log_register_message_callback(&log, message_logged); current_action = NO_ACTION; initscr(); create_windows(); cdk_screen = initCDKScreen(log_window); log_swindow = newCDKSwindow(cdk_screen, 0, 0, log_lines, log_cols, "", 255, 0, 0); draw_stdscr(); draw_url_input(); draw_commands(); select_form(); raw(); noecho(); keypad(stdscr, TRUE); while ((ch = wgetch(input_window)) != '' || current_action & CANCEL_SHOWING) if (ch == KEY_LEFT) form_driver(url_form, REQ_LEFT_CHAR); else if (ch == KEY_RIGHT) form_driver(url_form, REQ_RIGHT_CHAR); else if (ch == KEY_BACKSPACE || ch == 127) { getyx(input_window, y, x); if (x == FIELD_START + 1) { form_driver(url_form, REQ_SCR_HBHALF); form_driver(url_form, REQ_END_LINE); } form_driver(url_form, REQ_LEFT_CHAR); form_driver(url_form, REQ_DEL_CHAR); } else if (ch == KEY_DC) form_driver(url_form, REQ_DEL_CHAR); else if (ch == KEY_HOME) form_driver(url_form, REQ_BEG_FIELD); else if (ch == KEY_END) form_driver(url_form, REQ_END_FIELD); else if (ch == KEY_UP || ch == KEY_DOWN) injectCDKSwindow(log_swindow, ch); else if (ch == '') cleanCDKSwindow(log_swindow); else if (ch == ' ') change_display_log_type(INFO); else if (ch == '') change_display_log_type(DETAILS); else if (ch == '\n' && current_action & URL_INPUTTING) { int ret; form_driver(url_form, REQ_END_FIELD); form_driver(url_form, 'a'); form_driver(url_form, REQ_VALIDATION); strncpy(url, field_buffer(url_field[0], 0), FIELD_BUF_SIZE); url[FIELD_BUF_SIZE - 1] = '\0'; *strrchr(url, 'a') = '\0'; http_url_init(&http_url); if (ret = http_url_parse(&http_url, url)) { char *message; switch (ret) { case INVALID_SERVER_AUTHORITY: message = "Invalid server authority"; break; case INVALID_SCHEME: message = "Invalid scheme"; break; case INVALID_PORT: message = "Invalid port"; break; default: message = "Invalid URI"; break; } log_printf(&log, INFO, "http_url_parse", "%s", message); draw_url_input(); draw_commands(); } else { draw_method_selection(); draw_cancel(); } } else if (tolower(ch) == 'g' && current_action & METHOD_SELECTING) { http_init(&http, &http_url, GET, NULL, 0, 3, &log); pthread_create(&http_thread, NULL, http_run_thread, &http); draw_cancel(); } else if (tolower(ch) == 'h' && current_action & METHOD_SELECTING) { http_init(&http, &http_url, HEAD, NULL, 0, 3, &log); pthread_create(&http_thread, NULL, http_run_thread, &http); draw_cancel(); } else if (tolower(ch) == 'p' && current_action & METHOD_SELECTING) { draw_post_input(); draw_cancel(); select_form(); } else if (ch == '\n' && current_action & POST_INPUTTING) { form_driver(url_form, REQ_END_FIELD); form_driver(url_form, 'a'); form_driver(url_form, REQ_VALIDATION); strncpy(post, field_buffer(url_field[0], 0), FIELD_BUF_SIZE); post[FIELD_BUF_SIZE - 1] = '\0'; *strrchr(post, 'a') = '\0'; http_init(&http, &http_url, POST, post, strlen(post), 3, &log); pthread_create(&http_thread, NULL, http_run_thread, &http); draw_cancel(); } else if (ch == '\n' && current_action & FILE_INPUTTING) { form_driver(url_form, REQ_END_FIELD); form_driver(url_form, 'a'); form_driver(url_form, REQ_VALIDATION); strncpy(file, field_buffer(url_field[0], 0), FIELD_BUF_SIZE); file[FIELD_BUF_SIZE - 1] = '\0'; *strrchr(file, 'a') = '\0'; pthread_mutex_lock(&input_mutex); inputted = 1; pthread_cond_broadcast(&input_cond); pthread_mutex_unlock(&input_mutex); } else if ((ch == 'y' || ch == 'Y') && current_action & OVERWRITE_INPUTTING) { do_overwrite = 1; pthread_mutex_lock(&input_mutex); inputted = 1; pthread_cond_broadcast(&input_cond); pthread_mutex_unlock(&input_mutex); } else if ((ch == 'n' || ch == 'N') && current_action & OVERWRITE_INPUTTING) { do_overwrite = 0; pthread_mutex_lock(&input_mutex); inputted = 1; pthread_cond_broadcast(&input_cond); pthread_mutex_unlock(&input_mutex); }else if (ch == '') { if (http.status != DISCONNECTED) http_disconnect(&http); draw_url_input(); draw_commands(); select_form(); } else form_driver(url_form, ch); delete_input_form(); destroyCDKSwindow(log_swindow); destroyCDKScreen(cdk_screen); endwin(); pthread_mutex_destroy(&input_mutex); pthread_cond_destroy(&input_cond); return 0; }