diff options
author | Eli Zaretskii <eliz@gnu.org> | 2000-10-19 06:55:04 +0000 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2000-10-19 06:55:04 +0000 |
commit | 658d8a66cf5285349bc3f276f3e28666b575d3ce (patch) | |
tree | df5f32a97d1e2bbbd538246a7c30d0eed61fce18 /lisp | |
parent | fd2344f1e9b330964223eae14d4d0b7a18ff99ff (diff) | |
download | emacs-658d8a66cf5285349bc3f276f3e28666b575d3ce.tar.gz |
(frame-set-background-mode): If a tty frame defines a
background color, use that to compute the background mode, instead
of always defaulting to "dark".
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/faces.el | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/lisp/faces.el b/lisp/faces.el index 89c3bf73f3c..f4bd0eee9ce 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -1308,22 +1308,27 @@ this won't have the expected effect." (let* ((bg-resource (and window-system (x-get-resource ".backgroundMode" "BackgroundMode"))) + (bg-color (frame-parameter frame 'background-color)) (bg-mode (cond (frame-background-mode) - ((null window-system) - ;; No way to determine this automatically (?). - 'dark) (bg-resource (intern (downcase bg-resource))) - ((< (apply '+ (x-color-values - (frame-parameter frame 'background-color) - frame)) + ((and (null window-system) (null bg-color)) + ;; No way to determine this automatically (?). + 'dark) + ;; Unspecified frame background color can only happen + ;; on tty's. + ((memq bg-color '("unspecified" "unspecified-bg")) + 'dark) + ((eq bg-color "unspecified-fg") ; inverted colors + 'light) + ((>= (apply '+ (x-color-values bg-color frame)) ;; Just looking at the screen, colors whose ;; values add up to .6 of the white total ;; still look dark to me. (* (apply '+ (x-color-values "white" frame)) .6)) - 'dark) - (t 'light))) + 'light) + (t 'dark))) (display-type (cond ((null window-system) (if (tty-display-color-p frame) 'color 'mono)) |