Man and Info Page Fix
authorJoshua Pettus <jshpettus@gmail.com>
Tue, 10 Mar 2015 18:21:36 +0000 (14:21 -0400)
committerArun Persaud <arun@nubati.net>
Fri, 8 May 2015 15:04:24 +0000 (08:04 -0700)
Terminal.app doesn’t accept command line arguments. Rather then use OSX
feature of using .command scripts to launch the man and info pages
(which is problematic with gatekeeper),  it is much better to open them
directly with applescript.   Had to move infoProc to xboard.c to do
this though.

Makefile.am
gtk/xboard.c
menus.c
osxapp/info.command [deleted file]
osxapp/man.command [deleted file]
xaw/xboard.c

index eaba7f4..16f990a 100644 (file)
@@ -255,8 +255,6 @@ osxapp: all-recursive install install-recursive
        $(INSTALL) ./osxapp/XBoard.gtklauncher $(bindir)/XBoard
        $(INSTALL) ./xboard $(bindir)/xboard-bin
        cp -R ./osxapp/icons/. $(datarootdir)
-       $(INSTALL) ./osxapp/man.command    $(datarootdir)/bin/man.command
-       $(INSTALL) ./osxapp/info.command   $(datarootdir)/bin/info.command
        sed -e 's?-soundProgram "aplay -q"?-soundProgram "afplay"?'\
             -e 's?-firstChessProgram fairymax?-firstChessProgram "./fairymax"?'\
            -e 's?-firstChessProgramNames {fairymax?-firstChessProgramNames {"fairymax" -fcp "./fairymax" -fd "~~/../../bin/fairymax"?'\
@@ -280,7 +278,7 @@ osxapp: all-recursive install install-recursive
        echo '-autoLogo true' >>$(sysconfdir)/xboard.conf
        echo '-logoDir "~~/logos"' >>$(sysconfdir)/xboard.conf
        echo '-logoSize 100' >>$(sysconfdir)/xboard.conf
-       echo '-openCommand "cd %s/../../bin; open"' >>$(sysconfdir)/xboard.conf
+       echo '-openCommand "open"' >>$(sysconfdir)/xboard.conf
        echo '-firstDirectory "~~/../../bin/fairymax"' >>$(sysconfdir)/xboard.conf
        echo '-secondDirectory "~~/../../bin/fairymax"' >>$(sysconfdir)/xboard.conf
        echo '-secondChessProgram "./fairymax"' >>$(sysconfdir)/xboard.conf
index dbcc9e5..e3d32d0 100644 (file)
@@ -1966,13 +1966,27 @@ ManProc ()
 {   // called from menu
 #ifdef OSXAPP
     char buf[MSG_SIZ];
-    snprintf(buf, MSG_SIZ, "%s ./man.command", appData.sysOpen);
+    snprintf(buf, MSG_SIZ, "osascript -e 'tell application \"Terminal\"' -e 'activate' -e 'do script \"man %s/../man/man6/xboard.6\"' -e 'end tell'", dataDir);
     system(buf);
 #else
     system("xterm -e man xboard &");
 #endif
 }
 
+void
+InfoProc ()
+{
+    char buf[MSG_SIZ];
+#ifdef OSXAPP
+    snprintf(buf, MSG_SIZ, "osascript -e 'tell application \"Terminal\"' -e 'activate' -e 'do script \"info -d %s/../info -f xboard.info\"' -e 'end tell'", dataDir);
+#else
+        snprintf(buf, sizeof(buf), "xterm -e info --directory %s --directory . -f %s &",
+                 INFODIR, INFOFILE);
+#endif
+    system(buf);
+}
+
+
 void
 SetWindowTitle (char *text, char *title, char *icon)
 {
diff --git a/menus.c b/menus.c
index 9ddfbad..a47e8c3 100644 (file)
--- a/menus.c
+++ b/menus.c
@@ -312,19 +312,6 @@ SaveSettingsProc ()
   SaveSettings(settingsFileName);
 }
 
-void
-InfoProc ()
-{
-    char buf[MSG_SIZ];
-#ifdef OSXAPP
-    snprintf(buf, MSG_SIZ, "%s ./info.command", appData.sysOpen);
-#else
-    snprintf(buf, sizeof(buf), "xterm -e info --directory %s --directory . -f %s &",
-           INFODIR, INFOFILE);
-#endif
-    system(buf);
-}
-
 void
 BugReportProc ()
 {
diff --git a/osxapp/info.command b/osxapp/info.command
deleted file mode 100755 (executable)
index 6457ae7..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-cd "${0%/*}"
-info -d ../share/info -f xboard.info
diff --git a/osxapp/man.command b/osxapp/man.command
deleted file mode 100755 (executable)
index 096773b..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-cd "${0%/*}"
-man ../share/man/man6/xboard.6
index b7cd5cc..f85b725 100644 (file)
@@ -2122,6 +2122,15 @@ ManProc ()
     ManInner(NULL, NULL, NULL, NULL);
 }
 
+void
+InfoProc ()
+{
+    char buf[MSG_SIZ];
+    snprintf(buf, sizeof(buf), "xterm -e info --directory %s --directory . -f %s &",
+             INFODIR, INFOFILE);
+    system(buf);
+}
+
 void
 SetWindowTitle (char *text, char *title, char *icon)
 {