CTK_WIDGET_FOCUS(&runwindow, &nameentry);
DISPATCHER_SIGHANDLER(program_handler_sighandler, s, data){  unsigned char err, i;  DISPATCHER_SIGHANDLER_ARGS(s, data);    if(s == ctk_signal_button_activate) {#ifdef WITH_LOADER_ARCH    if(data == (ek_data_t)&loadbutton) {      ctk_window_close(&runwindow);      program_handler_load(name);    } else if(data == (ek_data_t)&errorokbutton) {      ctk_dialog_close();      /*      ctk_redraw();*/    }#endif /* WITH_LOADER_ARCH */        for(i = 0; i < CTK_CONF_MAXMENUITEMS; ++i) {      if(contikidsc[i] != NULL &&	 data == (ek_data_t)contikidsc[i]->icon) {	RUN(contikidsc[i]->prgname, contikidsc[i]->init);	break;      }    }      } else if(s == ctk_signal_menu_activate) {    if((struct ctk_menu *)data == &contikimenu) {#if WITH_LOADER_ARCH      if(contikidsc[contikimenu.active - 1] != NULL) {	RUN(contikidsc[contikimenu.active - 1]->prgname,	    contikidsc[contikimenu.active - 1]->init);      } else if(contikimenu.active == runmenuitem) {	ctk_window_open(&runwindow);      }#else /* WITH_LOADER_ARCH */      if(contikidsc[contikimenu.active] != NULL) {	RUN(contikidsc[contikimenu.active]->prgname,	    contikidsc[contikimenu.active]->init);      }#endif /* WITH_LOADER_ARCH */    }            } else if(s == loader_signal_load) {#if WITH_LOADER_ARCH    ctk_dialog_close();    err = LOADER_LOAD(data);    if(err != LOADER_OK) {      ctk_label_set_text(&errortype, errormsgs[err]);      ctk_dialog_open(&errordialog);    }#endif /* WITH_LOADEER_ARCH */  } }