Mercurial > emacs
annotate lisp/term/pc-win.el @ 78230:84cf1e2214c5
Switch license to GPLv3 or later.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Wed, 25 Jul 2007 04:25:44 +0000 |
parents | 030ae62d5c57 |
children | f1713f61ee49 0dcd1f3c9909 f55f9811f5d7 |
rev | line source |
---|---|
38412
253f761ad37b
Some fixes to follow coding conventions in files maintained by FSF.
Pavel Janík <Pavel@Janik.cz>
parents:
36513
diff
changeset
|
1 ;;; pc-win.el --- setup support for `PC windows' (whatever that is) |
9571 | 2 |
64701
34bd8e434dd7
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
64084
diff
changeset
|
3 ;; Copyright (C) 1994, 1996, 1997, 1999, 2001, 2002, 2003, 2004, |
75347 | 4 ;; 2005, 2006, 2007 Free Software Foundation, Inc. |
9571 | 5 |
6 ;; Author: Morten Welinder <terra@diku.dk> | |
14734 | 7 ;; Maintainer: FSF |
9571 | 8 |
9 ;; This file is part of GNU Emacs. | |
10 | |
11 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
12 ;; it under the terms of the GNU General Public License as published by | |
78226
030ae62d5c57
Switch license to GPLv3 or later.
Glenn Morris <rgm@gnu.org>
parents:
75347
diff
changeset
|
13 ;; the Free Software Foundation; either version 3, or (at your option) |
9571 | 14 ;; any later version. |
15 | |
16 ;; GNU Emacs is distributed in the hope that it will be useful, | |
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 ;; GNU General Public License for more details. | |
20 | |
21 ;; You should have received a copy of the GNU General Public License | |
14170
23cc3f54e536
Update FSF's office address.
Erik Naggum <erik@naggum.no>
parents:
14040
diff
changeset
|
22 ;; along with GNU Emacs; see the file COPYING. If not, write to the |
64084 | 23 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
24 ;; Boston, MA 02110-1301, USA. | |
14170
23cc3f54e536
Update FSF's office address.
Erik Naggum <erik@naggum.no>
parents:
14040
diff
changeset
|
25 |
38412
253f761ad37b
Some fixes to follow coding conventions in files maintained by FSF.
Pavel Janík <Pavel@Janik.cz>
parents:
36513
diff
changeset
|
26 ;;; Commentary: |
253f761ad37b
Some fixes to follow coding conventions in files maintained by FSF.
Pavel Janík <Pavel@Janik.cz>
parents:
36513
diff
changeset
|
27 |
14170
23cc3f54e536
Update FSF's office address.
Erik Naggum <erik@naggum.no>
parents:
14040
diff
changeset
|
28 ;;; Code: |
23cc3f54e536
Update FSF's office address.
Erik Naggum <erik@naggum.no>
parents:
14040
diff
changeset
|
29 |
9571 | 30 (load "term/internal" nil t) |
31 | |
26736
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
32 ;;; This is copied from etc/rgb.txt, except that some values were changed |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
33 ;;; a bit to make them consistent with DOS console colors, and the RGB |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
34 ;;; values were scaled up to 16 bits, as `tty-define-color' requires. |
25122
2ed76ce5608e
(msdos-face-setup): Register standard colors in
Eli Zaretskii <eliz@gnu.org>
parents:
24242
diff
changeset
|
35 ;;; |
26736
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
36 ;;; The mapping between the 16 standard EGA/VGA colors and X color names |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
37 ;;; was done by running a Unix version of Emacs inside an X client and a |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
38 ;;; DJGPP-compiled Emacs on the same PC. The names of X colors used to |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
39 ;;; define the pixel values are shown as comments to each color below. |
25122
2ed76ce5608e
(msdos-face-setup): Register standard colors in
Eli Zaretskii <eliz@gnu.org>
parents:
24242
diff
changeset
|
40 ;;; |
2ed76ce5608e
(msdos-face-setup): Register standard colors in
Eli Zaretskii <eliz@gnu.org>
parents:
24242
diff
changeset
|
41 ;;; If you want to change the RGB values, keep in mind that various pieces |
2ed76ce5608e
(msdos-face-setup): Register standard colors in
Eli Zaretskii <eliz@gnu.org>
parents:
24242
diff
changeset
|
42 ;;; of Emacs think that a color whose RGB values add up to less than 0.6 of |
26736
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
43 ;;; the values for WHITE (i.e. less than 117963) are ``dark'', otherwise the |
25122
2ed76ce5608e
(msdos-face-setup): Register standard colors in
Eli Zaretskii <eliz@gnu.org>
parents:
24242
diff
changeset
|
44 ;;; color is ``light''; see `frame-set-background-mode' in lisp/faces.el for |
2ed76ce5608e
(msdos-face-setup): Register standard colors in
Eli Zaretskii <eliz@gnu.org>
parents:
24242
diff
changeset
|
45 ;;; an example. |
2ed76ce5608e
(msdos-face-setup): Register standard colors in
Eli Zaretskii <eliz@gnu.org>
parents:
24242
diff
changeset
|
46 (defvar msdos-color-values |
42949
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
47 '(("black" 0 0 0 0) |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
48 ("blue" 1 0 0 52480) ; MediumBlue |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
49 ("green" 2 8704 35584 8704) ; ForestGreen |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
50 ("cyan" 3 0 52736 53504) ; DarkTurquoise |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
51 ("red" 4 45568 8704 8704) ; FireBrick |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
52 ("magenta" 5 35584 0 35584) ; DarkMagenta |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
53 ("brown" 6 40960 20992 11520) ; Sienna |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
54 ("lightgray" 7 48640 48640 48640) ; Gray |
26736
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
55 ("darkgray" 8 26112 26112 26112) ; Gray40 |
42949
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
56 ("lightblue" 9 0 0 65535) ; Blue |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
57 ("lightgreen" 10 0 65535 0) ; Green |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
58 ("lightcyan" 11 0 65535 65535) ; Cyan |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
59 ("lightred" 12 65535 0 0) ; Red |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
60 ("lightmagenta" 13 65535 0 65535) ; Magenta |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
61 ("yellow" 14 65535 65535 0) ; Yellow |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
62 ("white" 15 65535 65535 65535)) |
26736
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
63 "A list of MS-DOS console colors, their indices and 16-bit RGB values.") |
24242
2dd79725f0c5
(msdos-approximate-color): New function.
Eli Zaretskii <eliz@gnu.org>
parents:
23461
diff
changeset
|
64 |
9571 | 65 ;; --------------------------------------------------------------------------- |
66 ;; We want to delay setting frame parameters until the faces are setup | |
67 (defvar default-frame-alist nil) | |
15397
f95592fcdb1c
(msdos-face-setup): Use `terminal-frame' for initial frame setup.
Richard M. Stallman <rms@gnu.org>
parents:
15315
diff
changeset
|
68 (modify-frame-parameters terminal-frame default-frame-alist) |
26736
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
69 (tty-color-clear) |
9571 | 70 |
71 (defun msdos-face-setup () | |
15397
f95592fcdb1c
(msdos-face-setup): Use `terminal-frame' for initial frame setup.
Richard M. Stallman <rms@gnu.org>
parents:
15315
diff
changeset
|
72 (set-face-foreground 'bold "yellow" terminal-frame) |
f95592fcdb1c
(msdos-face-setup): Use `terminal-frame' for initial frame setup.
Richard M. Stallman <rms@gnu.org>
parents:
15315
diff
changeset
|
73 (set-face-foreground 'italic "red" terminal-frame) |
f95592fcdb1c
(msdos-face-setup): Use `terminal-frame' for initial frame setup.
Richard M. Stallman <rms@gnu.org>
parents:
15315
diff
changeset
|
74 (set-face-foreground 'bold-italic "lightred" terminal-frame) |
f95592fcdb1c
(msdos-face-setup): Use `terminal-frame' for initial frame setup.
Richard M. Stallman <rms@gnu.org>
parents:
15315
diff
changeset
|
75 (set-face-foreground 'underline "white" terminal-frame) |
9571 | 76 |
77 (make-face 'msdos-menu-active-face) | |
78 (make-face 'msdos-menu-passive-face) | |
79 (make-face 'msdos-menu-select-face) | |
15397
f95592fcdb1c
(msdos-face-setup): Use `terminal-frame' for initial frame setup.
Richard M. Stallman <rms@gnu.org>
parents:
15315
diff
changeset
|
80 (set-face-foreground 'msdos-menu-active-face "white" terminal-frame) |
f95592fcdb1c
(msdos-face-setup): Use `terminal-frame' for initial frame setup.
Richard M. Stallman <rms@gnu.org>
parents:
15315
diff
changeset
|
81 (set-face-foreground 'msdos-menu-passive-face "lightgray" terminal-frame) |
f95592fcdb1c
(msdos-face-setup): Use `terminal-frame' for initial frame setup.
Richard M. Stallman <rms@gnu.org>
parents:
15315
diff
changeset
|
82 (set-face-background 'msdos-menu-active-face "blue" terminal-frame) |
f95592fcdb1c
(msdos-face-setup): Use `terminal-frame' for initial frame setup.
Richard M. Stallman <rms@gnu.org>
parents:
15315
diff
changeset
|
83 (set-face-background 'msdos-menu-passive-face "blue" terminal-frame) |
19290
7fb99affa49a
(msdos-color-aliases): Remove color names which end with a number.
Richard M. Stallman <rms@gnu.org>
parents:
19211
diff
changeset
|
84 (set-face-background 'msdos-menu-select-face "red" terminal-frame)) |
9571 | 85 |
86 (add-hook 'before-init-hook 'msdos-face-setup) | |
15397
f95592fcdb1c
(msdos-face-setup): Use `terminal-frame' for initial frame setup.
Richard M. Stallman <rms@gnu.org>
parents:
15315
diff
changeset
|
87 |
26736
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
88 (defun msdos-handle-reverse-video (frame parameters) |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
89 "Handle the reverse-video frame parameter on MS-DOS frames." |
36485
293677d8c530
(msdos-handle-reverse-video): Look for reverse in
Eli Zaretskii <eliz@gnu.org>
parents:
34105
diff
changeset
|
90 (when (cdr (or (assq 'reverse parameters) |
293677d8c530
(msdos-handle-reverse-video): Look for reverse in
Eli Zaretskii <eliz@gnu.org>
parents:
34105
diff
changeset
|
91 (assq 'reverse default-frame-alist))) |
26736
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
92 (let* ((params (frame-parameters frame)) |
32547
946f66d4b38b
(msdos-handle-reverse-video): Don't remove
Eli Zaretskii <eliz@gnu.org>
parents:
26736
diff
changeset
|
93 (fg (cdr (assq 'foreground-color params))) |
946f66d4b38b
(msdos-handle-reverse-video): Don't remove
Eli Zaretskii <eliz@gnu.org>
parents:
26736
diff
changeset
|
94 (bg (cdr (assq 'background-color params)))) |
946f66d4b38b
(msdos-handle-reverse-video): Don't remove
Eli Zaretskii <eliz@gnu.org>
parents:
26736
diff
changeset
|
95 (if (equal fg (cdr (assq 'mouse-color params))) |
26736
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
96 (modify-frame-parameters frame |
32547
946f66d4b38b
(msdos-handle-reverse-video): Don't remove
Eli Zaretskii <eliz@gnu.org>
parents:
26736
diff
changeset
|
97 (list (cons 'mouse-color bg)))) |
946f66d4b38b
(msdos-handle-reverse-video): Don't remove
Eli Zaretskii <eliz@gnu.org>
parents:
26736
diff
changeset
|
98 (if (equal fg (cdr (assq 'cursor-color params))) |
26736
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
99 (modify-frame-parameters frame |
32547
946f66d4b38b
(msdos-handle-reverse-video): Don't remove
Eli Zaretskii <eliz@gnu.org>
parents:
26736
diff
changeset
|
100 (list (cons 'cursor-color bg))))))) |
26736
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
101 |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
102 ;; This must run after all the default colors are inserted into |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
103 ;; tty-color-alist, since msdos-handle-reverse-video needs to know the |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
104 ;; actual frame colors. tty-color-alist is set up by startup.el, but |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
105 ;; only after it runs before-init-hook and after-init-hook. |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
106 (defun msdos-setup-initial-frame () |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
107 (modify-frame-parameters terminal-frame default-frame-alist) |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
108 ;; This remembers the screen colors after applying default-frame-alist, |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
109 ;; so that all subsequent frames could begin with those colors. |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
110 (msdos-remember-default-colors terminal-frame) |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
111 (modify-frame-parameters terminal-frame initial-frame-alist) |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
112 (msdos-handle-reverse-video terminal-frame |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
113 (frame-parameters terminal-frame)) |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
114 |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
115 (frame-set-background-mode terminal-frame) |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
116 (face-set-after-frame-default terminal-frame)) |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
117 |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
118 (add-hook 'term-setup-hook 'msdos-setup-initial-frame) |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
119 |
15397
f95592fcdb1c
(msdos-face-setup): Use `terminal-frame' for initial frame setup.
Richard M. Stallman <rms@gnu.org>
parents:
15315
diff
changeset
|
120 ;; We create frames as if we were a terminal, but with a twist. |
f95592fcdb1c
(msdos-face-setup): Use `terminal-frame' for initial frame setup.
Richard M. Stallman <rms@gnu.org>
parents:
15315
diff
changeset
|
121 (defun make-msdos-frame (&optional parameters) |
26736
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
122 (let ((frame (make-terminal-frame parameters)) |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
123 success) |
25211
a1527fde7766
(msdos-bg-mode): Remove. Call
Eli Zaretskii <eliz@gnu.org>
parents:
25122
diff
changeset
|
124 (unwind-protect |
a1527fde7766
(msdos-bg-mode): Remove. Call
Eli Zaretskii <eliz@gnu.org>
parents:
25122
diff
changeset
|
125 (progn |
26736
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
126 (msdos-handle-reverse-video frame (frame-parameters frame)) |
25211
a1527fde7766
(msdos-bg-mode): Remove. Call
Eli Zaretskii <eliz@gnu.org>
parents:
25122
diff
changeset
|
127 (frame-set-background-mode frame) |
a1527fde7766
(msdos-bg-mode): Remove. Call
Eli Zaretskii <eliz@gnu.org>
parents:
25122
diff
changeset
|
128 (face-set-after-frame-default frame) |
a1527fde7766
(msdos-bg-mode): Remove. Call
Eli Zaretskii <eliz@gnu.org>
parents:
25122
diff
changeset
|
129 (setq success t)) |
a1527fde7766
(msdos-bg-mode): Remove. Call
Eli Zaretskii <eliz@gnu.org>
parents:
25122
diff
changeset
|
130 (unless success (delete-frame frame))) |
18770
94ca3c126cee
(msdos-bg-mode): New function.
Richard M. Stallman <rms@gnu.org>
parents:
17517
diff
changeset
|
131 frame)) |
15397
f95592fcdb1c
(msdos-face-setup): Use `terminal-frame' for initial frame setup.
Richard M. Stallman <rms@gnu.org>
parents:
15315
diff
changeset
|
132 |
f95592fcdb1c
(msdos-face-setup): Use `terminal-frame' for initial frame setup.
Richard M. Stallman <rms@gnu.org>
parents:
15315
diff
changeset
|
133 (setq frame-creation-function 'make-msdos-frame) |
f95592fcdb1c
(msdos-face-setup): Use `terminal-frame' for initial frame setup.
Richard M. Stallman <rms@gnu.org>
parents:
15315
diff
changeset
|
134 |
9571 | 135 ;; --------------------------------------------------------------------------- |
14040 | 136 ;; More or less useful imitations of certain X-functions. A lot of the |
9571 | 137 ;; values returned are questionable, but usually only the form of the |
138 ;; returned value matters. Also, by the way, recall that `ignore' is | |
139 ;; a useful function for returning 'nil regardless of argument. | |
140 | |
141 ;; From src/xfns.c | |
19211
e83ac35f9bcb
(x-list-fonts): Return "default" when appropriate.
Richard M. Stallman <rms@gnu.org>
parents:
18770
diff
changeset
|
142 (defun x-list-fonts (pattern &optional face frame maximum width) |
25264
577683f84100
(x-list-fonts): Return "ms-dos", not "default".
Eli Zaretskii <eliz@gnu.org>
parents:
25211
diff
changeset
|
143 (if (or (null width) (and (numberp width) (= width 1))) |
577683f84100
(x-list-fonts): Return "ms-dos", not "default".
Eli Zaretskii <eliz@gnu.org>
parents:
25211
diff
changeset
|
144 (list "ms-dos") |
19211
e83ac35f9bcb
(x-list-fonts): Return "default" when appropriate.
Richard M. Stallman <rms@gnu.org>
parents:
18770
diff
changeset
|
145 (list "no-such-font"))) |
14520
e46b1e676418
(x-display-pixel-height, x-display-pixel-width):
Richard M. Stallman <rms@gnu.org>
parents:
14170
diff
changeset
|
146 (defun x-display-pixel-width (&optional frame) (frame-width frame)) |
e46b1e676418
(x-display-pixel-height, x-display-pixel-width):
Richard M. Stallman <rms@gnu.org>
parents:
14170
diff
changeset
|
147 (defun x-display-pixel-height (&optional frame) (frame-height frame)) |
25264
577683f84100
(x-list-fonts): Return "ms-dos", not "default".
Eli Zaretskii <eliz@gnu.org>
parents:
25211
diff
changeset
|
148 (defun x-display-planes (&optional frame) 4) ;bg switched to 16 colors as well |
577683f84100
(x-list-fonts): Return "ms-dos", not "default".
Eli Zaretskii <eliz@gnu.org>
parents:
25211
diff
changeset
|
149 (defun x-display-color-cells (&optional frame) 16) |
9571 | 150 (defun x-server-max-request-size (&optional frame) 1000000) ; ??? |
151 (defun x-server-vendor (&optional frame) t "GNU") | |
152 (defun x-server-version (&optional frame) '(1 0 0)) | |
153 (defun x-display-screens (&optional frame) 1) | |
25264
577683f84100
(x-list-fonts): Return "ms-dos", not "default".
Eli Zaretskii <eliz@gnu.org>
parents:
25211
diff
changeset
|
154 (defun x-display-mm-height (&optional frame) 245) ; Guess the size of my |
577683f84100
(x-list-fonts): Return "ms-dos", not "default".
Eli Zaretskii <eliz@gnu.org>
parents:
25211
diff
changeset
|
155 (defun x-display-mm-width (&optional frame) 322) ; monitor, EZ... |
9571 | 156 (defun x-display-backing-store (&optional frame) 'not-useful) |
157 (defun x-display-visual-class (&optional frame) 'static-color) | |
158 (fset 'x-display-save-under 'ignore) | |
159 (fset 'x-get-resource 'ignore) | |
23461
b84718f930f8
(msdos-color-values): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
21710
diff
changeset
|
160 |
9571 | 161 ;; From lisp/term/x-win.el |
26736
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
162 (defvar x-display-name "pc" |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
163 "The display name specifying the MS-DOS display and frame type.") |
9571 | 164 (setq split-window-keep-point t) |
25264
577683f84100
(x-list-fonts): Return "ms-dos", not "default".
Eli Zaretskii <eliz@gnu.org>
parents:
25211
diff
changeset
|
165 (defvar x-colors (mapcar 'car msdos-color-values) |
13924
36aa12b0ea6a
(x-colors): New variable, a list of colors
Richard M. Stallman <rms@gnu.org>
parents:
13628
diff
changeset
|
166 "The list of colors available on a PC display under MS-DOS.") |
25122
2ed76ce5608e
(msdos-face-setup): Register standard colors in
Eli Zaretskii <eliz@gnu.org>
parents:
24242
diff
changeset
|
167 |
21710
70d6549a4105
(x-select-text, x-get-selection-value): Replace win16 with w16.
Eli Zaretskii <eliz@gnu.org>
parents:
20033
diff
changeset
|
168 ;; From lisp/term/w32-win.el |
13924
36aa12b0ea6a
(x-colors): New variable, a list of colors
Richard M. Stallman <rms@gnu.org>
parents:
13628
diff
changeset
|
169 ; |
17478
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
170 ;;;; Selections and cut buffers |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
171 ; |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
172 ;;; We keep track of the last text selected here, so we can check the |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
173 ;;; current selection against it, and avoid passing back our own text |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
174 ;;; from x-cut-buffer-or-selection-value. |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
175 (defvar x-last-selected-text nil) |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
176 |
34105
9f894ba9e808
(x-select-enable-clipboard): Customize (as per the Emacs Lisp manual).
Eli Zaretskii <eliz@gnu.org>
parents:
33011
diff
changeset
|
177 (defcustom x-select-enable-clipboard t |
9f894ba9e808
(x-select-enable-clipboard): Customize (as per the Emacs Lisp manual).
Eli Zaretskii <eliz@gnu.org>
parents:
33011
diff
changeset
|
178 "Non-nil means cutting and pasting uses the clipboard. |
9f894ba9e808
(x-select-enable-clipboard): Customize (as per the Emacs Lisp manual).
Eli Zaretskii <eliz@gnu.org>
parents:
33011
diff
changeset
|
179 This is the default on this system, since MS-Windows does not |
9f894ba9e808
(x-select-enable-clipboard): Customize (as per the Emacs Lisp manual).
Eli Zaretskii <eliz@gnu.org>
parents:
33011
diff
changeset
|
180 support other types of selections." |
9f894ba9e808
(x-select-enable-clipboard): Customize (as per the Emacs Lisp manual).
Eli Zaretskii <eliz@gnu.org>
parents:
33011
diff
changeset
|
181 :type 'boolean |
9f894ba9e808
(x-select-enable-clipboard): Customize (as per the Emacs Lisp manual).
Eli Zaretskii <eliz@gnu.org>
parents:
33011
diff
changeset
|
182 :group 'killing) |
17478
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
183 |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
184 (defun x-select-text (text &optional push) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
42949
diff
changeset
|
185 (if x-select-enable-clipboard |
21710
70d6549a4105
(x-select-text, x-get-selection-value): Replace win16 with w16.
Eli Zaretskii <eliz@gnu.org>
parents:
20033
diff
changeset
|
186 (w16-set-clipboard-data text)) |
17478
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
187 (setq x-last-selected-text text)) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
42949
diff
changeset
|
188 |
17478
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
189 ;;; Return the value of the current selection. |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
190 ;;; Consult the selection, then the cut buffer. Treat empty strings |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
191 ;;; as if they were unset. |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
192 (defun x-get-selection-value () |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
42949
diff
changeset
|
193 (if x-select-enable-clipboard |
17478
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
194 (let (text) |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
195 ;; Don't die if x-get-selection signals an error. |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
196 (condition-case c |
21710
70d6549a4105
(x-select-text, x-get-selection-value): Replace win16 with w16.
Eli Zaretskii <eliz@gnu.org>
parents:
20033
diff
changeset
|
197 (setq text (w16-get-clipboard-data)) |
70d6549a4105
(x-select-text, x-get-selection-value): Replace win16 with w16.
Eli Zaretskii <eliz@gnu.org>
parents:
20033
diff
changeset
|
198 (error (message "w16-get-clipboard-data:%s" c))) |
17478
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
199 (if (string= text "") (setq text nil)) |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
200 (cond |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
201 ((not text) nil) |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
202 ((eq text x-last-selected-text) nil) |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
203 ((string= text x-last-selected-text) |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
204 ;; Record the newer string, so subsequent calls can use the 'eq' test. |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
205 (setq x-last-selected-text text) |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
206 nil) |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
207 (t |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
208 (setq x-last-selected-text text)))))) |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
209 |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
210 ;;; Arrange for the kill and yank functions to set and check the clipboard. |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
211 (setq interprogram-cut-function 'x-select-text) |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
212 (setq interprogram-paste-function 'x-get-selection-value) |
9571 | 213 |
13628
6da84b713ae7
(msdos-color-aliases): Add more aliases.
Richard M. Stallman <rms@gnu.org>
parents:
13484
diff
changeset
|
214 ;; From lisp/faces.el: we only have one font, so always return |
6da84b713ae7
(msdos-color-aliases): Add more aliases.
Richard M. Stallman <rms@gnu.org>
parents:
13484
diff
changeset
|
215 ;; it, no matter which variety they've asked for. |
6da84b713ae7
(msdos-color-aliases): Add more aliases.
Richard M. Stallman <rms@gnu.org>
parents:
13484
diff
changeset
|
216 (defun x-frob-font-slant (font which) |
6da84b713ae7
(msdos-color-aliases): Add more aliases.
Richard M. Stallman <rms@gnu.org>
parents:
13484
diff
changeset
|
217 font) |
40353
1e1c2c459774
(x-frob-font-slant, x-frob-font-weight): Add
Eli Zaretskii <eliz@gnu.org>
parents:
38412
diff
changeset
|
218 (make-obsolete 'x-frob-font-slant 'make-face-... "21.1") |
25264
577683f84100
(x-list-fonts): Return "ms-dos", not "default".
Eli Zaretskii <eliz@gnu.org>
parents:
25211
diff
changeset
|
219 (defun x-frob-font-weight (font which) |
577683f84100
(x-list-fonts): Return "ms-dos", not "default".
Eli Zaretskii <eliz@gnu.org>
parents:
25211
diff
changeset
|
220 font) |
40353
1e1c2c459774
(x-frob-font-slant, x-frob-font-weight): Add
Eli Zaretskii <eliz@gnu.org>
parents:
38412
diff
changeset
|
221 (make-obsolete 'x-frob-font-weight 'make-face-... "21.1") |
25264
577683f84100
(x-list-fonts): Return "ms-dos", not "default".
Eli Zaretskii <eliz@gnu.org>
parents:
25211
diff
changeset
|
222 (defun x-font-family-list () |
577683f84100
(x-list-fonts): Return "ms-dos", not "default".
Eli Zaretskii <eliz@gnu.org>
parents:
25211
diff
changeset
|
223 "Return a list of available font families on FRAME.\n\ |
577683f84100
(x-list-fonts): Return "ms-dos", not "default".
Eli Zaretskii <eliz@gnu.org>
parents:
25211
diff
changeset
|
224 If FRAME is omitted or nil, use the selected frame.\n\ |
577683f84100
(x-list-fonts): Return "ms-dos", not "default".
Eli Zaretskii <eliz@gnu.org>
parents:
25211
diff
changeset
|
225 Value is a list of conses (FAMILY . FIXED-P) where FAMILY\n\ |
577683f84100
(x-list-fonts): Return "ms-dos", not "default".
Eli Zaretskii <eliz@gnu.org>
parents:
25211
diff
changeset
|
226 is a font family, and FIXED-P is non-nil if fonts of that family\n\ |
577683f84100
(x-list-fonts): Return "ms-dos", not "default".
Eli Zaretskii <eliz@gnu.org>
parents:
25211
diff
changeset
|
227 are fixed-pitch." |
577683f84100
(x-list-fonts): Return "ms-dos", not "default".
Eli Zaretskii <eliz@gnu.org>
parents:
25211
diff
changeset
|
228 '(("default" . t))) |
13628
6da84b713ae7
(msdos-color-aliases): Add more aliases.
Richard M. Stallman <rms@gnu.org>
parents:
13484
diff
changeset
|
229 |
19211
e83ac35f9bcb
(x-list-fonts): Return "default" when appropriate.
Richard M. Stallman <rms@gnu.org>
parents:
18770
diff
changeset
|
230 ;; From src/fontset.c: |
e83ac35f9bcb
(x-list-fonts): Return "default" when appropriate.
Richard M. Stallman <rms@gnu.org>
parents:
18770
diff
changeset
|
231 (fset 'query-fontset 'ignore) |
e83ac35f9bcb
(x-list-fonts): Return "default" when appropriate.
Richard M. Stallman <rms@gnu.org>
parents:
18770
diff
changeset
|
232 |
16643
734b72203ac5
(iconify-or-deiconify-frame): Define to be a
Richard M. Stallman <rms@gnu.org>
parents:
15397
diff
changeset
|
233 ;; From lisp/term/x-win.el: make iconify-or-deiconify-frame a no-op. |
734b72203ac5
(iconify-or-deiconify-frame): Define to be a
Richard M. Stallman <rms@gnu.org>
parents:
15397
diff
changeset
|
234 (fset 'iconify-or-deiconify-frame 'ignore) |
734b72203ac5
(iconify-or-deiconify-frame): Define to be a
Richard M. Stallman <rms@gnu.org>
parents:
15397
diff
changeset
|
235 |
9571 | 236 ;; From lisp/frame.el |
237 (fset 'set-default-font 'ignore) | |
238 (fset 'set-mouse-color 'ignore) ; We cannot, I think. | |
239 (fset 'set-cursor-color 'ignore) ; Hardware determined by char under. | |
240 (fset 'set-border-color 'ignore) ; Not useful. | |
20033
2c0e89d1488b
(x-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
19568
diff
changeset
|
241 |
9571 | 242 ;; --------------------------------------------------------------------------- |
17517 | 243 |
52401 | 244 ;;; arch-tag: 5cbdb455-b495-427b-95d0-e417d77d00b4 |
17517 | 245 ;;; pc-win.el ends here |