… | |
… | |
2531 | XFreePixmap (xdisp, pixmap); |
2531 | XFreePixmap (xdisp, pixmap); |
2532 | |
2532 | |
2533 | #if TINTING |
2533 | #if TINTING |
2534 | if (ISSET_PIXCOLOR (Color_tint)) |
2534 | if (ISSET_PIXCOLOR (Color_tint)) |
2535 | { |
2535 | { |
2536 | unsigned short rm, gm, bm; |
2536 | rxvt_rgba c; |
2537 | int shade = rs[Rs_shade] ? atoi (rs[Rs_shade]) : 100; |
2537 | int shade = rs[Rs_shade] ? atoi (rs[Rs_shade]) : 100; |
2538 | |
2538 | |
2539 | pix_colors_focused[Color_tint].get (this, rm, gm, bm); |
2539 | pix_colors_focused[Color_tint].get (this, c); |
2540 | |
2540 | |
2541 | ShadeXImage (this, image, shade, rm, gm, bm); |
2541 | ShadeXImage (this, image, shade, c.r, c.g, c.b); |
2542 | } |
2542 | } |
2543 | #endif |
2543 | #endif |
2544 | |
2544 | |
2545 | pixmap = XCreatePixmap (xdisp, vt, szHint.width, szHint.height, image->depth); |
2545 | pixmap = XCreatePixmap (xdisp, vt, szHint.width, szHint.height, image->depth); |
2546 | gc = XCreateGC (xdisp, vt, 0UL, &gcvalue); |
2546 | gc = XCreateGC (xdisp, vt, 0UL, &gcvalue); |
… | |
… | |
3714 | void |
3714 | void |
3715 | rxvt_term::process_color_seq (int report, int color, const char *str, char resp) |
3715 | rxvt_term::process_color_seq (int report, int color, const char *str, char resp) |
3716 | { |
3716 | { |
3717 | if (str[0] == '?' && !str[1]) |
3717 | if (str[0] == '?' && !str[1]) |
3718 | { |
3718 | { |
3719 | unsigned short r, g, b; |
3719 | rxvt_rgba c; |
3720 | pix_colors_focused[color].get (this, r, g, b); |
3720 | pix_colors_focused[color].get (this, c); |
|
|
3721 | |
|
|
3722 | #if XFT |
|
|
3723 | if (c.a != rxvt_rgba::MAX_CC) |
|
|
3724 | tt_printf ("\033]%d;#%04x%04x%04x%04x%c", report, c.a, c.r, c.g, c.b, resp); |
|
|
3725 | else |
|
|
3726 | #endif |
3721 | tt_printf ("\033]%d;rgb:%04x/%04x/%04x%c", report, r, g, b, resp); |
3727 | tt_printf ("\033]%d;rgb:%04x/%04x/%04x%c", report, c.r, c.g, c.b, resp); |
3722 | } |
3728 | } |
3723 | else |
3729 | else |
3724 | set_window_color (color, str); |
3730 | set_window_color (color, str); |
3725 | } |
3731 | } |
3726 | |
3732 | |
… | |
… | |
3801 | break; |
3807 | break; |
3802 | |
3808 | |
3803 | if ((buf = strchr (name, ';')) != NULL) |
3809 | if ((buf = strchr (name, ';')) != NULL) |
3804 | *buf++ = '\0'; |
3810 | *buf++ = '\0'; |
3805 | |
3811 | |
3806 | if (name[0] == '?' && !name[1]) |
3812 | process_color_seq (op, color, name, resp); |
3807 | { |
|
|
3808 | unsigned short r, g, b; |
|
|
3809 | pix_colors_focused[color].get (this, r, g, b); |
|
|
3810 | tt_printf ("\033]%d;%d;rgb:%04x/%04x/%04x%c", op, color, r, g, b, resp); |
|
|
3811 | } |
|
|
3812 | else |
|
|
3813 | set_window_color (color, name); |
|
|
3814 | } |
3813 | } |
3815 | break; |
3814 | break; |
3816 | case XTerm_Color00: |
3815 | case XTerm_Color00: |
3817 | process_color_seq (op, Color_fg, str, resp); |
3816 | process_color_seq (op, Color_fg, str, resp); |
3818 | break; |
3817 | break; |