]> git.pld-linux.org Git - packages/screen.git/blob - screen-osc.patch
- use terminal emulator scrollback buffer
[packages/screen.git] / screen-osc.patch
1 --- screen-4.1/ansi.c~  2010-02-24 15:33:05.000000000 +0200
2 +++ screen-4.1/ansi.c   2010-02-24 15:42:23.596133932 +0200
3 @@ -1530,12 +1530,14 @@
4         }
5  #endif
6  #ifdef RXVT_OSC
7 -      if (typ == 0 || typ == 1 || typ == 2 || typ == 20 || typ == 39 || typ == 49)
8 +      if (typ == 0 || typ == 1 || typ == 2 || typ == 20 || typ == 39 || typ == 49 || typ == 10 || typ == 11 )
9         {
10           int typ2;
11           typ2 = typ / 10;
12           if (--typ2 < 0)
13             typ2 = 0;
14 +         if (typ == 10) typ2 = 4;
15 +         if (typ == 11) typ2 = 5;
16           if (strcmp(curr->w_xtermosc[typ2], p))
17             {
18               strncpy(curr->w_xtermosc[typ2], p, sizeof(curr->w_xtermosc[typ2]) - 1);
19 @@ -1513,7 +1516,7 @@
20                     continue;
21                   if (D_forecv->c_layer->l_bottom == &curr->w_layer)
22                     SetXtermOSC(typ2, curr->w_xtermosc[typ2]);
23 -                 if ((typ2 == 2 || typ2 == 3) && D_xtermosc[typ2])
24 +                 if ((typ2 == 2 || typ2 == 3 || typ2 == 4 || typ2 == 5) && D_xtermosc[typ2])
25                     Redisplay(0);
26                 }
27             }
28 --- screen-4.0.3/display.c      2003-12-05 14:45:41.000000000 +0100
29 +++ screen-4.0.3.wiget/display.c        2008-03-21 22:21:46.000000000 +0100
30 @@ -3053,7 +3053,7 @@
31  int i;
32  char *s;
33  {
34 -  static char oscs[] = "1;\000\00020;\00039;\00049;\000";
35 +  static char oscs[] = "1;\000\00020;\00039;\00049;\00010;\00011;\000";
36  
37    ASSERT(display);
38    if (!D_CXT)
39 @@ -3066,22 +3066,26 @@
40      s = "screen";              /* always set icon name */
41    if (i == 1 && !*s)
42      s = "";                    /* no background */
43 -  if (i == 2 && !*s)
44 +  if ((i == 2 || i == 4) && !*s)
45      s = "black";               /* black text */
46 -  if (i == 3 && !*s)
47 +  if ((i == 3 || i == 5) && !*s)
48      s = "white";               /* on white background */
49    D_xtermosc[i] = 1;
50    AddStr("\033]");
51    AddStr(oscs + i * 4);
52    AddStr(s);
53 -  AddChar(7);
54 +  if ((i == 4) || (i == 5)) {
55 +    AddStr("\033\\");
56 +  } else {
57 +    AddChar(7);
58 +  }
59  }
60  
61  void
62  ClearAllXtermOSC()
63  {
64    int i;
65 -  for (i = 3; i >= 0; i--)
66 +  for (i = 5; i >= 0; i--)
67      SetXtermOSC(i, 0);
68  }
69  #endif
70 Tylko w screen-4.0.3.wiget: display.c~
71 --- screen-4.0.3/display.h      2003-07-01 16:01:42.000000000 +0200
72 +++ screen-4.0.3.wiget/display.h        2008-03-21 22:08:44.000000000 +0100
73 @@ -113,7 +113,7 @@
74    int  d_lp_missing;           /* last character on bot line missing */
75    int   d_mouse;               /* mouse mode */
76  #ifdef RXVT_OSC
77 -  int   d_xtermosc[4];         /* osc used */
78 +  int   d_xtermosc[6];         /* osc used */
79  #endif
80    struct mchar d_lpchar;       /* missing char */
81    struct timeval d_status_time;        /* time of status display */
This page took 0.076788 seconds and 3 git commands to generate.