Mercurial > emacs
annotate lisp/term/pc-win.el @ 92068:dd458038bf78
New file.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Fri, 22 Feb 2008 01:51:04 +0000 |
parents | 107ccd98fa12 |
children | 606f2d163a64 1e3a407766b9 |
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, |
79718 | 4 ;; 2005, 2006, 2007, 2008 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 | |
86289
8a7ed478f7bc
* international/titdic-cnv.el (dos-8+3-filename):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
86277
diff
changeset
|
32 (declare-function msdos-remember-default-colors "msdos.c") |
8a7ed478f7bc
* international/titdic-cnv.el (dos-8+3-filename):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
86277
diff
changeset
|
33 (declare-function w16-set-clipboard-data "w16select.c") |
8a7ed478f7bc
* international/titdic-cnv.el (dos-8+3-filename):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
86277
diff
changeset
|
34 (declare-function w16-get-clipboard-data "w16select.c") |
8a7ed478f7bc
* international/titdic-cnv.el (dos-8+3-filename):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
86277
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 ;;; 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
|
37 ;;; 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
|
38 ;;; 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
|
39 ;;; |
26736
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
40 ;;; 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
|
41 ;;; 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
|
42 ;;; 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
|
43 ;;; 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
|
44 ;;; |
2ed76ce5608e
(msdos-face-setup): Register standard colors in
Eli Zaretskii <eliz@gnu.org>
parents:
24242
diff
changeset
|
45 ;;; 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
|
46 ;;; 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
|
47 ;;; 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
|
48 ;;; 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
|
49 ;;; an example. |
2ed76ce5608e
(msdos-face-setup): Register standard colors in
Eli Zaretskii <eliz@gnu.org>
parents:
24242
diff
changeset
|
50 (defvar msdos-color-values |
42949
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
51 '(("black" 0 0 0 0) |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
52 ("blue" 1 0 0 52480) ; MediumBlue |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
53 ("green" 2 8704 35584 8704) ; ForestGreen |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
54 ("cyan" 3 0 52736 53504) ; DarkTurquoise |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
55 ("red" 4 45568 8704 8704) ; FireBrick |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
56 ("magenta" 5 35584 0 35584) ; DarkMagenta |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
57 ("brown" 6 40960 20992 11520) ; Sienna |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
58 ("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
|
59 ("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
|
60 ("lightblue" 9 0 0 65535) ; Blue |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
61 ("lightgreen" 10 0 65535 0) ; Green |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
62 ("lightcyan" 11 0 65535 65535) ; Cyan |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
63 ("lightred" 12 65535 0 0) ; Red |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
64 ("lightmagenta" 13 65535 0 65535) ; Magenta |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
65 ("yellow" 14 65535 65535 0) ; Yellow |
a97674caab35
(msdos-color-values): Reverse the order of the
Eli Zaretskii <eliz@gnu.org>
parents:
40353
diff
changeset
|
66 ("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
|
67 "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
|
68 |
9571 | 69 ;; --------------------------------------------------------------------------- |
70 ;; We want to delay setting frame parameters until the faces are setup | |
71 (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
|
72 (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
|
73 (tty-color-clear) |
9571 | 74 |
75 (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
|
76 (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
|
77 (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
|
78 (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
|
79 (set-face-foreground 'underline "white" terminal-frame) |
9571 | 80 |
81 (make-face 'msdos-menu-active-face) | |
82 (make-face 'msdos-menu-passive-face) | |
83 (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
|
84 (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
|
85 (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
|
86 (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
|
87 (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
|
88 (set-face-background 'msdos-menu-select-face "red" terminal-frame)) |
9571 | 89 |
90 (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
|
91 |
26736
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
92 (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
|
93 "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
|
94 (when (cdr (or (assq 'reverse parameters) |
293677d8c530
(msdos-handle-reverse-video): Look for reverse in
Eli Zaretskii <eliz@gnu.org>
parents:
34105
diff
changeset
|
95 (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
|
96 (let* ((params (frame-parameters frame)) |
32547
946f66d4b38b
(msdos-handle-reverse-video): Don't remove
Eli Zaretskii <eliz@gnu.org>
parents:
26736
diff
changeset
|
97 (fg (cdr (assq 'foreground-color params))) |
946f66d4b38b
(msdos-handle-reverse-video): Don't remove
Eli Zaretskii <eliz@gnu.org>
parents:
26736
diff
changeset
|
98 (bg (cdr (assq 'background-color params)))) |
946f66d4b38b
(msdos-handle-reverse-video): Don't remove
Eli Zaretskii <eliz@gnu.org>
parents:
26736
diff
changeset
|
99 (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
|
100 (modify-frame-parameters frame |
32547
946f66d4b38b
(msdos-handle-reverse-video): Don't remove
Eli Zaretskii <eliz@gnu.org>
parents:
26736
diff
changeset
|
101 (list (cons 'mouse-color bg)))) |
946f66d4b38b
(msdos-handle-reverse-video): Don't remove
Eli Zaretskii <eliz@gnu.org>
parents:
26736
diff
changeset
|
102 (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
|
103 (modify-frame-parameters frame |
32547
946f66d4b38b
(msdos-handle-reverse-video): Don't remove
Eli Zaretskii <eliz@gnu.org>
parents:
26736
diff
changeset
|
104 (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
|
105 |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
106 ;; 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
|
107 ;; 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
|
108 ;; 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
|
109 ;; 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
|
110 (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
|
111 (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
|
112 ;; 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
|
113 ;; 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
|
114 (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
|
115 (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
|
116 (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
|
117 (frame-parameters terminal-frame)) |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
118 |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
119 (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
|
120 (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
|
121 |
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
122 (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
|
123 |
15397
f95592fcdb1c
(msdos-face-setup): Use `terminal-frame' for initial frame setup.
Richard M. Stallman <rms@gnu.org>
parents:
15315
diff
changeset
|
124 ;; 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
|
125 (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
|
126 (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
|
127 success) |
25211
a1527fde7766
(msdos-bg-mode): Remove. Call
Eli Zaretskii <eliz@gnu.org>
parents:
25122
diff
changeset
|
128 (unwind-protect |
a1527fde7766
(msdos-bg-mode): Remove. Call
Eli Zaretskii <eliz@gnu.org>
parents:
25122
diff
changeset
|
129 (progn |
26736
a0674327c167
Changes for automatic remapping of X colors on terminal frames:
Eli Zaretskii <eliz@gnu.org>
parents:
25264
diff
changeset
|
130 (msdos-handle-reverse-video frame (frame-parameters frame)) |
25211
a1527fde7766
(msdos-bg-mode): Remove. Call
Eli Zaretskii <eliz@gnu.org>
parents:
25122
diff
changeset
|
131 (frame-set-background-mode frame) |
a1527fde7766
(msdos-bg-mode): Remove. Call
Eli Zaretskii <eliz@gnu.org>
parents:
25122
diff
changeset
|
132 (face-set-after-frame-default frame) |
a1527fde7766
(msdos-bg-mode): Remove. Call
Eli Zaretskii <eliz@gnu.org>
parents:
25122
diff
changeset
|
133 (setq success t)) |
a1527fde7766
(msdos-bg-mode): Remove. Call
Eli Zaretskii <eliz@gnu.org>
parents:
25122
diff
changeset
|
134 (unless success (delete-frame frame))) |
18770
94ca3c126cee
(msdos-bg-mode): New function.
Richard M. Stallman <rms@gnu.org>
parents:
17517
diff
changeset
|
135 frame)) |
15397
f95592fcdb1c
(msdos-face-setup): Use `terminal-frame' for initial frame setup.
Richard M. Stallman <rms@gnu.org>
parents:
15315
diff
changeset
|
136 |
85500
0dcd1f3c9909
* textmodes/reftex.el: Move require easymenu before first use.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
78226
diff
changeset
|
137 (add-to-list 'frame-creation-function-alist '(pc . make-msdos-frame)) |
15397
f95592fcdb1c
(msdos-face-setup): Use `terminal-frame' for initial frame setup.
Richard M. Stallman <rms@gnu.org>
parents:
15315
diff
changeset
|
138 |
9571 | 139 ;; --------------------------------------------------------------------------- |
14040 | 140 ;; More or less useful imitations of certain X-functions. A lot of the |
9571 | 141 ;; values returned are questionable, but usually only the form of the |
142 ;; returned value matters. Also, by the way, recall that `ignore' is | |
143 ;; a useful function for returning 'nil regardless of argument. | |
144 | |
145 ;; From src/xfns.c | |
19211
e83ac35f9bcb
(x-list-fonts): Return "default" when appropriate.
Richard M. Stallman <rms@gnu.org>
parents:
18770
diff
changeset
|
146 (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
|
147 (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
|
148 (list "ms-dos") |
19211
e83ac35f9bcb
(x-list-fonts): Return "default" when appropriate.
Richard M. Stallman <rms@gnu.org>
parents:
18770
diff
changeset
|
149 (list "no-such-font"))) |
14520
e46b1e676418
(x-display-pixel-height, x-display-pixel-width):
Richard M. Stallman <rms@gnu.org>
parents:
14170
diff
changeset
|
150 (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
|
151 (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
|
152 (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
|
153 (defun x-display-color-cells (&optional frame) 16) |
9571 | 154 (defun x-server-max-request-size (&optional frame) 1000000) ; ??? |
155 (defun x-server-vendor (&optional frame) t "GNU") | |
156 (defun x-server-version (&optional frame) '(1 0 0)) | |
157 (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
|
158 (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
|
159 (defun x-display-mm-width (&optional frame) 322) ; monitor, EZ... |
9571 | 160 (defun x-display-backing-store (&optional frame) 'not-useful) |
161 (defun x-display-visual-class (&optional frame) 'static-color) | |
162 (fset 'x-display-save-under 'ignore) | |
163 (fset 'x-get-resource 'ignore) | |
23461
b84718f930f8
(msdos-color-values): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
21710
diff
changeset
|
164 |
9571 | 165 ;; 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
|
166 (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
|
167 "The display name specifying the MS-DOS display and frame type.") |
9571 | 168 (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
|
169 (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
|
170 "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
|
171 |
21710
70d6549a4105
(x-select-text, x-get-selection-value): Replace win16 with w16.
Eli Zaretskii <eliz@gnu.org>
parents:
20033
diff
changeset
|
172 ;; 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
|
173 ; |
17478
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
174 ;;;; Selections and cut buffers |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
175 ; |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
176 ;;; 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
|
177 ;;; 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
|
178 ;;; from x-cut-buffer-or-selection-value. |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
179 (defvar x-last-selected-text nil) |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
180 |
34105
9f894ba9e808
(x-select-enable-clipboard): Customize (as per the Emacs Lisp manual).
Eli Zaretskii <eliz@gnu.org>
parents:
33011
diff
changeset
|
181 (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
|
182 "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
|
183 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
|
184 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
|
185 :type 'boolean |
9f894ba9e808
(x-select-enable-clipboard): Customize (as per the Emacs Lisp manual).
Eli Zaretskii <eliz@gnu.org>
parents:
33011
diff
changeset
|
186 :group 'killing) |
17478
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
187 |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
188 (defun x-select-text (text &optional push) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
42949
diff
changeset
|
189 (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
|
190 (w16-set-clipboard-data text)) |
17478
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
191 (setq x-last-selected-text text)) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
42949
diff
changeset
|
192 |
17478
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
193 ;;; Return the value of the current selection. |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
194 ;;; 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
|
195 ;;; as if they were unset. |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
196 (defun x-get-selection-value () |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
42949
diff
changeset
|
197 (if x-select-enable-clipboard |
17478
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
198 (let (text) |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
199 ;; 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
|
200 (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
|
201 (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
|
202 (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
|
203 (if (string= text "") (setq text nil)) |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
204 (cond |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
205 ((not text) nil) |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
206 ((eq text x-last-selected-text) nil) |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
207 ((string= text x-last-selected-text) |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
208 ;; 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
|
209 (setq x-last-selected-text text) |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
210 nil) |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
211 (t |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
212 (setq x-last-selected-text text)))))) |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
213 |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
214 ;;; 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
|
215 (setq interprogram-cut-function 'x-select-text) |
14989cb202dc
* (x-select-enable-clipboard): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
16643
diff
changeset
|
216 (setq interprogram-paste-function 'x-get-selection-value) |
9571 | 217 |
13628
6da84b713ae7
(msdos-color-aliases): Add more aliases.
Richard M. Stallman <rms@gnu.org>
parents:
13484
diff
changeset
|
218 ;; 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
|
219 ;; 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
|
220 (defun x-frob-font-slant (font which) |
6da84b713ae7
(msdos-color-aliases): Add more aliases.
Richard M. Stallman <rms@gnu.org>
parents:
13484
diff
changeset
|
221 font) |
40353
1e1c2c459774
(x-frob-font-slant, x-frob-font-weight): Add
Eli Zaretskii <eliz@gnu.org>
parents:
38412
diff
changeset
|
222 (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
|
223 (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
|
224 font) |
40353
1e1c2c459774
(x-frob-font-slant, x-frob-font-weight): Add
Eli Zaretskii <eliz@gnu.org>
parents:
38412
diff
changeset
|
225 (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
|
226 (defun x-font-family-list () |
577683f84100
(x-list-fonts): Return "ms-dos", not "default".
Eli Zaretskii <eliz@gnu.org>
parents:
25211
diff
changeset
|
227 "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
|
228 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
|
229 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
|
230 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
|
231 are fixed-pitch." |
577683f84100
(x-list-fonts): Return "ms-dos", not "default".
Eli Zaretskii <eliz@gnu.org>
parents:
25211
diff
changeset
|
232 '(("default" . t))) |
13628
6da84b713ae7
(msdos-color-aliases): Add more aliases.
Richard M. Stallman <rms@gnu.org>
parents:
13484
diff
changeset
|
233 |
19211
e83ac35f9bcb
(x-list-fonts): Return "default" when appropriate.
Richard M. Stallman <rms@gnu.org>
parents:
18770
diff
changeset
|
234 ;; From src/fontset.c: |
e83ac35f9bcb
(x-list-fonts): Return "default" when appropriate.
Richard M. Stallman <rms@gnu.org>
parents:
18770
diff
changeset
|
235 (fset 'query-fontset 'ignore) |
e83ac35f9bcb
(x-list-fonts): Return "default" when appropriate.
Richard M. Stallman <rms@gnu.org>
parents:
18770
diff
changeset
|
236 |
16643
734b72203ac5
(iconify-or-deiconify-frame): Define to be a
Richard M. Stallman <rms@gnu.org>
parents:
15397
diff
changeset
|
237 ;; 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
|
238 (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
|
239 |
9571 | 240 ;; From lisp/frame.el |
241 (fset 'set-default-font 'ignore) | |
242 (fset 'set-mouse-color 'ignore) ; We cannot, I think. | |
243 (fset 'set-cursor-color 'ignore) ; Hardware determined by char under. | |
244 (fset 'set-border-color 'ignore) ; Not useful. | |
20033
2c0e89d1488b
(x-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents:
19568
diff
changeset
|
245 |
9571 | 246 ;; --------------------------------------------------------------------------- |
17517 | 247 |
52401 | 248 ;;; arch-tag: 5cbdb455-b495-427b-95d0-e417d77d00b4 |
17517 | 249 ;;; pc-win.el ends here |