annotate doc/emacs/xresources.texi @ 112397:a7191495c39c

Include entries from yesterdays checkins that were in an unsaved buffer.
author Ken Manheimer <ken.manheimer@gmail.com>
date Fri, 21 Jan 2011 11:36:24 -0500
parents ef719132ddfa
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1 @c This is part of the Emacs manual.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
2 @c Copyright (C) 1987, 1993, 1994, 1995, 1997, 2001, 2002, 2003,
112218
376148b31b5e Add 2011 to FSF/AIST copyright years.
Glenn Morris <rgm@gnu.org>
parents: 109262
diff changeset
3 @c 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
4 @c See file emacs.texi for copying conditions.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
5 @node X Resources, Antinews, Emacs Invocation, Top
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
6 @appendix X Options and Resources
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
7
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
8 You can customize some X-related aspects of Emacs behavior using X
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
9 resources, as is usual for programs that use X. On MS-Windows, you
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
10 can customize some of the same aspects using the system registry.
97043
9592c50233ab Remove support for Mac Carbon.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 87903
diff changeset
11 @xref{MS-Windows Registry}.
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
12
103204
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
13 When Emacs is built using an ``X toolkit'', such as Lucid or
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
14 LessTif, you need to use X resources to customize the appearance of
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
15 the widgets, including the menu-bar, scroll-bar, and dialog boxes.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
16 This is because the libraries that implement these don't provide for
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
17 customization through Emacs. GTK+ widgets use a separate system of
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
18 @ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
19 ``GTK resources'', which we will also describe.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
20 @end ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
21 @iftex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
22 ``GTK resources.'' In this chapter we describe the most commonly used
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
23 resource specifications. For full documentation, see the online
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
24 manual.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
25
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
26 @c Add xref for LessTif/Motif menu resources.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
27 @end iftex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
28
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
29
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
30 @menu
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
31 * Resources:: Using X resources with Emacs (in general).
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
32 * Table of Resources:: Table of specific X resources that affect Emacs.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
33 * Face Resources:: X resources for customizing faces.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
34 * Lucid Resources:: X resources for Lucid menus.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
35 * LessTif Resources:: X resources for LessTif and Motif menus.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
36 * GTK resources:: Resources for GTK widgets.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
37 @end menu
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
38
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
39 @node Resources
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
40 @appendixsec X Resources
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
41 @cindex resources
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
42 @cindex X resources
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
43 @cindex @file{~/.Xdefaults} file
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
44 @cindex @file{~/.Xresources} file
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
45
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
46 Programs running under the X Window System organize their user
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
47 options under a hierarchy of classes and resources. You can specify
103204
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
48 default values for these options in your @dfn{X resource file},
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
49 usually named @file{~/.Xdefaults} or @file{~/.Xresources}. Changes in
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
50 this file do not take effect immediately, because the X server stores
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
51 its own list of resources; to update it, use the command
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
52 @command{xrdb}---for instance, @samp{xrdb ~/.Xdefaults}.
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
53
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
54 @cindex Registry (MS-Windows)
103204
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
55 (MS-Windows systems do not support X resource files; on Windows,
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
56 Emacs looks for X resources in the Windows Registry, first under the
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
57 key @samp{HKEY_CURRENT_USER\SOFTWARE\GNU\Emacs} and then under the key
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
58 @samp{HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs}. The menu and scroll
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
59 bars are native widgets on MS-Windows, so they are only customizable
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
60 via the system-wide settings in the Display Control Panel. You can
103204
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
61 also set resources using the @samp{-xrm} command line option, as
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
62 explained below.)
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
63
103204
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
64 Each line in the X resource file specifies a value for one option or
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
65 for a collection of related options. Each resource specification
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
66 consists of a @dfn{program name} and a @dfn{resource name}. Case
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
67 distinctions are significant in each of these names. Here is an
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
68 example:
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
69
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
70 @example
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
71 emacs.borderWidth: 2
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
72 @end example
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
73
103204
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
74 @ifnottex
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
75 The program name is the name of the executable file to which the
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
76 resource applies. For Emacs, this is normally @samp{emacs}. To
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
77 specify a definition that applies to all instances of Emacs,
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
78 regardless of the name of the Emacs executable, use @samp{Emacs}.
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
79
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
80 The resource name is the name of a program setting. For instance,
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
81 Emacs recognizes a @samp{borderWidth} resource that controls the width
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
82 of the external border for graphical frames.
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
83
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
84 Resources are grouped into named classes. For instance, the
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
85 @samp{BorderWidth} class contains both the @samp{borderWidth} resource
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
86 (which we just described), as well as the @samp{internalBorder}
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
87 resource, which controls the width of the internal border for
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
88 graphical frames. Instead of using a resource name, you can use a
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
89 class name to specify the same value for all resources in that class.
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
90 Here's an example:
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
91
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
92 @example
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
93 emacs.BorderWidth: 2
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
94 @end example
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
95
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
96 If you specify a value for a class, it becomes the default for all
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
97 resources in that class. You can specify values for individual
103204
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
98 resources as well; these override the class value, for those
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
99 particular resources. The following example specifies 2 as the
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
100 default width for all borders, but overrides this value with 4 for the
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
101 external border:
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
102
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
103 @example
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
104 emacs.BorderWidth: 2
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
105 emacs.borderWidth: 4
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
106 @end example
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
107 @end ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
108
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
109 The order in which the lines appear in the file does not matter.
106636
6c68929f170b * emacs.texi (Top): Update node listing.
Chong Yidong <cyd@stupidchicken.com>
parents: 103665
diff changeset
110 One way to experiment with the effect of different resource settings
6c68929f170b * emacs.texi (Top): Update node listing.
Chong Yidong <cyd@stupidchicken.com>
parents: 103665
diff changeset
111 is to use the @code{editres} program. See the @code{editres} man page
6c68929f170b * emacs.texi (Top): Update node listing.
Chong Yidong <cyd@stupidchicken.com>
parents: 103665
diff changeset
112 for more details.
6c68929f170b * emacs.texi (Top): Update node listing.
Chong Yidong <cyd@stupidchicken.com>
parents: 103665
diff changeset
113
6c68929f170b * emacs.texi (Top): Update node listing.
Chong Yidong <cyd@stupidchicken.com>
parents: 103665
diff changeset
114 Emacs does not process X resources at all if you set the variable
6c68929f170b * emacs.texi (Top): Update node listing.
Chong Yidong <cyd@stupidchicken.com>
parents: 103665
diff changeset
115 @code{inhibit-x-resources} to a non-@code{nil} value, or if you
6c68929f170b * emacs.texi (Top): Update node listing.
Chong Yidong <cyd@stupidchicken.com>
parents: 103665
diff changeset
116 specify the @samp{-Q} (or @samp{--quick}) command-line argument
6c68929f170b * emacs.texi (Top): Update node listing.
Chong Yidong <cyd@stupidchicken.com>
parents: 103665
diff changeset
117 (@pxref{Initial Options}). (The @samp{-Q} argument automatically sets
6c68929f170b * emacs.texi (Top): Update node listing.
Chong Yidong <cyd@stupidchicken.com>
parents: 103665
diff changeset
118 @code{inhibit-x-resources} to @code{t}.)
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
119
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
120 @ifnottex
106636
6c68929f170b * emacs.texi (Top): Update node listing.
Chong Yidong <cyd@stupidchicken.com>
parents: 103665
diff changeset
121 In addition, you can use the following command-line options to
6c68929f170b * emacs.texi (Top): Update node listing.
Chong Yidong <cyd@stupidchicken.com>
parents: 103665
diff changeset
122 override the X resources file:
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
123
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
124 @table @samp
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
125 @item -name @var{name}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
126 @opindex --name
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
127 @itemx --name=@var{name}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
128 @cindex resource name, command-line argument
103204
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
129 This option sets the program name of the initial Emacs frame to
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
130 @var{name}. It also sets the title of the initial frame to
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
131 @var{name}. This option does not affect subsequent frames.
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
132
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
133 If you don't specify this option, the default is to use the Emacs
103204
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
134 executable's name as the program name.
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
135
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
136 For consistency, @samp{-name} also specifies the name to use for other
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
137 resource values that do not belong to any particular frame.
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
138
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
139 The resources that name Emacs invocations also belong to a class,
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
140 named @samp{Emacs}. If you write @samp{Emacs} instead of
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
141 @samp{emacs}, the resource applies to all frames in all Emacs jobs,
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
142 regardless of frame titles and regardless of the name of the
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
143 executable file.
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
144
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
145 @item -xrm @var{resource-values}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
146 @opindex --xrm
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
147 @itemx --xrm=@var{resource-values}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
148 @cindex resource values, command-line argument
103204
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
149 This option specifies X resource values for the present Emacs job.
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
150
103204
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
151 @var{resource-values} should have the same format that you would use
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
152 inside a file of X resources. To include multiple resource
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
153 specifications in @var{resource-values}, put a newline between them,
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
154 just as you would in a file. You can also use @samp{#include
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
155 "@var{filename}"} to include a file full of resource specifications.
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
156 Resource values specified with @samp{-xrm} take precedence over all
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
157 other resource specifications.
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
158 @end table
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
159 @end ifnottex
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
160
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
161 @node Table of Resources
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
162 @appendixsec Table of X Resources for Emacs
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
163
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
164 This table lists the resource names that designate options for
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
165 Emacs, not counting those for the appearance of the menu bar, each
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
166 with the class that it belongs to:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
167
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
168 @table @asis
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
169 @item @code{background} (class @code{Background})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
170 Background color name.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
171
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
172 @ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
173 @item @code{bitmapIcon} (class @code{BitmapIcon})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
174 Use a bitmap icon (a picture of a gnu) if @samp{on}, let the window
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
175 manager choose an icon if @samp{off}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
176 @end ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
177
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
178 @item @code{borderColor} (class @code{BorderColor})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
179 Color name for the external border.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
180
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
181 @ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
182 @item @code{borderWidth} (class @code{BorderWidth})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
183 Width in pixels of the external border.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
184 @end ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
185
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
186 @item @code{cursorColor} (class @code{Foreground})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
187 Color name for text cursor (point).
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
188
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
189 @ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
190 @item @code{cursorBlink} (class @code{CursorBlink})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
191 Specifies whether to make the cursor blink. The default is @samp{on}. Use
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
192 @samp{off} or @samp{false} to turn cursor blinking off.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
193 @end ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
194
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
195 @item @code{font} (class @code{Font})
107521
54f3a4d055ee Document font-use-system-font.
Chong Yidong <cyd@stupidchicken.com>
parents: 106815
diff changeset
196 Font name for the @code{default} font. @xref{Fonts}. You can also
103204
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
197 specify a fontset name (@pxref{Fontsets}).
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
198
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
199 @item @code{fontBackend} (class @code{FontBackend})
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
200 The backend(s) to use for drawing fonts; if multiple backends are
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
201 specified, they must be comma-delimited and given in order of
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
202 precedence. On X, for instance, the value @samp{x,xft} tells Emacs to
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
203 draw fonts using the X core font driver, falling back on the Xft font
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
204 driver if that fails. Normally, you can leave this resource unset, in
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
205 which case Emacs tries using all font backends available on your
f59151915423 * xresources.texi (Resources): Simplify descriptions. Shorten
Chong Yidong <cyd@stupidchicken.com>
parents: 100974
diff changeset
206 graphical device.
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
207
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
208 @item @code{foreground} (class @code{Foreground})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
209 Color name for text.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
210
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
211 @item @code{geometry} (class @code{Geometry})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
212 Window size and position. Be careful not to specify this resource as
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
213 @samp{emacs*geometry}, because that may affect individual menus as well
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
214 as the Emacs frame itself.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
215
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
216 If this resource specifies a position, that position applies only to the
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
217 initial Emacs frame (or, in the case of a resource for a specific frame
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
218 name, only that frame). However, the size, if specified here, applies to
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
219 all frames.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
220
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
221 @ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
222 @item @code{fullscreen} (class @code{Fullscreen})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
223 The desired fullscreen size. The value can be one of @code{fullboth},
103665
340c701162a6 * emacs.c (USAGE3, standard_args): Add -mm and --maximized.
Jan Djärv <jan.h.d@swipnet.se>
parents: 103204
diff changeset
224 @code{maximized}, @code{fullwidth} or @code{fullheight}, which correspond to
340c701162a6 * emacs.c (USAGE3, standard_args): Add -mm and --maximized.
Jan Djärv <jan.h.d@swipnet.se>
parents: 103204
diff changeset
225 the command-line options @samp{-fs}, @samp{-mm}, @samp{-fw}, and @samp{-fh}
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
226 (@pxref{Window Size X}).
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
227
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
228 Note that this applies to the initial frame only.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
229 @end ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
230
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
231 @item @code{iconName} (class @code{Title})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
232 Name to display in the icon.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
233
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
234 @item @code{internalBorder} (class @code{BorderWidth})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
235 Width in pixels of the internal border.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
236
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
237 @item @code{lineSpacing} (class @code{LineSpacing})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
238 @cindex line spacing
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
239 @cindex leading
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
240 Additional space (@dfn{leading}) between lines, in pixels.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
241
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
242 @item @code{menuBar} (class @code{MenuBar})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
243 @cindex menu bar
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
244 Give frames menu bars if @samp{on}; don't have menu bars if @samp{off}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
245 @ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
246 @xref{Lucid Resources}, and @ref{LessTif Resources},
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
247 @end ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
248 @iftex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
249 @xref{Lucid Resources},
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
250 @end iftex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
251 for how to control the appearance of the menu bar if you have one.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
252
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
253 @ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
254 @item @code{minibuffer} (class @code{Minibuffer})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
255 If @samp{none}, don't make a minibuffer in this frame.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
256 It will use a separate minibuffer frame instead.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
257
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
258 @item @code{paneFont} (class @code{Font})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
259 @cindex font for menus
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
260 Font name for menu pane titles, in non-toolkit versions of Emacs.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
261 @end ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
262
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
263 @item @code{pointerColor} (class @code{Foreground})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
264 Color of the mouse cursor.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
265
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
266 @ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
267 @item @code{privateColormap} (class @code{PrivateColormap})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
268 If @samp{on}, use a private color map, in the case where the ``default
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
269 visual'' of class PseudoColor and Emacs is using it.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
270
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
271 @item @code{reverseVideo} (class @code{ReverseVideo})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
272 Switch foreground and background default colors if @samp{on}, use colors as
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
273 specified if @samp{off}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
274 @end ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
275
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
276 @item @code{screenGamma} (class @code{ScreenGamma})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
277 @cindex gamma correction
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
278 Gamma correction for colors, equivalent to the frame parameter
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
279 @code{screen-gamma}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
280
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
281 @item @code{scrollBarWidth} (class @code{ScrollBarWidth})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
282 @cindex scrollbar width
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
283 The scroll bar width in pixels, equivalent to the frame parameter
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
284 @code{scroll-bar-width}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
285
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
286 @ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
287 @item @code{selectionFont} (class @code{SelectionFont})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
288 Font name for pop-up menu items, in non-toolkit versions of Emacs. (For
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
289 toolkit versions, see @ref{Lucid Resources}, also see @ref{LessTif
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
290 Resources}.)
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
291
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
292 @item @code{selectionTimeout} (class @code{SelectionTimeout})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
293 Number of milliseconds to wait for a selection reply.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
294 If the selection owner doesn't reply in this time, we give up.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
295 A value of 0 means wait as long as necessary.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
296
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
297 @item @code{synchronous} (class @code{Synchronous})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
298 @cindex debugging X problems
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
299 @cindex synchronous X mode
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
300 Run Emacs in synchronous mode if @samp{on}. Synchronous mode is
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
301 useful for debugging X problems.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
302 @end ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
303
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
304 @item @code{title} (class @code{Title})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
305 Name to display in the title bar of the initial Emacs frame.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
306
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
307 @item @code{toolBar} (class @code{ToolBar})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
308 @cindex tool bar
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
309 Number of lines to reserve for the tool bar. A zero value suppresses
107526
af52c11fa4bd bug #5736: Allow X-resource menuBar to take on/off as documented.
Jan D. <jan.h.d@swipnet.se>
parents: 107521
diff changeset
310 the tool bar. For the Emacs tool bar (i.e. not Gtk+), if the value is
af52c11fa4bd bug #5736: Allow X-resource menuBar to take on/off as documented.
Jan D. <jan.h.d@swipnet.se>
parents: 107521
diff changeset
311 non-zero and @code{auto-resize-tool-bars} is non-@code{nil}, the tool bar's
af52c11fa4bd bug #5736: Allow X-resource menuBar to take on/off as documented.
Jan D. <jan.h.d@swipnet.se>
parents: 107521
diff changeset
312 size will be changed automatically so that all tool bar items are visible.
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
313 If the value of @code{auto-resize-tool-bars} is @code{grow-only},
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
314 the tool bar expands automatically, but does not contract automatically.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
315 To contract the tool bar, you must redraw the frame by entering @kbd{C-l}.
107526
af52c11fa4bd bug #5736: Allow X-resource menuBar to take on/off as documented.
Jan D. <jan.h.d@swipnet.se>
parents: 107521
diff changeset
316 For the Gtk+ tool bar, any non-zero value means on and
af52c11fa4bd bug #5736: Allow X-resource menuBar to take on/off as documented.
Jan D. <jan.h.d@swipnet.se>
parents: 107521
diff changeset
317 @code{auto-resize-tool-bars} has no effect.
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
318
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
319 @item @code{useXIM} (class @code{UseXIM})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
320 @cindex XIM
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
321 @cindex X input methods
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
322 @cindex input methods, X
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
323 Turn off use of X input methods (XIM) if @samp{false} or @samp{off}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
324 This is only relevant if your Emacs is actually built with XIM
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
325 support. It is potentially useful to turn off XIM for efficiency,
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
326 especially slow X client/server links.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
327
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
328 @item @code{verticalScrollBars} (class @code{ScrollBars})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
329 Give frames scroll bars if @samp{on}; don't have scroll bars if
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
330 @samp{off}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
331
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
332 @ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
333 @item @code{visualClass} (class @code{VisualClass})
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
334 Specify the ``visual'' that X should use. This tells X how to handle
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
335 colors.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
336
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
337 The value should start with one of @samp{TrueColor},
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
338 @samp{PseudoColor}, @samp{DirectColor}, @samp{StaticColor},
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
339 @samp{GrayScale}, and @samp{StaticGray}, followed by
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
340 @samp{-@var{depth}}, where @var{depth} is the number of color planes.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
341 Most terminals only allow a few ``visuals,'' and the @samp{dpyinfo}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
342 program outputs information saying which ones.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
343 @end ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
344 @end table
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
345
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
346 @node Face Resources
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
347 @appendixsec X Resources for Faces
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
348
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
349 You can use resources to customize the appearance of particular
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
350 faces (@pxref{Faces}):
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
351
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
352 @table @code
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
353 @item @var{face}.attributeForeground
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
354 Foreground color for face @var{face}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
355 @item @var{face}.attributeBackground
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
356 Background color for face @var{face}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
357 @item @var{face}.attributeUnderline
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
358 Underline flag for face @var{face}. Use @samp{on} or @samp{true} for
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
359 yes.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
360 @item @var{face}.attributeStrikeThrough
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
361 @itemx @var{face}.attributeOverline
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
362 @itemx @var{face}.attributeBox
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
363 @itemx @var{face}.attributeInverse
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
364 Likewise, for other boolean font attributes.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
365 @item @var{face}.attributeStipple
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
366 The name of a pixmap data file to use for the stipple pattern, or
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
367 @code{false} to not use stipple for the face @var{face}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
368 @item @var{face}.attributeBackgroundPixmap
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
369 The background pixmap for the face @var{face}. Should be a name of a
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
370 pixmap file or @code{false}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
371 @item @var{face}.attributeFont
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
372 Font name (full XFD name or valid X abbreviation) for face @var{face}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
373 Instead of this, you can specify the font through separate attributes.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
374 @end table
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
375
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
376 Instead of using @code{attributeFont} to specify a font name, you can
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
377 select a font through these separate attributes:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
378
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
379 @table @code
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
380 @item @var{face}.attributeFamily
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
381 Font family for face @var{face}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
382 @item @var{face}.attributeHeight
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
383 Height of the font to use for face @var{face}: either an integer
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
384 specifying the height in units of 1/10@dmn{pt}, or a floating point
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
385 number that specifies a scale factor to scale the underlying face's
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
386 default font, or a function to be called with the default height which
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
387 will return a new height.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
388 @item @var{face}.attributeWidth
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
389 @itemx @var{face}.attributeWeight
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
390 @itemx @var{face}.attributeSlant
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
391 Each of these resources corresponds to a like-named font attribute,
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
392 and you write the resource value the same as the symbol you would use
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
393 for the font attribute value.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
394 @item @var{face}.attributeBold
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
395 Bold flag for face @var{face}---instead of @code{attributeWeight}. Use @samp{on} or @samp{true} for
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
396 yes.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
397 @item @var{face}.attributeItalic
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
398 Italic flag for face @var{face}---instead of @code{attributeSlant}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
399 @end table
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
400
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
401 @node Lucid Resources
107827
aa85632b7860 Use XFT in Lucid dialogs if available.
Jan D. <jan.h.d@swipnet.se>
parents: 107804
diff changeset
402 @appendixsec Lucid Menu And Dialog X Resources
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
403 @cindex Menu X Resources (Lucid widgets)
107827
aa85632b7860 Use XFT in Lucid dialogs if available.
Jan D. <jan.h.d@swipnet.se>
parents: 107804
diff changeset
404 @cindex Dialog X Resources (Lucid widgets)
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
405 @cindex Lucid Widget X Resources
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
406
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
407 @ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
408 If the Emacs installed at your site was built to use the X toolkit
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
409 with the Lucid menu widgets, then the menu bar is a separate widget and
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
410 has its own resources. The resource names contain @samp{pane.menubar}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
411 (following, as always, the name of the Emacs invocation, or @samp{Emacs},
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
412 which stands for all Emacs invocations). Specify them like this:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
413
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
414 @example
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
415 Emacs.pane.menubar.@var{resource}: @var{value}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
416 @end example
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
417
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
418 @noindent
107804
24c4451bcaf7 Lucid menus can now use Xft for fonts.
Jan D. <jan.h.d@swipnet.se>
parents: 107526
diff changeset
419 For example, to specify the font @samp{Courier-12} for the menu-bar items,
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
420 write this:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
421 @end ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
422 @iftex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
423 If the Emacs installed at your site was built to use the X toolkit
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
424 with the Lucid menu widgets, then the menu bar is a separate widget
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
425 and has its own resources. The resource specifications start with
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
426 @samp{Emacs.pane.menubar}---for instance, to specify the font
107804
24c4451bcaf7 Lucid menus can now use Xft for fonts.
Jan D. <jan.h.d@swipnet.se>
parents: 107526
diff changeset
427 @samp{Courier-12} for the menu-bar items, write this:
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
428 @end iftex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
429
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
430 @example
107804
24c4451bcaf7 Lucid menus can now use Xft for fonts.
Jan D. <jan.h.d@swipnet.se>
parents: 107526
diff changeset
431 Emacs.pane.menubar.faceName: Courier-12
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
432 @end example
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
433
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
434 @noindent
107804
24c4451bcaf7 Lucid menus can now use Xft for fonts.
Jan D. <jan.h.d@swipnet.se>
parents: 107526
diff changeset
435 To specify a font, use fontconfig font names as values to the @code{faceName}
24c4451bcaf7 Lucid menus can now use Xft for fonts.
Jan D. <jan.h.d@swipnet.se>
parents: 107526
diff changeset
436 resource.
24c4451bcaf7 Lucid menus can now use Xft for fonts.
Jan D. <jan.h.d@swipnet.se>
parents: 107526
diff changeset
437
109302
60516122d066 Merge changes from emacs-23 branch.
Chong Yidong <cyd@stupidchicken.com>
parents: 107827 109262
diff changeset
438 If Emacs is not built with the Xft library, Lucid menus and dialogs
60516122d066 Merge changes from emacs-23 branch.
Chong Yidong <cyd@stupidchicken.com>
parents: 107827 109262
diff changeset
439 can only display old style fonts. If Emacs is built with Xft and you
60516122d066 Merge changes from emacs-23 branch.
Chong Yidong <cyd@stupidchicken.com>
parents: 107827 109262
diff changeset
440 prefer the old fonts, you have to specify @samp{none} to
60516122d066 Merge changes from emacs-23 branch.
Chong Yidong <cyd@stupidchicken.com>
parents: 107827 109262
diff changeset
441 @code{faceName}:
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
442
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
443 @example
109302
60516122d066 Merge changes from emacs-23 branch.
Chong Yidong <cyd@stupidchicken.com>
parents: 107827 109262
diff changeset
444 Emacs.pane.menubar.faceName: none
60516122d066 Merge changes from emacs-23 branch.
Chong Yidong <cyd@stupidchicken.com>
parents: 107827 109262
diff changeset
445 Emacs.pane.dialog.faceName: none
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
446 @end example
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
447
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
448 @noindent
107804
24c4451bcaf7 Lucid menus can now use Xft for fonts.
Jan D. <jan.h.d@swipnet.se>
parents: 107526
diff changeset
449 To specify a non-Xft font, use @code{font}. For example:
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
450
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
451 @example
107804
24c4451bcaf7 Lucid menus can now use Xft for fonts.
Jan D. <jan.h.d@swipnet.se>
parents: 107526
diff changeset
452 Emacs.pane.menubar.font: lucidasanstypewriter-10
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
453 @end example
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
454
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
455 @noindent
107804
24c4451bcaf7 Lucid menus can now use Xft for fonts.
Jan D. <jan.h.d@swipnet.se>
parents: 107526
diff changeset
456 The Lucid menus can display multilingual text in your locale with old style
24c4451bcaf7 Lucid menus can now use Xft for fonts.
Jan D. <jan.h.d@swipnet.se>
parents: 107526
diff changeset
457 fonts. For more information about fontsets see the man page for
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
458 @code{XCreateFontSet}. To enable multilingual menu text you specify a
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
459 @code{fontSet} resource instead of the font resource. If both
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
460 @code{font} and @code{fontSet} resources are specified, the
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
461 @code{fontSet} resource is used.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
462
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
463 Thus, to specify @samp{-*-helvetica-medium-r-*--*-120-*-*-*-*-*-*,*}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
464 for both the popup and menu bar menus, write this:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
465
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
466 @example
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
467 Emacs*menu*fontSet: -*-helvetica-medium-r-*--*-120-*-*-*-*-*-*,*
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
468 @end example
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
469
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
470 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
471 Resources for @emph{non-menubar} toolkit pop-up menus have
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
472 @samp{menu*} instead of @samp{pane.menubar}. For example, to specify
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
473 the font @samp{8x16} for the pop-up menu items, write this:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
474
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
475 @example
109302
60516122d066 Merge changes from emacs-23 branch.
Chong Yidong <cyd@stupidchicken.com>
parents: 107827 109262
diff changeset
476 Emacs.menu*.font: 8x16
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
477 @end example
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
478
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
479 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
480 For dialog boxes, use @samp{dialog*}:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
481
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
482 @example
110280
d8acb9ea46fd * doc/emacs/xresources.texi: Untabify.
Glenn Morris <rgm@gnu.org>
parents: 109302
diff changeset
483 Emacs.dialog*.faceName: Sans-12
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
484 @end example
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
485
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
486 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
487 The @samp{*menu*} as a wildcard matches @samp{pane.menubar} and
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
488 @samp{menu@dots{}}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
489
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
490 Experience shows that on some systems you may need to add
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
491 @samp{shell.}@: before the @samp{pane.menubar} or @samp{menu*}. On
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
492 some other systems, you must not add @samp{shell.}. The generic wildcard
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
493 approach should work on both kinds of systems.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
494
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
495 Here is a list of the specific resources for menu bars and pop-up menus:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
496
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
497 @table @code
107804
24c4451bcaf7 Lucid menus can now use Xft for fonts.
Jan D. <jan.h.d@swipnet.se>
parents: 107526
diff changeset
498 @item faceName
24c4451bcaf7 Lucid menus can now use Xft for fonts.
Jan D. <jan.h.d@swipnet.se>
parents: 107526
diff changeset
499 Xft font for menu item text.
84274
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
500 @item font
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
501 Font for menu item text.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
502 @item fontSet
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
503 Fontset for menu item text.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
504 @item foreground
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
505 Color of the foreground.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
506 @item background
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
507 Color of the background.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
508 @item buttonForeground
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
509 In the menu bar, the color of the foreground for a selected item.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
510 @ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
511 @item horizontalSpacing
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
512 Horizontal spacing in pixels between items. Default is 3.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
513 @item verticalSpacing
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
514 Vertical spacing in pixels between items. Default is 2.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
515 @item arrowSpacing
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
516 Horizontal spacing between the arrow (which indicates a submenu) and
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
517 the associated text. Default is 10.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
518 @item shadowThickness
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
519 Thickness of shadow line around the widget. Default is 1.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
520
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
521 Also determines the thickness of shadow lines around other objects,
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
522 for instance 3D buttons and arrows. If you have the impression that
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
523 the arrows in the menus do not stand out clearly enough or that the
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
524 difference between ``in'' and ``out'' buttons is difficult to see, set
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
525 this to 2. If you have no problems with visibility, the default
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
526 probably looks better. The background color may also have some effect
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
527 on the contrast.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
528 @end ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
529 @item margin
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
530 The margin of the menu bar, in characters. Default is 1.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
531 @end table
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
532
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
533 @ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
534 @node LessTif Resources
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
535 @appendixsec LessTif Menu X Resources
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
536 @cindex Menu X Resources (LessTif widgets)
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
537 @cindex LessTif Widget X Resources
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
538
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
539 If the Emacs installed at your site was built to use the X toolkit
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
540 with the LessTif or Motif widgets, then the menu bar, the dialog
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
541 boxes, the pop-up menus, and the file-selection box are separate
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
542 widgets and have their own resources.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
543
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
544 The resource names for the menu bar contain @samp{pane.menubar}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
545 (following, as always, the name of the Emacs invocation, or
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
546 @samp{Emacs}, which stands for all Emacs invocations). Specify them
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
547 like this:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
548
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
549 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
550 Emacs.pane.menubar.@var{subwidget}.@var{resource}: @var{value}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
551 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
552
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
553 Each individual string in the menu bar is a subwidget; the subwidget's
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
554 name is the same as the menu item string. For example, the word
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
555 @samp{File} in the menu bar is part of a subwidget named
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
556 @samp{emacs.pane.menubar.File}. Most likely, you want to specify the
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
557 same resources for the whole menu bar. To do this, use @samp{*} instead
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
558 of a specific subwidget name. For example, to specify the font
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
559 @samp{8x16} for the menu-bar items, write this:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
560
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
561 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
562 Emacs.pane.menubar.*.fontList: 8x16
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
563 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
564
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
565 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
566 This also specifies the resource value for submenus.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
567
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
568 Each item in a submenu in the menu bar also has its own name for X
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
569 resources; for example, the @samp{File} submenu has an item named
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
570 @samp{Save (current buffer)}. A resource specification for a submenu
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
571 item looks like this:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
572
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
573 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
574 Emacs.pane.menubar.popup_*.@var{menu}.@var{item}.@var{resource}: @var{value}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
575 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
576
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
577 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
578 For example, here's how to specify the font for the @samp{Save (current
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
579 buffer)} item:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
580
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
581 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
582 Emacs.pane.menubar.popup_*.File.Save (current buffer).fontList: 8x16
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
583 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
584
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
585 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
586 For an item in a second-level submenu, such as @samp{Complete Word}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
587 under @samp{Spell Checking} under @samp{Tools}, the resource fits this
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
588 template:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
589
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
590 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
591 Emacs.pane.menubar.popup_*.popup_*.@var{menu}.@var{resource}: @var{value}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
592 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
593
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
594 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
595 For example,
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
596
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
597 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
598 Emacs.pane.menubar.popup_*.popup_*.Spell Checking.Complete Word: @var{value}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
599 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
600
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
601 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
602 (This should be one long line.)
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
603
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
604 It's impossible to specify a resource for all the menu-bar items
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
605 without also specifying it for the submenus as well. So if you want the
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
606 submenu items to look different from the menu bar itself, you must ask
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
607 for that in two steps. First, specify the resource for all of them;
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
608 then, override the value for submenus alone. Here is an example:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
609
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
610 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
611 Emacs.pane.menubar.*.fontList: 8x16
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
612 Emacs.pane.menubar.popup_*.fontList: 8x16
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
613 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
614
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
615 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
616 For LessTif pop-up menus, use @samp{menu*} instead of
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
617 @samp{pane.menubar}. For example, to specify the font @samp{8x16} for
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
618 the pop-up menu items, write this:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
619
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
620 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
621 Emacs.menu*.fontList: 8x16
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
622 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
623
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
624 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
625 For LessTif dialog boxes, use @samp{dialog} instead of @samp{menu}:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
626
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
627 @example
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
628 Emacs.dialog*.fontList: 8x16
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
629 Emacs.dialog*.foreground: hotpink
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
630 @end example
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
631
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
632 To specify resources for the LessTif file-selection box, use
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
633 @samp{fsb*}, like this:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
634
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
635 @example
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
636 Emacs.fsb*.fontList: 8x16
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
637 @end example
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
638
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
639 @iftex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
640 @medbreak
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
641 @end iftex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
642 Here is a list of the specific resources for LessTif menu bars and
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
643 pop-up menus:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
644
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
645 @table @code
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
646 @item armColor
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
647 The color to show in an armed button.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
648 @item fontList
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
649 The font to use.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
650 @item marginBottom
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
651 @itemx marginHeight
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
652 @itemx marginLeft
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
653 @itemx marginRight
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
654 @itemx marginTop
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
655 @itemx marginWidth
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
656 Amount of space to leave around the item, within the border.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
657 @item borderWidth
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
658 The width of the border around the menu item, on all sides.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
659 @item shadowThickness
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
660 The width of the border shadow.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
661 @item bottomShadowColor
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
662 The color for the border shadow, on the bottom and the right.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
663 @item topShadowColor
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
664 The color for the border shadow, on the top and the left.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
665 @end table
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
666 @end ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
667
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
668
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
669 @node GTK resources
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
670 @appendixsec GTK resources
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
671 @iftex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
672 The most common way to customize the GTK widgets Emacs uses (menus, dialogs
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
673 tool bars and scroll bars) is by choosing an appropriate theme, for example
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
674 with the GNOME theme selector. You can also do Emacs specific customization
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
675 by inserting GTK style directives in the file @file{~/.emacs.d/gtkrc}. Some GTK
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
676 themes ignore customizations in @file{~/.emacs.d/gtkrc} so not everything
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
677 works with all themes. To customize Emacs font, background, faces, etc., use
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
678 the normal X resources (@pxref{Resources}). We will present some examples of
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
679 customizations here, but for a more detailed description, see the online manual
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
680
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
681 The first example is just one line. It changes the font on all GTK widgets
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
682 to courier with size 12:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
683
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
684 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
685 gtk-font-name = "courier 12"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
686 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
687
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
688 The thing to note is that the font name is not an X font name, like
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
689 -*-helvetica-medium-r-*--*-120-*-*-*-*-*-*, but a Pango font name. A Pango
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
690 font name is basically of the format "family style size", where the style
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
691 is optional as in the case above. A name with a style could be for example:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
692
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
693 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
694 gtk-font-name = "helvetica bold 10"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
695 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
696
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
697 To customize widgets you first define a style and then apply the style to
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
698 the widgets. Here is an example that sets the font for menus, but not
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
699 for other widgets:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
700
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
701 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
702 # @r{Define the style @samp{menufont}.}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
703 style "menufont"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
704 @{
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
705 font_name = "helvetica bold 14" # This is a Pango font name
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
706 @}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
707
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
708 # @r{Specify that widget type @samp{*emacs-menuitem*} uses @samp{menufont}.}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
709 widget "*emacs-menuitem*" style "menufont"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
710 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
711
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
712 The widget name in this example contains wildcards, so the style will be
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
713 applied to all widgets that match "*emacs-menuitem*". The widgets are
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
714 named by the way they are contained, from the outer widget to the inner widget.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
715 So to apply the style "my_style" (not shown) with the full, absolute name, for
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
716 the menubar and the scroll bar in Emacs we use:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
717
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
718 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
719 widget "Emacs.pane.menubar" style "my_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
720 widget "Emacs.pane.emacs.verticalScrollBar" style "my_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
721 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
722
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
723 But to avoid having to type it all, wildcards are often used. @samp{*}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
724 matches zero or more characters and @samp{?} matches one character. So "*"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
725 matches all widgets.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
726
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
727 Each widget has a class (for example GtkMenuItem) and a name (emacs-menuitem).
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
728 You can assign styles by name or by class. In this example we have used the
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
729 class:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
730
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
731 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
732 style "menufont"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
733 @{
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
734 font_name = "helvetica bold 14"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
735 @}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
736
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
737 widget_class "*GtkMenuBar" style "menufont"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
738 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
739
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
740 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
741 The names and classes for the GTK widgets Emacs uses are:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
742
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
743 @multitable {@code{verticalScrollbar plus}} {@code{GtkFileSelection} and some}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
744 @item @code{emacs-filedialog}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
745 @tab @code{GtkFileSelection}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
746 @item @code{emacs-dialog}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
747 @tab @code{GtkDialog}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
748 @item @code{Emacs}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
749 @tab @code{GtkWindow}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
750 @item @code{pane}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
751 @tab @code{GtkVHbox}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
752 @item @code{emacs}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
753 @tab @code{GtkFixed}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
754 @item @code{verticalScrollBar}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
755 @tab @code{GtkVScrollbar}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
756 @item @code{emacs-toolbar}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
757 @tab @code{GtkToolbar}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
758 @item @code{menubar}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
759 @tab @code{GtkMenuBar}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
760 @item @code{emacs-menuitem}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
761 @tab anything in menus
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
762 @end multitable
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
763
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
764 GTK absolute names are quite strange when it comes to menus
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
765 and dialogs. The names do not start with @samp{Emacs}, as they are
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
766 free-standing windows and not contained (in the GTK sense) by the
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
767 Emacs GtkWindow. To customize the dialogs and menus, use wildcards like this:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
768
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
769 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
770 widget "*emacs-dialog*" style "my_dialog_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
771 widget "*emacs-filedialog* style "my_file_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
772 widget "*emacs-menuitem* style "my_menu_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
773 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
774
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
775 If you specify a customization in @file{~/.emacs.d/gtkrc}, then it
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
776 automatically applies only to Emacs, since other programs don't read
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
777 that file. For example, the drop down menu in the file dialog can not
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
778 be customized by any absolute widget name, only by an absolute class
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
779 name. This is because the widgets in the drop down menu do not
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
780 have names and the menu is not contained in the Emacs GtkWindow. To
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
781 have all menus in Emacs look the same, use this in
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
782 @file{~/.emacs.d/gtkrc}:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
783
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
784 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
785 widget_class "*Menu*" style "my_menu_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
786 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
787
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
788 Here is a more elaborate example, showing how to change the parts of
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
789 the scroll bar:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
790
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
791 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
792 style "scroll"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
793 @{
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
794 fg[NORMAL] = "red"@ @ @ @ @ # @r{The arrow color.}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
795 bg[NORMAL] = "yellow"@ @ # @r{The thumb and background around the arrow.}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
796 bg[ACTIVE] = "blue"@ @ @ @ # @r{The trough color.}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
797 bg[PRELIGHT] = "white"@ # @r{The thumb color when the mouse is over it.}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
798 @}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
799
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
800 widget "*verticalScrollBar*" style "scroll"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
801 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
802 @end iftex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
803
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
804 @ifnottex
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
805 @cindex GTK resources and customization
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
806 @cindex resource files for GTK
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
807 @cindex @file{~/.gtkrc-2.0} file
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
808 @cindex @file{~/.emacs.d/gtkrc} file
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
809
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
810 If Emacs was built to use the GTK widget set, then the menu bar, tool bar,
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
811 scroll bar and the dialogs are customized with the standard GTK
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
812 customization file, @file{~/.gtkrc-2.0}, or with the Emacs specific
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
813 file @file{~/.emacs.d/gtkrc}. We recommend that you use
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
814 @file{~/.emacs.d/gtkrc} for customizations, since @file{~/.gtkrc-2.0}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
815 seems to be ignored when running GConf with GNOME. These files apply
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
816 only to GTK widget features. To customize Emacs font, background,
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
817 faces, etc., use the normal X resources (@pxref{Resources}).
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
818
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
819 Some GTK themes override these mechanisms, which means that using
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
820 these mechanisms will not work to customize them.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
821
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
822 In these files you first define a style and say what it means; then
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
823 you specify to apply the style to various widget types (@pxref{GTK
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
824 widget names}). Here is an example of how to change the font for
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
825 Emacs menus:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
826
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
827 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
828 # @r{Define the style @samp{menufont}.}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
829 style "menufont"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
830 @{
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
831 font_name = "helvetica bold 14" # This is a Pango font name
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
832 @}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
833
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
834 # @r{Specify that widget type @samp{*emacs-menuitem*} uses @samp{menufont}.}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
835 widget "*emacs-menuitem*" style "menufont"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
836 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
837
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
838 Here is a more elaborate example, showing how to change the parts of
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
839 the scroll bar:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
840
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
841 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
842 style "scroll"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
843 @{
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
844 fg[NORMAL] = "red"@ @ @ @ @ # @r{The arrow color.}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
845 bg[NORMAL] = "yellow"@ @ # @r{The thumb and background around the arrow.}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
846 bg[ACTIVE] = "blue"@ @ @ @ # @r{The trough color.}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
847 bg[PRELIGHT] = "white"@ # @r{The thumb color when the mouse is over it.}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
848 @}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
849
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
850 widget "*verticalScrollBar*" style "scroll"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
851 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
852
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
853 There are also parameters that affect GTK as a whole. For example,
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
854 the property @code{gtk-font-name} sets the default font for GTK. You
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
855 must use Pango font names (@pxref{GTK styles}). A GTK resources file
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
856 that just sets a default font looks like this:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
857
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
858 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
859 gtk-font-name = "courier 12"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
860 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
861
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
862 The GTK resources file is fully described in the GTK API document.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
863 This can be found in
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
864 @file{@var{prefix}/share/gtk-doc/html/gtk/gtk-resource-files.html},
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
865 where @file{prefix} is the directory in which the GTK libraries were
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
866 installed (usually @file{/usr} or @file{/usr/local}). You can also
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
867 find the document online, at
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
868 @uref{http://developer.gnome.org/doc/API/2.0/gtk/gtk-Resource-Files.html}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
869
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
870 @menu
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
871 * GTK widget names:: How widgets in GTK are named in general.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
872 * GTK Names in Emacs:: GTK widget names in Emacs.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
873 * GTK styles:: What can be customized in a GTK widget.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
874 @end menu
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
875
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
876 @node GTK widget names
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
877 @appendixsubsec GTK widget names
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
878 @cindex GTK widget names
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
879
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
880 A GTK widget is specified by its @dfn{widget class} and
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
881 @dfn{widget name}. The widget class is the type of the widget: for
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
882 example, @code{GtkMenuBar}. The widget name is the name given to a
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
883 specific widget. A widget always has a class, but need not have a
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
884 name.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
885
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
886 @dfn{Absolute names} are sequences of widget names or widget
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
887 classes, corresponding to hierarchies of widgets embedded within
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
888 other widgets. For example, if a @code{GtkWindow} named @code{top}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
889 contains a @code{GtkVBox} named @code{box}, which in turn contains
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
890 a @code{GtkMenuBar} called @code{menubar}, the absolute class name
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
891 of the menu-bar widget is @code{GtkWindow.GtkVBox.GtkMenuBar}, and
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
892 its absolute widget name is @code{top.box.menubar}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
893
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
894 When assigning a style to a widget, you can use the absolute class
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
895 name or the absolute widget name.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
896
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
897 There are two commands to specify changes for widgets:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
898
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
899 @table @asis
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
900 @item @code{widget_class}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
901 specifies a style for widgets based on the absolute class name.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
902
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
903 @item @code{widget}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
904 specifies a style for widgets based on the absolute class name,
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
905 or just the class.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
906 @end table
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
907
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
908 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
909 You must specify the class and the style in double-quotes, and put
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
910 these commands at the top level in the GTK customization file, like
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
911 this:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
912
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
913 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
914 style "menufont"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
915 @{
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
916 font_name = "helvetica bold 14"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
917 @}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
918
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
919 widget "top.box.menubar" style "menufont"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
920 widget_class "GtkWindow.GtkVBox.GtkMenuBar" style "menufont"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
921 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
922
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
923 Matching of absolute names uses shell wildcard syntax: @samp{*}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
924 matches zero or more characters and @samp{?} matches one character.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
925 This example assigns @code{base_style} to all widgets:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
926
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
927 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
928 widget "*" style "base_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
929 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
930
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
931 Given the absolute class name @code{GtkWindow.GtkVBox.GtkMenuBar}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
932 and the corresponding absolute widget name @code{top.box.menubar}, all
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
933 these examples specify @code{my_style} for the menu bar:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
934
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
935 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
936 widget_class "GtkWindow.GtkVBox.GtkMenuBar" style "my_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
937 widget_class "GtkWindow.*.GtkMenuBar" style "my_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
938 widget_class "*GtkMenuBar" style "my_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
939 widget "top.box.menubar" style "my_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
940 widget "*box*menubar" style "my_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
941 widget "*menubar" style "my_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
942 widget "*menu*" style "my_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
943 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
944
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
945 @node GTK Names in Emacs
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
946 @appendixsubsec GTK Widget Names in Emacs
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
947 @cindex GTK widget names
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
948 @cindex GTK widget classes
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
949
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
950 In Emacs, the top level widget for a frame is a @code{GtkWindow}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
951 that contains a @code{GtkVBox}. The @code{GtkVBox} contains the
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
952 @code{GtkMenuBar} and a @code{GtkFixed} widget. The vertical scroll
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
953 bars, @code{GtkVScrollbar}, are contained in the @code{GtkFixed}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
954 widget. The text you write in Emacs is drawn in the @code{GtkFixed}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
955 widget.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
956
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
957 Dialogs in Emacs are @code{GtkDialog} widgets. The file dialog is a
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
958 @code{GtkFileSelection} widget.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
959
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
960 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
961 To set a style for the menu bar using the absolute class name, use:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
962
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
963 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
964 widget_class "GtkWindow.GtkVBox.GtkMenuBar" style "my_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
965 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
966
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
967 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
968 For the scroll bar, the absolute class name is:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
969
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
970 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
971 widget_class
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
972 "GtkWindow.GtkVBox.GtkFixed.GtkVScrollbar"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
973 style "my_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
974 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
975
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
976 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
977 The names for the emacs widgets, and their classes, are:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
978
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
979 @multitable {@code{verticalScrollbar plus}} {@code{GtkFileSelection} and some}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
980 @item @code{emacs-filedialog}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
981 @tab @code{GtkFileSelection}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
982 @item @code{emacs-dialog}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
983 @tab @code{GtkDialog}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
984 @item @code{Emacs}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
985 @tab @code{GtkWindow}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
986 @item @code{pane}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
987 @tab @code{GtkVHbox}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
988 @item @code{emacs}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
989 @tab @code{GtkFixed}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
990 @item @code{verticalScrollBar}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
991 @tab @code{GtkVScrollbar}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
992 @item @code{emacs-toolbar}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
993 @tab @code{GtkToolbar}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
994 @item @code{menubar}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
995 @tab @code{GtkMenuBar}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
996 @item @code{emacs-menuitem}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
997 @tab anything in menus
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
998 @end multitable
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
999
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1000 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1001 Thus, for Emacs you can write the two examples above as:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1002
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1003 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1004 widget "Emacs.pane.menubar" style "my_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1005 widget "Emacs.pane.emacs.verticalScrollBar" style "my_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1006 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1007
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1008 GTK absolute names are quite strange when it comes to menus
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1009 and dialogs. The names do not start with @samp{Emacs}, as they are
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1010 free-standing windows and not contained (in the GTK sense) by the
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1011 Emacs GtkWindow. To customize the dialogs and menus, use wildcards like this:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1012
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1013 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1014 widget "*emacs-dialog*" style "my_dialog_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1015 widget "*emacs-filedialog* style "my_file_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1016 widget "*emacs-menuitem* style "my_menu_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1017 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1018
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1019 If you specify a customization in @file{~/.emacs.d/gtkrc}, then it
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1020 automatically applies only to Emacs, since other programs don't read
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1021 that file. For example, the drop down menu in the file dialog can not
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1022 be customized by any absolute widget name, only by an absolute class
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1023 name. This is because the widgets in the drop down menu do not
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1024 have names and the menu is not contained in the Emacs GtkWindow. To
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1025 have all menus in Emacs look the same, use this in
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1026 @file{~/.emacs.d/gtkrc}:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1027
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1028 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1029 widget_class "*Menu*" style "my_menu_style"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1030 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1031
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1032 @node GTK styles
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1033 @appendixsubsec GTK styles
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1034 @cindex GTK styles
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1035
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1036 In a GTK style you specify the appearance widgets shall have. You
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1037 can specify foreground and background color, background pixmap and
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1038 font. The edit widget (where you edit the text) in Emacs is a GTK
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1039 widget, but trying to specify a style for the edit widget will have no
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1040 effect. This is so that Emacs compiled for GTK is compatible with
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1041 Emacs compiled for other X toolkits. The settings for foreground,
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1042 background and font for the edit widget is taken from the X resources;
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1043 @pxref{Resources}. Here is an example of two style declarations,
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1044 @samp{default} and @samp{ruler}:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1045
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1046 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1047 pixmap_path "/usr/share/pixmaps:/usr/include/X11/pixmaps"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1048
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1049 style "default"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1050 @{
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1051 font_name = "helvetica 12"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1052
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1053 bg[NORMAL] = @{ 0.83, 0.80, 0.73 @}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1054 bg[SELECTED] = @{ 0.0, 0.55, 0.55 @}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1055 bg[INSENSITIVE] = @{ 0.77, 0.77, 0.66 @}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1056 bg[ACTIVE] = @{ 0.0, 0.55, 0.55 @}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1057 bg[PRELIGHT] = @{ 0.0, 0.55, 0.55 @}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1058
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1059 fg[NORMAL] = "black"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1060 fg[SELECTED] = @{ 0.9, 0.9, 0.9 @}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1061 fg[ACTIVE] = "black"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1062 fg[PRELIGHT] = @{ 0.9, 0.9, 0.9 @}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1063
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1064 base[INSENSITIVE] = "#777766"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1065 text[INSENSITIVE] = @{ 0.60, 0.65, 0.57 @}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1066
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1067 bg_pixmap[NORMAL] = "background.xpm"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1068 bg_pixmap[INSENSITIVE] = "background.xpm"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1069 bg_pixmap[ACTIVE] = "background.xpm"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1070 bg_pixmap[PRELIGHT] = "<none>"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1071
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1072 @}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1073
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1074 style "ruler" = "default"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1075 @{
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1076 font_name = "helvetica 8"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1077 @}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1078
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1079 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1080
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1081 The style @samp{ruler} inherits from @samp{default}. This way you can build
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1082 on existing styles. The syntax for fonts and colors is described below.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1083
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1084 As this example shows, it is possible to specify several values for
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1085 foreground and background depending on the widget's @dfn{state}. The
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1086 possible states are:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1087
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1088 @table @code
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1089 @item NORMAL
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1090 This is the default state for widgets.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1091 @item ACTIVE
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1092 This is the state for a widget that is ready to do something. It is
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1093 also for the trough of a scroll bar, i.e. @code{bg[ACTIVE] = "red"}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1094 sets the scroll bar trough to red. Buttons that have been pressed but
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1095 not released yet (``armed'') are in this state.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1096 @item PRELIGHT
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1097 This is the state for a widget that can be manipulated, when the mouse
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1098 pointer is over it---for example when the mouse is over the thumb in
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1099 the scroll bar or over a menu item. When the mouse is over a button
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1100 that is not pressed, the button is in this state.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1101 @item SELECTED
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1102 This is the state for data that has been selected by the user. It can
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1103 be selected text or items selected in a list. This state is not used
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1104 in Emacs.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1105 @item INSENSITIVE
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1106 This is the state for widgets that are visible, but they can not be
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1107 manipulated in the usual way---for example, buttons that can't be
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1108 pressed, and disabled menu items. To display disabled menu items in
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1109 yellow, use @code{fg[INSENSITIVE] = "yellow"}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1110 @end table
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1111
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1112 Here are the things that can go in a style declaration:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1113
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1114 @table @code
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1115 @item bg[@var{state}] = @var{color}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1116 This specifies the background color for the widget. Note that
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1117 editable text doesn't use @code{bg}; it uses @code{base} instead.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1118
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1119 @item base[@var{state}] = @var{color}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1120 This specifies the background color for editable text. In Emacs, this
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1121 color is used for the background of the text fields in the file
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1122 dialog.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1123
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1124 @item bg_pixmap[@var{state}] = "@var{pixmap}"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1125 This specifies an image background (instead of a background color).
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1126 @var{pixmap} should be the image file name. GTK can use a number of
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1127 image file formats, including XPM, XBM, GIF, JPEG and PNG. If you
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1128 want a widget to use the same image as its parent, use
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1129 @samp{<parent>}. If you don't want any image, use @samp{<none>}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1130 @samp{<none>} is the way to cancel a background image inherited from a
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1131 parent style.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1132
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1133 You can't specify the file by its absolute file name. GTK looks for
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1134 the pixmap file in directories specified in @code{pixmap_path}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1135 @code{pixmap_path} is a colon-separated list of directories within
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1136 double quotes, specified at the top level in a @file{gtkrc} file
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1137 (i.e. not inside a style definition; see example above):
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1138
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1139 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1140 pixmap_path "/usr/share/pixmaps:/usr/include/X11/pixmaps"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1141 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1142
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1143 @item fg[@var{state}] = @var{color}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1144 This specifies the foreground color for widgets to use. It is the
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1145 color of text in menus and buttons, and the color for the arrows in
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1146 the scroll bar. For editable text, use @code{text}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1147
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1148 @item text[@var{state}] = @var{color}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1149 This is the color for editable text. In Emacs, this color is used for the
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1150 text fields in the file dialog.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1151
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1152 @item font_name = "@var{font}"
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1153 This specifies the font for text in the widget. @var{font} is a
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1154 Pango font name, for example @samp{Sans Italic 10}, @samp{Helvetica
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1155 Bold 12}, @samp{Courier 14}, @samp{Times 18}. See below for exact
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1156 syntax. The names are case insensitive.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1157 @end table
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1158
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1159 There are three ways to specify a color: by name, in hexadecimal
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1160 form, and with an RGB triplet.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1161
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1162 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1163 A color name is written within double quotes, for example @code{"red"}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1164
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1165 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1166 Hexadecimal form is the same as in X:
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1167 @code{#@var{rrrr}@var{gggg}@var{bbbb}}, where all three color specs
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1168 must have the same number of hex digits (1, 2, 3 or 4).
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1169
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1170 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1171 An RGB triplet looks like @code{@{ @var{r}, @var{g}, @var{b} @}},
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1172 where @var{r}, @var{g} and @var{b} are either integers in the range
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1173 0-65535 or floats in the range 0.0-1.0.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1174
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1175 Pango font names have the form ``@var{family-list} @var{style-options}
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1176 @var{size}.''
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1177 @cindex Pango font name
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1178 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1179 @var{family-list} is a comma separated list of font families optionally
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1180 terminated by a comma. This way you can specify several families and the
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1181 first one found will be used. @var{family} corresponds to the second part in
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1182 an X font name, for example in
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1183
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1184 @smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1185 -adobe-times-medium-r-normal--12-120-75-75-p-64-iso10646-1
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1186 @end smallexample
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1187
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1188 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1189 the family name is @samp{times}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1190
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1191 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1192 @var{style-options} is a whitespace separated list of words where each word
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1193 is a style, variant, weight, or stretch. The default value for all of
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1194 these is @code{normal}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1195
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1196 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1197 A `style' corresponds to the fourth part of an X font name. In X font
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1198 names it is the character @samp{r}, @samp{i} or @samp{o}; in Pango
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1199 font names the corresponding values are @code{normal}, @code{italic},
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1200 or @code{oblique}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1201
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1202 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1203 A `variant' is either @code{normal} or @code{small-caps}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1204 Small caps is a font with the lower case characters replaced by
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1205 smaller variants of the capital characters.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1206
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1207 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1208 Weight describes the ``boldness'' of a font. It corresponds to the third
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1209 part of an X font name. It is one of @code{ultra-light}, @code{light},
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1210 @code{normal}, @code{bold}, @code{ultra-bold}, or @code{heavy}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1211
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1212 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1213 Stretch gives the width of the font relative to other designs within a
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1214 family. It corresponds to the fifth part of an X font name. It is one of
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1215 @code{ultra-condensed}, @code{extra-condensed}, @code{condensed},
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1216 @code{semi-condensed}, @code{normal}, @code{semi-expanded},
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1217 @code{expanded}, @code{extra-expanded}, or @code{ultra-expanded}.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1218
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1219 @noindent
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1220 @var{size} is a decimal number that describes the font size in points.
cf017d5aa8c1 Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1221 @end ifnottex