Re: Communicating with the x-server

2014-03-05 Thread Adam Jackson
On Tue, 2014-03-04 at 12:45 +0100, Thomas Sondergaard wrote:

 My own thought was simply to have the x-server watch a property, say 
 OPEN_URI, on the root window. Would that be the way to go?

Well, that or add another request to the VNC extension.  I'm not sure if
there's a private namespace there (to avoid your request colliding with
someone else's VNC feature addition).  But if there is then that's
probably what I'd do.

 The 
 realvnc-based code base I'm working with doesn't have any code that 
 watches properties like this. Is there a way to snoop on PropertyNotify 
 events?

Inside the server?  Not really, no.  The best you could do would be to
wrap the slot for ProcChangeProperty in the dispatch vector to notice
success and call out to your vnc code if the property matches.  Which is
ugly, but avoids needing to modify the core server.

If you're okay with modifying the server it'd be cleaner to add a
CallCallbacks() just before the return Success at the end of
dixChangeWindowProperty.

- ajax

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: Communicating with the x-server

2014-03-05 Thread Thomas Sondergaard

Hi Adam,

On 2014-03-05 20:10, Adam Jackson wrote:

On Tue, 2014-03-04 at 12:45 +0100, Thomas Sondergaard wrote:


My own thought was simply to have the x-server watch a property, say
OPEN_URI, on the root window. Would that be the way to go?


Well, that or add another request to the VNC extension.  I'm not sure if
there's a private namespace there (to avoid your request colliding with
someone else's VNC feature addition).  But if there is then that's
probably what I'd do.


That is exactly what I did. Turned out to be very straightforward. I 
simply overlooked this obvious possibility.





The
realvnc-based code base I'm working with doesn't have any code that
watches properties like this. Is there a way to snoop on PropertyNotify
events?


Inside the server?  Not really, no.  The best you could do would be to
wrap the slot for ProcChangeProperty in the dispatch vector to notice
success and call out to your vnc code if the property matches.  Which is
ugly, but avoids needing to modify the core server.

If you're okay with modifying the server it'd be cleaner to add a
CallCallbacks() just before the return Success at the end of
dixChangeWindowProperty.


Ok. Thanks a lot.

Thomas


___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Communicating with the x-server

2014-03-04 Thread Thomas Sondergaard

Hi,

I need to implement an Open URI feature for a VNC x-server. The idea 
is that a Qt application running under the VNC x-server can communicate 
to the X-server the URI it wants to open, the X-server then needs to 
send the URI via the VNC (RFB) protocol and the VNC client can then open 
the URI (via ShellExecute on windows and e.g. xdg-open on Unix). I got 
all the parts working except the communication between the Qt 
application and the xvncserver.


What is the best way to do this?

My own thought was simply to have the x-server watch a property, say 
OPEN_URI, on the root window. Would that be the way to go? The 
realvnc-based code base I'm working with doesn't have any code that 
watches properties like this. Is there a way to snoop on PropertyNotify 
events?


Ideas and suggestions would be most welcome.

Thank you for your time.

Thomas

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel