PUBLIC void _System DoHelpPanel ( register panel_t *panel ) { uint message_number, save_control; void *memory; message_number = panel->help.default_message; if ( panel->help.array ) { if ( panel->choice < panel->help.array_size ) { message_number = panel->help.array [ panel->choice ]; } } memory = get_help_message ( message_number ); Help_panel.control |= NOT_SIZED; Help_panel.box.row_length = 0; SetPanelSize ( &Help_panel ); Help_panel.box.column = SCREEN_WIDTH - min( Help_panel.box.row_length, SCREEN_WIDTH ); save_control = Message_bar_panel.control; Message_bar_panel.control |= SAVE_RESTORE; MESSAGE_BAR_PANEL ( Help_message_line ); ScrollingPanel ( &Help_panel ); ErasePanel ( &Help_panel ); ErasePanel ( &Message_bar_panel ); Message_bar_panel.control = save_control; if ( memory ) { free ( memory ); } }
void command_option(int argc, char *argv[]) { #ifdef DETAIL g_debug("! Launch command_option()!"); #endif #ifdef SAFEMODE if (argv==NULL) return; #endif gint i; for (i=0; i<argc; i++) { #ifdef SAFEMODE if (argv[i]==NULL) break; #endif // g_debug("%2d (Total %d): %s",i, argc, argv[i]); if ((!strcmp(argv[i], "-v")) || (!strcmp(argv[i], "--version"))) { g_print("%s %s\n", PACKAGE, VERSION); exit (0); } else if ((!strcmp(argv[i], "-?")) || (!strcmp(argv[i], "-h")) || (!strcmp(argv[i], "--help"))) { // LilyTerm will exit immediately, so we don't need to free the get_help_message... XD g_print("\n%s\n", get_help_message(NULL)); // GString *help_msg = get_help_message(); // g_print("\n%s\n", help_msg->str); // g_string_free (help_msg, TRUE); exit (0); } else if ((!strcmp(argv[i], "-p")) || (!strcmp(argv[i], "--profile"))) { GString *settings = save_user_settings(NULL, NULL); #ifdef SAFEMODE if (settings) #endif g_print("%s", settings->str); g_string_free(settings, TRUE); exit (0); } else if ((!strcmp(argv[i], "-s")) || (!strcmp(argv[i], "--separate"))) { single_process = FALSE; } else if ((!strcmp(argv[i], "-e")) || (!strcmp(argv[i], "-x")) || (!strcmp(argv[i], "--execute"))) { // If -e or -x options specified then ignore anything beyond them break; } else if (!strcmp(argv[i], "--name")) { if (++i==argc) g_critical("missing program name after --name!\n"); else { extern gchar *wmclass_name; wmclass_name = argv[i]; } } else if (!strcmp(argv[i], "--class")) { if (++i==argc) g_critical("missing program class after --class!\n"); else { extern gchar *wmclass_class; wmclass_class = argv[i]; } } } }