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},