*** empty log message ***
authorroot <root>
Wed, 4 Jan 2006 20:43:37 +0000 (20:43 +0000)
committerroot <root>
Wed, 4 Jan 2006 20:43:37 +0000 (20:43 +0000)
12 files changed:
Changes
doc/rxvt.1.pod
doc/rxvt.7.pod
src/command.C
src/feature.h
src/init.C
src/main.C
src/perl/selection
src/rsinc.h
src/rxvtfont.C
src/rxvtlib.h.in
src/xdefaults.C

diff --git a/Changes b/Changes
index 8663b3bee8e490e063a8480d4f3a90245fd1a5ae..984b7075d804530751c4db42e9b9e7f01715ecbd 100644 (file)
--- a/Changes
+++ b/Changes
@@ -32,7 +32,7 @@ do useful things and will certainly be extended in the future.
         - try to be more clever about differing font sizes and their ascent.
           Not guarenteed to work, but works better in most cases now.
         - fix directory permissions on install.
-TODO    - implemented option to disable built-in line drawing characters
+        - implemented option to disable built-in line drawing characters
           and fall back to the font ones (patch by Martin Pohlack).
         - disabled sched_yield support: the linux version is just too useless
           (it schedules nice'd processes before the own one for extended
index 46b1c498e7f7951b768dd9b0561cc8d9458ddd27..75261bff868d4ed836d70d40aa4b0ba62439a5b3 100644 (file)
@@ -191,23 +191,23 @@ section of @@RXVT_NAME@@(7).
 
 =item B<-fb> I<fontlist>
 
-Compile font-styles: The bold font list to use when B<bold> characters are to
-be printed. See resource B<boldFont> for details.
+Compile I<font-styles>: The bold font list to use when B<bold> characters
+are to be printed. See resource B<boldFont> for details.
 
 =item B<-fi> I<fontlist>
 
-Compile font-styles: The italic font list to use when I<italic> characters are to
-be printed. See resource B<italicFont> for details.
+Compile I<font-styles>: The italic font list to use when I<italic>
+characters are to be printed. See resource B<italicFont> for details.
 
 =item B<-fbi> I<fontlist>
 
-Compile font-styles: The bold italic font list to use when B<< I<bold
+Compile I<font-styles>: The bold italic font list to use when B<< I<bold
 italic> >> characters are to be printed. See resource B<boldItalicFont>
 for details.
 
 =item B<-is>|B<+is>
 
-Compile font-styles: Bold/Italic font styles imply high intensity
+Compile I<font-styles>: Bold/Italic font styles imply high intensity
 foreground/background (default). See resource B<intensityStyles> for
 details.
 
@@ -299,6 +299,13 @@ Compile I<frills>: Set MWM hints to request a borderless window, i.e.
 if honoured by the WM, the rxvt-unicode window will not have window
 decorations; resource B<borderLess>.
 
+=item B<-sbg>
+
+Compile I<frills>: Disable the usage of the built-in block graphics/line
+drawing characters and just rely on what the specified fonts provide. Use
+this if you have a good font and want to use its block graphic glyphs;
+resource B<skipBuiltinGlyphs>.
+
 =item B<-lsp> I<number>
 
 Compile I<frills>: Lines (pixel height) to insert between each row of
@@ -828,6 +835,13 @@ option B<-w>, B<-bw>, B<-borderwidth>.
 Set MWM hints to request a borderless window, i.e. if honoured by the
 WM, the rxvt-unicode window will not have window decorations; option B<-bl>.
 
+=item B<skipBuiltinGlyphs:> I<boolean>
+
+Compile I<frills>: Disable the usage of the built-in block graphics/line
+drawing characters and just rely on what the specified fonts provide. Use
+this if you have a good font and want to use its block graphic glyphs;
+option B<-sbg>.
+
 =item B<termName:> I<termname>
 
 Specifies the terminal type name to be set in the B<TERM> environment
index 90d71bbda96b846f7924b0d67497f54b3e1e928d..73c268201d83a25b3248219576b3fbba938ed024 100644 (file)
@@ -2504,17 +2504,21 @@ in combination with other switches) is:
 
   MWM-hints
   EWMH-hints (pid, utf8 names) and protocols (ping)
-  seperate underline colour
-  settable border widths and borderless switch
-  settable extra linespacing
+  seperate underline colour (-underlineColor)
+  settable border widths and borderless switch (-w, -b, -bl)
+  settable extra linespacing /-lsp)
   iso-14755-2 and -3, and visual feedback
   backindex and forwardindex escape sequence
   window op and some xterm/OSC escape sequences
-  tripleclickwords
-  settable insecure mode
+  tripleclickwords (-tcw)
+  settable insecure mode (-insecure)
   keysym remapping support
-  cursor blinking and underline cursor
-  -embed, -pty-fd and -hold options
+  cursor blinking and underline cursor (-cb, -uc)
+  XEmbed support (-embed)
+  user-pty (-pty-fd)
+  hold on exit (-hold)
+  skip builtin block graphics (-sbg)
+  sgr modes 90..97 and 100..107
 
 =item --enable-iso14755 (default: on)
 
index bf990257cfe3571e7672904b910ff4aefb440227..f3a40bce167719301e175f562031c4e5d93d6412 100644 (file)
@@ -4342,7 +4342,7 @@ rxvt_term::process_sgr_mode (unsigned int nargs, const int *arg)
 
           //case 50: // not variable spacing
 
-#ifndef NO_BRIGHTCOLOR
+#if ENABLE_FRILLS
           case 90:
           case 91:             /* set bright fg color */
           case 92:
index 5d95e1dde4d319b63c1bbcc5bc887563acf9db45..bde320e6841e8563f87dddf1011d5b7621b1bbb3 100644 (file)
  */
 /* #define NO_CURSORCOLOR */
 
-/*
- * Suppress use of BOLD and BLINK attributes for setting bright foreground
- * and background, respectively.  Simulate BOLD using colorBD or
- * overstrike characters.
- */
-/* #define NO_BRIGHTCOLOR */
-
 /*
  * Make colours match xterm colours instead of `traditional' rxvt colours
  */
index 7114cbde5c4b56bce45a93719508e8a7d8f4ca61..c2e76c5f7be5159e9fe65da54610b62ac1d9942a 100644 (file)
@@ -46,7 +46,6 @@ const char *const def_colorName[] =
     COLOR_BACKGROUND,
     /* low-intensity colors */
     "Black",                    /* 0: black             (#000000) */
-#ifndef NO_BRIGHTCOLOR
     "Red3",                     /* 1: red               (#CD0000) */
     "Green3",                   /* 2: green             (#00CD00) */
     "Yellow3",                  /* 3: yellow            (#CDCD00) */
@@ -64,7 +63,6 @@ const char *const def_colorName[] =
 # else
     "Grey25",                   /* 8: bright black      (#404040) */
 # endif
-#endif                          /* NO_BRIGHTCOLOR */
     "Red",                      /* 1/9: bright red      (#FF0000) */
     "Green",                    /* 2/10: bright green   (#00FF00) */
     "Yellow",                   /* 3/11: bright yellow  (#FFFF00) */
@@ -810,10 +808,8 @@ rxvt_term::color_aliases (int idx)
       if (i >= 8 && i <= 15)
         {        /* bright colors */
           i -= 8;
-#ifndef NO_BRIGHTCOLOR
           rs[Rs_color + idx] = rs[Rs_color + minBrightCOLOR + i];
           return;
-#endif
         }
 
       if (i >= 0 && i <= 7)   /* normal colors */
index c6cd10fed6882e045e2e22525a04c6a3b4586156..e79fc1a084524f1644e3acbbcbcff4bf0d9d48b2 100644 (file)
@@ -1028,11 +1028,9 @@ rxvt_term::set_window_color (int idx, const char *color)
       if (i >= 8 && i <= 15)
         {        /* bright colors */
           i -= 8;
-# ifndef NO_BRIGHTCOLOR
           pix_colors_focused[idx] = pix_colors_focused[minBrightCOLOR + i];
           SET_PIXCOLOR (idx);
           goto done;
-# endif
         }
 
       if (i >= 0 && i <= 7)
index b839c58930ec264d3480ad4c786d642db453eb37..7ca4e4d66380fe11ab9c53ec9cf3aa90ce809cd5 100644 (file)
@@ -17,9 +17,9 @@ my @patterns = (
    )}x,
 
    # shell-like argument quoting
-   qr{\G\s*(
+   qr{\G [\ \t|&;<>()] *(
       (?:
-         [^"'\\ \t]+
+         [^\\"'\ \t|&;<>()]+
          | \\.
          | " ([^\\"]+ | \\. )* "
          | ' [^']* '
index 8f8c52663cff4357bc6ffaa9841033e499af31c0..9d3717d4ea99030b2464ce19ff76da083ea28e55 100644 (file)
@@ -76,6 +76,7 @@
   def (borderLess)
   def (lineSpace)
   def (cursorUnderline)
+  def (skipBuiltinGlyphs)
 #endif
 #if CURSOR_BLINK
   def (cursorBlink)
index 3f315fa05744796fb11d9da852004a9c099a257c..113557605de5497cb339af0b24f81dbc1b8a0087 100644 (file)
@@ -21,6 +21,7 @@
 
 #include "../config.h"
 #include "rxvt.h"
+#include "rxvtlib.h"
 #include "rxvtutil.h"
 #include "rxvtfont.h"
 
@@ -308,7 +309,8 @@ struct rxvt_font_default : rxvt_font {
     if (unicode <= 0x009f)
       return true;
 
-    if (unicode >= 0x2500 && unicode <= 0x259f)
+    if (unicode >= 0x2500 && unicode <= 0x259f &&
+        ! OPTION_R (Opt_skipBuiltinGlyphs))
       return true;
 
     if (IS_COMPOSE (unicode))
@@ -354,7 +356,8 @@ rxvt_font_default::draw (rxvt_drawable &d, int x, int y,
       int width = text - tp;
       int fwidth = r->fwidth * width;
 
-      if (0x2500 <= t && t <= 0x259f)
+      if (0x2500 <= t && t <= 0x259f &&
+          ! OPTION_R (Opt_skipBuiltinGlyphs))
         {
           uint16_t offs = linedraw_offs[t - 0x2500];
           uint32_t *a = linedraw_command + (offs >> 4);
index 7e3d03228f367055d1eaca906504576f5db42f07..62108d957c654435d7767f6260c23bf09a0e9d6e 100644 (file)
@@ -254,15 +254,17 @@ typedef struct {
 #define Opt_cursorUnderline      (1UL<<23)
 #if ENABLE_FRILLS
 # define Opt_insecure           (1UL<<24) // insecure esc sequences
-# define Opt_borderLess                 (1UL<<25) // mem borderless hints
+# define Opt_borderLess                 (1UL<<25) // mwm borderless hints
 # define Opt_hold               (1UL<<26) // hold window open after exit
+# define Opt_skipBuiltinGlyphs  (1UL<<27) // do not use internal glyphs
 #else
 # define Opt_insecure           0
 # define Opt_borderLess                 0
 # define Opt_hold               0
+# define Opt_skipBuiltinGlyphs  0
 #endif
 #if ENABLE_STYLES
-# define Opt_intensityStyles    (1UL<<27) // font styles imply intensity
+# define Opt_intensityStyles    (1UL<<28) // font styles imply intensity
 #else
 # define Opt_intensityStyles    0
 #endif
@@ -270,6 +272,7 @@ typedef struct {
 #define SET_OPTION(opt)                 (options |= (opt))
 #define CLR_OPTION(opt)                 (options &= ~(opt))
 #define OPTION(opt)              (options & (opt))
+#define OPTION_R(opt)            (r->options & (opt))
 #define DEFAULT_OPTIONS          (Opt_scrollBar | Opt_scrollTtyOutput \
                                   | Opt_jumpScroll | Opt_secondaryScreen \
                                   | Opt_pastableTabs | Opt_intensityStyles)
index 7869b831b7d8cd5bcbe286f750a046612f4d73f3..b63521f542bdfb40b55df7a429d1293ab6fa7103 100644 (file)
@@ -163,7 +163,6 @@ optList[] = {
               RSTRG (Rs_color + minCOLOR + 5, "color5", "color"),
               RSTRG (Rs_color + minCOLOR + 6, "color6", "color"),
               RSTRG (Rs_color + minCOLOR + 7, "color7", "color"),
-#ifndef NO_BRIGHTCOLOR
               RSTRG (Rs_color + minBrightCOLOR + 0, "color8", "color"),
               RSTRG (Rs_color + minBrightCOLOR + 1, "color9", "color"),
               RSTRG (Rs_color + minBrightCOLOR + 2, "color10", "color"),
@@ -172,7 +171,6 @@ optList[] = {
               RSTRG (Rs_color + minBrightCOLOR + 5, "color13", "color"),
               RSTRG (Rs_color + minBrightCOLOR + 6, "color14", "color"),
               RSTRG (Rs_color + minBrightCOLOR + 7, "color15", "color"),
-#endif                         /* NO_BRIGHTCOLOR */
 #ifndef NO_BOLD_UNDERLINE_REVERSE
               RSTRG (Rs_color + Color_BD, "colorBD", "color"),
               RSTRG (Rs_color + Color_IT, "colorIT", "color"),
@@ -236,6 +234,7 @@ optList[] = {
               STRG (Rs_ext_bwidth, NULL, "borderwidth", NULL, NULL),
               STRG (Rs_int_bwidth, "internalBorder", "b", "number", "internal border in pixels"),
               BOOL (Rs_borderLess, "borderLess", "bl", Opt_borderLess, "borderless window"),
+              BOOL (Rs_skipBuiltinGlyphs, "skipBuiltinGlyphs", "sbg", Opt_skipBuiltinGlyphs, "do not use internal glyphs"),
               STRG (Rs_lineSpace, "lineSpace", "lsp", "number", "number of extra pixels between rows"),
 #endif
 #ifdef POINTER_BLANK