static void pollmultidlg_init(PollMultiDlg *pmdlg, GtkWindow *parent) { GtkWidget *mainbox, *vbox, *paned; GtkWidget *menu, *label; pmdlg->dlg = gtk_dialog_new_with_buttons(_("Multi Poll Question"), parent, GTK_DIALOG_MODAL, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); jam_win_set_size(GTK_WINDOW(pmdlg->dlg), 500, -1); mainbox = gtk_vbox_new(FALSE, 12); menu = gtk_menu_new(); gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtk_menu_item_new_with_mnemonic(_("Choose best answer (_radio buttons)"))); gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtk_menu_item_new_with_mnemonic(_("Choose best answer (_drop-down menu)"))); gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtk_menu_item_new_with_mnemonic(_("Select _all that apply (checkboxes)"))); pmdlg->typemenu = gtk_option_menu_new(); gtk_option_menu_set_menu(GTK_OPTION_MENU(pmdlg->typemenu), menu); gtk_box_pack_start(GTK_BOX(mainbox), labelled_box_new_expand(_("Choice _Type:"), pmdlg->typemenu, TRUE), FALSE, FALSE, 0); paned = gtk_hpaned_new(); gtk_box_pack_start(GTK_BOX(mainbox), paned, TRUE, TRUE, 0); vbox = gtk_vbox_new(FALSE, 6); label = gtk_label_new_with_mnemonic(_("_Question:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); pmdlg->question = gtk_text_view_new(); gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(pmdlg->question), GTK_WRAP_WORD); gtk_label_set_mnemonic_widget(GTK_LABEL(label), pmdlg->question); gtk_box_pack_start(GTK_BOX(vbox), scroll_wrap(pmdlg->question), TRUE, TRUE, 0); gtk_paned_pack1(GTK_PANED(paned), vbox, TRUE, FALSE); vbox = gtk_vbox_new(FALSE, 6); pollmulti_make_list(pmdlg); label = gtk_label_new_with_mnemonic(_("O_ptions:")); gtk_label_set_mnemonic_widget(GTK_LABEL(label), pmdlg->answers.view); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), pmdlg->answers.box, TRUE, TRUE, 0); gtk_paned_pack2(GTK_PANED(paned), vbox, TRUE, FALSE); jam_dialog_set_contents(GTK_DIALOG(pmdlg->dlg), mainbox); }
static void pollscaledlg_init(PollScaleDlg *psdlg, GtkWindow *parent) { GtkWidget *mainbox, *vbox; GtkWidget *label; GtkSizeGroup *sizegroup; GtkAdjustment *adj1 = (GtkAdjustment*)gtk_adjustment_new( 1.0, -32000.0, 32000.0, 1.0, 5.0, 0); GtkAdjustment *adj2 = (GtkAdjustment*)gtk_adjustment_new( 10.0, -32000.0, 32000.0, 1.0, 5.0, 0); GtkAdjustment *adj3 = (GtkAdjustment*)gtk_adjustment_new( 1.0, -32000.0, 32000.0, 1.0, 5.0, 0); psdlg->dlg = gtk_dialog_new_with_buttons(_("Scale Poll Question"), parent, GTK_DIALOG_MODAL, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); jam_win_set_size(GTK_WINDOW(psdlg->dlg), 400, -1); mainbox = gtk_hbox_new(FALSE, 12); vbox = gtk_vbox_new(FALSE, 6); label = gtk_label_new_with_mnemonic(_("_Question:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); psdlg->question = gtk_text_view_new(); gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(psdlg->question), GTK_WRAP_WORD); gtk_label_set_mnemonic_widget(GTK_LABEL(label), psdlg->question); gtk_box_pack_start(GTK_BOX(vbox), scroll_wrap(psdlg->question), TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(mainbox), vbox, TRUE, TRUE, 0); vbox = gtk_vbox_new(FALSE, 6); sizegroup = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); psdlg->from = gtk_spin_button_new(adj1, 1.0, 0); gtk_box_pack_start(GTK_BOX(vbox), labelled_box_new_sg(_("_From:"), psdlg->from, sizegroup), FALSE, FALSE, 0); psdlg->to = gtk_spin_button_new(adj2, 1.0, 0); gtk_box_pack_start(GTK_BOX(vbox), labelled_box_new_sg(_("_To:"), psdlg->to, sizegroup), FALSE, FALSE, 0); psdlg->by = gtk_spin_button_new(adj3, 1.0, 0); gtk_box_pack_start(GTK_BOX(vbox), labelled_box_new_sg(_("_By:"), psdlg->by, sizegroup), FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(mainbox), vbox, FALSE, FALSE, 0); jam_dialog_set_contents(GTK_DIALOG(psdlg->dlg), mainbox); }
JamAccount* login_dlg_run(GtkWindow *parent, JamHost *host, JamAccount *acc) { login_dlg ldlg_actual = {0}, *ldlg = &ldlg_actual; GtkWidget *dlg, *align, *vbox; ldlg->win = dlg = gtk_dialog_new_with_buttons(_("Select User"), parent, GTK_DIALOG_MODAL, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, _("Selec_t"), GTK_RESPONSE_OK, NULL); if (acc) { ldlg->curhost = jam_account_get_host(acc); } else if (host) { ldlg->curhost = host; } else { ldlg->curhost = conf.hosts->data; } gtk_widget_realize(ldlg->win); vbox = gtk_vbox_new(FALSE, 5); gtk_box_pack_start(GTK_BOX(vbox), make_login_table(ldlg), TRUE, TRUE, 0); align = gtk_alignment_new(.5, .5, 1, 0); gtk_container_add(GTK_CONTAINER(align), vbox); jam_dialog_set_contents(GTK_DIALOG(dlg), align); gtk_dialog_set_default_response(GTK_DIALOG(dlg), GTK_RESPONSE_OK); g_signal_connect_swapped(G_OBJECT(ldlg->win), "show", G_CALLBACK(login_shown), ldlg); if (acc) { gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(ldlg->cusername)->entry), jam_account_get_username(acc)); } rundlg: if (gtk_dialog_run(GTK_DIALOG(ldlg->win)) == GTK_RESPONSE_OK) acc = get_selected_account(ldlg); else acc = NULL; if (acc) { conf.lasthost = jam_account_get_host(acc); conf.lasthost->lastaccount = acc; if (JAM_ACCOUNT_IS_LJ(acc)) { if (!login_check_lastupdate(GTK_WINDOW(ldlg->win), JAM_ACCOUNT_LJ(acc))) goto rundlg; } } gtk_widget_destroy(dlg); return acc; }
void jam_dialog_set_contents_buttonbox(GtkWidget *dlg, GtkWidget *contents, GtkWidget *buttonbox) { GtkWidget *vbox, *hbox;; vbox = jam_dialog_set_contents(GTK_DIALOG(dlg), contents); hbox = gtk_hbox_new(FALSE, 0); gtk_box_pack_end(GTK_BOX(hbox), buttonbox, FALSE, FALSE, 0); gtk_box_pack_end(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); gtk_widget_show_all(vbox); }
void settings_cf_run(CFMgr *cfm) { GtkWidget *dlg; dlg = gtk_dialog_new_with_buttons(_("Checkfriends Preferences"), NULL /* no parent */, GTK_DIALOG_MODAL, GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, NULL); jam_dialog_set_contents(GTK_DIALOG(dlg), cfriendssettings(cfm)); gtk_dialog_run(GTK_DIALOG(dlg)); gtk_widget_destroy(dlg); }
static void polltextdlg_init(PollTextDlg *ptdlg, GtkWindow *parent) { GtkWidget *mainbox, *vbox; GtkWidget *label, *view; ptdlg->dlg = gtk_dialog_new_with_buttons(_("Text Poll Question"), parent, GTK_DIALOG_MODAL, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); mainbox = gtk_vbox_new(FALSE, 12); vbox = gtk_vbox_new(FALSE, 6); label = gtk_label_new_with_mnemonic(_("_Question:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); ptdlg->question = view = gtk_text_view_new(); gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(view), GTK_WRAP_WORD); gtk_label_set_mnemonic_widget(GTK_LABEL(label), view); gtk_box_pack_start(GTK_BOX(vbox), scroll_wrap(view), TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(mainbox), vbox, TRUE, TRUE, 0); vbox = gtk_vbox_new(FALSE, 6); ptdlg->size = gtk_entry_new(); gtk_entry_set_width_chars(GTK_ENTRY(ptdlg->size), 4); ptdlg->width = gtk_entry_new(); gtk_entry_set_width_chars(GTK_ENTRY(ptdlg->width), 4); gtk_box_pack_start(GTK_BOX(vbox), labelled_box_new(_("_Text field size (optional): "), ptdlg->size), FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), labelled_box_new(_("_Maximum text length (optional): "), ptdlg->width), FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(mainbox), vbox, FALSE, FALSE, 0); jam_dialog_set_contents(GTK_DIALOG(ptdlg->dlg), mainbox); }
static void run_settings_dialog(JamWin *jw) { GtkWidget *dlg, *nb; dlg = gtk_dialog_new_with_buttons(_("Preferences"), GTK_WINDOW(jw), GTK_DIALOG_MODAL, GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, NULL); /* the order of notebook pages created here should match the * SettingsPage enum in settings.h */ nb = gtk_notebook_new(); gtk_notebook_append_page(GTK_NOTEBOOK(nb), uisettings(jw), gtk_label_new_with_mnemonic(_("Interface"))); #ifndef G_OS_WIN32 gtk_notebook_append_page(GTK_NOTEBOOK(nb), systemsettings(jw), gtk_label_new_with_mnemonic(_("System"))); #endif /* G_OS_WIN32 */ if (JAM_ACCOUNT_IS_LJ(jw->account)) gtk_notebook_append_page(GTK_NOTEBOOK(nb), cfriendssettings(app.cfmgr), gtk_label_new_with_mnemonic(_("Check Friends"))); gtk_notebook_append_page(GTK_NOTEBOOK(nb), debugsettings(dlg), gtk_label_new_with_mnemonic(_("Debug"))); jam_dialog_set_contents(GTK_DIALOG(dlg), nb); /* XXX HACK: set_contents calls show_all, but the "command" * settings widgets sometimes want to have hidden children. * so we let them rehide. */ { SettingsWidget *sw; for (sw = settingswidgets; sw->name; sw++) if (sw->type == SW_COMMAND) command_changed_cb(GTK_OPTION_MENU(sw->widget), sw); } gtk_dialog_run(GTK_DIALOG(dlg)); gtk_widget_destroy(dlg); }
static void make_link_dialog(LinkDialog *ld, GtkWindow *win, gboolean livejournal) { GtkWidget *vbox; GtkWidget *subbox, *hhr; GSList *rgroup; ld->dlg = gtk_dialog_new_with_buttons(_("Make Link"), win, GTK_DIALOG_MODAL, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); gtk_dialog_set_default_response(GTK_DIALOG(ld->dlg), GTK_RESPONSE_OK); vbox = gtk_vbox_new(FALSE, 10); ld->etext = gtk_entry_new(); gtk_entry_set_activates_default(GTK_ENTRY(ld->etext), TRUE); subbox = labelled_box_new(_("Link _Text:"), ld->etext); gtk_box_pack_start(GTK_BOX(vbox), subbox, FALSE, FALSE, 0); ld->titl = gtk_entry_new(); hhr = labelled_box_new(_("Link Title:"), ld->titl); gtk_box_pack_start(GTK_BOX(vbox), hhr, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), radio_option(NULL, &ld->rurl, &ld->eurl, _("_URL:"), NULL, ""), FALSE, FALSE, 0); rgroup = gtk_radio_button_get_group(GTK_RADIO_BUTTON(ld->rurl)); if (livejournal) { gtk_box_pack_start(GTK_BOX(vbox), radio_option(rgroup, &ld->ruser, &ld->euser, _("_LiveJournal User:"******".../users/", ""), FALSE, FALSE, 0); } jam_dialog_set_contents(GTK_DIALOG(ld->dlg), vbox); }
static char* pollmultidlg_option(GtkWindow *parent, const char *current) { GtkWidget *dlg, *vbox, *label, *view; GtkTextBuffer *buffer; char *newtext = NULL; dlg = gtk_dialog_new_with_buttons(_("Multi Poll Option"), parent, GTK_DIALOG_MODAL, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); jam_win_set_size(GTK_WINDOW(dlg), 300, -1); vbox = gtk_vbox_new(FALSE, 6); label = gtk_label_new_with_mnemonic(_("O_ption:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); view = gtk_text_view_new(); buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view)); gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(view), GTK_WRAP_WORD); if (current) gtk_text_buffer_insert_at_cursor(buffer, current, -1); gtk_label_set_mnemonic_widget(GTK_LABEL(label), view); gtk_box_pack_start(GTK_BOX(vbox), scroll_wrap(view), TRUE, TRUE, 0); jam_dialog_set_contents(GTK_DIALOG(dlg), vbox); if (gtk_dialog_run(GTK_DIALOG(dlg)) == GTK_RESPONSE_OK) { GtkTextIter start, end; gtk_text_buffer_get_bounds(buffer, &start, &end); newtext = gtk_text_buffer_get_text(buffer, &start, &end, FALSE); } gtk_widget_destroy(dlg); return newtext; }
static gint hi_dialog_run(GtkWidget *parent, int itemid) { history_item_dlg hidlg_actual = { 0 }; history_item_dlg *hidlg = &hidlg_actual; GtkWidget *vbox, *button; NetResult *result; hidlg->itemid = itemid; result = hi_request_run(hidlg, itemid); if (result == NULL) return 0; hidlg->win = jam_dialog_new(parent, "History Item", 300, 300); geometry_tie(hidlg->win, GEOM_HISTORY_ITEM); g_signal_connect(G_OBJECT(hidlg->win), "destroy", G_CALLBACK(gtk_main_quit), NULL); vbox = gtk_vbox_new(FALSE, 5); { GtkWidget *hbox, *scroll; hbox = gtk_hbox_new(FALSE, 5); { gtk_box_pack_start(GTK_BOX(hbox), gtk_label_new("Subject:"), FALSE, FALSE, 0); hidlg->esubject = gtk_entry_new(); gtk_widget_set_usize(hidlg->esubject, 100, -1); /* usize is just the minimum size... */ gtk_box_pack_start(GTK_BOX(hbox), hidlg->esubject, TRUE, TRUE, 0); } gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); hbox = gtk_hbox_new(FALSE, 5); { gtk_box_pack_start(GTK_BOX(hbox), gtk_label_new("Date:"), FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), hi_dialog_date_hbox(hidlg), FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), gtk_label_new("Time:"), FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), hi_dialog_time_hbox(hidlg), FALSE, FALSE, 0); hidlg->security.type = conf.defaultsecurity; hidlg->secmgr = secmgr_new(&hidlg->security); gtk_box_pack_end(GTK_BOX(hbox), hidlg->secmgr, FALSE, FALSE, 0); gtk_box_pack_end(GTK_BOX(hbox), gtk_label_new("Security:"), FALSE, FALSE, 0); } gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); scroll = gtk_scrolled_window_new(NULL, NULL); { gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); hidlg->eentry = gtk_text_new(NULL, NULL); /* fixme gtkspell gtkspell_attach(GTK_TEXT(hidlg->eentry)); */ gtk_text_set_editable(GTK_TEXT(hidlg->eentry), TRUE); gtk_text_set_word_wrap(GTK_TEXT(hidlg->eentry), TRUE); gtk_container_add(GTK_CONTAINER(scroll), hidlg->eentry); } gtk_box_pack_start(GTK_BOX(vbox), scroll, TRUE, TRUE, 0); hidlg->metamgr = metamgr_new(GTK_BOX(vbox)); gtk_box_pack_end(GTK_BOX(vbox), hidlg->metamgr, FALSE, FALSE, 0); } jam_dialog_set_contents(hidlg->win, vbox); button = gtk_button_new_with_label(" Save Changes "); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(hi_save_cb), (gpointer) hidlg); jam_dialog_add_button(hidlg->win, button); button = gtk_button_new_with_label(" Delete "); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(hi_delete_cb), (gpointer) hidlg); jam_dialog_add_button(hidlg->win, button); jam_dialog_add_close(hidlg->win); hi_load_result(hidlg, result); gtk_widget_realize(hidlg->win); gtk_widget_realize(hidlg->secmgr); gtk_widget_show(hidlg->win); gtk_main(); return 0; }
LJFriendGroup* friend_group_edit_dlg_run(GtkWindow *parent, JamAccountLJ *acc, LJFriendGroup *fg, int freegroup) { friend_group_edit_dlg fged_actual = {0}; friend_group_edit_dlg *fged = &fged_actual; GtkWidget *table, *button, *label; char *idstr; int row = 0; fged->account = acc; fged->editgroup = fg; fged->freegroup = freegroup; fged->win = gtk_dialog_new_with_buttons( fg ? _("Edit Friend Group") : _("New Friend Group"), parent, GTK_DIALOG_MODAL, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL); jam_win_set_size(GTK_WINDOW(fged->win), 200, 1); table = jam_table_new(fg ? 3 : 2, 2); if (fg) { idstr = g_strdup_printf("%d", fg->id); label = gtk_label_new(idstr); g_free(idstr); gtk_label_set_selectable(GTK_LABEL(label), TRUE); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); jam_table_label_content(GTK_TABLE(table), row++, _("Group ID:"), label); } fged->egroupname = gtk_entry_new(); jam_table_label_content(GTK_TABLE(table), row++, _("_Group Name:"), fged->egroupname); fged->cpublic = gtk_check_button_new_with_mnemonic("_Public"); jam_table_fillrow(GTK_TABLE(table), row++, fged->cpublic); jam_dialog_set_contents(GTK_DIALOG(fged->win), table); button = gtk_dialog_add_button(GTK_DIALOG(fged->win), fg ? " Change " : " Create ", GTK_RESPONSE_OK); /* enable/disable the button based on name text */ g_signal_connect(G_OBJECT(fged->egroupname), "changed", G_CALLBACK(entry_changed), button); /* fill in default values. */ if (fg) { gtk_entry_set_text(GTK_ENTRY(fged->egroupname), fg->name); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fged->cpublic), fg->ispublic); } else { gtk_entry_set_text(GTK_ENTRY(fged->egroupname), ""); /* emit the "changed" signal, anyway. */ } while (gtk_dialog_run(GTK_DIALOG(fged->win)) == GTK_RESPONSE_OK) { if (editgroup_run(fged)) { gtk_widget_destroy(fged->win); return fged->editgroup; } } gtk_widget_destroy(fged->win); return NULL; }
void console_dialog_run(GtkWindow *parent, JamAccountLJ *acc) { ConsoleUI *cui; GtkWidget *vbox, *hbox, *button; GtkTextBuffer *buffer; GtkTextIter end; cui = g_new0(ConsoleUI, 1); cui->account = acc; cui->win = gtk_dialog_new_with_buttons(_("LiveJournal Console"), parent, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, NULL); jam_win_set_size(GTK_WINDOW(cui->win), 500, 400); g_signal_connect_swapped(G_OBJECT(cui->win), "response", G_CALLBACK(gtk_widget_destroy), cui->win); g_signal_connect_swapped(G_OBJECT(cui->win), "destroy", G_CALLBACK(g_free), cui); geometry_tie(cui->win, GEOM_CONSOLE); vbox = gtk_vbox_new(FALSE, 5); hbox = gtk_hbox_new(FALSE, 5); cui->entry = gtk_entry_new(); gtk_box_pack_start(GTK_BOX(hbox), cui->entry, TRUE, TRUE, 0); button = gtk_button_new_with_mnemonic(_(" _Submit ")); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); g_signal_connect(G_OBJECT(cui->entry), "activate", G_CALLBACK(submit_cb), cui); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(submit_cb), cui); button = gtk_button_new_from_stock(GTK_STOCK_HELP); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(console_help), cui); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); cui->display = gtk_text_view_new(); gtk_text_view_set_editable(GTK_TEXT_VIEW(cui->display), FALSE); gtk_box_pack_start(GTK_BOX(vbox), scroll_wrap(cui->display), TRUE, TRUE, 0); buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(cui->display)); gtk_text_buffer_get_end_iter(buffer, &end); cui->mark_end = gtk_text_buffer_create_mark(buffer, NULL, &end, FALSE); gtk_text_buffer_create_tag(buffer, "command", "family", "monospace", NULL); gtk_text_buffer_create_tag(buffer, "info", "family", "monospace", "foreground", "darkgreen", NULL); gtk_text_buffer_create_tag(buffer, "error", "family", "monospace", "weight", PANGO_WEIGHT_BOLD, "foreground", "red", NULL); jam_dialog_set_contents(GTK_DIALOG(cui->win), vbox); console_print(cui, NULL, _("LiveJournal console ready.\n")); gtk_widget_show(cui->win); }