unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Would True Colour to ANSI 8-bit palette conversion be useful
@ 2024-06-14 10:01 Michał Nazarewicz
  2024-06-14 11:14 ` Eli Zaretskii
  0 siblings, 1 reply; 3+ messages in thread
From: Michał Nazarewicz @ 2024-06-14 10:01 UTC (permalink / raw)
  To: emacs-devel

A while back I wrote https://github.com/mina86/ansi_colours which
takes 24-bit RGB colour and spits out the best matching entry from
ANSI 8-bit palette.  I’ve recently looked through NEWS and noticed
changes related to the true colour support on the terminal.

This got me wondering whether a feature to do True Colour -> ANSI
conversion would be useful somewhere in Emacs.  The typical usage is
where the user specifies 24-bit colour but the terminal supports the
8-bit palette only.

I don’t use Emacs in terminal nor do I run terminal inside Emacs, so
honestly I’ve no idea if that would be useful.

-- 
Best regards
ミハウ “𝓶𝓲𝓷𝓪86” ナザレヴイツ
«If at first you don’t succeed, give up skydiving»



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Would True Colour to ANSI 8-bit palette conversion be useful
  2024-06-14 10:01 Would True Colour to ANSI 8-bit palette conversion be useful Michał Nazarewicz
@ 2024-06-14 11:14 ` Eli Zaretskii
  2024-06-14 12:05   ` Michał Nazarewicz
  0 siblings, 1 reply; 3+ messages in thread
From: Eli Zaretskii @ 2024-06-14 11:14 UTC (permalink / raw)
  To: Michał Nazarewicz; +Cc: emacs-devel

> From: Michał Nazarewicz <mina86@mina86.com>
> Date: Fri, 14 Jun 2024 06:01:19 -0400
> 
> A while back I wrote https://github.com/mina86/ansi_colours which
> takes 24-bit RGB colour and spits out the best matching entry from
> ANSI 8-bit palette.  I’ve recently looked through NEWS and noticed
> changes related to the true colour support on the terminal.
> 
> This got me wondering whether a feature to do True Colour -> ANSI
> conversion would be useful somewhere in Emacs.  The typical usage is
> where the user specifies 24-bit colour but the terminal supports the
> 8-bit palette only.

Maybe I misunderstand what you mean by that, but Emacs already
attempts to find the best color of the N colors the terminal actually
supports that approximates the color specified by a face.  That
includes the case of only 8 supported colors.  See tty-colors.el.
This transparent color approximation exists in Emacs since v21.1, and
it was necessary to let Lisp programs specify X colors without
worrying too much about what will happen on TTY frames.

If the approximation implemented in tty-color-approximate is not what
you have in mind, please tell more about your ideas.

Thanks.



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Would True Colour to ANSI 8-bit palette conversion be useful
  2024-06-14 11:14 ` Eli Zaretskii
@ 2024-06-14 12:05   ` Michał Nazarewicz
  0 siblings, 0 replies; 3+ messages in thread
From: Michał Nazarewicz @ 2024-06-14 12:05 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

On Fri, 14 Jun 2024 at 07:14, Eli Zaretskii <eliz@gnu.org> wrote:
> Emacs already
> attempts to find the best color of the N colors the terminal actually
> supports that approximates the color specified by a face.  That
> includes the case of only 8 supported colors.  See tty-colors.el.

Yes, that’s the feature I meant. (As mentioned, I’m not using TTY so I
wasn’t aware this existed and didn’t find it with a quick look at the
codebase). I could probably argue my implementation is more
perceptually accurate but on the flip side it only works for the
256-colour palette. So it sounds like there’s nothing to see here. ;)

-- 
Best regards
ミハウ “𝓶𝓲𝓷𝓪86” ナザレヴイツ
«If at first you don’t succeed, give up skydiving»



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-06-14 12:05 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-14 10:01 Would True Colour to ANSI 8-bit palette conversion be useful Michał Nazarewicz
2024-06-14 11:14 ` Eli Zaretskii
2024-06-14 12:05   ` Michał Nazarewicz

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).