xpra icon
Bug tracker and wiki

This bug tracker and wiki are being discontinued
please use https://github.com/Xpra-org/xpra instead.


Changes between Version 1 and Version 2 of Ticket #734


Ignore:
Timestamp:
11/09/14 10:32:48 (6 years ago)
Author:
Antoine Martin
Comment:

Adding this code to send_cursor:

if len(cpixels)==312:
    import binascii
    cursorlog.info("cursor data=%s", binascii.hexlify(cpixels))

I can verify that the cursor data being sent consists of 312 bytes null bytes. Both for Linux clients and win32...

So r8089 adds this same empty cursor to the custom cursor test code to make it easier to test, and we can see that the cursor is only applied when the mouse is moved (a GTK or win32 bug - not sure which, not sure there's much we can do about that).

Eventually found that we must provide fixed sized cursor pixel data on win32. GTK should really shield us from this sort of (annoying) details rather than giving us broken cursors!

So r8090 scales it to the exact size the OS wants - which is slightly problematic for cursors that are not square, like the one from the xterm: we scale 13x6 to 32x32 (and maybe 64x64 or other on high dpi displays apparently). Maybe we should paste the cursor onto an empty 32x32 transparent frame instead? (but only if the frame is bigger than the cursor!..) This will have to do for now. It may well fix the crash with GTK3 too.

More complicated backport than usual because the metrics stuff is not present in the 0.14 branch: done in r8092.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #734 – Description

    v1 v2  
    1 All the cursor tests seem to pass and look fine (custom cursor, all cursors) but the cursor used by xterm when you hit one of the modifier keys (at least for shift, control and alt) which is a completely empty one of size 6x13 (the size of one character on the default xterm) 9216 bytes of rgb data, shows up late (only shows when you move the mouse, at which point the xterm resets it) and it looks different from what it should be..
     1All the cursor tests seem to pass and look fine (custom cursor, all cursors) but the cursor used by xterm when you hit one of the modifier keys (at least for shift, control and alt) which is a completely empty one of size 6x13 (the size of one character on the default xterm) 312 bytes of rgb data, shows up late (only shows when you move the mouse, at which point the xterm resets it) and it looks different from what it should be..
    22
    33I managed to capture a screenshot of it by delaying the sending of cursors in {{{ServerSource.send_cursor}}} by 5 seconds, then hitting one of the special modifier keys, waiting 5 seconds, seeing the cursor log message on the client then moving the mouse and asking gimp to take a screen capture! Here it is: