[pygtk] Setting application name in pygtk?
Willie Walker
William.Walker at Sun.COM
Wed Nov 8 02:59:35 WST 2006
Hi Dieter:
Thanks for the response!
> > It's the "-c" that we're trying to make more human consumable. It looks
> > like PyGtk is grabbing arg[0] as a default for the application name.
>
> PyGtk has nothing to do with it. It's the python interpreter which
> populates the sys.argv list (1)
Understood that the interpreter populates sys.argv. What I was
referring to is that PyGtk (or ATK) was grabbing argv[0] as the default
for the application name (versus who is populating argv).
The "-m" option looks like it might be close to sufficient in terms of
how it sets argv[0] to the full name of the located module, but I've
never been able to get it to work with something in a package. For
example, orca lives in the orca package and the orca.orca module
contains the 'main' for orca. I've never figured out the magic
incantation for -m. "python -m orca.orca" seems like the logical thing,
but it doesn't work for me.
> > It looks like we might be able to do this *before* the import of gtk:
> >
> > import sys
> > sys.argv[0] = "Orca"
>
> Doing _only_ this leads to confusion as you are breaking simple commands
> like ps or killall. That's why the prctl stuff is necessary.
Do you mean that ps and killall will end up showing the modified argv[0]
name? I just did a test on Ubuntu Edgy and I don't see this behavior.
In addition, killall continues to do the right thing.
> This whole thing is nothing more than a non-portable hack (3). It's up
> to you guys if you're willing to use it.
With the argv[0] hack, however, I think we cover the platforms we care
most about (Solaris and Linux). It might be sufficient for our
purposes, unless we can figure out how to use "-m" and that just makes
our problem go away.
Thanks much for the insight and feedback.
Will
>
> > Will
>
> Dieter
>
> (1) http://docs.python.org/tut/node4.html, 2.1.1 Argument Passing
> Actual code proving this here (lines 461-470):
> http://svn.python.org/projects/python/trunk/Modules/main.c
>
> (2) summer of 2002 is the earliest reference i've found:
> http://groups.google.com/group/comp.lang.python/msg/60cc39679b52df4b?hl=en&lr=&ie=UTF-8&oe=UTF-8&rnum=1)
>
> (3) works on Linux 2.6 from 4 september 2005 and up (4)
>
> (4) similar tricks exist for other OSs. Don't ask, I don't know ;)
> _______________________________________________
> pygtk mailing list pygtk at daa.com.au
> http://www.daa.com.au/mailman/listinfo/pygtk
> Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/
More information about the pygtk
mailing list