Author: witekfl                      Date: Tue Feb 14 17:08:56 2006 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- use iterm instead of xterm as TERM

---- Files affected:
SOURCES:
   dfbiterm-new.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/dfbiterm-new.patch
diff -u /dev/null SOURCES/dfbiterm-new.patch:1.1
--- /dev/null   Tue Feb 14 18:08:56 2006
+++ SOURCES/dfbiterm-new.patch  Tue Feb 14 18:08:51 2006
@@ -0,0 +1,219 @@
+diff -x '*~' -Nru dfbiterm-0.1/src/keyboard.c dfbiterm-0.1.new/src/keyboard.c
+--- dfbiterm-0.1/src/keyboard.c        2006-02-11 18:32:14.000000000 +0100
++++ dfbiterm-0.1.new/src/keyboard.c    2006-02-14 15:30:42.849133000 +0100
+@@ -5,8 +5,8 @@
+ #include "dfbiterm.h"
+ #include <directfb.h>
+ 
+-/* remapping table for function keys 5-12 */
+-static const unsigned char f5_f12_remap[] = {15,17,18,19,20,21,23,24};
++/* remapping table for function keys 1-12 */
++static const unsigned char f1_f12_remap[] = 
{11,12,13,14,15,17,18,19,20,21,23,24};
+ 
+ void
+ term_handle_key(DFBWindowEvent *evt)
+@@ -46,11 +46,15 @@
+                       case '-':
+                               write(pIterm->fd, "\037", 1);
+                               break;
++                      case '\r':
++                              write(pIterm->fd, "\033\r", 2);
++                              break;
+                       default:
+                               write(pIterm->fd, &c, 1);
+                               break;
+                       }
+-              }
++              } else if ((evt->modifiers & DIMM_ALT) && evt->key_symbol == 
'\r')
++                      write(pIterm->fd, "\033\r", 2);
+               else
+                       write(pIterm->fd, &c, 1);
+       }
+@@ -94,10 +98,10 @@
+                       }
+                       break;
+               case DIKS_HOME:
+-                      write(pIterm->fd, "\033OH", 3);
++                      write(pIterm->fd, "\033[1~", 4);
+                       break;
+               case DIKS_END:
+-                      write(pIterm->fd, "\033OF", 3);
++                      write(pIterm->fd, "\033[4~", 4);
+                       break;
+               case DIKS_PAGE_UP:
+                       if (evt->modifiers & DIMM_SHIFT) {
+@@ -113,23 +117,11 @@
+                       } else
+                               write(pIterm->fd, "\033[6~", 4);
+                       break;
+-              case DIKS_F1:
+-                      write(pIterm->fd, "\033OP", 3);
+-                      break;
+-              case DIKS_F2:
+-                      write(pIterm->fd, "\033OQ", 3);
+-                      break;
+-              case DIKS_F3:
+-                      write(pIterm->fd, "\033OR", 3);
+-                      break;
+-              case DIKS_F4:
+-                      write(pIterm->fd, "\033OS", 3);
+-                      break;
+-              case DIKS_F5 ... DIKS_F12:
++              case DIKS_F1 ... DIKS_F12:
+                       {
+                               char buf[6];
+ 
+-                              sprintf (buf, "\033[%d~", 
f5_f12_remap[evt->key_symbol - DIKS_F5]);
++                              sprintf (buf, "\033[%d~", 
f1_f12_remap[evt->key_symbol - DIKS_F1]);
+                               write(pIterm->fd, buf, strlen(buf));
+                       }
+                       break;
+diff -x '*~' -Nru dfbiterm-0.1/src/vt.c dfbiterm-0.1.new/src/vt.c
+--- dfbiterm-0.1/src/vt.c      2006-02-11 18:31:53.000000000 +0100
++++ dfbiterm-0.1.new/src/vt.c  2006-02-14 14:35:19.035163250 +0100
+@@ -12,7 +12,7 @@
+       char *shell;
+       char *program[] = { defaultShell, NULL };
+ 
+-      putenv("TERM=xterm");
++      putenv("TERM=iterm");
+       shell = getenv ("SHELL");
+       if (shell != NULL && shell[0] != '\0')
+               program[0] = shell;
+diff -x '*~' -Nru dfbiterm-0.1/src/VTScreenView.c 
dfbiterm-0.1.new/src/VTScreenView.c
+--- dfbiterm-0.1/src/VTScreenView.c    2006-02-11 18:25:02.000000000 +0100
++++ dfbiterm-0.1.new/src/VTScreenView.c        2006-02-14 14:34:27.647951750 
+0100
+@@ -10,18 +10,28 @@
+ VTScreenView_draw_text(VTScreenView * view, int col, int row,
+                       unsigned char *mbstring, int length, int width)
+ {
+-      int x, y, h, w, i;
++      int x, y, h, w, i, xs, foreground, background;
+ 
+       if (pIterm->lock) return;
+ 
+-      x = col * pIterm->cell_width;
++      xs = x = col * pIterm->cell_width;
+       y = row * pIterm->cell_height;
+       w = pIterm->cell_width * width;
+       h = pIterm->cell_height;
+ 
+-      pIterm->surface->SetColor(pIterm->surface, red[pIterm->background], 
green[pIterm->background], blue[pIterm->background], 0xff);
++      foreground = pIterm->foreground;
++      background = pIterm->background;
++
++      if (pIterm->indexed)
++              pIterm->surface->SetColorIndex(pIterm->surface, background);
++      else
++              pIterm->surface->SetColor(pIterm->surface, red[background], 
green[background], blue[background], 0xff);
+       pIterm->surface->FillRectangle(pIterm->surface, x, y, w, h);
+-      pIterm->surface->SetColor(pIterm->surface, red[pIterm->foreground], 
green[pIterm->foreground], blue[pIterm->foreground], 0xff);
++
++      if (pIterm->indexed)
++              pIterm->surface->SetColorIndex(pIterm->surface, foreground);
++      else
++              pIterm->surface->SetColor(pIterm->surface, red[foreground], 
green[foreground], blue[foreground], 0xff);
+       if (pIterm->charset == SPECIAL_GRAPHICS) {
+               for (i = 0; i < length; i++) {
+                       if (0x5E <mbstring[i] && mbstring[i] < 0x7F) {
+@@ -38,6 +48,7 @@
+               pIterm->surface->DrawGlyph(pIterm->surface, indeks, x, y, 
DSTF_TOPLEFT);
+               x += pIterm->cell_width;
+       }
++      if (pIterm->underline) pIterm->surface->DrawLine(pIterm->surface, xs, y 
+ pIterm->cell_height - 1, x - 1, y + pIterm->cell_height - 1);
+ }
+ 
+ static void
+@@ -52,68 +63,20 @@
+       w = (e_col - s_col) * pIterm->cell_width;
+       h = (e_row - s_row) * pIterm->cell_height;
+ 
+-      pIterm->surface->SetColor(pIterm->surface, red[pIterm->background], 
green[pIterm->background], blue[pIterm->background], 0xff);
++      if (pIterm->indexed)
++              pIterm->surface->SetColorIndex(pIterm->surface, 0);
++      else
++              pIterm->surface->SetColor(pIterm->surface, red[0], green[0], 
blue[0], 0xff);
+       pIterm->surface->FillRectangle(pIterm->surface, x, y, w, h);
+ }
+ 
+ static void
+-VTScreenView_draw_text8(VTScreenView * view, int col, int row,
+-                      unsigned char *mbstring, int length, int width)
+-{
+-      int x, y, w, i, h;
+-
+-      if (pIterm->lock) return;
+-
+-      x = col * pIterm->cell_width;
+-      y = row * pIterm->cell_height;
+-      w = pIterm->cell_width * width;
+-      h = pIterm->cell_height;
+-
+-      if (pIterm->charset == SPECIAL_GRAPHICS) {
+-              for (i = 0; i < length; i++) {
+-                      if (0x5E <mbstring[i] && mbstring[i] < 0x7F) {
+-                              mbstring[i] = ((mbstring[i]==0x5F)? 0x7F : 
mbstring[i]-0x5F);
+-                      }
+-              }
+-      }
+-      pIterm->surface->SetColorIndex(pIterm->surface, pIterm->background);
+-      pIterm->surface->FillRectangle(pIterm->surface, x, y, w, h);
+-      pIterm->surface->SetColorIndex(pIterm->surface, pIterm->foreground);
+-      for (i = 0; i < length; i++) {
+-              unsigned int indeks = mbstring[i];
+-
+-              if (indeks > 0x7f) {
+-                      indeks = btowc(indeks);
+-              } 
+-              pIterm->surface->DrawGlyph(pIterm->surface, indeks, x, y, 
DSTF_TOPLEFT);
+-              x += pIterm->cell_width;
+-      }
+-}
+-
+-static void
+-VTScreenView_clear_rect8(VTScreenView * view, int s_col, int s_row,
+-                       int e_col, int e_row)
+-{
+-      int x, y, w, h;
+-      if (pIterm->lock) return;
+-
+-      x = s_col * pIterm->cell_width;
+-      y = s_row * pIterm->cell_height;
+-      w = (e_col - s_col) * pIterm->cell_width;
+-      h = (e_row - s_row) * pIterm->cell_height;
+-
+-      pIterm->surface->SetColorIndex(pIterm->surface, pIterm->background);
+-      pIterm->surface->FillRectangle(pIterm->surface, x, y, w, h); 
+-}
+-
+-static void
+ VTScreenView_set_rendition (VTScreenView * view, int bold, int blink,
+                           int inverse, int underline,
+                           int foreground, int background, char charset)
+ {
+-/*   pIterm->fb->set_rendition (bold, blink, inverse, underline, foreground,
+-                           background, charset); */
+       if (pIterm->lock) return;
++
+       if (!background && !foreground) {
+               foreground = 7;
+       }
+@@ -171,14 +134,10 @@
+       }
+ 
+       VTScreenView_init(view);
+-      if (pIterm->indexed) {
+-              set_palette();
+-              view->draw_text = VTScreenView_draw_text8;
+-              view->clear_rect = VTScreenView_clear_rect8;
+-      } else {
+-              view->draw_text = VTScreenView_draw_text;
+-              view->clear_rect = VTScreenView_clear_rect;
+-      }
++      if (pIterm->indexed) set_palette();
++      pIterm->foreground = 7;
++      view->draw_text = VTScreenView_draw_text;
++      view->clear_rect = VTScreenView_clear_rect;
+       view->set_rendition = VTScreenView_set_rendition;
+       view->scroll_view = VTScreenView_scroll_view;
+       return view;
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to