Function: rxvt-set-background-mode
rxvt-set-background-mode is a byte-compiled function defined in
rxvt.el.gz.
Signature
(rxvt-set-background-mode)
Documentation
Set background mode as appropriate for the default rxvt colors.
Source Code
;; Defined in /usr/src/emacs/lisp/term/rxvt.el.gz
;; rxvt puts the default colors into an environment variable
;; COLORFGBG. We use this to set the background mode in a more
;; intelligent way than the default guesswork in startup.el.
(defun rxvt-set-background-mode ()
"Set background mode as appropriate for the default rxvt colors."
(let ((fgbg (getenv "COLORFGBG"))
bg rgb)
(set-terminal-parameter nil 'background-mode 'light)
(when (and fgbg
(string-match ".*;\\([0-9][0-9]?\\)\\'" fgbg))
(setq bg (string-to-number (substring fgbg (match-beginning 1))))
;; The next line assumes that rxvt-standard-colors are ordered
;; by the color index in the ascending order!
(setq rgb (car (cddr (nth bg rxvt-standard-colors))))
;; See the commentary in frame-set-background-mode about the
;; computation below.
(if (< (apply '+ rgb)
;; The following line assumes that white is the 15th
;; color in rxvt-standard-colors.
(* (apply '+ (car (cddr (nth 15 rxvt-standard-colors)))) 0.6))
(set-terminal-parameter nil 'background-mode 'dark)))))