static void init() { // Subscribe to Wakeup API wakeup_service_subscribe(wakeup_handler); // Register callbacks app_message_register_inbox_received(inbox_received_callback); app_message_register_inbox_dropped(inbox_dropped_callback); app_message_register_outbox_failed(outbox_failed_callback); app_message_register_outbox_sent(outbox_sent_callback); app_message_open(400,400); // Was this a wakeup launch? if (launch_reason() == APP_LAUNCH_WAKEUP) { // The app was started by a wakeup WakeupId id = 0; int32_t reason = 0; // Get details and handle the wakeup wakeup_get_launch_event(&id, &reason); wakeup_handler(id, reason); } else { // Launch main page init_main_window(); // Launch the splash page init_splash_window(); } }
int interface_gtk_start(Playlist *playlist, int argc, char **argv) { char path[256]; char *home; the_coreplayer = playlist->GetCorePlayer(); g_thread_init(NULL); if (!g_thread_supported()) { alsaplayer_error("Sorry - this interface requires working threads.\n"); return 1; } // Scope functions scopes = new AlsaSubscriber(); scopes->Subscribe(the_coreplayer->GetNode(), POS_END); scopes->EnterStream(scope_feeder_func, the_coreplayer); gtk_set_locale(); gtk_init(&argc, &argv); gdk_rgb_init(); home = getenv("HOME"); if (home) { snprintf(path, 255, "%s/.gtkrc", home); gtk_rc_parse(path); } if (playlist->Length()) playlist->UnPause(); // Scope addons gdk_flush(); GDK_THREADS_ENTER(); init_main_window(playlist); load_scope_addons(); gdk_flush(); gtk_main(); gdk_flush(); GDK_THREADS_LEAVE(); unload_scope_addons(); destroy_scopes_window(); GDK_THREADS_ENTER(); gdk_flush(); GDK_THREADS_LEAVE(); playlist->Pause(); dl_close_scopes(); return 0; }
int main(int ac, char *av[]) { const char *name; char *env; gchar *glade_file; #ifndef LKC_DIRECT_LINK kconfig_load(); #endif bindtextdomain(PACKAGE, LOCALEDIR); bind_textdomain_codeset(PACKAGE, "UTF-8"); textdomain(PACKAGE); /* GTK stuffs */ gtk_set_locale(); gtk_init(&ac, &av); glade_init(); //add_pixmap_directory (PACKAGE_DATA_DIR "/" PACKAGE "/pixmaps"); //add_pixmap_directory (PACKAGE_SOURCE_DIR "/pixmaps"); /* Determine GUI path */ env = getenv(SRCTREE); if (env) glade_file = g_strconcat(env, "/scripts/kconfig/gconf.glade", NULL); else if (av[0][0] == '/') glade_file = g_strconcat(av[0], ".glade", NULL); else glade_file = g_strconcat(g_get_current_dir(), "/", av[0], ".glade", NULL); /* Load the interface and connect signals */ init_main_window(glade_file); init_tree_model(); init_left_tree(); init_right_tree(); /* Conf stuffs */ if (ac > 1 && av[1][0] == '-') { switch (av[1][1]) { case 'a': //showAll = 1; break; case 'h': case '?': printf("%s <config>\n", av[0]); exit(0); } name = av[2]; } else name = av[1]; conf_parse(name); fixup_rootmenu(&rootmenu); conf_read(NULL); switch (view_mode) { case SINGLE_VIEW: display_tree_part(); break; case SPLIT_VIEW: display_list(); break; case FULL_VIEW: display_tree(&rootmenu); break; } gtk_main(); return 0; }