[haiku-commits] haiku: hrev45143 - src/apps/terminal

  • From: pulkomandy@xxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 9 Jan 2013 19:58:23 +0100 (CET)

hrev45143 adds 1 changeset to branch 'master'
old head: 713f1b8c050805928cdae527526db5251f1365e4
new head: 2b67e9a3a72acffbd4636d0825e7948c738716fb
overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=2b67e9a+%5E713f1b8

----------------------------------------------------------------------------

2b67e9a: Merge changes from Fonzoterm :
   - Report the terminal as xterm-color instead of just xterm, since we handle 
that fine.
   - Tweak the SGR handler a bit to use bright rather than bold in some cases
   - Change the color palette so the result is still readable (white on white 
doesn't work so well) with the default colorscheme.

                                 [ Adrien Destugues <pulkomandy@xxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev45143
Commit:      2b67e9a3a72acffbd4636d0825e7948c738716fb
URL:         http://cgit.haiku-os.org/haiku/commit/?id=2b67e9a
Author:      Adrien Destugues <pulkomandy@xxxxxxxxx>
Date:        Wed Jan  9 18:56:26 2013 UTC

----------------------------------------------------------------------------

3 files changed, 18 insertions(+), 11 deletions(-)
src/apps/terminal/Shell.cpp     |  2 +-
src/apps/terminal/TermParse.cpp | 23 +++++++++++++++--------
src/apps/terminal/TermView.cpp  |  4 ++--

----------------------------------------------------------------------------

diff --git a/src/apps/terminal/Shell.cpp b/src/apps/terminal/Shell.cpp
index 12c3c92..5dd10ae 100644
--- a/src/apps/terminal/Shell.cpp
+++ b/src/apps/terminal/Shell.cpp
@@ -539,7 +539,7 @@ Shell::_Spawn(int row, int col, const ShellParameters& 
parameters)
                /*
                 * setenv TERM and TTY.
                 */
-               setenv("TERM", "xterm", true);
+               setenv("TERM", "xterm-color", true);
                setenv("TTY", ttyName, true);
                setenv("TTYPE", parameters.Encoding(), true);
 
diff --git a/src/apps/terminal/TermParse.cpp b/src/apps/terminal/TermParse.cpp
index 0ae798a..6664dd0 100644
--- a/src/apps/terminal/TermParse.cpp
+++ b/src/apps/terminal/TermParse.cpp
@@ -833,23 +833,30 @@ TermParse::EscParse()
                                                                fAttr = 
FORECOLORED(7);
                                                                break;
 
-                                                       case 1: /* Bold     */
-                                                       case 5:
-                                                               fAttr |= BOLD;
+                                                       case 1: /* Bright / 
Bold     */
+                                                               fAttr |= 
FORECOLORED(8);
+                                                               fAttr |= 
FORESET;
                                                                break;
 
                                                        case 4: /* Underline    
*/
                                                                fAttr |= 
UNDERLINE;
                                                                break;
 
+                                                       case 5:
+                                                               fAttr |= BOLD;
+                                                               break;
+
                                                        case 7: /* Inverse      
*/
                                                                fAttr |= 
INVERSE;
                                                                break;
 
-                                                       case 22:        /* Not 
Bold     */
-                                                               fAttr &= ~BOLD;
+                                                       case 2: /* Faint: 
decreased intensity */
+                                                       case 21:        /* 
Bright/Bold: off or Underline: Double */
+                                                       case 22:        /* Not 
Bold, not bright, not faint      */
+                                                               fAttr &= 
~(FORECOLORED(8) | BOLD);
+                                                               fAttr |= 
FORESET;
                                                                break;
-
+                                                               
                                                        case 24:        /* Not 
Underline        */
                                                                fAttr &= 
~UNDERLINE;
                                                                break;
@@ -866,7 +873,7 @@ TermParse::EscParse()
                                                        case 35:
                                                        case 36:
                                                        case 37:
-                                                               fAttr &= 
~FORECOLOR;
+                                                               fAttr &= 
~FORECOLORED(7);
                                                                fAttr |= 
FORECOLORED(param[row] - 30);
                                                                fAttr |= 
FORESET;
                                                                break;
@@ -875,7 +882,7 @@ TermParse::EscParse()
                                                        {
                                                                if (nparam != 3 
|| param[1] != 5)
                                                                        break;
-                                                               fAttr &= 
~FORECOLOR;
+                                                               fAttr &= 
~FORECOLORED(255 - 8);
                                                                fAttr |= 
FORECOLORED(param[2]);
                                                                fAttr |= 
FORESET;
 
diff --git a/src/apps/terminal/TermView.cpp b/src/apps/terminal/TermView.cpp
index 8da3c92..c79960e 100644
--- a/src/apps/terminal/TermView.cpp
+++ b/src/apps/terminal/TermView.cpp
@@ -79,14 +79,14 @@ static rgb_color kTermColorTable[256] = {
        {  6, 152, 154, 0},     // cyan
        {245, 245, 245, 0},     // white
 
-       {128, 128, 128, 0},     // black
+       { 64,  64,  64, 0},     // black
        {255,   0,   0, 0},     // red
        {  0, 255,   0, 0},     // green
        {255, 255,   0, 0},     // yellow
        {  0,   0, 255, 0},     // blue
        {255,   0, 255, 0},     // magenta
        {  0, 255, 255, 0},     // cyan
-       {255, 255, 255, 0},     // white
+       {128, 128, 128, 0},     // white
 
        {  0,   0,   0, 0},
        {  0,   0,  51, 0},


Other related posts: