When using XFIXES cursorshape mode, some of the cursors look really bad with extra black borders around the cursor and other cruft. How can I improve their appearance?
This happens for cursors with transparency (“alpha channel”); regular X cursors (bitmaps) should be correct. Unfortunately x11vnc 0.7 was released with a very poor algorithm for approximating the transparency, which led to the ugly black borders. The problem is as follows: XFIXES allows x11vnc to retrieve the current X server cursor shape, including the alpha channel for transparency. For traditional bitmap cursors the alpha value will be 0 for completely transparent pixels and 255 for completely opaque pixels; whereas for modern, eye-candy cursors an alpha value between 0 and 255 means to blend in the background colors to that degree with the cursor colors. The pixel color blending formula is something like this: Red = Red_cursor * α + Red_background * (1 – α), (where here 0 ≤ α ≤ 1), with similar for Green and Blue. The VNC protocol does not currently support an alpha channel in cursors: it only supports regular X bitmap cursors and Rich Cursors that have RGB (Red, Green, Blue) color
Related Questions
- When using XFIXES cursorshape mode, some of the cursors look really bad with extra black borders around the cursor and other cruft. How can I improve their appearance?
- In XFIXES mode, are there any hacks to handle cursor transparency ("alpha channel") exactly?
- Does black nail polish look bad in a job interview?