470,648 Members | 1,608 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 470,648 developers. It's quick & easy.

Setting X properties in tkinter or wxPython

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
Jul 18 '05 #1
2 1837
> 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.
Jul 18 '05 #2
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/pygt...ch/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

Jul 18 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

7 posts views Thread by SeeBelow | last post: by
25 posts views Thread by BJörn Lindqvist | last post: by
8 posts views Thread by Erik Johnson | last post: by
7 posts views Thread by krishnakant Mane | last post: by
2 posts views Thread by Kevin Walzer | last post: by
44 posts views Thread by bg_ie | last post: by
4 posts views Thread by fabdeb | last post: by
7 posts views Thread by Protected | last post: by
reply views Thread by Guilherme Polo | last post: by
1 post views Thread by Korara | last post: by
reply views Thread by warner | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.