*** empty log message ***
authorroot <root>
Sun, 8 Aug 2004 16:43:21 +0000 (16:43 +0000)
committerroot <root>
Sun, 8 Aug 2004 16:43:21 +0000 (16:43 +0000)
doc/rxvt.1
doc/rxvt.tbl
doc/yodl/rxvt-options.yo
doc/yodl/rxvt-resources.yo
doc/yodl/versioninfo.yo
src/screen.C

index 77e6357588bf1f0b80a0c26ca90b40f2ef6a0ba3..4d880b74f3a2fc342dffbcedb5c293fb5c281d6e 100644 (file)
@@ -1,7 +1,7 @@
 .if !\n(.g .ab GNU tbl requires GNU troff.
 .if !dTS .ds TS
 .if !dTE .ds TE
-.TH "RXVT" "1" "2004-07-31" "X Version 11" "X Tools" 
+.TH "RXVT" "1" "2004-08-06" "X Version 11" "X Tools" 
 .SH "NAME" 
 rxvt-unicode (ouR XVT, unicode) \- a VT102 emulator for the X window system
 .PP 
@@ -11,7 +11,7 @@ rxvt-unicode (ouR XVT, unicode) \- a VT102 emulator for the X window system
 .PP 
 .SH "DESCRIPTION" 
 .PP 
-\fBrxvt-unicode\fP, version \fB3\&.4\fP, is a colour vt102 terminal emulator
+\fBrxvt-unicode\fP, version \fB3\&.5\fP, is a colour vt102 terminal emulator
 intended as an \fIxterm\fP(1) replacement for users who do not require
 features such as Tektronix 4014 emulation and toolkit-style configurability\&.
 As a result, \fBrxvt-unicode\fP uses much less swap space -- a significant
@@ -157,6 +157,10 @@ resource \fBinternalBorder\fP\&.
 Compile \fIfrills\fP: External border of \fInumber\fP pixels\&. 
 Also, \fB-bw\fP and \fB-borderwidth\fP\&.  See resource entry for limits;
 resource \fBexternalBorder\fP\&.
+.IP "\fB-bl\fP" 
+Compile \fIfrills\fP: Set MWM hints to request a borderless window,
+i\&.e\&. if honoured by the WM, the rxvt window will not have window
+decorations; resource \fBborderLess\fP\&.
 .IP "\fB-lsp\fP \fInumber\fP" 
 Compile \fIlinespace\fP: Lines (pixel height) to insert between each
 row of the display;
@@ -441,6 +445,10 @@ option \fB-b\fP\&.
 .IP "\fBexternalBorder:\fP \fInumber\fP" 
 External border of \fInumber\fP pixels\&.  This resource is limited to 100;
 option \fB-w\fP, \fB-bw\fP, \fB-borderwidth\fP\&.
+.IP "\fBborderLess:\fP \fIboolean\fP" 
+Set MWM hints to request a borderless window,
+i\&.e\&. if honoured by the WM, the rxvt window will not have window
+decorations; option \fB-bl\fP\&.
 .IP "\fBtermName:\fP \fItermname\fP" 
 Specifies the terminal type name to be set in the \fBTERM\fP
 environment variable;
@@ -1103,7 +1111,7 @@ Click-and-drag doesn\&'t work with X11 mouse report overriding\&.
 .PP 
 .SH "FTP LOCATION" 
 .PP 
-rxvt-3\&.4\&.tar\&.gz can be found at the following ftp sites
+rxvt-3\&.5\&.tar\&.gz can be found at the following ftp sites
 ftp://ftp\&.rxvt\&.org/pub/rxvt
 .PP 
 .SH "CURRENT PROJECT COORDINATOR" 
index b07587dc273f6a022c59e2bb47a5f618a48753c2..92a0afdeb5b2e7e1e7feee8e894c6e542fb4f3e2 100644 (file)
@@ -1,4 +1,4 @@
-.TH "RXVT" "1" "2004-07-31" "X Version 11" "X Tools" 
+.TH "RXVT" "1" "2004-08-06" "X Version 11" "X Tools" 
 .SH "NAME" 
 rxvt-unicode (ouR XVT, unicode) \- a VT102 emulator for the X window system
 .PP 
@@ -8,7 +8,7 @@ rxvt-unicode (ouR XVT, unicode) \- a VT102 emulator for the X window system
 .PP 
 .SH "DESCRIPTION" 
 .PP 
-\fBrxvt-unicode\fP, version \fB3\&.4\fP, is a colour vt102 terminal emulator
+\fBrxvt-unicode\fP, version \fB3\&.5\fP, is a colour vt102 terminal emulator
 intended as an \fIxterm\fP(1) replacement for users who do not require
 features such as Tektronix 4014 emulation and toolkit-style configurability\&.
 As a result, \fBrxvt-unicode\fP uses much less swap space -- a significant
@@ -154,6 +154,10 @@ resource \fBinternalBorder\fP\&.
 Compile \fIfrills\fP: External border of \fInumber\fP pixels\&. 
 Also, \fB-bw\fP and \fB-borderwidth\fP\&.  See resource entry for limits;
 resource \fBexternalBorder\fP\&.
+.IP "\fB-bl\fP" 
+Compile \fIfrills\fP: Set MWM hints to request a borderless window,
+i\&.e\&. if honoured by the WM, the rxvt window will not have window
+decorations; resource \fBborderLess\fP\&.
 .IP "\fB-lsp\fP \fInumber\fP" 
 Compile \fIlinespace\fP: Lines (pixel height) to insert between each
 row of the display;
@@ -438,6 +442,10 @@ option \fB-b\fP\&.
 .IP "\fBexternalBorder:\fP \fInumber\fP" 
 External border of \fInumber\fP pixels\&.  This resource is limited to 100;
 option \fB-w\fP, \fB-bw\fP, \fB-borderwidth\fP\&.
+.IP "\fBborderLess:\fP \fIboolean\fP" 
+Set MWM hints to request a borderless window,
+i\&.e\&. if honoured by the WM, the rxvt window will not have window
+decorations; option \fB-bl\fP\&.
 .IP "\fBtermName:\fP \fItermname\fP" 
 Specifies the terminal type name to be set in the \fBTERM\fP
 environment variable;
@@ -653,7 +661,7 @@ Click-and-drag doesn\&'t work with X11 mouse report overriding\&.
 .PP 
 .SH "FTP LOCATION" 
 .PP 
-rxvt-3\&.4\&.tar\&.gz can be found at the following ftp sites
+rxvt-3\&.5\&.tar\&.gz can be found at the following ftp sites
 ftp://ftp\&.rxvt\&.org/pub/rxvt
 .PP 
 .SH "CURRENT PROJECT COORDINATOR" 
index c0447592c18ac6c4cb68f51366ab004d8f573ea0..eae8136a09e0f1a42f67a8cbc691607ed6755df7 100644 (file)
@@ -1,4 +1,4 @@
-COMMENT(-- $Id: rxvt-options.yo,v 1.18 2004-08-01 15:06:02 root Exp $ --)
+COMMENT(-- $Id: rxvt-options.yo,v 1.19 2004-08-08 16:43:55 root Exp $ --)
 COMMENT(----------------------------------------------------------------------)
 manpageoptions()
 
@@ -139,6 +139,10 @@ startdit()
        Compile em(frills): External border of em(number) pixels. 
        Also, bf(-bw) and bf(-borderwidth).  See resource entry for limits;
        resource bf(externalBorder).
+    dit(bf(-bl))
+        Compile em(frills): Set MWM hints to request a borderless window,
+        i.e. if honoured by the WM, the rxvt window will not have window
+        decorations; resource bf(borderLess).
     dit(bf(-lsp) em(number))
        Compile em(linespace): Lines (pixel height) to insert between each
        row of the display;
index d83716df5fe2f6d4dd932dd1f34e2f1ef478a1de..23fc64d38b30b4483f40714fee5d60513ef2dcff 100644 (file)
@@ -1,4 +1,4 @@
-COMMENT(-- $Id: rxvt-resources.yo,v 1.18 2004-07-31 15:32:50 root Exp $ --)
+COMMENT(-- $Id: rxvt-resources.yo,v 1.19 2004-08-08 16:43:55 root Exp $ --)
 COMMENT(----------------------------------------------------------------------)
 manpagesection(RESOURCES (available also as long-options))
 
@@ -226,6 +226,10 @@ startdit()
     dit(bf(externalBorder:) em(number))
        External border of em(number) pixels.  This resource is limited to 100;
        option bf(-w), bf(-bw), bf(-borderwidth).
+    dit(bf(borderLess:) em(boolean))
+        Set MWM hints to request a borderless window,
+        i.e. if honoured by the WM, the rxvt window will not have window
+        decorations; option bf(-bl).
     dit(bf(termName:) em(termname))
        Specifies the terminal type name to be set in the bf(TERM)
        environment variable;
index 4b6dfbff648df779f5a75631e7d5f44685a5c1b1..35ada7bd4014a6c772f15536be1277a9c3948b96 100644 (file)
@@ -1,10 +1,10 @@
-COMMENT(-- $Id: versioninfo.yo,v 1.21 2004-07-31 16:05:45 root Exp $ --)
+COMMENT(-- $Id: versioninfo.yo,v 1.23 2004-08-08 16:47:39 root Exp $ --)
 DEFINEMACRO(RXVTNAME)(0)
        (rxvt)
 DEFINEMACRO(RXVTDATE)(0)
-       (2004-07-31)
+       (2004-08-06)
 DEFINEMACRO(RXVTVERSION)(0)
-       (3.4)
+       (3.5)
 DEFINEMACRO(RXVTMAINT)(0)
        (Marc A. Lehmann)
 DEFINEMACRO(RXVTMAINTEMAIL)(0)
index fc07a76ebc49d1e975cfafe02b2e4eb9b31f60e4..260d0004a44a81b0ab59b72fb43bb9f0154b788e 100644 (file)
@@ -707,19 +707,14 @@ rxvt_term::scr_scroll_text (int row1, int row2, int count, int spec)
       /* A: scroll up */
 
       /* A1: Copy lines that will get clobbered by the rotation */
-      for (i = 0, j = row1; i < count; i++, j++)
-        {
-          buf_text[i] = screen.text[j];
-          buf_rend[i] = screen.rend[j];
-        }
+      memcpy (buf_text, screen.text + row1, count * sizeof (text_t *));
+      memcpy (buf_rend, screen.rend + row1, count * sizeof (rend_t *));
 
       /* A2: Rotate lines */
-      for (j = row1, i = j + count; i <= row2; i++, j++)
-        {
-          screen.tlen[j] = screen.tlen[i];
-          screen.text[j] = screen.text[i];
-          screen.rend[j] = screen.rend[i];
-        }
+      i = row2 - row1 - count + 1;
+      memmove (screen.tlen + row1, screen.tlen + row1 + count, i * sizeof (int16_t));
+      memmove (screen.text + row1, screen.text + row1 + count, i * sizeof (text_t *));
+      memmove (screen.rend + row1, screen.rend + row1 + count, i * sizeof (rend_t *));
 
       j = row2 - count + 1, i = count;
     }
