From: gavron <cg...@op...> - 2007-08-31 23:47:46
|
I was wondering if there was any way I could get 256 colors - or more .. when running ncurses applications on a linux console with the frame buffer enabled. There are a few applications that greatly benefit from this enhancement such as mutt, vim, ELinks .. and I was wondering if this is possible when not running in an xterm under xorg. Maybe I need to run a terminal emulator that supports more than 16 colors rather than the standard linux console? Rather confused about these aspects, so any pointers to doc or a discussion of these capabilities would be very welcome. Thank you! gavron |
From: Antonino A. D. <ad...@gm...> - 2007-09-01 00:58:03
|
On Fri, 2007-08-31 at 19:47 -0400, gavron wrote: > I was wondering if there was any way I could get 256 colors - or more .. > when running ncurses applications on a linux console with the frame > buffer enabled. There are a few applications that greatly benefit from > this enhancement such as mutt, vim, ELinks .. and I was wondering if > this is possible when not running in an xterm under xorg. No it's not possible under the linux console. The linux console supports 16-colors only and changing this to support 256-colors will entail a massive rewrite of the console code. Even a 32bpp framebuffer is stuck with a 16-color console. > > Maybe I need to run a terminal emulator that supports more than 16 > colors rather than the standard linux console? > Yes, you will basically need a new terminal emulator, one that basically re-implements the kernel console code. Tony |
From: James L. <ja...@ak...> - 2007-09-01 03:16:45
|
The colors that you see in an ncurses application are based on an (any OS) ANSI color terminal. There is a specific set of 16 colors and their associated escape sequences that set any ANSI compliant terminal's foreground and background colors for each character cell. BUT, there is nothing that says that you couldn't write your own layer of abstraction / interpretation that could render its own bitmapped fonts in either high or true color. Take a look at this... http://www.akrobiz.com/ezfb EZFB version 10.0 is done and awaiting release. It's WAY faster than any previous version. James. :o) ----- Original Message ----- From: "gavron" <cg...@op...> To: <lin...@li...> Sent: Friday, August 31, 2007 7:47 PM Subject: [Linux-fbdev-users] How many colors? > I was wondering if there was any way I could get 256 colors - or more .. > when running ncurses applications on a linux console with the frame > buffer enabled. There are a few applications that greatly benefit from > this enhancement such as mutt, vim, ELinks .. and I was wondering if > this is possible when not running in an xterm under xorg. > > Maybe I need to run a terminal emulator that supports more than 16 > colors rather than the standard linux console? > > Rather confused about these aspects, so any pointers to doc or a > discussion of these capabilities would be very welcome. > > Thank you! > > gavron > > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Linux-fbdev-users mailing list > Lin...@li... > https://lists.sourceforge.net/lists/listinfo/linux-fbdev-users > |
From: James L. <ja...@ak...> - 2007-09-12 19:58:34
|
Cool! I'm glad you like it. I'll have to get my stuff together and release version 10.0. It uses function pointers that get set only once whenever a change is made to the frame buffer resolution. That way the right function gets called automatically with no time wasted on a switch statement. It is WAY faster than the version that is on the web now. It is written in C, but it acts like C++. I guess I don't really understand your first question. You can't get more than 16 colors out of any terminal because the program that runs to display in the terminal has no way to ask for more than the 16 usual colors. The colors are set with escape sequences; a coded string of characters. These can also set absolute cursor position anywhere on the screen and do other things like reverse the text foreground and background or make it blink. It's not really graphics at all. You have no pixels; only character cells; and it is (supposed to be) OS independent. James. :o) ----- Original Message ----- From: "cga2000" <cg...@op...> To: <lin...@li...> Sent: Tuesday, September 11, 2007 9:30 PM Subject: Re: [Linux-fbdev-users] How many colors? > On Fri, Aug 31, 2007 at 11:16:44PM EDT, James Lehman wrote: > > The colors that you see in an ncurses application are based on an (any OS) > > ANSI color terminal. There is a specific set of 16 colors and their > > associated escape sequences that set any ANSI compliant terminal's > > foreground and background colors for each character cell. BUT, there is > > nothing that says that you couldn't write your own layer of abstraction / > > interpretation that could render its own bitmapped fonts in either high or > > true color. > > > > Take a look at this... > > http://www.akrobiz.com/ezfb > > > > EZFB version 10.0 is done and awaiting release. It's WAY faster than any > > previous version. > > > > James. :o) > > Great stuff! > > And a screen capture utility that actually works on the fb console in > the bargain. Years I'd been looking for one! > > I'm not sure how all this relates to my original post but downloading > your stuff and having fun running it sure wasn't a waste of my time. > > Thank You! > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2005. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Linux-fbdev-users mailing list > Lin...@li... > https://lists.sourceforge.net/lists/listinfo/linux-fbdev-users > |
From: gavron <cg...@op...> - 2007-09-12 01:26:28
|
On Fri, Aug 31, 2007 at 08:57:50PM EDT, Antonino A. Daplas wrote: > On Fri, 2007-08-31 at 19:47 -0400, gavron wrote: > > I was wondering if there was any way I could get 256 colors - or more .. > > when running ncurses applications on a linux console with the frame > > buffer enabled. There are a few applications that greatly benefit from > > this enhancement such as mutt, vim, ELinks .. and I was wondering if > > this is possible when not running in an xterm under xorg. > > No it's not possible under the linux console. The linux console > supports 16-colors only and changing this to support 256-colors will > entail a massive rewrite of the console code. > > Even a 32bpp framebuffer is stuck with a 16-color console. > > > > > Maybe I need to run a terminal emulator that supports more than 16 > > colors rather than the standard linux console? > > > > Yes, you will basically need a new terminal emulator, one that basically > re-implements the kernel console code. Thanks for your comments and sorry about the delay. I think I tried a couple of terminal emulators in the past and I think neither supported more than the usual 8-16 colors. I guess I'll just have to maintain separate configurations depending on whether I'm running on a 256-color xterm or the console. Thanks, cga. |
From: cga2000 <cg...@op...> - 2007-09-12 01:30:52
|
On Fri, Aug 31, 2007 at 11:16:44PM EDT, James Lehman wrote: > The colors that you see in an ncurses application are based on an (any OS) > ANSI color terminal. There is a specific set of 16 colors and their > associated escape sequences that set any ANSI compliant terminal's > foreground and background colors for each character cell. BUT, there is > nothing that says that you couldn't write your own layer of abstraction / > interpretation that could render its own bitmapped fonts in either high or > true color. > > Take a look at this... > http://www.akrobiz.com/ezfb > > EZFB version 10.0 is done and awaiting release. It's WAY faster than any > previous version. > > James. :o) Great stuff! And a screen capture utility that actually works on the fb console in the bargain. Years I'd been looking for one! I'm not sure how all this relates to my original post but downloading your stuff and having fun running it sure wasn't a waste of my time. Thank You! |
From: cga2000 <cg...@op...> - 2007-09-12 22:56:56
|
On Wed, Sep 12, 2007 at 03:58:35PM EDT, James Lehman wrote: > Cool! > > I'm glad you like it. > > I'll have to get my stuff together and release version 10.0. Definitely worth it. > It uses function pointers that get set only once whenever a change is made > to the frame buffer resolution. That way the right function gets called > automatically with no time wasted on a switch statement. It is WAY faster > than the version that is on the web now. Quite surprising. I ran ./demo and the other stuff and I had a distinct feeling that my ancient mach64 was a lot friskier than usual. > It is written in C, but it acts like C++. > > I guess I don't really understand your first question. You can't get > more than 16 colors out of any terminal because the program that runs > to display in the terminal has no way to ask for more than the 16 > usual colors. Not sure I follow you. I've been running mutt and vim in an xterm with 256 colors for over a year. By "terminal" do you mean a hardware device (as opposed to an emulator) ..? > The colors are set with escape sequences; a coded string of > characters. These can also set absolute cursor position anywhere on > the screen and do other things like reverse the text foreground and > background or make it blink. It's not really graphics at all. You > have no pixels; only character cells; Yes. In a 256-color xterm you can display a succession of 256 cells with the background or foreground set set to 256 colors chosen between the 16 system colors, the 216 extended colors, and 24 shades of grey. Which means you could simultaneously display a 256-character snippet of text with each letter a different color. But each letter would be displayed in one single/solid color. You would not be able to display an O that changes color clockwise from slategrey, to teal, to cadetblue, to hotpink .. etc. because the smallest addressable display area is the cell and each character occupies an entire cell. What I understand from Antonino's reply is that contrary to xterm and a couple other X terminal emulators, the linux console does not have the "physical" capability to display more than 16 colors. So if I wanted to use the 256-color feature of mutt, vim, ELinks, I would have to run an emulator that has this capability. Unfortunately, there does not seem to be one available. Hope this clarifies my earlier post. cga |
From: Antonino A. D. <ad...@gm...> - 2007-09-16 03:18:32
|
On Wed, 2007-09-12 at 18:56 -0400, cga2000 wrote: > On Wed, Sep 12, 2007 at 03:58:35PM EDT, James Lehman wrote: > > What I understand from Antonino's reply is that contrary to xterm and > a couple other X terminal emulators, the linux console does not have > the "physical" capability to display more than 16 colors. > The main limitation of the linux console is that it is patterned from VGA, each character is described in 16 bits only. At least 8-bits are already assigned for the character map. That leaves at most 8-bits for the attributes, 4-bits for the background color and 4-bits for the foreground color. With 4 bits apiece, you can only get 16 colors. I haven't looked at xterm, but to preserve 16-bits/character, my guess is that xterm set a fixed background color and assigned the full 8-bits for the foreground color. Tony |