LibVNC / libvncserver

LibVNCServer/LibVNCClient are cross-platform C libraries that allow you to easily implement VNC server or client functionality in your program.
GNU General Public License v2.0
1.1k stars 482 forks source link

Dynamic resolution - support for SetDesktopSize in client #511

Closed marcofortina closed 2 years ago

marcofortina commented 2 years ago

This PR adds support for the client to request the server to change resolution and replace original https://github.com/LibVNC/libvncserver/pull/452 due inactivity of the author since Nov 2020.

Should resolve issue: https://github.com/LibVNC/libvncserver/issues/341

Tested with a future version of Remmina:

Initial size:

image

Resized only on X-axis:

image

Resized only on Y-axis:

image

Resized on both axis:

image

As you can see from images and from the output of xrandr command, it works!

Regards, Marco

bk138 commented 2 years ago

Thanks Marco, I'll review ASAP!

bk138 commented 2 years ago

@marcofortina very good work build upon #452! Only some minor comments/requests.

antenore commented 2 years ago

@bk138 thanks for merging this, and thanks @marcofortina for the job ;-)

@bk138 any plans for the release date of LibVNC 1.0.0? If it won't be in few weeks/months, any chance we can get a light tag on the current master state?

bk138 commented 2 years ago

1.0.0 is still a long way down the road, it seems there has to be a 0.9.14 sometime soon 🙄

antenore commented 2 years ago

1.0.0 is still a long way down the road, it seems there has to be a 0.9.14 sometime soon roll_eyes

Thanks! Well, I'll come here from time to time to bother you all :-D

bk138 commented 2 years ago

1.0.0 is still a long way down the road, it seems there has to be a 0.9.14 sometime soon roll_eyes

Thanks! Well, I'll come here from time to time to bother you all :-D

BTW, the LibVNC team could need some additional (wo)manpower. Who'd be interested?

antenore commented 2 years ago

1.0.0 is still a long way down the road, it seems there has to be a 0.9.14 sometime soon roll_eyes

Thanks! Well, I'll come here from time to time to bother you all :-D

BTW, the LibVNC team could need some additional (wo)manpower. Who'd be interested?

Sure, what in particular? Speaking for myself, I'm quite busy with Remmina, but I can find some spare time to help.

I always thought that joining forces in the remote desktop domain would be beneficial for all of us

bk138 commented 2 years ago

1.0.0 is still a long way down the road, it seems there has to be a 0.9.14 sometime soon roll_eyes

Thanks! Well, I'll come here from time to time to bother you all :-D

BTW, the LibVNC team could need some additional (wo)manpower. Who'd be interested?

Sure, what in particular? Speaking for myself, I'm quite busy with Remmina, but I can find some spare time to help.

I always thought that joining forces in the remote desktop domain would be beneficial for all of us

Maintenance tasks I'd say, so basically:

This all probably requires some good amount of additional documentation of procedures, but if it's making a team effort easier, I'm willing to start on this. So, if you want to, I can add you to the LibVNC orga.

antenore commented 2 years ago

1.0.0 is still a long way down the road, it seems there has to be a 0.9.14 sometime soon roll_eyes

Thanks! Well, I'll come here from time to time to bother you all :-D

BTW, the LibVNC team could need some additional (wo)manpower. Who'd be interested?

Sure, what in particular? Speaking for myself, I'm quite busy with Remmina, but I can find some spare time to help. I always thought that joining forces in the remote desktop domain would be beneficial for all of us

Maintenance tasks I'd say, so basically:

* Going through the [open PR's](https://github.com/LibVNC/libvncserver/pulls) and reviewing them. Some are quite old and maybe aren't valid anymore, some just introduce a lotta changes and this in turn requires a lot of testing and so on...

* Prioritising and fixing [bugs](https://github.com/LibVNC/libvncserver/issues?q=is%3Aissue+is%3Aopen+label%3Abug) of course ;-)

* Cutting new point releases.

This all probably requires some good amount of additional documentation of procedures, but if it's making a team effort easier, I'm willing to start on this. So, if you want to, I can add you to the LibVNC orga.

I want to deserve it, so let's start by doing part of the hard work first. I'll start to do some triage and try to do some code review. The time will say if I deserve so much power or not. ;-)

@marcofortina are you in?