1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-07-02 12:02:47 -05:00

New program 'osxlaunch', to use as an OS X bundle launcher.

The big problem with making an OS X application out of a GTK program
is that it won't start unless DYLD_LIBRARY_PATH and several other
environment variables point at all the GTK machinery. So your app
bundle has to contain two programs: a launcher to set up that
environment, and then the real main program that the launcher execs
once it's done so.

But in our case, we also need pterm to start subprocesses _without_
all that stuff in the environment - so our launcher has to be more
complicated than the usual one, because it's also got to save every
detail of how the environment was when it started up. So this is the
launcher program I'm going to use. Comments in the header explain in
more detail how it'll work.

Also in this commit, I add the other end of the same machinery to
gtkapp.c and uxpty.c: the former catches an extra command-line
argument that the launcher used to indicate how it had munged the
environment, and stores it in a global variable where the latter can
pick it up after fork() and use to actually undo the munging.
This commit is contained in:
Simon Tatham
2016-03-23 22:13:30 +00:00
parent 19b5a74f71
commit 7d705ed1bd
6 changed files with 453 additions and 0 deletions

2
Recipe
View File

@ -328,6 +328,8 @@ ptermapp : [XT] GTKTERM uxmisc misc ldisc settings uxpty uxsel BE_NONE uxstore
puttyapp : [XT] GTKTERM uxmisc misc ldisc settings uxsel U_BE_ALL uxstore
+ uxsignal CHARSET uxputty NONSSH UXSSH UXMISC ux_x11 xpmputty
+ xpmpucfg gtkapp
osxlaunch : [UT] osxlaunch
fuzzterm : [UT] UXTERM CHARSET misc uxmisc uxucs fuzzterm time settings
+ uxstore be_none
testbn : [UT] testbn sshbn misc conf tree234 uxmisc