1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-05 07:01:11 -08:00

(frame-set-background-mode): Window system frames

default to light. Use default in cases where specified color
does not exist (Bug#2969).
This commit is contained in:
Jason Rumney 2009-04-13 14:06:48 +00:00
parent 759f43a0c4
commit df93e5136e
2 changed files with 17 additions and 17 deletions

View file

@ -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

View file

@ -1847,28 +1847,22 @@ according to the `background-mode' and `display-type' frame parameters."
(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