void mate_about_run(void) { mate_about_dialog = (GtkAboutDialog*) gtk_about_dialog_new(); gtk_window_set_default_icon_name(desktop_icon); GtkIconTheme* icon_theme = gtk_icon_theme_get_default(); if (gtk_icon_theme_has_icon(icon_theme, icon)) { gtk_about_dialog_set_logo_icon_name(mate_about_dialog, icon); } else { gtk_about_dialog_set_logo_icon_name(mate_about_dialog, desktop_icon); } // name #if GTK_CHECK_VERSION(3, 0, 0) || GTK_CHECK_VERSION(2, 12, 0) gtk_about_dialog_set_program_name(mate_about_dialog, gettext(program_name)); #else gtk_about_dialog_set_name(mate_about_dialog, gettext(program_name)); #endif // version gtk_about_dialog_set_version(mate_about_dialog, version); // credits and website gtk_about_dialog_set_copyright(mate_about_dialog, copyright); gtk_about_dialog_set_website(mate_about_dialog, website); /** * This generate a random message. * The comments index must not be more than comments_count - 1 */ gtk_about_dialog_set_comments(mate_about_dialog, gettext(comments_array[g_random_int_range(0, comments_count - 1)])); gtk_about_dialog_set_authors(mate_about_dialog, authors); gtk_about_dialog_set_artists(mate_about_dialog, artists); gtk_about_dialog_set_documenters(mate_about_dialog, documenters); /* Translators should localize the following string which will be * displayed in the about box to give credit to the translator(s). */ gtk_about_dialog_set_translator_credits(mate_about_dialog, _("translator-credits")); #if GTK_CHECK_VERSION(3, 0, 0) gtk_about_dialog_set_license_type(mate_about_dialog, GTK_LICENSE_GPL_3_0); gtk_about_dialog_set_wrap_license(mate_about_dialog, TRUE); #endif #ifdef USE_UNIQUE unique_app_watch_window(mate_about_application, (GtkWindow*) mate_about_dialog); #elif GTK_CHECK_VERSION(3, 0, 0) && !defined(UNIQUE) gtk_window_set_application(GTK_WINDOW(mate_about_dialog), mate_about_application); #endif // start and destroy gtk_dialog_run((GtkDialog*) mate_about_dialog); gtk_widget_destroy((GtkWidget*) mate_about_dialog); }
int main (int argc, char **argv) { UniqueApp *app; GtkWidget *window; g_thread_init (NULL); bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); textdomain (GETTEXT_PACKAGE); gtk_init (&argc, &argv); /* TODO: use GOption to parse arguments */ app = unique_app_new_with_commands ("com.intel.Bisho", NULL, "callback", COMMAND_CALLBACK, NULL); if (unique_app_is_running (app)) { UniqueResponse response; if (argc != 2) { response = unique_app_send_message (app, UNIQUE_ACTIVATE, NULL); } else { UniqueMessageData *msg; msg = unique_message_data_new (); unique_message_data_set_uris (msg, argv + 1); response = unique_app_send_message (app, COMMAND_CALLBACK, msg); unique_message_data_free (msg); } if (response == UNIQUE_RESPONSE_OK) goto done; } load_modules (); window = bisho_window_new (); unique_app_watch_window (app, GTK_WINDOW (window)); g_signal_connect (app, "message-received", G_CALLBACK (unique_message_cb), window); g_signal_connect (window, "delete-event", gtk_main_quit, NULL); gtk_widget_show (window); gtk_main (); done: g_object_unref (app); return 0; }
void gnac_ui_show(void) { if (!gnac_main_builder) { gnac_ui_new(); } GtkWidget *main_window = gnac_ui_get_widget("main_window"); #ifdef HAVE_LIBUNIQUE unique_app_watch_window(app, GTK_WINDOW(main_window)); #endif gtk_widget_show_all(main_window); gnac_ui_show_toolbar(); gnac_ui_show_progress(FALSE); gnac_ui_show_pause(FALSE); gnac_bars_activate_pause(FALSE); }
void setup_toplevel_win(struct Gtkabber *gtkabber, UniqueApp *app) { /* FIXME - create setup_signals() */ gtkabber->toplevel.toplevel_win = gtk_window_new(GTK_WINDOW_TOPLEVEL); g_signal_connect(gtkabber->toplevel.toplevel_win, "delete-event", gtk_main_quit, NULL); gtk_window_set_default_size( GTK_WINDOW(gtkabber->toplevel.toplevel_win), 800, 600); gtkabber->toplevel.notebook = gtk_notebook_new(); /* GtkNotebook options. */ gtk_notebook_popup_enable(GTK_NOTEBOOK( gtkabber->toplevel.notebook)); gtk_notebook_set_scrollable(GTK_NOTEBOOK( gtkabber->toplevel.notebook), TRUE); gtk_notebook_set_tab_border(GTK_NOTEBOOK( gtkabber->toplevel.notebook), 1); gtk_notebook_set_tab_pos (GTK_NOTEBOOK( gtkabber->toplevel.notebook), GTK_POS_LEFT); gtk_container_add(GTK_CONTAINER(gtkabber->toplevel.toplevel_win), gtkabber->toplevel.notebook); gtk_widget_show_all(gtkabber->toplevel.toplevel_win); unique_app_watch_window (app, GTK_WINDOW(gtkabber->toplevel.toplevel_win)); g_signal_connect(G_OBJECT(app), "message-received", G_CALLBACK(message_received_cb), (gpointer)gtkabber); g_signal_connect(gtkabber->toplevel.notebook, "page-removed", G_CALLBACK(page_removed_cb), (gpointer)gtkabber); }
int main(int argc, char* argv[]) { gboolean hidden = FALSE; UniqueApp* unique_app; AppShellData* app_data; GSList* actions; GError* error; GOptionEntry options[] = { {"hide", 0, 0, G_OPTION_ARG_NONE, &hidden, N_("Hide on start (useful to preload the shell)"), NULL}, {NULL} }; #ifdef ENABLE_NLS bindtextdomain(GETTEXT_PACKAGE, MATELOCALEDIR); bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); textdomain(GETTEXT_PACKAGE); #endif error = NULL; if (!gtk_init_with_args(&argc, &argv, NULL, options, GETTEXT_PACKAGE, &error)) { g_printerr("%s\n", error->message); g_error_free(error); return 1; } unique_app = unique_app_new("org.mate.mate-control-center.shell", NULL); if (unique_app_is_running(unique_app)) { int retval = 0; if (!hidden) { UniqueResponse response; response = unique_app_send_message(unique_app, UNIQUE_ACTIVATE, NULL); retval = (response != UNIQUE_RESPONSE_OK); } g_object_unref(unique_app); return retval; } app_data = appshelldata_new("matecc.menu", GTK_ICON_SIZE_DND, FALSE, TRUE, 0); generate_categories(app_data); actions = get_actions_list(); layout_shell(app_data, _("Filter"), _("Groups"), _("Common Tasks"), actions, handle_static_action_clicked); create_main_window(app_data, "MyControlCenter", _("Control Center"), "preferences-desktop", 975, 600, hidden); unique_app_watch_window(unique_app, GTK_WINDOW(app_data->main_app)); g_signal_connect(unique_app, "message-received", G_CALLBACK(message_received_cb), app_data); gtk_main(); g_object_unref(unique_app); return 0; }