void ExecExternalApplication(Display *dpy, int x, int y, char *label, char *icon, char *cmd, char *drop, char *dir) { char path[1024]; char *p; char **argv; if (dir) { newFileWindow(dir,resources.initial_display_type,True,False); return; } strcpy(path, cmd); p= path+strlen(path); while(*p--!='/'); p++; p[0] = '\0'; argv = (char **) XtMalloc(2 * sizeof(char *)); argv[0] = XtNewString(cmd); argv[1] = NULL; executeApplication(cmd, path, argv); freeArgv(argv); }
void newFileWinCb(Widget w, XtPointer client_data, XtPointer call_data) { FileWindowRec *fw = (FileWindowRec *) client_data; zzz(); newFileWindow(fw->directory, fw, NULL); wakeUp(); }
void handleOpenMessage(char *data) { static char dirname[400] = ""; if (data[19] == '\0') { strcat(dirname, data); newFileWindow(dirname,resources.initial_display_type,True,False); dirname[0] = '\0'; } else strcat(dirname, data); }
void dirOpenCb(Widget w, XtPointer client_data, XtPointer call_data) { FileWindowRec *fw = (FileWindowRec *) client_data; char path[MAXPATHLEN]; int item; zzz(); XtVaGetValues(fw->form, XmNuserData, (XtPointer) &item, NULL); strcpy(path, fw->directory); if (path[strlen(path)-1] != '/') strcat(path, "/"); strcat(path, fw->files[item]->name); fnexpand(path); contractPath(path); newFileWindow(path, fw, NULL); wakeUp(); }
void dirPopupCb(Widget w, XtPointer client_data, XtPointer call_data) { FileWindowRec *fw = (FileWindowRec *) client_data; MenuItemRec *menu; if ((menu = fw->dirfieldPopupMenu)) { while (menu->label && menu->object != w) menu++; if (menu->label) { if (resources.newwin_on_dirpopup) { zzz(); newFileWindow(menu->label, fw, NULL); wakeUp(); } else chFileDir(fw, menu->label); } } }