Setting X properties in tkinter or wxPython

Discussion in 'Python' started by Thorkild Stray, Jun 22, 2004.

  1. Hi!

    I am trying to embed ghostscript into a suitable widget so that it renders
    it's image there.

    This is support by ghostscript by setting an environment variable that
    indicates what window you want it to write to, and then setting a property
    on that window (aptly named "GHOSTVIEW"). I am having problems finding a
    way of adding this X property. I've tried both wxPython and tkinter
    (pygtk2 wouldn't easily give me the x window id without patching it), but
    I can't find a suitable way of adding such a property.
    Ghostscript needs to read information from that property before drawing
    the contents.

    Anybody got an idea?

    --
    Thorkild
    Thorkild Stray, Jun 22, 2004
    #1
    1. Advertising

  2. Thorkild Stray

    Chris King Guest

    > Anybody got an idea?

    I'm not very familiar with wxPython, but it seems that even native Tk
    can't set window properties (though the Tk C library can). Perhaps an
    alternative is to use python-xlib
    (http://python-xlib.sourceforge.net/). I'm even less familiar with
    that, but the functions Display.create_resource_object and
    Window.change_property look useful. Note that the Tk C library warns
    against using native X calls in place of its functions.
    Chris King, Jun 23, 2004
    #2
    1. Advertising

  3. Re: Setting X properties in tkinter or wxPython (solved in Gtk2)

    Den Wed, 23 Jun 2004 11:41:43 -0700, skrev Chris King:

    >> Anybody got an idea?

    > I'm not very familiar with wxPython, but it seems that even native Tk
    > can't set window properties (though the Tk C library can). Perhaps an
    > alternative is to use python-xlib
    > (http://python-xlib.sourceforge.net/). I'm even less familiar with
    > that, but the functions Display.create_resource_object and
    > Window.change_property look useful. Note that the Tk C library warns
    > against using native X calls in place of its functions.


    Yes, I thought about using python-xlib, or maybe just python-ctypes, but
    I am a little bit nervous about getting it to things correctly according
    to the GUI-package.

    I managed to do what I wanted with GTK2, though. I prototyped it in
    Gtk2-perl, but the same should be doable in PyGTK2 (the correct way of
    doing it is to call gtk.gdk.Window.property_change() to set the raw X
    property).

    My problem with PyGTK2 is the surprising problems I am having with getting
    a hold of the window X identifier. It seems that they removed
    gtk.gdk.window.xid somewhere between 1.99 and 2.0, and just added it back
    in the 2.3-series (I believe it was added 20th of April, 2004).

    There is a patch available on how to enable this for older versions
    described at:

    http://www.daa.com.au/pipermail/pygtk/2003-March/004641.html

    My problem is that I would either have to demand that the user patches his
    pygtk2 (not likely), or to demand that they install bleeding edge
    unstable versions of pygtk2. So now I am looking for a way around this..
    Maybe I could either do it in embedded C, or by calling xwininfo on the
    window and find it there.. both quite ugly workarounds. :-(

    --
    Thorkild
    Thorkild Stray, Jun 24, 2004
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Anand
    Replies:
    1
    Views:
    344
    Cliff Wells
    Jul 23, 2003
  2. ulysses
    Replies:
    4
    Views:
    757
    Werner Schiendl
    Oct 22, 2003
  3. Logan
    Replies:
    5
    Views:
    752
    David Bolen
    Dec 11, 2003
  4. Ruben Charles
    Replies:
    6
    Views:
    492
    =?ISO-8859-1?Q?Michael_Str=F6der?=
    Oct 25, 2005
  5. Wardie
    Replies:
    4
    Views:
    482
    Wardie
    Nov 8, 2006
Loading...

Share This Page