[Pythonmac-SIG] [Pyobjc-dev] [ANN] py2app 0.3.2
Ronald Oussoren
ronaldoussoren at mac.com
Mon Jul 24 21:53:52 CEST 2006
On Jul 24, 2006, at 8:52 PM, Bob Ippolito wrote:
>
> On Jul 24, 2006, at 11:17 AM, Christopher Barker wrote:
>
>> Ronald Oussoren wrote:
>>> Why's that? The directory that contains the script is a lot more
>>> useful
>>> for most scripts.
>> Bob Ippolito wrote:
>>> No, it's not. There are approximately zero scripts that expect this
>>> behavior.
>>
>> Most "scripts" I've ever used are used from the command line, and the
>> working dir is the working dir you call the command from. This pretty
>> much all goes to heck when you want to click on it from a GUI.
>
> It doesn't have to.
>
>> All the Linux GUIs I've used use $HOME as the default working dir
>> when
>> you double click on something.
>>
>> When a script is installed somewhere central, like /usr/local/bin,
>> that's really all that makes sense.
>
> That's clearly irrelevant, because people aren't going to be double-
> clicking on files that you have to do "magic incantations" to even
> see from Finder.
The main problem here is that there isn't really a "current"
directory in the GUI experience. That's why normal application
bundles start with / as the CWD. PythonLauncher defaults to $HOME,
but that's an implementaton artifact of the default way to launch
scripts.
For scripts you start by double-clicking on them there is a somewhat
useful notion of a current directory: the folder that was frontmost
when you double-clicked on the script. AFAIK that is always the
folder that the script is in. For simple scripts that would be a very
useful default, it saves you from doing path calculation in simple
write-once scripts.
For reuseable command-line scripts you're obviously better of to find
data relative to your script or in some fixed location, but then
changing the default wouldn't hurt either.
>
> But why would you want $HOME as the default working dir? There
> doesn't seem to be any purpose to it. Scripts that reference files in
> your home directory are always going to do that with an absolute
> path. I have never in my life seen a script that must be started
> with a working directory of $HOME (unless it also lives there). It is
> however extremely common for scripts to require that they are run
> from the directory they live in.
+lots here.
>
>> Can you drag-and-drop on a script and have PythonLauncher do argv
>> emulation for you? That could be useful.
>
> I don't think so.
Nope, that's not possible. If you want argv emulation you'll have to
build an applet.
Ronald
More information about the Pythonmac-SIG
mailing list