]> git.eshelyaron.com Git - emacs.git/commitdiff
(default-frame-background-mode): New internal variable.
authorJuri Linkov <juri@jurta.org>
Wed, 29 Jun 2005 20:55:15 +0000 (20:55 +0000)
committerJuri Linkov <juri@jurta.org>
Wed, 29 Jun 2005 20:55:15 +0000 (20:55 +0000)
(frame-set-background-mode): Use it.

lisp/faces.el

index b7d06513fd8b21db2161f09283a535f6bffd7b72..c28cbc5d84fd0e733ffdcdefb8441167340a6964 100644 (file)
@@ -1575,6 +1575,13 @@ this won't have the expected effect."
                 (choice-item light)
                 (choice-item :tag "default" nil)))
 
+(defvar default-frame-background-mode nil
+  "Internal variable for the default brightness of the background.
+Emacs sets it automatically depending on the terminal type.
+The value `nil' means `dark'.  If Emacs runs in non-windowed
+mode from `xterm' or a similar terminal emulator, the value is
+`light'.  On rxvt terminals, the value depends on the environment
+variable COLORFGBG.")
 
 (defun frame-set-background-mode (frame)
   "Set up display-dependent faces on FRAME.
@@ -1590,13 +1597,13 @@ according to the `background-mode' and `display-type' frame parameters."
                 (intern (downcase bg-resource)))
                ((and (null window-system) (null bg-color))
                 ;; No way to determine this automatically (?).
-                'dark)
+                (or default-frame-background-mode 'dark))
                ;; Unspecified frame background color can only happen
                ;; on tty's.
                ((member bg-color '(unspecified "unspecified-bg"))
-                'dark)
+                (or default-frame-background-mode 'dark))
                ((equal bg-color "unspecified-fg") ; inverted colors
-                'light)
+                (if (eq default-frame-background-mode 'light) 'dark 'light))
                ((>= (apply '+ (x-color-values bg-color frame))
                    ;; Just looking at the screen, colors whose
                    ;; values add up to .6 of the white total