@@ -747,15 +742,12 @@ rxvt_term::scr_scroll_text (int row1, int row2, int count, int spec)
     }
 
   /* C: Resurrect lines */
-  for (; i--; j++)
-    {
-      screen.tlen[j] = 0;
-      screen.text[j] = buf_text[i];
-      screen.rend[j] = buf_rend[i];
-
-      if (!spec)              /* line length may not equal TermWin.ncol */
-        scr_blank_screen_mem (screen.text, screen.rend, (unsigned int)j, rstyle);
-    }
+  memset (screen.tlen + j, 0, i * sizeof (int16_t));
+  memcpy (screen.text + j, buf_text, i * sizeof (text_t *));
+  memcpy (screen.rend + j, buf_rend, i * sizeof (text_t *));
+  if (!spec) /* line length may not equal TermWin.ncol */
+    for (; i--; j++)
+      scr_blank_screen_mem (screen.text, screen.rend, (unsigned int)j, rstyle);
 
   return count;
 }
@@ -783,7 +775,7 @@ rxvt_term::scr_add_lines (const unicode_t *str, int nlines, int len)
   ZERO_SCROLLBACK ();
   if (nlines > 0)
     {
-      nlines += (screen.cur.row - screen.bscroll);
+      nlines += screen.cur.row - screen.bscroll;
       if ((nlines > 0)
           && (screen.tscroll == 0)
           && (screen.bscroll == (TermWin.nrow - 1)))
@@ -873,7 +865,7 @@ rxvt_term::scr_add_lines (const unicode_t *str, int nlines, int len)
       // rely on wcwidth to tell us the character width, at least for non-latin1
       // do wcwidth before further replacements, as wcwidth says that line-drawing
       // characters have width -1 (DOH!) on GNU/Linux sometimes.
-      int width = c < 256 ? 1 : wcwidth (c);
+      int width = c < 0x100 ? 1 : wcwidth (c);
 
       if (charsets[screen.charset] == '0') // DEC SPECIAL
         {
@@ -1294,8 +1286,6 @@ rxvt_term::scr_erase_screen (int mode)
         return;
     }
 
-  refresh_type |= REFRESH_BOUNDS;
-
   if (selection.op && current_screen == selection.screen
       && ((selection.beg.row >= row && selection.beg.row <= row + num)
           || (selection.end.row >= row
@@ -1787,7 +1777,7 @@ rxvt_term::scr_expose (int x, int y, int width, int height, bool refresh)
     fill_text (&drawn_text[i][rc[PART_BEG].col], 0, rc[PART_END].col - rc[PART_BEG].col + 1);
 
   if (refresh)
-    scr_refresh (SLOW_REFRESH | REFRESH_BOUNDS);
+    scr_refresh (SLOW_REFRESH);
 }
 
 /* ------------------------------------------------------------------------- */
@@ -1832,8 +1822,8 @@ rxvt_term::scr_move_to (int y, int len)
 int
 rxvt_term::scr_page (enum page_dirn direction, int nlines)
 {
-  int             n;
-  uint16_t       oldviewstart;
+  int n;
+  uint16_t oldviewstart;
 
   D_SCREEN ((stderr, "rxvt_scr_page (%s, %d) view_start:%d", ((direction == UP) ? "UP" : "DN"), nlines, TermWin.view_start));
 #ifdef DEBUG_STRICT
@@ -1939,9 +1929,7 @@ rxvt_term::scr_printscreen (int fullhist)
 void
 rxvt_term::scr_refresh (unsigned char refresh_type)
 {
-  unsigned char clearfirst, /* first character writes before cell        */
-                clearlast,  /* last character writes beyond cell         */
-                must_clear, /* use draw_string not draw_image_string     */
+  unsigned char must_clear, /* use draw_string not draw_image_string     */
                 rvid,       /* reverse video this position               */
                 showcursor; /* show the cursor                           */
   int16_t col, row,   /* column/row we're processing               */
@@ -1960,18 +1948,12 @@ rxvt_term::scr_refresh (unsigned char refresh_type)
   /*
    * A: set up vars
    */
-  clearfirst = clearlast = must_clear = 0;
+  must_clear = 0;
 
   refresh_count = 0;
 
   row_offset = TermWin.saveLines - TermWin.view_start;
 
-  if ((refresh_type & REFRESH_BOUNDS))
-    {
-      clearfirst = clearlast = 1;
-      refresh_type &= ~REFRESH_BOUNDS;
-    }
-
 #ifdef XPM_BACKGROUND
   must_clear |= (bgPixmap.pixmap != None);
 #endif
@@ -2334,30 +2316,6 @@ rxvt_term::scr_refresh (unsigned char refresh_type)
    */
   scr_reverse_selection ();
 
-  /*
-   * I: other general cleanup
-   */
-#if 0
-  if (clearfirst && TermWin.int_bwidth)
-    /*
-     * clear the whole screen height, note that width == 0 is treated
-     * specially by XClearArea
-     */
-    XClearArea (display->display, TermWin.vt, 0, 0,
-                (unsigned int)TermWin.int_bwidth,
-                (unsigned int)TermWin_TotalHeight (), False);
-
-  if (clearlast && TermWin.int_bwidth)
-    /*
-     * clear the whole screen height, note that width == 0 is treated
-     * specially by XClearArea
-     */
-    XClearArea (display->display, TermWin.vt,
-                TermWin.width + TermWin.int_bwidth, 0,
-                (unsigned int)TermWin.int_bwidth,
-                (unsigned int)TermWin_TotalHeight (), False);
-#endif
-
   if (refresh_type & SMOOTH_REFRESH)
     XFlush (display->display);