]> git.eshelyaron.com Git - emacs.git/commitdiff
(msdos-bg-mode): New function.
authorRichard M. Stallman <rms@gnu.org>
Sun, 13 Jul 1997 20:52:08 +0000 (20:52 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sun, 13 Jul 1997 20:52:08 +0000 (20:52 +0000)
(msdos-face-setup, make-msdos-frame): Set background-mode and
display-type properties for created frames.

lisp/term/pc-win.el

index 332952bc42b897ffff2e565335bf6c314c2fcbff..fccb693c45290fca25251d82772abb83fd77adfd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; pc-win.el --- setup support for `PC windows' (whatever that is).
 
-;; Copyright (C) 1994, 1996 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1996, 1997 Free Software Foundation, Inc.
 
 ;; Author: Morten Welinder <terra@diku.dk>
 ;; Maintainer: FSF
 (defvar default-frame-alist nil)
 (modify-frame-parameters terminal-frame default-frame-alist)
 
+(defun msdos-bg-mode (&optional frame)
+  (let* ((frame (or frame (selected-frame)))
+        (params (frame-parameters frame))
+        (bg (cdr (assq 'background-color params))))
+    (if (member bg '("black" "blue" "darkgray" "green"))
+       'dark
+      'light)))
+
 (defun msdos-face-setup ()
   (modify-frame-parameters terminal-frame default-frame-alist)
 
   (set-face-foreground 'msdos-menu-passive-face "lightgray" terminal-frame)
   (set-face-background 'msdos-menu-active-face "blue" terminal-frame)
   (set-face-background 'msdos-menu-passive-face "blue" terminal-frame)
-  (set-face-background 'msdos-menu-select-face "red" terminal-frame))
+  (set-face-background 'msdos-menu-select-face "red" terminal-frame)
+  (modify-frame-parameters terminal-frame
+                          (list (cons 'background-mode
+                                      (msdos-bg-mode terminal-frame))
+                                (cons 'display-type 'color))))
 
 ;; We have only one font, so...
 (add-hook 'before-init-hook 'msdos-face-setup)
 
 ;; We create frames as if we were a terminal, but with a twist.
 (defun make-msdos-frame (&optional parameters)
-  (let ((parms
-        (append initial-frame-alist default-frame-alist parameters nil)))
-    (make-terminal-frame parms)))
+  (let* ((parms
+         (append initial-frame-alist default-frame-alist parameters nil))
+        (frame (make-terminal-frame parms)))
+    (modify-frame-parameters frame
+                            (list (cons 'background-mode
+                                        (msdos-bg-mode frame))
+                                  (cons 'display-type 'color)))
+    frame))
 
 (setq frame-creation-function 'make-msdos-frame)