X-Git-Url: https://develop.uap-core.de/gitweb/uwplayer.git/blobdiff_plain/1a310acf08a2d12cba26c745c0d29030238675f0..57cee2c27458b34d1f407877b04ad3dee7915708:/application/main.c diff --git a/application/main.c b/application/main.c index 6aaac89..18d534b 100644 --- a/application/main.c +++ b/application/main.c @@ -26,6 +26,7 @@ #include #include #include +#include #include "window.h" #include "main.h" @@ -38,6 +39,8 @@ static XtAppContext app; static Display *display; static Widget toplevel_window; +static char *open_file_arg; + static int event_pipe[2]; static String fallback[] = { @@ -101,6 +104,16 @@ int main(int argc, char** argv) { display = XtOpenDisplay(app, NULL, APP_NAME, APP_CLASS, NULL, 0, &argc, argv); + if(argc > 1) { + struct stat s; + if(stat(argv[1], &s)) { + fprintf(stderr, "Cannot open file: %s\n", argv[1]); + perror(""); + return 1; + } + open_file_arg = argv[1]; + } + XtAppAddInput( app, event_pipe[0], @@ -139,3 +152,11 @@ void AppExecProc(XtWorkProc proc, XtPointer data) { cb.data = data; write(event_pipe[1], &cb, sizeof(cb)); } + +char* GetOpenFileArg(void) { + return open_file_arg; +} + +void CleanOpenFileArg(void) { + open_file_arg = NULL; +}