medley icon indicating copy to clipboard operation
medley copied to clipboard

Pointer not visible in (VIDEOCOLOR T)

Open Michele31415 opened this issue 2 years ago • 5 comments

When running inverse-video mode (VIDEOCOLOR T), the pointer arrow is always black, so it is invisible when inside a window with a black background. It should XOR with the display so it remains visible against any color background.

Michele31415 avatar Sep 12 '22 18:09 Michele31415

See issue https://github.com/Interlisp/medley/issues/221 for a discussion of why this is hard (and Issue https://github.com/Interlisp/medley/issues/6)

Is X a box we have to think our way out of? Even just adding a transparent or white border around the black cursor would help.

masinter avatar Sep 12 '22 19:09 masinter

A white border would be fine - if that works. I tried saying (FLIPCURSOR). That made the arrow white against a black 16x16 square but when I moved that over a black Exec window, the entire square still turned black.

I searched for this before posting but didn't come across that previous issue.

Michele31415 avatar Sep 13 '22 00:09 Michele31415

The cursors are done in Lisp -- the Lisp bitmaps are passed to the display code (be it X or raw display hardware). Obviously there are only two values available in a 1-bpp bitmap (which is what the cursor and display bitmaps are) and for the cursor those are interpreted as black and transparent so you can't have black & white & transparent.

It's possible that the (FLIPCURSOR) implementation is buggy (without looking at the documentation, I'd expect it to give you white and transparent), and I'll look at that when I am back home.

nbriggs avatar Sep 13 '22 04:09 nbriggs

There’s a LispUsers package called XORCURSORPATCH that might be worth trying.

On Sep 12, 2022, at 11:18 PM, Nick Briggs @.***> wrote:

The cursors are done in Lisp -- the Lisp bitmaps are passed to the display code (be it X or raw display hardware). Obviously there are only two values available in a 1-bpp bitmap (which is what the cursor and display bitmaps are) and for the cursor those are interpreted as black and transparent so you can't have black & white & transparent.

It's possible that the (FLIPCURSOR) implementation is buggy (without looking at the documentation, I'd expect it to give you white and transparent), and I'll look at that when I am back home.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.

Anzus avatar Sep 13 '22 21:09 Anzus

1186 only => obsolete (PR #938)

masinter avatar Sep 13 '22 23:09 masinter