1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 12:21:25 -08:00

(default-frame-background-mode): New internal variable.

(frame-set-background-mode): Use it.
This commit is contained in:
Juri Linkov 2005-06-29 20:55:15 +00:00
parent 16f4391084
commit a4ea869cfd

View 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