FS#67916 - [fltk] Lack of cursor support leads to suboptimal tigervnc experience

Attached to Project: Community Packages
Opened by Paul Melis (paulmelis) - Thursday, 17 September 2020, 09:03 GMT
Last edited by David Runge (dvzrv) - Friday, 02 October 2020, 19:50 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To David Runge (dvzrv)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No



With recent versions of tigervnc the cursor displayed no longer changes to the appropriate shape (e.g. to a resize handle when over a window border), thereby making it hard to do certain operations in the remote VNC desktop. This appears to be caused by the fltk package not including cursor support (anymore). Locally rebuilding the fltk package based on the official PKGBUILD fixes the issue on my system, I guess because I have libXcursor installed and it gets picked up during the build. The explicit dependency on libxcursor was removed in fltk 1.3.5-2 (https://github.com/archlinux/svntogit-community/commit/06a17791c0d8edb599b50366e3950dceda4c5553#diff-8d0411b338c83cd8cd8ad9d9db127101) so that may have caused it.

Additional info:
* fltk 1.3.5-3, tigervnc 1.11.0-4
* See also https://bugs.archlinux.org/task/67295, https://github.com/TigerVNC/tigervnc/issues/351#issuecomment-272888948

Steps to reproduce:

1. Start a VNC server
2. Connect with the tigervnc client to the VNC server
3. Notice that the cursor never changes shape, it's is always the standard arrow
4. Close VNC client
5. Get the latest fltk PKGBUILD and patch
6. makepkg -si
7. Connect again with the tigervnc client
8. Notice that the cursor now DOES change shape correctly

This task depends upon

Closed by  David Runge (dvzrv)
Friday, 02 October 2020, 19:50 GMT
Reason for closing:  Fixed
Additional comments about closing:  Fixed with fltk 1.3.5-4
Comment by SanskritFritz (SanskritFritz) - Monday, 21 September 2020, 11:09 GMT
I emailed upstream and this is what the Tigervnc dev (Pierre Ossman) wrote about the Archlinux package:
"I would suspect that it is actually FLTK that is built
incorrectly. You will get this behaviour if it was built without
libXcursor support."
Comment by Paul Melis (paulmelis) - Monday, 21 September 2020, 11:54 GMT
Yes, isn't take exactly what I mention in the bug report?
Comment by SanskritFritz (SanskritFritz) - Monday, 21 September 2020, 12:02 GMT
Yes, it is. I just mentioned it because your findings were confirmed by a tigervnc dev.
Comment by CJ Kucera (apocalyptech) - Friday, 02 October 2020, 14:31 GMT
Here's a bit more confirmation from the TigerVNC devs, btw: https://github.com/TigerVNC/tigervnc/issues/1112

I'd ended up submitting a bug there because I was able to reproduce the no-cursor problem even after manually compiling tigervnc from their github, but as this bug states, it's really just a problem with fltk being built without libXcursor support. As the task mentions up there, simply rebuilding fltk on my local system (which has libXcursor installed) results in tigervnc properly grabbing cursors from the remote side, with no changes to the PKGBUILD or associated patch, so it's almost certainly just that missing dep. in the PKGBUILD which is causing this).
Comment by David Runge (dvzrv) - Friday, 02 October 2020, 19:14 GMT
@paulmelis: Thanks for the report and sorry I didn't get back to this earlier.
I have been quite busy with other things.

Seems I optimized away a bit too much when stripping dependencies. ;-)
Unfortunately upstream does not seem to set e.g. libxcursor or libxinerama as hard requirements, which is why I did not notice this.

I'll push a rebuild of the package with applied fixes soon.