ingwarsw / tinyfugue

TinyFugue - Rebirth
Other
61 stars 34 forks source link

24-bit True Color #23

Open lisdude opened 5 years ago

lisdude commented 5 years ago

The final great enhancement, I think, would be adding true color support. Sadly I have no idea where to even start to attempt to do it myself.

ingwarsw commented 5 years ago

@lisdude Im not sure how hard would be to add that too.. And Im not sure if it would help a lot..

With such small "resolution" 256 colours seems enough..

But maybe someone could make it true..

lotheac commented 3 years ago

I have experimental 24-bit color support in my fork -- passthrough to terminal only, they are not available as tf attrs. But this should give an idea of what is involved if someone wants to implement 'real' support.

https://github.com/lotheac/tinyfugue/commit/0c1d9f3003ccd357278ff0f9a04c7d9232266387 attr_t is too small, so it needs to be first made bigger to accommodate for an additional 24 bits of color information. https://github.com/lotheac/tinyfugue/commit/dea488aad5be656397731f46603b2f00e1d03220 then the state machine for color code parsing needs to be expanded a bit. NOTE: this only supports the "38;2;R;G;B" form, which seems to be the most commonly supported one in terminals, but AFAIK nonstandard.

edit: apparently I did add support for other forms of the 24bit escapes as well, but forgot about it already. https://github.com/lotheac/tinyfugue/commit/48a52f52af87e49120d05a370f39597695f12d79

warmstarter commented 3 years ago

I'm curious about what you have going on here and what issues you see existing and what needs to be done. I know of at least on well known server that would likely implement 24bit/True color if the TinyFugue had such a feature available.

I know TinyMUX 2 currentl has 24bit color support and they have a public server where the devs hang out. Could be a good palce to look into regarding how they implemented it and what would need to be compatible.