Redrawing and focus events with GtkSocket



Hey,
   I'm writing a plugin that uses a GtkSocket to embed gvim (a graphical
version of vim). I am making some remote calls to it (via dbus) that
change the current cursor position in gvim, however this change is not
reflected in gvim until I scroll using the mouse wheel. If I click
somewhere with the mouse, the cursor goes to that location, so that
itself isn't a viable solution.

I have tested using vim's remote calling function that uses X11's ICCCM
(by setting/getting window properties), and it refreshes instantly. I
had a look at vim's code, and it doesn't do anything special X11 wise,
other than get/set the X11 window properties.

Is there a way I can get the GtkSocket to redraw without resorting to
using the X11 properties? (I require the dbus method for some other
things, so I can't redo it all with GDK/X11).

Also, can I get the GtkSockets' window focus events in my program?

Cheers,

Arun Tejasvi Chaganty (vimzard)
GNOME GSoC Student
Blog: http://arunchaganty.wordpress.com


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]