static void on_xfwm_channel_property_changed (XfconfChannel *wm_channel, const gchar *property_name, const GValue *value, WindowckPlugin *wckp) { if (g_str_has_prefix(property_name, "/general/") == TRUE) { const gchar *name = &property_name[9]; switch (G_VALUE_TYPE(value)) { case G_TYPE_STRING: if (!strcmp (name, "title_font") || !strcmp (name, "show_app_icon")) { apply_wm_settings (wckp); } else if (!strcmp (name, "theme")) { init_title(wckp); reload_wnck_title (wckp); } break; default: g_warning("The property '%s' is not supported", property_name); break; } } }
static void windowck_construct(XfcePanelPlugin *plugin) { WindowckPlugin *wckp; GtkWidget *refresh; /* setup transation domain */ xfce_textdomain(GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8"); /* create the plugin */ wckp = windowck_new(plugin); /* add the ebox to the panel */ gtk_container_add(GTK_CONTAINER (plugin), wckp->ebox); /* show the panel's right-click menu on this ebox */ xfce_panel_plugin_add_action_widget(plugin, wckp->ebox); // Set event handling (icon & title clicks) g_signal_connect(G_OBJECT (wckp->ebox), "button-press-event", G_CALLBACK (on_title_pressed), wckp); g_signal_connect(G_OBJECT (wckp->ebox), "button-release-event", G_CALLBACK (on_title_released), wckp); g_signal_connect(G_OBJECT (wckp->icon->eventbox), "button-release-event", G_CALLBACK (on_icon_released), wckp); /* connect plugin signals */ g_signal_connect(G_OBJECT (plugin), "free-data", G_CALLBACK (windowck_free), wckp); g_signal_connect(G_OBJECT (plugin), "save", G_CALLBACK (windowck_save), wckp); g_signal_connect(G_OBJECT (plugin), "size-changed", G_CALLBACK (windowck_size_changed), wckp); g_signal_connect(G_OBJECT (plugin), "screen-position-changed", G_CALLBACK (windowck_screen_position_changed), wckp); g_signal_connect(G_OBJECT (plugin), "orientation-changed", G_CALLBACK (windowck_orientation_changed), wckp); /* show the configure menu item and connect signal */ xfce_panel_plugin_menu_show_configure(plugin); g_signal_connect(G_OBJECT (plugin), "configure-plugin", G_CALLBACK (windowck_configure), wckp); /* show the about menu item and connect signal */ xfce_panel_plugin_menu_show_about(plugin); g_signal_connect (G_OBJECT (plugin), "about", G_CALLBACK (wck_about), "windowck-plugin"); /* add custom menu items */ refresh = show_refresh_item (plugin); g_signal_connect (G_OBJECT (refresh), "activate", G_CALLBACK (on_refresh_item_activated), wckp); /* start tracking title size */ init_title(wckp); /* start tracking title text */ wckp->win = g_slice_new0 (WckUtils); init_wnck(wckp->win, wckp->prefs->only_maximized, wckp); }
void title_transition (Context* context, int state) { if (context->title->profile_name != NULL) { free(context->title->profile_name); context->title->profile_name = NULL; } if (context->title->profile_line != NULL) { del_line(context->glyphs, context->title->profile_line); context->title->profile_line = NULL; } if (context->title->user_bufs != NULL) { int i = 0; for (; i < MAX_PROFILES; i++) { if (context->title->user_bufs[i] == NULL) { continue; } context->video[1] = vertex_buffer_delete( context->video[1] , context->title->user_bufs[i] ); } free(context->title->user_bufs); context->title->user_bufs = NULL; } context->title->state = state; clear_lines( context->glyphs , context->title->lines , TITLE_MAX_LINES ); switch (state) { case TITLE_STATE_MAIN: context->title->lines = init_title(context); break; case TITLE_STATE_LOAD_PROFILE: context->title->lines = init_load_profile(context); break; case TITLE_STATE_NEW_PROFILE: context->title->lines = init_new_profile(context); break; case TYRIAN_GAME_LEVEL: context->engine = engine_init_level(context); break; } }
void WindowManager::resetWindows() { stdscrDimensions.x = getmaxx(stdscr); stdscrDimensions.y = getmaxy(stdscr); resizeterm(stdscrDimensions.y,stdscrDimensions.x); wclear(stdscr); init_title(); init_levelView(); init_gameLog(); init_debugLog(); }
/*************************************************** エントリ ***************************************************/ int main (void) { // ゲームパックウェイト&キャッシュ *((vu16 *) 0x04000204) = 0x4317; // BG初期化 init_bg (); // スプライト初期化 init_sprite (); // キー初期化 init_key (); // サウンド初期化 DirectSoundInitialize (); // キャラクタ初期化 init_sprite_chr (); // ハイスコア初期化 init_hiscore (); // ゲーム初期化 init_game (); // タイトル init_title (); // 割り込み初期化 irqInit (); // サウンド用ハンドラ MUSIC / SE irqSet (IRQ_TIMER0, IRQ_Music); irqSet (IRQ_TIMER1, IRQ_Sound); irqEnable (IRQ_VBLANK | IRQ_TIMER0 | IRQ_TIMER1); // タイトル PlayMusic (MUSIC_TITLE, PLAY_LOOP_ON); // メインループ while (1) { // キー入力 scanKeys (); // ゲーム本体 game (); // 割り込み待ち VBlankIntrWait (); } }
WindowManager::WindowManager( World &world, LogStream& gameLogStream, LogStream& debugLogStream) : title(nullptr), levelView(nullptr), gameLog(nullptr), debugLog(nullptr), stdscrDimensions(0,0), world(&world), gameLogStream(&gameLogStream), debugLogStream(&debugLogStream) { resizeterm(51,103); getmaxyx(stdscr,stdscrDimensions.y,stdscrDimensions.x); init_title(true); init_levelView(true); init_gameLog(true); init_debugLog(true); }
void switch_to_state(State new_state, Game_Data *data) { switch (new_state) { case GAME: init_game(data); break; case TITLE: init_title(data); break; case MENU: init_menu(data); break; case GAME_OVER: init_game_over(data); break; case OUT_OF_MEMORY: init_oom(data); break; } current_state = new_state; }
static void on_refresh_item_activated (GtkMenuItem *refresh, WindowckPlugin *wckp) { init_title(wckp); reload_wnck_title (wckp); }
int main(int argc, char *argv[], char *env[]) { int svr, daemon, sock, dofork, fd, opt; struct vtun_host *host = NULL; struct sigaction sa; char *hst; /* Configure default settings */ svr = 0; daemon = 1; sock = 0; dofork = 1; vtun.cfg_file = VTUN_CONFIG_FILE; vtun.persist = -1; vtun.timeout = -1; /* Dup strings because parser will try to free them */ vtun.ppp = strdup("/usr/sbin/pppd"); vtun.ifcfg = strdup("/sbin/ifconfig"); vtun.route = strdup("/sbin/route"); vtun.fwall = strdup("/sbin/ipchains"); vtun.iproute = strdup("/sbin/ip"); vtun.svr_name = NULL; vtun.svr_addr = NULL; vtun.bind_addr.port = -1; vtun.svr_type = -1; vtun.syslog = LOG_DAEMON; /* Initialize default host options */ memset(&default_host, 0, sizeof(default_host)); default_host.flags = VTUN_TTY | VTUN_TCP|VTUN_SCTP; default_host.multi = VTUN_MULTI_ALLOW; default_host.timeout = VTUN_CONNECT_TIMEOUT; default_host.ka_interval = 30; default_host.ka_maxfail = 4; default_host.loc_fd = default_host.rmt_fd = -1; /* Start logging to syslog and stderr */ openlog("vtund", LOG_PID | LOG_NDELAY | LOG_PERROR, LOG_DAEMON); while( (opt=getopt(argc,argv,"misf:P:L:t:npq")) != EOF ){ switch(opt){ case 'm': if (mlockall(MCL_CURRENT | MCL_FUTURE) < 0) { perror("Unable to mlockall()"); exit(-1); } break; case 'i': vtun.svr_type = VTUN_INETD; case 's': svr = 1; break; case 'L': vtun.svr_addr = strdup(optarg); break; case 'P': vtun.bind_addr.port = atoi(optarg); break; case 'f': vtun.cfg_file = strdup(optarg); break; case 'n': daemon = 0; break; case 'p': vtun.persist = 1; break; case 't': vtun.timeout = atoi(optarg); break; case 'q': vtun.quiet = 1; break; default: usage(); exit(1); } } reread_config(0); if (vtun.syslog != LOG_DAEMON) { /* Restart logging to syslog using specified facility */ closelog(); openlog("vtund", LOG_PID|LOG_NDELAY|LOG_PERROR, vtun.syslog); } clear_nat_hack_flags(svr); if(!svr){ if( argc - optind < 2 ){ usage(); exit(1); } hst = argv[optind++]; if( !(host = find_host(hst)) ){ vtun_syslog(LOG_ERR,"Host %s not found in %s", hst, vtun.cfg_file); exit(1); } vtun.svr_name = strdup(argv[optind]); } /* * Now fill uninitialized fields of the options structure * with default values. */ if(vtun.bind_addr.port == -1) vtun.bind_addr.port = VTUN_PORT; if(vtun.persist == -1) vtun.persist = 0; if(vtun.timeout == -1) vtun.timeout = VTUN_TIMEOUT; switch( vtun.svr_type ){ case -1: vtun.svr_type = VTUN_STAND_ALONE; break; case VTUN_INETD: sock = dup(0); dofork = 0; break; } if( daemon ){ if( dofork && fork() ) exit(0); /* Direct stdin,stdout,stderr to '/dev/null' */ fd = open("/dev/null", O_RDWR); close(0); dup(fd); close(1); dup(fd); close(2); dup(fd); close(fd); setsid(); chdir("/"); } if(svr){ memset(&sa,0,sizeof(sa)); sa.sa_handler=reread_config; sigaction(SIGHUP,&sa,NULL); init_title(argc,argv,env,"vtund[s]: "); if( vtun.svr_type == VTUN_STAND_ALONE ) write_pid(); runmode=1; server(sock); } else { init_title(argc,argv,env,"vtund[c]: "); runmode=0; client(host); } closelog(); return 0; }