Re: DBus signature for gtk objects
On Tue, 2007-11-27 at 19:29 -0200, Rafael Barbolo Lopes wrote: Is it possible to exchange gtk objects (a gtk.gdk.Pixmap) thought DBus tubes? If it is, can someone help me to find a way to do this? I think it's necessary to create a BusObject, but I can't get it working using this quick tutorial: http://dbus.freedesktop.org/doc/dbus-python/doc/tutorial.html#claiming-a-bus-name You cannot just use a remote object as if it was a gtk.gdk.Pixmap, they are just two very different pieces of code. My guess is that for doing this, you would need to get the Pixmap from the X server to the client side (Pixbuf), serialize it somehow, and pass it as a dbus.ByteArray or as a path to a temp file in disk (if that's possible in Rainbow). The other side would need to create a Pixbuf from it and send it to the server as a Pixmap. This process is not only convoluted, but will be also quite slow. Perhaps there is some way in X for two processes to share pixmaps, but I don't know about that. Why you want to do that? If you explain it, perhaps we'll be able to give better advice. Regards, Tomeu ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: DBus signature for gtk objects
I want that for sharing Oficina (paint) activity through the mesh. When a user enters in a shared drawing, the owner would send his pixmap for this new user. Maybe serializing the pixmap wouldn't be a bad idea, cause it's passed once per user who join the activity and wouldn't let the activity slow after loaded. If you have any other advice, please let me know. Thanks 2007/11/28, Tomeu Vizoso [EMAIL PROTECTED]: On Tue, 2007-11-27 at 19:29 -0200, Rafael Barbolo Lopes wrote: Is it possible to exchange gtk objects (a gtk.gdk.Pixmap) thought DBus tubes? If it is, can someone help me to find a way to do this? I think it's necessary to create a BusObject, but I can't get it working using this quick tutorial: http://dbus.freedesktop.org/doc/dbus-python/doc/tutorial.html#claiming-a-bus-name You cannot just use a remote object as if it was a gtk.gdk.Pixmap, they are just two very different pieces of code. My guess is that for doing this, you would need to get the Pixmap from the X server to the client side (Pixbuf), serialize it somehow, and pass it as a dbus.ByteArray or as a path to a temp file in disk (if that's possible in Rainbow). The other side would need to create a Pixbuf from it and send it to the server as a Pixmap. This process is not only convoluted, but will be also quite slow. Perhaps there is some way in X for two processes to share pixmaps, but I don't know about that. Why you want to do that? If you explain it, perhaps we'll be able to give better advice. Regards, Tomeu -- Rafael Barbolo Lopes http://rafaelbarbolo.blogspot.com/ ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel
Re: DBus signature for gtk objects
Hey, Both slider-puzzle and jigsaw-puzzle do this when sharing a puzzle (or when using the Journal storage). It wasn't straightforward iirc, but feel free to dig in the code and ask if there is something cryptic there. And it is slow, so be prepared... -- cn Rafael Barbolo Lopes wrote: I want that for sharing Oficina (paint) activity through the mesh. When a user enters in a shared drawing, the owner would send his pixmap for this new user. Maybe serializing the pixmap wouldn't be a bad idea, cause it's passed once per user who join the activity and wouldn't let the activity slow after loaded. If you have any other advice, please let me know. Thanks 2007/11/28, Tomeu Vizoso [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]: On Tue, 2007-11-27 at 19:29 -0200, Rafael Barbolo Lopes wrote: Is it possible to exchange gtk objects (a gtk.gdk.Pixmap) thought DBus tubes? If it is, can someone help me to find a way to do this? I think it's necessary to create a BusObject, but I can't get it working using this quick tutorial: http://dbus.freedesktop.org/doc/dbus-python/doc/tutorial.html#claiming-a-bus-name You cannot just use a remote object as if it was a gtk.gdk.Pixmap, they are just two very different pieces of code. My guess is that for doing this, you would need to get the Pixmap from the X server to the client side (Pixbuf), serialize it somehow, and pass it as a dbus.ByteArray or as a path to a temp file in disk (if that's possible in Rainbow). The other side would need to create a Pixbuf from it and send it to the server as a Pixmap. This process is not only convoluted, but will be also quite slow. Perhaps there is some way in X for two processes to share pixmaps, but I don't know about that. Why you want to do that? If you explain it, perhaps we'll be able to give better advice. Regards, Tomeu -- Rafael Barbolo Lopes http://rafaelbarbolo.blogspot.com/ ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel ___ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel