# HG changeset patch # User Dan Nicolaescu # Date 1127603402 0 # Node ID 4a796295f477221c4972e977dc586b8482429581 # Parent fc5567e5329d2beb68819825384c2be6ab476980 * term/rxvt.el (rxvt-register-default-colors): Add support for 88 colors rxvt-unicode terminals by using the same code as xterm.el. diff -r fc5567e5329d -r 4a796295f477 lisp/ChangeLog --- a/lisp/ChangeLog Sat Sep 24 21:35:08 2005 +0000 +++ b/lisp/ChangeLog Sat Sep 24 23:10:02 2005 +0000 @@ -1,3 +1,8 @@ +2005-09-24 Emanuele Giaquinta (tiny change) + + * term/rxvt.el (rxvt-register-default-colors): Add support for 88 + colors rxvt-unicode terminals by using the same code as xterm.el. + 2005-09-24 Stefan Monnier * textmodes/tex-mode.el (tex-font-lock-append-prop) diff -r fc5567e5329d -r 4a796295f477 lisp/term/rxvt.el --- a/lisp/term/rxvt.el Sat Sep 24 21:35:08 2005 +0000 +++ b/lisp/term/rxvt.el Sat Sep 24 23:10:02 2005 +0000 @@ -210,6 +210,36 @@ (setq colors (cdr colors) color (car colors) ncolors (1- ncolors))) + (when (and (> ncolors 0) (= ncolors 72)) ; rxvt-unicode + ;; 64 non-gray colors + (let ((levels '(0 139 205 255)) + (r 0) (g 0) (b 0)) + (while (> ncolors 8) + (tty-color-define (format "color-%d" (- 88 ncolors)) + (- 88 ncolors) + (mapcar 'rxvt-rgb-convert-to-16bit + (list (nth r levels) + (nth g levels) + (nth b levels)))) + (setq b (1+ b)) + (if (> b 3) + (setq g (1+ g) + b 0)) + (if (> g 3) + (setq r (1+ r) + g 0)) + (setq ncolors (1- ncolors)))) + ;; Now the 8 gray colors + (while (> ncolors 0) + (setq color (rxvt-rgb-convert-to-16bit + (floor + (if (= ncolors 8) + 46.36363636 + (+ (* (- 8 ncolors) 23.18181818) 69.54545454))))) + (tty-color-define (format "color-%d" (- 88 ncolors)) + (- 88 ncolors) + (list color color color)) + (setq ncolors (1- ncolors)))) ;; Modifying color mappings means realized faces don't use the ;; right colors, so clear them. (clear-face-cache)))