Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate/remove is-color-display? #327

Open
kengruven opened this issue Jun 15, 2024 · 0 comments
Open

Deprecate/remove is-color-display? #327

kengruven opened this issue Jun 15, 2024 · 0 comments

Comments

@kengruven
Copy link
Contributor

The function is-color-display? is useless, in its current form, and I propose that it be deprecated and/or removed.

  • It has separate implementations in all 3 backends (gtk3, cocoa, win32) and all of them simply hardcode a constant: (define (is-color-display?) #t)
  • Modern GUI toolkits don't seem to have a corresponding function for it to easily wrap (perhaps because nearly every display in use today has color), so there's no obvious and simple path to fixing it -- nor does there seem to be any great demand for this functionality
  • Unlike most other per-monitor attributes which have racket/gui accessors, this one doesn't take a #:monitor argument (so you can't answer questions like: "Am I drawing on a monochrome monitor right now?")
  • There's no corresponding event that I can find, so when monitors or settings change, your program won't know (unless you poll, which brings its own set of problems)
  • No Racket program that I've found uses this function, and nobody has ever mentioned that it doesn't do what it claims to do

Even if all the issues here were fixed, it's not clear what its intended use is. Perhaps a program could use this as a hint to distinguish visuals by shape rather than simply color, but given the prevalence of colorblindness, they should always do that, anyway.

The one place where I can imagine such a feature being useful is for printing, as black-and-white printers are still fairly common, but that obviously goes through printer-dc% and dc<%>, not the default monitor, and those interfaces have no such feature, so it can't be used for that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant