Mercurial > emacs
changeset 102949:8567720fb081
(frame-set-background-mode): Window system frames
default to light. Use default in cases where specified color
does not exist (Bug#2969).
author | Jason Rumney <jasonr@gnu.org> |
---|---|
date | Mon, 13 Apr 2009 14:06:48 +0000 |
parents | b357cd8137b6 |
children | 6a1a6758ec3e |
files | lisp/ChangeLog lisp/faces.el |
diffstat | 2 files changed, 17 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Mon Apr 13 12:59:07 2009 +0000 +++ b/lisp/ChangeLog Mon Apr 13 14:06:48 2009 +0000 @@ -1,3 +1,9 @@ +2009-04-13 Jason Rumney <jasonr@gnu.org> + + * faces.el (frame-set-background-mode): Window system frames + default to light. Use default in cases where specified color + does not exist (Bug#2969). + 2009-04-13 Kenichi Handa <handa@m17n.org> * language/japanese.el (cp932): Delete alias for
--- a/lisp/faces.el Mon Apr 13 12:59:07 2009 +0000 +++ b/lisp/faces.el Mon Apr 13 14:06:48 2009 +0000 @@ -1847,28 +1847,22 @@ (bg-color (frame-parameter frame 'background-color)) (terminal-bg-mode (terminal-parameter frame 'background-mode)) (tty-type (tty-type frame)) + (default-bg-mode + (if (or (window-system frame) + (and tty-type + (string-match "^\\(xterm\\|\\rxvt\\|dtterm\\|eterm\\)" + tty-type))) + 'light + 'dark)) + (non-default-bg-mode (if (eq default-bg-mode 'light) 'dark 'light)) (bg-mode (cond (frame-background-mode) (bg-resource (intern (downcase bg-resource))) (terminal-bg-mode) - ((and (null (window-system frame)) - ;; Unspecified frame background color can only - ;; happen on tty's. - (member bg-color '(nil unspecified "unspecified-bg"))) - ;; There is no way to determine the background mode - ;; automatically, so we make a guess based on the - ;; terminal type. - (if (and tty-type - (string-match "^\\(xterm\\|rxvt\\|dtterm\\|eterm\\)" - tty-type)) - 'light - 'dark)) ((equal bg-color "unspecified-fg") ; inverted colors - (if (and tty-type - (string-match "^\\(xterm\\|rxvt\\|dtterm\\|eterm\\)" - tty-type)) - 'dark - 'light)) + non-default-bg-mode) + ((not (color-values bg-color frame)) + default-bg-mode) ((>= (apply '+ (color-values bg-color frame)) ;; Just looking at the screen, colors whose ;; values add up to .6 of the white total