[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: gtk_event_put() and foreign GDK windows
- From: Dave Menendez <dave sycamore us>
- To: Owen Taylor <otaylor redhat com>
- Cc: gtk-app-devel-list gnome org
- Subject: Re: gtk_event_put() and foreign GDK windows
- Date: 17 Dec 2003 16:24:52 -0500
On Wed, 2003-12-17 at 16:12, Owen Taylor wrote:
> On Wed, 2003-12-17 at 16:02, Dave Menendez wrote:
> > I apologize for the typo in the thread title: the subject should be
> > "gdk_event_put() and foreign GDK windows".
> >
> > ===========
> >
> > I have a GdkWindow which I created with gdk_window_foreign_new(),
> > wrapping a GdkWindow around an nedit X window. I'm able to select for
> > and handle GDK events on it just fine.
> >
> > However, when I want to send a synthetic key press event, for example,
> > to nedit using gdk_event_put() and specifying its GdkWindow, the nedit
> > application itself doesn't seem to see the key press (i.e., no new
> > character appears in the edit window). Interestingly, though, the event
> > is successfully placed in the GDK event queue and my application can see
> > it fine.
> >
> > So it seems as if gdk_event_put() when used on a foreign GDK window will
> > place the event in my local application's gdk event queue but will not
> > send an actual X event to the foreign X window. I'm able to get Nedit
> > to see a key press only by sending an XEvent myself at the Xlib level.
> > Is this the intended behavior of gdk_event_put()?
>
> Yes, you have it exactly. (Using Xlib directly is generally the right
> thing to do when you are doing something specific to X.)
>
> Regards,
> Owen
>
Thanks, Owen. At least it sounds like I was following the right path,
then, even though it didn't feel right. Let me ask a follow-up question
to set my mind straight on the overall intent of GDK. I was trying to
stay within GDK and away from Xlib-specific calls since I thought that
GDK's purpose was to abstract windowing system calls. So I assumed that
gdk_put_event would have translated and forwarded the "abstract" GDK
event to the underlying windowing system, whether it was running on
Win32 or X windows.
Was my understanding of GDK, then, placing more responsibility on GDK
than was intended by its developers? I'm fine with sometimes having to
make windowing system-specific calls, but I guess the line where I
should utilize GDK and where I should utilize windowing system-specific
library calls was blurry, at least in this instance.
Thanks,
Dave
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]