On Wed, May 25, 2016 at 12:03 AM, Miroslav Vadkerti <[email protected]> wrote:
> Hi, > > TigerVNC server supports automatic desktop resize via client-to-server > message type 251 [1]. > I would like to see this future in guacamole. My idea is that is could > be enabled automatically > as it should be autodetectable. I already looked briefly at the code > of tigervnc's vncviewer and > it should not be hard to do. > > Hi Miroslav, Sounds great to me! > I see that guacamole's vnc protocol uses libvnc client [2]. I assume > to get this feature implemented > I would first have to add support to libvnc first. There already seems > to be an issue filed, I just need > to picki it up :) [3] > > Correct. The only other option would be to migrate away from libvnc entirely. VNC is (thankfully) a relatively simple protocol, so that wouldn't be totally insane ... just pretty close to totally insane. Contributing to libvnc and then updating guac to leverage the new feature would definitely be the preferred way to go. After that can we reuse some of the code of the RDP client already > handles resizing? > > Yes. The resize code is actually extremely simple. Depending on how the libvnc change ends up being implemented, you would likely only need to provide a "size" handler on the guac_user object after they join, where that handler simply forwards the requested width/height on to the VNC server. See: https://github.com/apache/incubator-guacamole-server/blob/ec93a2989f02f3ef321f9b7fc94c52b3690df09a/src/protocols/rdp/user.c#L89 And: https://github.com/apache/incubator-guacamole-server/blob/ec93a2989f02f3ef321f9b7fc94c52b3690df09a/src/protocols/rdp/input.c#L257-L275 The SSH and telnet protocol support also support resizing, so if you would like additional examples those may help. Thanks, - Mike
