sibson/vncdotool

[Feature request] VNC library to enable applications to integrate full vnc functionallity

Closed this issue · 3 comments

Enable users to integrate this package into their app for more than just testing. To create custom GUI clients, with vnc features built in.

I'm not sure if there's a better way to break this ticket down.

  1. Allow users to capture an entire stream of a vnc connection, instead of just a png. It's up to them to open that stream in whatever GUI package they choose.

  2. Enable keyboard/mouse integration, file sharing, and clipboard sharing through the vnc connection.

I'm not sure what would be required to fulfill this request that isn't already supported. https://vncdotool.readthedocs.io/en/latest/library.html

I guess the main step I'm trying to figure out is how to stream the vm screen to a GUI. I see these lines in client.py here to save a png, but not continuously stream the screen. (The best example I can find of what I mean is libvncclient here, that pass back a connection to listen to). The docs have great examples on capturing a png, but not a full stream. That said, I'm relatively new to VNC, so I might be misunderstanding how this works.

calling refreshScreen() and using the deferredCallback to write the content of client.screen to your display buffer and then trigger another refresh, should allow you to create an update loop.