📄 interface.c
字号:
table4 = gtk_table_new (9, 2, FALSE); gtk_widget_ref (table4); gtk_object_set_data_full (GTK_OBJECT (property_box), "table4", table4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table4); gtk_container_add (GTK_CONTAINER (notebook2), table4); for (x = 0; x < 6;x ++) { temp_label = new_label (property_box,display_option_labels[x].name,display_option_labels[x].desc); gtk_table_attach (GTK_TABLE (table4), temp_label, 0, 1, x, x+1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); } // end for transparent_checkbox = new_checkbox(property_box, "trans_checkbox", "Transparent"); gtk_table_attach (GTK_TABLE (table4), transparent_checkbox, 1, 2, 6, 7, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); label37 = new_label (property_box,"ttp_label",_("Terminal type:")); gtk_table_attach (GTK_TABLE (table4), label37, 0, 1, 7, 8, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); bgimage_combo_entry = gnome_file_entry_new (NULL, NULL); gtk_widget_ref (bgimage_combo_entry); gtk_object_set_data_full (GTK_OBJECT (property_box), "bgimage_combo_entry", bgimage_combo_entry, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (bgimage_combo_entry); gtk_table_attach (GTK_TABLE (table4), bgimage_combo_entry, 1, 2, 5, 6, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); gnome_file_entry_set_modal (GNOME_FILE_ENTRY (bgimage_combo_entry), TRUE); bgimage_fileentry = gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (bgimage_combo_entry)); gtk_widget_ref (bgimage_fileentry); gtk_object_set_data_full (GTK_OBJECT (property_box), "bgimage_fileentry", bgimage_fileentry, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (bgimage_fileentry); fontpicker = gnome_font_picker_new (); gtk_widget_ref (fontpicker); gtk_object_set_data_full (GTK_OBJECT (property_box), "fontpicker", fontpicker, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fontpicker); gtk_table_attach (GTK_TABLE (table4), fontpicker, 1, 2, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gnome_font_picker_set_mode (GNOME_FONT_PICKER (fontpicker), GNOME_FONT_PICKER_MODE_FONT_INFO); gnome_font_picker_fi_set_use_font_in_label (GNOME_FONT_PICKER (fontpicker), TRUE, 14); dircolor_picker = gnome_color_picker_new (); gtk_widget_ref (dircolor_picker); gtk_object_set_data_full (GTK_OBJECT (property_box), "dircolor_picker", dircolor_picker, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (dircolor_picker); gtk_table_attach (GTK_TABLE (table4), dircolor_picker, 1, 2, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); execolor_picker = gnome_color_picker_new (); gtk_widget_ref (execolor_picker); gtk_object_set_data_full (GTK_OBJECT (property_box), "execolor_picker", execolor_picker, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (execolor_picker); gtk_table_attach (GTK_TABLE (table4), execolor_picker, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); fgcolor_picker = gnome_color_picker_new (); gtk_widget_ref (fgcolor_picker); gtk_object_set_data_full (GTK_OBJECT (property_box), "fgcolor_picker", fgcolor_picker, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fgcolor_picker); gtk_table_attach (GTK_TABLE (table4), fgcolor_picker, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); bgcolor_picker = gnome_color_picker_new (); gtk_widget_ref (bgcolor_picker); gtk_object_set_data_full (GTK_OBJECT (property_box), "bgcolor_picker", bgcolor_picker, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (bgcolor_picker); gtk_table_attach (GTK_TABLE (table4), bgcolor_picker, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0);/////////////////////////////////////////////////////////////////////////////// term_type_entry = gtk_combo_new (); gtk_widget_ref (term_type_entry); gtk_object_set_data_full (GTK_OBJECT (property_box), "term_type_entry", term_type_entry, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (term_type_entry); gtk_table_attach (GTK_TABLE (table4), term_type_entry, 1, 2, 7, 8, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); for (x=0;x < 41;x++) // from 1 to 40 { term_type_entry_items = g_list_append (term_type_entry_items, the_terminal_types[x]); } swap_del_key_checkbox = new_checkbox(property_box, "swap_del_key", "Swap the Del and Backspace Key"); gtk_table_attach (GTK_TABLE (table4), swap_del_key_checkbox, 1, 2, 8, 9, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_combo_set_popdown_strings (GTK_COMBO (term_type_entry), term_type_entry_items); g_list_free (term_type_entry_items); term_type_combo_entry = GTK_COMBO (term_type_entry)->entry; gtk_widget_ref (term_type_combo_entry); gtk_object_set_data_full (GTK_OBJECT (property_box), "term_type_combo_entry", term_type_combo_entry, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (term_type_combo_entry);////////////////////////////////////////////////////////////////////////////////////////// label13 = new_label (property_box,"disp_sttngs",_("Display Settings")); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2),3),label13); gtk_signal_connect(GTK_OBJECT(property_box),"apply", GTK_SIGNAL_FUNC (on_pref_ok_button_clicked), NULL); gtk_signal_connect(GTK_OBJECT(property_box),"help", GTK_SIGNAL_FUNC (on_pref_help_button_clicked), NULL); //////////////////////////////////////////////////// for (x=0; x < max_telnet_desc; x++) { gtk_signal_connect(GTK_OBJECT(telnet_checkbox[x].widget), "clicked", GTK_SIGNAL_FUNC(changed), NULL); gtk_signal_connect(GTK_OBJECT(ssh_checkbox[x].widget), "clicked", GTK_SIGNAL_FUNC(changed), NULL); } //////////////////////////////////////////////////// for (x=max_ssh_desc - max_telnet_desc - 1; x < max_ssh_desc; x++) gtk_signal_connect(GTK_OBJECT(ssh_checkbox[x].widget), "clicked", GTK_SIGNAL_FUNC(changed), NULL); for (x=0; x < max_rlogin_desc; x++) gtk_signal_connect(GTK_OBJECT(rlogin_checkbox[x].widget), "clicked", GTK_SIGNAL_FUNC(changed), NULL); //////////////////////////////////////////////////// gtk_signal_connect(GTK_OBJECT(tos_entry), "changed", GTK_SIGNAL_FUNC(changed), NULL); gtk_signal_connect(GTK_OBJECT(atype_entry), "changed", GTK_SIGNAL_FUNC(changed), NULL); gtk_signal_connect(GTK_OBJECT(tracefiles_entry), "browse_clicked", GTK_SIGNAL_FUNC(changed), NULL); gtk_signal_connect(GTK_OBJECT(realm_entry), "changed", GTK_SIGNAL_FUNC(changed), NULL); gtk_signal_connect(GTK_OBJECT(rlogin_ticket_entry), "changed", GTK_SIGNAL_FUNC(changed), NULL); gtk_signal_connect(GTK_OBJECT(ssh_esc_char_entry), "changed", GTK_SIGNAL_FUNC(changed), NULL); gtk_signal_connect(GTK_OBJECT(init_rlogin_esc_entry), "changed", GTK_SIGNAL_FUNC(changed), NULL); gtk_signal_connect(GTK_OBJECT(bgcolor_picker), "clicked", GTK_SIGNAL_FUNC(changed), NULL); gtk_signal_connect(GTK_OBJECT(fgcolor_picker), "clicked", GTK_SIGNAL_FUNC(changed), NULL); gtk_signal_connect(GTK_OBJECT(dircolor_picker), "clicked", GTK_SIGNAL_FUNC(changed), NULL); gtk_signal_connect(GTK_OBJECT(execolor_picker), "clicked", GTK_SIGNAL_FUNC(changed), NULL); gtk_signal_connect(GTK_OBJECT(fontpicker), "clicked", GTK_SIGNAL_FUNC(changed), NULL); gtk_signal_connect(GTK_OBJECT(bgimage_combo_entry), "browse_clicked", GTK_SIGNAL_FUNC(changed), NULL); gtk_signal_connect(GTK_OBJECT(term_type_combo_entry),"changed", GTK_SIGNAL_FUNC(changed), NULL); return property_box;}GtkWidget* create_ssh_dialog (void){ GtkWidget *dialog_vbox5, *scrolledwindow5, *text4; GtkWidget *table11; GtkWidget *label36; GtkWidget *dialog_action_area5; GtkWidget *ssh_login_ok_button; GtkWidget *ssh_login_cancel_button; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); ssh_dialog = gnome_dialog_new (_("SSH Login"), NULL); gtk_object_set_data (GTK_OBJECT (ssh_dialog), "ssh_dialog", ssh_dialog); gtk_window_set_default_size (GTK_WINDOW (ssh_dialog), 400, 200); gtk_window_set_modal(GTK_WINDOW(ssh_dialog), TRUE); gtk_window_set_position(GTK_WINDOW (ssh_dialog), GTK_WIN_POS_CENTER); gtk_window_set_policy (GTK_WINDOW (ssh_dialog), TRUE, TRUE, TRUE); dialog_vbox5 = GNOME_DIALOG (ssh_dialog)->vbox; gtk_object_set_data (GTK_OBJECT (ssh_dialog), "dialog_vbox5", dialog_vbox5); gtk_widget_show (dialog_vbox5); table11 = gtk_table_new (2, 2, FALSE); gtk_widget_ref (table11); gtk_object_set_data_full (GTK_OBJECT (ssh_dialog), "table11", table11, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table11); gtk_box_pack_start (GTK_BOX (dialog_vbox5), table11, TRUE, TRUE, 0); label36 = new_label (ssh_dialog,"usrname_label",_("Username:")); gtk_table_attach (GTK_TABLE (table11), label36, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); ssh_login_entry = gnome_entry_new ("user_history"); gnome_entry_load_history(GNOME_ENTRY(ssh_login_entry)); gtk_widget_ref (ssh_login_entry); gtk_object_set_data_full (GTK_OBJECT (ssh_dialog), "ssh_login_entry", ssh_login_entry, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (ssh_login_entry); gtk_table_attach (GTK_TABLE (table11), ssh_login_entry, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); ssh_login_combo_entry = gnome_entry_gtk_entry (GNOME_ENTRY (ssh_login_entry)); gtk_widget_ref (ssh_login_combo_entry); gtk_object_set_data_full (GTK_OBJECT (ssh_dialog), "ssh_login_combo_entry", ssh_login_combo_entry, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (ssh_login_combo_entry); scrolledwindow5 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_ref (scrolledwindow5); gtk_object_set_data_full (GTK_OBJECT (ssh_dialog), "scrolledwindow5", scrolledwindow5, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scrolledwindow5); gtk_table_attach (GTK_TABLE (table11), scrolledwindow5, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); text4 = gtk_text_new (NULL, NULL); gtk_widget_ref (text4); gtk_object_set_data_full (GTK_OBJECT (ssh_dialog), "text4", text4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (text4); gtk_container_add (GTK_CONTAINER (scrolledwindow5), text4); gtk_text_insert (GTK_TEXT (text4), NULL, NULL, NULL, _("If you don't want to see this login box, type user@hostname.com in the host name entry, and to restore the previous settings you can click the pulldown button next to it to retrieve the history. Now please type your user name/login below!"), 238); dialog_action_area5 = GNOME_DIALOG (ssh_dialog)->action_area; gtk_object_set_data (GTK_OBJECT (ssh_dialog), "dialog_action_area5", dialog_action_area5); gtk_widget_show (dialog_action_area5); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area5), GTK_BUTTONBOX_END); gtk_button_box_set_spacing (GTK_BUTTON_BOX (dialog_action_area5), 8); gnome_dialog_append_button (GNOME_DIALOG (ssh_dialog), GNOME_STOCK_BUTTON_OK); ssh_login_ok_button = g_list_last (GNOME_DIALOG (ssh_dialog)->buttons)->data; gtk_widget_ref (ssh_login_ok_button); gtk_object_set_data_full (GTK_OBJECT (ssh_dialog), "ssh_login_ok_button", ssh_login_ok_button, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (ssh_login_ok_button); GTK_WIDGET_SET_FLAGS (ssh_login_ok_button, GTK_CAN_DEFAULT | GTK_HAS_DEFAULT);//// Cancel button gnome_dialog_append_button (GNOME_DIALOG (ssh_dialog), GNOME_STOCK_BUTTON_CANCEL); ssh_login_cancel_button = g_list_last (GNOME_DIALOG (ssh_dialog)->buttons)->data; gtk_widget_ref (ssh_login_cancel_button); gtk_object_set_data_full (GTK_OBJECT (ssh_dialog), "ssh_login_cancel_button", ssh_login_cancel_button, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (ssh_login_cancel_button); gtk_signal_connect(GTK_OBJECT (ssh_login_combo_entry),"activate", GTK_SIGNAL_FUNC(on_ssh_login_ok_button_clicked),NULL); gtk_signal_connect(GTK_OBJECT (ssh_login_ok_button),"clicked", GTK_SIGNAL_FUNC(on_ssh_login_ok_button_clicked),NULL); gtk_signal_connect(GTK_OBJECT(ssh_login_cancel_button),"clicked", GTK_SIGNAL_FUNC(on_ssh_login_cancel_button_clicked),NULL); gtk_window_add_accel_group (GTK_WINDOW (ssh_dialog), accel_group); gtk_widget_grab_focus (ssh_login_combo_entry); return ssh_dialog;}/////////////////////////////////////////// HANDLER /////////////////////////////////////////char *config_telnet[] = { "telnet_eight_bit_data_path", //1 "telnet_eight_bit_data_path_output", //2 "telnet_stop_recognize_esc", //3 "telnet_forward_local_credentials", //4 "telnet_automatic_login", //5 "telnet_rlogin_style", //6 "telnet_encrypt", //7 "telnet_debug", //8 "telnet_init_char", //9 "telnet_TOS", //10 "telnet_disable_atype", //11 "telnet_realm_host", //12 "telnet_trace_file" //13 };char *config_ssh[] = { "ssh_dev_null", //1 "ssh_disable_auth_forward", //2 "ssh_disable_x11", //3 "ssh_tty", //4 "ssh_verbose", //5 "ssh_no_priv_ports", //6 "ssh_quiet", //7 "ssh_fork_bg", //8 "ssh_compress", //9 "ssh_allow_remote_to_forwarded_port",//10 "ssh_no_request_session_channel", //11 "ssh_debug_level", //12 "ssh_rsa_id", //13 "ssh_init_char", //14 "ssh_encrypt_algorithm" //15 };char *config_rlogin[] ={ "rlogin_eight_bit_data_path", //1 "rlogin_stop_recognize_esc", //2 "rlogin_kerberos_off", //3 "rlogin_litout", //4 "rlogin_debug", //5 "rlogin_encrypt", //6 "rlogin_init_char", //7 "rlogin_realm_host" //8}; enum connect_with {telnet, ssh, rlogin}; char *connect_with_program[3] = {"telnet","ssh","rlogin"};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -