*** empty log message ***
authorroot <root>
Tue, 31 Jan 2006 16:43:55 +0000 (16:43 +0000)
committerroot <root>
Tue, 31 Jan 2006 16:43:55 +0000 (16:43 +0000)
src/command.C
src/rxvttoolkit.C

index 8f29338..5122683 100644 (file)
@@ -2464,7 +2464,7 @@ rxvt_term::check_our_parents ()
 
   if (!i || prop == NULL
 #if TINTING
-      || !rs[Rs_color + Color_tint]
+      || !ISSET_PIXCOLOR (Color_tint)
 #endif
       )
     have_pixmap = 0;
@@ -3855,9 +3855,12 @@ rxvt_term::process_xterm_seq (int op, const char *str, char resp)
 #if TRANSPARENT && TINTING
       case URxvt_Color_tint:
         process_color_seq (op, Color_tint, str, resp);
+
         check_our_parents ();
+
         if (am_transparent)
           want_full_refresh = want_refresh = 1;
+
         break;
 #endif
 
index 8976713..a5c828b 100644 (file)
@@ -639,16 +639,9 @@ rxvt_color::set (rxvt_screen *screen, const char *name)
   char eos;
   int skip;
 
-  if (1 <= sscanf (name, "[%hx]%n", &c.a, &skip))
+  if (1 <= sscanf (name, "[%hd]%n", &c.a, &skip))
     {
-      switch (skip)
-        {
-          case 2 + 1: c.a *= rxvt_rgba::MAX_CC / 0x000f; break;
-          case 2 + 2: c.a *= rxvt_rgba::MAX_CC / 0x00ff; break;
-          case 2 + 3: c.a *= rxvt_rgba::MAX_CC / 0x0fff; break;
-          case 2 + 4: c.a *= rxvt_rgba::MAX_CC / 0xffff; break;
-        }
-
+      c.a = lerp<int, int, int> (0, rxvt_rgba::MAX_CC, c.a);
       name += skip;
     }
   else