diff options
Diffstat (limited to 'pdf/xpdf/xpdf.cc')
-rw-r--r-- | pdf/xpdf/xpdf.cc | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/pdf/xpdf/xpdf.cc b/pdf/xpdf/xpdf.cc index ef47fb6..290cfe9 100644 --- a/pdf/xpdf/xpdf.cc +++ b/pdf/xpdf/xpdf.cc @@ -34,6 +34,7 @@ static char ownerPassword[33] = ""; static char userPassword[33] = ""; static GBool fullScreen = gFalse; static char remoteName[100] = "xpdf_"; +static GBool doRemoteReload = gFalse; static GBool doRemoteRaise = gFalse; static GBool doRemoteQuit = gFalse; static GBool printCommands = gFalse; @@ -89,6 +90,8 @@ static ArgDesc argDesc[] = { "run in full-screen (presentation) mode"}, {"-remote", argString, remoteName + 5, sizeof(remoteName) - 5, "start/contact xpdf remote server with specified name"}, + {"-reload", argFlag, &doRemoteReload, 0, + "reload xpdf remove server window (with -remote only)"}, {"-raise", argFlag, &doRemoteRaise, 0, "raise xpdf remote server window (with -remote only)"}, {"-quit", argFlag, &doRemoteQuit, 0, @@ -184,12 +187,15 @@ int main(int argc, char *argv[]) { } // check command line + ok = ok && argc >= 1 && argc <= 3; + if (doRemoteReload) { + ok = ok && remoteName[5] && !doRemoteQuit && argc == 1; + } if (doRemoteRaise) { - ok = ok && remoteName[5] && !doRemoteQuit && argc >= 1 && argc <= 3; - } else if (doRemoteQuit) { + ok = ok && remoteName[5] && !doRemoteQuit; + } + if (doRemoteQuit) { ok = ok && remoteName[5] && argc == 1; - } else { - ok = ok && argc >= 1 && argc <= 3; } if (!ok || printVersion || printHelp) { fprintf(stderr, "xpdf version %s\n", xpdfVersion); @@ -225,6 +231,8 @@ int main(int argc, char *argv[]) { } else { app->remoteOpen(fileName, pg, doRemoteRaise); } + } else if (doRemoteReload) { + app->remoteReload(doRemoteRaise); } else if (doRemoteRaise) { app->remoteRaise(); } else if (doRemoteQuit) { |