info/man.command stopped by gatekeeper
Joshua Pettus <herecomethej <at> sbcglobal.net>
2014-11-04 19:50:32 GMT
As had explained before, OSX’s terminal app couldn’t take arguments from the command line. So to
counter that, I came up with the solution of using the OS’s feature of automatically opening terminal
when opening a .command script. This was in order to pass the arguments to load the man/info pages.
There is one major flaw to this though. Gatekeeper by default blocks executables not codesigned until the
user gives the go ahead. Apparently .command scripts count. Normally this is done by right clicking on
the executable, selecting open, and press open in the popup dialog (only needs to be done once). But in the
case of xboard launching those scripts, the user doesn’t have that option. So they have to go into system
preferences and allow the last item blocked, or disable gatekeeper. Hardly an Ideal situation.
The other option of telling the terminal app to run a shellscript is through applescript, which until now I
didn’t believe could be put into our source. Thankfully I came across a very useful shell command called
osascript that does this, and the multiple lines, typical of applescript, could be put into one line with
-e between commands.
As such I removed the launching scripts and put applescript into manproc and infoproc to do the job. I fear
this meant I had to move infoproc to gtk/xboard.c (and xaw/xboard.c) in order to take advantage of the
dataDir function in place. (Thanks Harm, you are teaching me well XD.)
Here is a patch file making all the changes plus modifying our app build script.
I think i should put out a xboard 4.8.0c with these changes, if you all agree with them.