nsf / termbox

Library for writing text-based user interfaces
http://code.google.com/p/termbox
MIT License
1.96k stars 185 forks source link

24 bit colors support (true colors) #37

Closed XVilka closed 9 years ago

XVilka commented 10 years ago

See more info here https://gist.github.com/XVilka/8346728

nsf commented 10 years ago

If that's a feature request, someone should implement it. It won't be me, because I'm in maintenance-only mode for this project at the moment (actually for all of my open source projects).

nsf commented 9 years ago

Also reflects my thoughts on the issue: https://github.com/nsf/termbox-go/pull/52.

Shortly: if you want more than 256 colors, you're probably making a game. Please, don't do it in a terminal, I don't want to suffer while playing your game.

I may revisit that opinion in future. My opinion changes over time. Before I was absolutely sure about not adding mouse support and 256-color mode support to the termbox. Now it's there. (Go version of the termbox has mouse support).

XVilka commented 7 years ago

@nsf almost 2 years passed, true color gained huge support across the programs (see updated gist). Have you changed your opinion yet?

nsf commented 7 years ago

Nope. During those 2 years I joined the HTML/CSS cult, so I don't feel like popularizing terminals further.

ddevault commented 7 years ago

Using termbox to render a terminal emulator (sort of thing tmux does), color support in termbox being so constrained is a bit of a pain. Also makes it difficult to offer better user color customization.

KoFish commented 7 years ago

User color customization is done in the terminal configuration. Programs that uses extended colors beyond the basic set just messes it all up and makes the terminal less nice to look at.

ddevault commented 7 years ago

That's a matter of opinion. I want to give users the option.

rofl0r commented 7 years ago

then open a PR, instead of whining. did you even ever use termbox ? it's meant to be used for lightweight terminal apps that don't need the full power of ncurses.

ddevault commented 7 years ago

Of course I have used termbox. I'm bringing the issue up for further discussion before I spend the effort on a pull request to make sure it's thought out first.

nsf commented 7 years ago

I won't merge it though. But you can implement it for yourself and use it. It's not like I spam commits every day and you'll have trouble merging them back into your fork. Termbox is pretty much done, sure there are some features I would like to work on, but it's unlikely that I will.

And for god's sake, stop using terminals to make fancy UIs. I mean if you want something basic and quick - great, but for anything serious go with proper GUI libs or HTML. And I would understand if we were talking about Go version of the termbox, because in Go you need high quality bindings and all that. But in C/C++, you have all the libs to choose from.

ddevault commented 7 years ago

I won't merge it though. But you can implement it for yourself and use it. It's not like I spam commits every day and you'll have trouble merging them back into your fork. Termbox is pretty much done, sure there are some features I would like to work on, but it's unlikely that I will.

I probably will fork if if necessary, but it would be nice to upstream the changes for the sake of distribution and such. Termbox is a nice lib, it shouldn't be left out to dry imo. But if you insist, a fork it shall be.

As for fancy UIs - maybe someone has a specific TUI that they want colored differently from the rest and use 24 bit colors for that? And even for fancy UIs, some people just prefer the terminal UX. Why did you make this library in the first place if you disagree? I'm working on a mail client, in the terminal because I want it to be keyboard driven and integrate nicely with vim and other command line tools. It's also easier to port if it doesn't depend on i.e. GTK.

rofl0r commented 7 years ago

@SirCmpwn why not use ncurses then? it already does 24bit colors

ddevault commented 7 years ago

Because I prefer termbox's significantly simpler API, implementation, and footprint, of course.

rofl0r commented 7 years ago

if you want to down the footprint you can also use netbsd curses and for a simpler API, concol on top of it.

ddevault commented 7 years ago

Well, it's not my call which curses is distributed in end-user distros, I don't like having complexity anywhere in my stack anyway, and concol is not easily/consistently packagable.

amirouche commented 7 years ago

@SirCmpwn did you fork termbox with true colors?

amirouche commented 7 years ago

There is an advanced fork @ https://github.com/tomas/termbox

ddevault commented 7 years ago

@tomas how do you feel about this feature?

tomas commented 7 years ago

I have no plans to develop it, but I'd be happy to merge it into my fork if you send a pull request. :)

amirouche commented 1 year ago

There is an active fork @ https://github.com/termbox/termbox2