summaryrefslogtreecommitdiff
path: root/pkg/osx/Execute.m
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/osx/Execute.m')
-rw-r--r--pkg/osx/Execute.m23
1 files changed, 23 insertions, 0 deletions
diff --git a/pkg/osx/Execute.m b/pkg/osx/Execute.m
index 608443e2..0dcfbb7c 100644
--- a/pkg/osx/Execute.m
+++ b/pkg/osx/Execute.m
@@ -175,6 +175,19 @@ void OpenTerminalWindow(const char *doomwadpath)
fprintf(stream, "#!/bin/sh\n");
//fprintf(stream, "set -x\n");
fprintf(stream, "PATH=\"%s:$PATH\"\n", executable_path);
+
+ // MANPATH is set to point to the directory within the bundle that
+ // contains the Unix manpages. However, the bundle name or path to
+ // it can contain a space, and OS X doesn't like this! As a
+ // workaround, create a symlink in /tmp to point to the real directory,
+ // and put *this* in MANPATH.
+
+ fprintf(stream, "rm -f \"/tmp/%s.man\"\n", PACKAGE_TARNAME);
+ fprintf(stream, "ln -s \"%s/man\" \"/tmp/%s.man\"\n",
+ executable_path, PACKAGE_TARNAME);
+ fprintf(stream, "MANPATH=\"/tmp/%s.man:$(manpath)\"\n", PACKAGE_TARNAME);
+ fprintf(stream, "export MANPATH\n");
+
fprintf(stream, "DOOMWADPATH=\"%s\"\n", doomwadpath);
fprintf(stream, "export DOOMWADPATH\n");
fprintf(stream, "rm -f \"%s\"\n", TEMP_SCRIPT);
@@ -206,3 +219,13 @@ void OpenTerminalWindow(const char *doomwadpath)
withApplication: @"Terminal"];
}
+void OpenDocumentation(const char *filename)
+{
+ NSString *path;
+
+ path = [NSString stringWithFormat: @"%s/Documentation/%s",
+ executable_path, filename];
+
+ [[NSWorkspace sharedWorkspace] openFile: path];
+}
+