(Fbyte_code): Convert a unibyte character to multibyte if necessary.
[emacs.git] / lisp / w32-vars.el
blobdc31878303041963214c1da20ddb59f98d885623
1 ;;; w32-vars.el --- MS-Windows specific user options
3 ;; Copyright (C) 2002 Free Software Foundation, Inc.
5 ;; Author: Jason Rumney <jasonr@gnu.org>
6 ;; Keywords: internal
8 ;; This file is free software; you can redistribute it and/or modify
9 ;; it under the terms of the GNU General Public License as published by
10 ;; the Free Software Foundation; either version 2, or (at your option)
11 ;; any later version.
13 ;; This file is distributed in the hope that it will be useful,
14 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 ;; GNU General Public License for more details.
18 ;; You should have received a copy of the GNU General Public License
19 ;; along with GNU Emacs; see the file COPYING. If not, write to
20 ;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21 ;; Boston, MA 02111-1307, USA.
23 ;;; Commentary:
25 ;;; Code:
27 ;; Custom group for w32 specific settings
28 (defgroup w32 nil
29 "MS-Windows specific features"
30 :group 'environment
31 :version "21.3"
32 :prefix "w32")
34 ;; mwheel.el should probably be adapted to accept mouse-wheel events
35 ;; then this could go.
36 (defcustom mouse-wheel-scroll-amount '(5 ((shift) . 1) ((control) . nil))
37 "*Amount to scroll windows by when spinning the mouse wheel.
38 This is actually a cons cell, where the first item is the amount to scroll
39 on a normal wheel event. The rest is ignored on Windows, see mwheel.el if
40 you wish to implement modifier keys."
41 :group 'w32
42 :group 'mouse
43 :type '(cons
44 (choice :tag "Normal"
45 (const :tag "Full screen" :value nil)
46 (integer :tag "Specific # of lines")
47 (float :tag "Fraction of window"))
48 (repeat
49 (cons
50 (repeat (choice :tag "modifier" (const alt) (const control) (const hyper)
51 (const meta) (const shift) (const super)))
52 (choice :tag "scroll amount"
53 (const :tag "Full screen" :value nil)
54 (integer :tag "Specific # of lines")
55 (float :tag "Fraction of window"))))))
57 ;; Redefine the font selection to use the standard W32 dialog
58 (defcustom w32-use-w32-font-dialog t
59 "*Use the standard font dialog.
60 If nil, pop up a menu of a fixed set of fonts including fontsets, like
61 X does. See `w32-fixed-font-alist' for the font menu definition."
62 :type 'boolean
63 :group 'w32)
65 (defcustom w32-list-proportional-fonts nil
66 "*Include proportional fonts in the default font dialog."
67 :type 'boolean
68 :group 'w32)
70 (defcustom w32-allow-system-shell nil
71 "*Disable startup warning when using \"system\" shells."
72 :type 'boolean
73 :group 'w32)
75 (defcustom w32-system-shells '("cmd" "cmd.exe" "command" "command.com"
76 "4nt" "4nt.exe" "4dos" "4dos.exe"
77 "ndos" "ndos.exe")
78 "*List of strings recognized as Windows NT/9X system shells."
79 :type '(repeat string)
80 :group 'w32)
82 ;; Want "menu" custom type for this.
83 (defcustom w32-fixed-font-alist
84 '("Font menu"
85 ("Misc"
86 ;; For these, we specify the pixel height and width.
87 ("fixed" "Fixedsys")
88 ("")
89 ("Terminal 5x4"
90 "-*-Terminal-normal-r-*-*-*-45-*-*-c-40-*-oem")
91 ("Terminal 6x8"
92 "-*-Terminal-normal-r-*-*-*-60-*-*-c-80-*-oem")
93 ("Terminal 9x5"
94 "-*-Terminal-normal-r-*-*-*-90-*-*-c-50-*-oem")
95 ("Terminal 9x7"
96 "-*-Terminal-normal-r-*-*-*-90-*-*-c-70-*-oem")
97 ("Terminal 9x8"
98 "-*-Terminal-normal-r-*-*-*-90-*-*-c-80-*-oem")
99 ("Terminal 12x12"
100 "-*-Terminal-normal-r-*-*-*-120-*-*-c-120-*-oem")
101 ("Terminal 14x10"
102 "-*-Terminal-normal-r-*-*-*-135-*-*-c-100-*-oem")
103 ("Terminal 6x6 Bold"
104 "-*-Terminal-bold-r-*-*-*-60-*-*-c-60-*-oem")
105 ("")
106 ("Lucida Sans Typewriter.8"
107 "-*-Lucida Sans Typewriter-normal-r-*-*-11-*-*-*-c-*-iso8859-1")
108 ("Lucida Sans Typewriter.9"
109 "-*-Lucida Sans Typewriter-normal-r-*-*-12-*-*-*-c-*-iso8859-1")
110 ("Lucida Sans Typewriter.10"
111 "-*-Lucida Sans Typewriter-normal-r-*-*-13-*-*-*-c-*-iso8859-1")
112 ("Lucida Sans Typewriter.11"
113 "-*-Lucida Sans Typewriter-normal-r-*-*-15-*-*-*-c-*-iso8859-1")
114 ("Lucida Sans Typewriter.12"
115 "-*-Lucida Sans Typewriter-normal-r-*-*-16-*-*-*-c-*-iso8859-1")
116 ("Lucida Sans Typewriter.8 Bold"
117 "-*-Lucida Sans Typewriter-semibold-r-*-*-11-*-*-*-c-*-iso8859-1")
118 ("Lucida Sans Typewriter.9 Bold"
119 "-*-Lucida Sans Typewriter-semibold-r-*-*-12-*-*-*-c-*-iso8859-1")
120 ("Lucida Sans Typewriter.10 Bold"
121 "-*-Lucida Sans Typewriter-semibold-r-*-*-13-*-*-*-c-*-iso8859-1")
122 ("Lucida Sans Typewriter.11 Bold"
123 "-*-Lucida Sans Typewriter-semibold-r-*-*-15-*-*-*-c-*-iso8859-1")
124 ("Lucida Sans Typewriter.12 Bold"
125 "-*-Lucida Sans Typewriter-semibold-r-*-*-16-*-*-*-c-*-iso8859-1"))
126 ("Courier"
127 ("Courier 10x8"
128 "-*-Courier-*normal-r-*-*-*-97-*-*-c-80-iso8859-1")
129 ("Courier 12x9"
130 "-*-Courier-*normal-r-*-*-*-120-*-*-c-90-iso8859-1")
131 ("Courier 15x12"
132 "-*-Courier-*normal-r-*-*-*-150-*-*-c-120-iso8859-1")
133 ;; For these, we specify the point height.
134 ("")
135 ("8" "-*-Courier New-normal-r-*-*-11-*-*-*-c-*-iso8859-1")
136 ("9" "-*-Courier New-normal-r-*-*-12-*-*-*-c-*-iso8859-1")
137 ("10" "-*-Courier New-normal-r-*-*-13-*-*-*-c-*-iso8859-1")
138 ("11" "-*-Courier New-normal-r-*-*-15-*-*-*-c-*-iso8859-1")
139 ("12" "-*-Courier New-normal-r-*-*-16-*-*-*-c-*-iso8859-1")
140 ("8 bold" "-*-Courier New-bold-r-*-*-11-*-*-*-c-*-iso8859-1")
141 ("9 bold" "-*-Courier New-bold-r-*-*-12-*-*-*-c-*-iso8859-1")
142 ("10 bold" "-*-Courier New-bold-r-*-*-13-*-*-*-c-*-iso8859-1")
143 ("11 bold" "-*-Courier New-bold-r-*-*-15-*-*-*-c-*-iso8859-1")
144 ("12 bold" "-*-Courier New-bold-r-*-*-16-*-*-*-c-*-iso8859-1")
145 ("8 italic" "-*-Courier New-normal-i-*-*-11-*-*-*-c-*-iso8859-1")
146 ("9 italic" "-*-Courier New-normal-i-*-*-12-*-*-*-c-*-iso8859-1")
147 ("10 italic" "-*-Courier New-normal-i-*-*-13-*-*-*-c-*-iso8859-1")
148 ("11 italic" "-*-Courier New-normal-i-*-*-15-*-*-*-c-*-iso8859-1")
149 ("12 italic" "-*-Courier New-normal-i-*-*-16-*-*-*-c-*-iso8859-1")
150 ("8 bold italic" "-*-Courier New-bold-i-*-*-11-*-*-*-c-*-iso8859-1")
151 ("9 bold italic" "-*-Courier New-bold-i-*-*-12-*-*-*-c-*-iso8859-1")
152 ("10 bold italic" "-*-Courier New-bold-i-*-*-13-*-*-*-c-*-iso8859-1")
153 ("11 bold italic" "-*-Courier New-bold-i-*-*-15-*-*-*-c-*-iso8859-1")
154 ("12 bold italic" "-*-Courier New-bold-i-*-*-16-*-*-*-c-*-iso8859-1")
156 "*Fonts suitable for use in Emacs.
157 Initially this is a list of some fixed width fonts that most people
158 will have like Terminal and Courier. These fonts are used in the font
159 menu if the variable `w32-use-w32-font-dialog' is nil."
160 :type '(list
161 (string :tag "Menu Title")
162 (repeat :inline t
163 (list :tag "Submenu"
164 (string :tag "Title")
165 (repeat :inline t
166 (choice :tag ""
167 (const :tag "Seperator" (""))
168 (list :tag "Font Entry"
169 (string :tag "Menu text")
170 (string :tag "Font"))))))))
172 (defcustom x-select-enable-clipboard t
173 "*Non-nil means cutting and pasting uses the clipboard.
174 This is in addition to the primary selection."
175 :type 'boolean
176 :group 'killing)
179 ;;; w32-vars.el ends here