[haiku-commits] r38141 - haiku/trunk/src/apps/terminal

  • From: pulkomandy@xxxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 16 Aug 2010 16:28:12 +0200 (CEST)

Author: pulkomandy
Date: 2010-08-16 16:28:12 +0200 (Mon, 16 Aug 2010)
New Revision: 38141
Changeset: http://dev.haiku-os.org/changeset/38141

Modified:
   haiku/trunk/src/apps/terminal/TermParse.cpp
   haiku/trunk/src/apps/terminal/TermView.cpp
Log:
 * Rewrite the parsing of xterm extension so that it doesn't touch ANSI 
standard things
 * Some adjustements to the color table to have less duplicate colors


Modified: haiku/trunk/src/apps/terminal/TermParse.cpp
===================================================================
--- haiku/trunk/src/apps/terminal/TermParse.cpp 2010-08-16 13:37:10 UTC (rev 
38140)
+++ haiku/trunk/src/apps/terminal/TermParse.cpp 2010-08-16 14:28:12 UTC (rev 
38141)
@@ -802,7 +802,6 @@
                                case CASE_SGR:
                                {
                                        /* SGR */
-                                       char xterm256_mode = 0;
                                        for (row = 0; row < nparam; ++row) {
                                                switch (param[row]) {
                                                        case DEFAULT:
@@ -810,11 +809,8 @@
                                                                fAttr = 0;
                                                                break;
 
-                                                       case 5: /* Bold or 
validation of xterm 256 col*/
-                                                               if 
(xterm256_mode)
-                                                                       
xterm256_mode |= 4;
-                                                               // falthrough
                                                        case 1: /* Bold     */
+                                                       case 5:
                                                                fAttr |= BOLD;
                                                                break;
 
@@ -852,8 +848,17 @@
                                                                break;
 
                                                        case 38:
-                                                               xterm256_mode = 
1;
+                                                       {
+                                                               if (nparam != 3 
|| param[1] != 5)
+                                                                       break;
+                                                               fAttr &= 
~FORECOLOR;
+                                                               fAttr |= 
FORECOLORED(param[2]);
+                                                               fAttr |= 
FORESET;
+
+                                                               row = nparam; 
// force exit of the parsing
+
                                                                break;
+                                                       }
 
                                                        case 39:
                                                                fAttr &= 
~FORESET;
@@ -873,25 +878,22 @@
                                                                break;
 
                                                        case 48:
-                                                               xterm256_mode = 
2;
+                                                       {
+                                                               if (nparam != 3 
|| param[1] != 5)
+                                                                       break;
+                                                               fAttr &= 
~BACKCOLOR;
+                                                               fAttr |= 
BACKCOLORED(param[2]);
+                                                               fAttr |= 
BACKSET;
+
+                                                               row = nparam; 
// force exit of the parsing
+
                                                                break;
+                                                       }
 
                                                        case 49:
                                                                fAttr &= 
~BACKSET;
                                                                break;
                                                }
-
-                                               if (xterm256_mode == 5) {
-                                                       fAttr &= ~FORECOLOR;
-                                                       fAttr |= 
FORECOLORED(param[row]);
-                                                       fAttr |= FORESET;
-                                               }
-
-                                               if (xterm256_mode == 6) {
-                                                               fAttr &= 
~BACKCOLOR;
-                                                               fAttr |= 
BACKCOLORED(param[row]);
-                                                               fAttr |= 
BACKSET;
-                                               }
                                        }
                                        parsestate = groundtable;
                                        break;

Modified: haiku/trunk/src/apps/terminal/TermView.cpp
===================================================================
--- haiku/trunk/src/apps/terminal/TermView.cpp  2010-08-16 13:37:10 UTC (rev 
38140)
+++ haiku/trunk/src/apps/terminal/TermView.cpp  2010-08-16 14:28:12 UTC (rev 
38141)
@@ -298,30 +298,30 @@
        {255, 255, 204, 0},
        {255, 255, 255, 0},
 
-       {  0,   0,   0, 0},
-       { 11,  11,  11, 0},
-       { 22,  22,  22, 0},
-       { 33,  33,  33, 0},
-       { 44,  44,  44, 0},
-       { 55,  55,  55, 0},
-       { 66,  66,  66, 0},
-       { 77,  77,  77, 0},
-       { 88,  88,  88, 0},
-       { 99,  99,  99, 0},
+       { 10,  10,  10, 0},
+       { 20,  20,  20, 0},
+       { 30,  30,  30, 0},
+       { 40,  40,  40, 0},
+       { 50,  50,  50, 0},
+       { 60,  60,  60, 0},
+       { 70,  70,  70, 0},
+       { 80,  80,  80, 0},
+       { 90,  90,  90, 0},
+       {100, 100, 100, 0},
        {110, 110, 110, 0},
-       {121, 121, 121, 0},
-       {132, 132, 132, 0},
-       {143, 143, 143, 0},
-       {154, 154, 154, 0},
-       {165, 165, 165, 0},
-       {176, 176, 176, 0},
-       {187, 187, 187, 0},
-       {198, 198, 198, 0},
-       {209, 209, 209, 0},
+       {120, 120, 120, 0},
+       {130, 130, 130, 0},
+       {140, 140, 140, 0},
+       {150, 150, 150, 0},
+       {160, 160, 160, 0},
+       {170, 170, 170, 0},
+       {180, 180, 180, 0},
+       {190, 190, 190, 0},
+       {200, 200, 200, 0},
+       {210, 210, 210, 0},
        {220, 220, 220, 0},
-       {231, 231, 231, 0},
-       {242, 242, 242, 0},
-       {253, 253, 253, 0},
+       {230, 230, 230, 0},
+       {240, 240, 240, 0},
 };
 
 #define ROWS_DEFAULT 25


Other related posts:

  • » [haiku-commits] r38141 - haiku/trunk/src/apps/terminal - pulkomandy