emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to xresources.texi


From: Glenn Morris
Subject: [Emacs-diffs] Changes to xresources.texi
Date: Thu, 06 Sep 2007 04:42:09 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Glenn Morris <gm>       07/09/06 04:42:09

Index: xresources.texi
===================================================================
RCS file: xresources.texi
diff -N xresources.texi
--- xresources.texi     11 Apr 2007 20:57:52 -0000      1.47
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,1216 +0,0 @@
address@hidden This is part of the Emacs manual.
address@hidden Copyright (C) 1987, 1993, 1994, 1995, 1997, 2001, 2002, 2003,
address@hidden   2004, 2005, 2006, 2007 Free Software Foundation, Inc.
address@hidden See file emacs.texi for copying conditions.
address@hidden X Resources, Antinews, Emacs Invocation, Top
address@hidden X Options and Resources
-
-  You can customize some X-related aspects of Emacs behavior using X
-resources, as is usual for programs that use X.  On MS-Windows, you
-can customize some of the same aspects using the system registry.
address@hidden Registry}.  Likewise, Emacs on MacOS Carbon emulates X
-resources using the Preferences system.  @xref{Mac Environment Variables}.
-
-  When Emacs is built using an ``X toolkit'', such as Lucid or
-LessTif, you need to use X resources to customize the appearance of
-the widgets, including the menu-bar, scroll-bar, and dialog boxes.
-This is because the libraries that implement these don't provide for
-customization through Emacs.  GTK+ widgets use a separate system of
address@hidden
-``GTK resources'', which we will also describe.
address@hidden ifnottex
address@hidden
-``GTK resources.''  In this chapter we describe the most commonly used
-resource specifications.  For full documentation, see the online
-manual.
-
address@hidden Add xref for LessTif/Motif menu resources.
address@hidden iftex
-
-
address@hidden
-* Resources::           Using X resources with Emacs (in general).
-* Table of Resources::  Table of specific X resources that affect Emacs.
-* Face Resources::      X resources for customizing faces.
-* Lucid Resources::     X resources for Lucid menus.
-* LessTif Resources::   X resources for LessTif and Motif menus.
-* GTK resources::       Resources for GTK widgets.
address@hidden menu
-
address@hidden Resources
address@hidden X Resources
address@hidden resources
address@hidden X resources
address@hidden @file{~/.Xdefaults} file
address@hidden @file{~/.Xresources} file
-
-  Programs running under the X Window System organize their user
-options under a hierarchy of classes and resources.  You can specify
-default values for these options in your X resources file, usually
-named @file{~/.Xdefaults} or @file{~/.Xresources}.
-If changes in @file{~/.Xdefaults} do not
-take effect, it is because your X server stores its own list of
-resources; to update them, use the shell command @command{xrdb}---for
-instance, @samp{xrdb ~/.Xdefaults}.
-
-  Each line in the file specifies a value for one option or for a
-collection of related options, for one program or for several programs
-(optionally even for all programs).
-
address@hidden Registry (MS-Windows)
-  MS-Windows systems do not support @file{~/.Xdefaults} files, so
-instead Emacs compiled for Windows looks for X resources in the
-Windows Registry, first under the key
address@hidden and then under the key
address@hidden  The menu and scroll
-bars are native widgets on MS-Windows, so they are only customizable
-via the system-wide settings in the Display Control Panel.  You can
-also set resources using the @samp{-xrm} command line option (see
-below.)
-
address@hidden
-  Applications such as Emacs look for resources with specific names
-and their particular meanings.  Case distinctions are significant in
-these names.  Each resource specification in @file{~/.Xdefaults}
-states the name of the program and the name of the resource.  For
-Emacs, the program name is @samp{Emacs}.  It looks like this:
-
address@hidden
-Emacs.borderWidth: 2
address@hidden example
address@hidden iftex
address@hidden
-  Programs define named resources with particular meanings.  They also
-define how to group resources into named classes.  For instance, in
-Emacs, the @samp{internalBorder} resource controls the width of the
-internal border, and the @samp{borderWidth} resource controls the width
-of the external border.  Both of these resources are part of the
address@hidden class.  Case distinctions are significant in these
-names.
-
-  Every resource definition is associated with a specific program
-name---the name of the executable file that you ran.  For Emacs, that
-is normally @samp{emacs}.  To specify a definition for all instances
-of Emacs, regardless of their names, use @samp{Emacs}.
-
-  In @file{~/.Xdefaults}, you can specify a value for a single resource
-on one line, like this:
-
address@hidden
-emacs.borderWidth: 2
address@hidden example
-
address@hidden
-Or you can use a class name to specify the same value for all resources
-in that class.  Here's an example:
-
address@hidden
-emacs.BorderWidth: 2
address@hidden example
-
-  If you specify a value for a class, it becomes the default for all
-resources in that class.  You can specify values for individual
-resources as well; these override the class value, for those particular
-resources.  Thus, this example specifies 2 as the default width for all
-borders, but overrides this value with 4 for the external border:
-
address@hidden
-emacs.BorderWidth: 2
-emacs.borderWidth: 4
address@hidden example
address@hidden ifnottex
-
-  The order in which the lines appear in the file does not matter.
-Also, command-line options always override the X resources file.
-
address@hidden
-Here is a list of X command-line options and their corresponding
-resource names.
-
address@hidden @samp
address@hidden -name @var{name}
address@hidden --name
address@hidden address@hidden
address@hidden resource name, command-line argument
-Use @var{name} as the resource name (and the title) for the initial
-Emacs frame.  This option does not affect subsequent frames, but Lisp
-programs can specify frame names when they create frames.
-
-If you don't specify this option, the default is to use the Emacs
-executable's name as the resource name.
-
address@hidden -xrm @var{resource-values}
address@hidden --xrm
address@hidden address@hidden
address@hidden resource values, command-line argument
-Specify X resource values for this Emacs job (see below).
address@hidden table
-
-  For consistency, @samp{-name} also specifies the name to use for
-other resource values that do not belong to any particular frame.
-
-  The resources that name Emacs invocations also belong to a class; its
-name is @samp{Emacs}.  If you write @samp{Emacs} instead of
address@hidden, the resource applies to all frames in all Emacs jobs,
-regardless of frame titles and regardless of the name of the executable
-file.  Here is an example:
-
address@hidden
-Emacs.BorderWidth: 2
-Emacs.borderWidth: 4
address@hidden example
-
-  You can specify a string of additional resource values for Emacs to
-use with the command line option @samp{-xrm @var{resources}}.  The text
address@hidden should have the same format that you would use inside a file
-of X resources.  To include multiple resource specifications in
address@hidden, put a newline between them, just as you would in a file.
-You can also use @samp{#include "@var{filename}"} to include a file full
-of resource specifications.  Resource values specified with @samp{-xrm}
-take precedence over all other resource specifications.
-
-  One way to experiment with the effect of different resource settings
-is to use the @code{editres} program.  Select @samp{Get Tree} from the
address@hidden ifnottex
address@hidden
-  You can experiment with the effect of different resource settings
-with the @code{editres} program.  Select @samp{Get Tree} from the
address@hidden iftex
address@hidden menu, then click on an Emacs frame.  This will display
-a tree showing the structure of X toolkit widgets used in an Emacs
-frame.  Select one of them, such as @samp{menubar}, then select
address@hidden Resource Box} from the @samp{Commands} menu.  This displays
-a list of all the meaningful X resources for that widget, and allows
-you to edit them.  Changes take effect when you click on the
address@hidden button.  (See the @code{editres} man page for more
-details.)
-
address@hidden Table of Resources
address@hidden Table of X Resources for Emacs
-
-  This table lists the resource names that designate options for
-Emacs, not counting those for the appearance of the menu bar, each
-with the class that it belongs to:
-
address@hidden @asis
address@hidden @code{background} (class @code{Background})
-Background color name.
-
address@hidden
address@hidden @code{bitmapIcon} (class @code{BitmapIcon})
-Use a bitmap icon (a picture of a gnu) if @samp{on}, let the window
-manager choose an icon if @samp{off}.
address@hidden ifnottex
-
address@hidden @code{borderColor} (class @code{BorderColor})
-Color name for the external border.
-
address@hidden
address@hidden @code{borderWidth} (class @code{BorderWidth})
-Width in pixels of the external border.
address@hidden ifnottex
-
address@hidden @code{cursorColor} (class @code{Foreground})
-Color name for text cursor (point).
-
address@hidden
address@hidden @code{cursorBlink} (class @code{CursorBlink})
-Specifies whether to make the cursor blink. The default is @samp{on}.  Use
address@hidden or @samp{false} to turn cursor blinking off.
address@hidden ifnottex
-
address@hidden @code{font} (class @code{Font})
-Font name (or fontset name, @pxref{Fontsets}) for @code{default} font.
-
address@hidden @code{foreground} (class @code{Foreground})
-Color name for text.
-
address@hidden @code{geometry} (class @code{Geometry})
-Window size and position.  Be careful not to specify this resource as
address@hidden, because that may affect individual menus as well
-as the Emacs frame itself.
-
-If this resource specifies a position, that position applies only to the
-initial Emacs frame (or, in the case of a resource for a specific frame
-name, only that frame).  However, the size, if specified here, applies to
-all frames.
-
address@hidden
address@hidden @code{fullscreen} (class @code{Fullscreen})
-The desired fullscreen size.  The value can be one of @code{fullboth},
address@hidden or @code{fullheight}, which correspond to
-the command-line options @samp{-fs}, @samp{-fw}, and @samp{-fh}
-(@pxref{Window Size X}).
-
-Note that this applies to the initial frame only.
address@hidden ifnottex
-
address@hidden @code{iconName} (class @code{Title})
-Name to display in the icon.
-
address@hidden @code{internalBorder} (class @code{BorderWidth})
-Width in pixels of the internal border.
-
address@hidden @code{lineSpacing} (class @code{LineSpacing})
address@hidden line spacing
address@hidden leading
-Additional space (@dfn{leading}) between lines, in pixels.
-
address@hidden @code{menuBar} (class @code{MenuBar})
address@hidden menu bar
-Give frames menu bars if @samp{on}; don't have menu bars if @samp{off}.
address@hidden
address@hidden Resources}, and @ref{LessTif Resources},
address@hidden ifnottex
address@hidden
address@hidden Resources},
address@hidden iftex
-for how to control the appearance of the menu bar if you have one.
-
address@hidden
address@hidden @code{minibuffer} (class @code{Minibuffer})
-If @samp{none}, don't make a minibuffer in this frame.
-It will use a separate minibuffer frame instead.
-
address@hidden @code{paneFont} (class @code{Font})
address@hidden font for menus
-Font name for menu pane titles, in non-toolkit versions of Emacs.
address@hidden ifnottex
-
address@hidden @code{pointerColor} (class @code{Foreground})
-Color of the mouse cursor.
-
address@hidden
address@hidden @code{privateColormap} (class @code{PrivateColormap})
-If @samp{on}, use a private color map, in the case where the ``default
-visual'' of class PseudoColor and Emacs is using it.
-
address@hidden @code{reverseVideo} (class @code{ReverseVideo})
-Switch foreground and background default colors if @samp{on}, use colors as
-specified if @samp{off}.
address@hidden ifnottex
-
address@hidden @code{screenGamma} (class @code{ScreenGamma})
address@hidden gamma correction
-Gamma correction for colors, equivalent to the frame parameter
address@hidden
-
address@hidden @code{scrollBarWidth} (class @code{ScrollBarWidth})
address@hidden scrollbar width
-The scroll bar width in pixels, equivalent to the frame parameter
address@hidden
-
address@hidden
address@hidden @code{selectionFont} (class @code{SelectionFont})
-Font name for pop-up menu items, in non-toolkit versions of Emacs.  (For
-toolkit versions, see @ref{Lucid Resources}, also see @ref{LessTif
-Resources}.)
-
address@hidden @code{selectionTimeout} (class @code{SelectionTimeout})
-Number of milliseconds to wait for a selection reply.
-If the selection owner doesn't reply in this time, we give up.
-A value of 0 means wait as long as necessary.
-
address@hidden @code{synchronous} (class @code{Synchronous})
address@hidden debugging X problems
address@hidden synchronous X mode
-Run Emacs in synchronous mode if @samp{on}.  Synchronous mode is
-useful for debugging X problems.
address@hidden ifnottex
-
address@hidden @code{title} (class @code{Title})
-Name to display in the title bar of the initial Emacs frame.
-
address@hidden @code{toolBar} (class @code{ToolBar})
address@hidden tool bar
-Number of lines to reserve for the tool bar.  A zero value suppresses
-the tool bar.  If the value is non-zero and
address@hidden is address@hidden, the tool bar's size
-will be changed automatically so that all tool bar items are visible.
-  If the value of @code{auto-resize-tool-bars} is @code{grow-only},
-the tool bar expands automatically, but does not contract automatically.
-To contract the tool bar, you must redraw the frame by entering @kbd{C-l}.
-
address@hidden @code{useXIM} (class @code{UseXIM})
address@hidden XIM
address@hidden X input methods
address@hidden input methods, X
-Turn off use of X input methods (XIM) if @samp{false} or @samp{off}.
-This is only relevant if your Emacs is actually built with XIM
-support.  It is potentially useful to turn off XIM for efficiency,
-especially slow X client/server links.
-
address@hidden @code{verticalScrollBars} (class @code{ScrollBars})
-Give frames scroll bars if @samp{on}; don't have scroll bars if
address@hidden
-
address@hidden
address@hidden @code{visualClass} (class @code{VisualClass})
-Specify the ``visual'' that X should use.  This tells X how to handle
-colors.
-
-The value should start with one of @samp{TrueColor},
address@hidden, @samp{DirectColor}, @samp{StaticColor},
address@hidden, and @samp{StaticGray}, followed by
address@hidden@var{depth}}, where @var{depth} is the number of color planes.
-Most terminals only allow a few ``visuals,'' and the @samp{dpyinfo}
-program outputs information saying which ones.
address@hidden ifnottex
address@hidden table
-
address@hidden Face Resources
address@hidden X Resources for Faces
-
-  You can use resources to customize the appearance of particular
-faces (@pxref{Faces}):
-
address@hidden @code
address@hidden @var{face}.attributeForeground
-Foreground color for face @var{face}.
address@hidden @var{face}.attributeBackground
-Background color for face @var{face}.
address@hidden @var{face}.attributeUnderline
-Underline flag for face @var{face}.  Use @samp{on} or @samp{true} for
-yes.
address@hidden @var{face}.attributeStrikeThrough
address@hidden @var{face}.attributeOverline
address@hidden @var{face}.attributeBox
address@hidden @var{face}.attributeInverse
-Likewise, for other boolean font attributes.
address@hidden @var{face}.attributeStipple
-The name of a pixmap data file to use for the stipple pattern, or
address@hidden to not use stipple for the face @var{face}.
address@hidden @var{face}.attributeBackgroundPixmap
-The background pixmap for the face @var{face}.  Should be a name of a
-pixmap file or @code{false}.
address@hidden @var{face}.attributeFont
-Font name (full XFD name or valid X abbreviation) for face @var{face}.
-Instead of this, you can specify the font through separate attributes.
address@hidden table
-
-  Instead of using @code{attributeFont} to specify a font name, you can
-select a font through these separate attributes:
-
address@hidden @code
address@hidden @var{face}.attributeFamily
-Font family for face @var{face}.
address@hidden @var{face}.attributeHeight
-Height of the font to use for face @var{face}: either an integer
-specifying the height in units of 1/address@hidden, or a floating point
-number that specifies a scale factor to scale the underlying face's
-default font, or a function to be called with the default height which
-will return a new height.
address@hidden @var{face}.attributeWidth
address@hidden @var{face}.attributeWeight
address@hidden @var{face}.attributeSlant
-Each of these resources corresponds to a like-named font attribute,
-and you write the resource value the same as the symbol you would use
-for the font attribute value.
address@hidden @var{face}.attributeBold
-Bold flag for face @var{face}---instead of @code{attributeWeight}.  Use 
@samp{on} or @samp{true} for
-yes.
address@hidden @var{face}.attributeItalic
-Italic flag for face @var{face}---instead of @code{attributeSlant}.
address@hidden table
-
address@hidden Lucid Resources
address@hidden Lucid Menu X Resources
address@hidden Menu X Resources (Lucid widgets)
address@hidden Lucid Widget X Resources
-
address@hidden
-  If the Emacs installed at your site was built to use the X toolkit
-with the Lucid menu widgets, then the menu bar is a separate widget and
-has its own resources.  The resource names contain @samp{pane.menubar}
-(following, as always, the name of the Emacs invocation, or @samp{Emacs},
-which stands for all Emacs invocations).  Specify them like this:
-
address@hidden
address@hidden:  @var{value}
address@hidden example
-
address@hidden
-For example, to specify the font @samp{8x16} for the menu-bar items,
-write this:
address@hidden ifnottex
address@hidden
-   If the Emacs installed at your site was built to use the X toolkit
-with the Lucid menu widgets, then the menu bar is a separate widget
-and has its own resources.  The resource specifications start with
address@hidden instance, to specify the font
address@hidden for the menu-bar items, write this:
address@hidden iftex
-
address@hidden
-Emacs.pane.menubar.font:  8x16
address@hidden example
-
address@hidden
-Resources for @emph{non-menubar} toolkit pop-up menus have
address@hidden instead of @samp{pane.menubar}.  For example, to specify
-the font @samp{8x16} for the pop-up menu items, write this:
-
address@hidden
-Emacs.menu*.font:      8x16
address@hidden example
-
address@hidden
-For dialog boxes, use @samp{dialog*}:
-
address@hidden
-Emacs.dialog*.font:    8x16
address@hidden example
-
address@hidden
-The Lucid menus can display multilingual text in your locale.  For
-more information about fontsets see the man page for
address@hidden  To enable multilingual menu text you specify a
address@hidden resource instead of the font resource.  If both
address@hidden and @code{fontSet} resources are specified, the
address@hidden resource is used.
-
-  Thus, to specify @samp{-*-helvetica-medium-r-*--*-120-*-*-*-*-*-*,*}
-for both the popup and menu bar menus, write this:
-
address@hidden
-Emacs*menu*fontSet:  -*-helvetica-medium-r-*--*-120-*-*-*-*-*-*,*
address@hidden example
-
address@hidden
-The @samp{*menu*} as a wildcard matches @samp{pane.menubar} and
address@hidden@dots{}}.
-
-Experience shows that on some systems you may need to add
address@hidden@: before the @samp{pane.menubar} or @samp{menu*}.  On
-some other systems, you must not add @samp{shell.}.  The generic wildcard
-approach should work on both kinds of systems.
-
-  Here is a list of the specific resources for menu bars and pop-up menus:
-
address@hidden @code
address@hidden font
-Font for menu item text.
address@hidden fontSet
-Fontset for menu item text.
address@hidden foreground
-Color of the foreground.
address@hidden background
-Color of the background.
address@hidden buttonForeground
-In the menu bar, the color of the foreground for a selected item.
address@hidden
address@hidden horizontalSpacing
-Horizontal spacing in pixels between items.  Default is 3.
address@hidden verticalSpacing
-Vertical spacing in pixels between items.  Default is 2.
address@hidden arrowSpacing
-Horizontal spacing between the arrow (which indicates a submenu) and
-the associated text.  Default is 10.
address@hidden shadowThickness
-Thickness of shadow line around the widget.  Default is 1.
-
-Also determines the thickness of shadow lines around other objects,
-for instance 3D buttons and arrows.  If you have the impression that
-the arrows in the menus do not stand out clearly enough or that the
-difference between ``in'' and ``out'' buttons is difficult to see, set
-this to 2.  If you have no problems with visibility, the default
-probably looks better.  The background color may also have some effect
-on the contrast.
address@hidden ifnottex
address@hidden margin
-The margin of the menu bar, in characters.  Default is 1.
address@hidden table
-
address@hidden
address@hidden LessTif Resources
address@hidden LessTif Menu X Resources
address@hidden Menu X Resources (LessTif widgets)
address@hidden LessTif Widget X Resources
-
-  If the Emacs installed at your site was built to use the X toolkit
-with the LessTif or Motif widgets, then the menu bar, the dialog
-boxes, the pop-up menus, and the file-selection box are separate
-widgets and have their own resources.
-
-  The resource names for the menu bar contain @samp{pane.menubar}
-(following, as always, the name of the Emacs invocation, or
address@hidden, which stands for all Emacs invocations).  Specify them
-like this:
-
address@hidden
address@hidden@var{resource}:  @var{value}
address@hidden smallexample
-
-  Each individual string in the menu bar is a subwidget; the subwidget's
-name is the same as the menu item string.  For example, the word
address@hidden in the menu bar is part of a subwidget named
address@hidden  Most likely, you want to specify the
-same resources for the whole menu bar.  To do this, use @samp{*} instead
-of a specific subwidget name.  For example, to specify the font
address@hidden for the menu-bar items, write this:
-
address@hidden
-Emacs.pane.menubar.*.fontList:  8x16
address@hidden smallexample
-
address@hidden
-This also specifies the resource value for submenus.
-
-  Each item in a submenu in the menu bar also has its own name for X
-resources; for example, the @samp{File} submenu has an item named
address@hidden (current buffer)}.  A resource specification for a submenu
-item looks like this:
-
address@hidden
address@hidden@address@hidden: @var{value}
address@hidden smallexample
-
address@hidden
-For example, here's how to specify the font for the @samp{Save (current
-buffer)} item:
-
address@hidden
-Emacs.pane.menubar.popup_*.File.Save (current buffer).fontList: 8x16
address@hidden smallexample
-
address@hidden
-For an item in a second-level submenu, such as @samp{Complete Word}
-under @samp{Spell Checking} under @samp{Tools}, the resource fits this
-template:
-
address@hidden
address@hidden@var{resource}: @var{value}
address@hidden smallexample
-
address@hidden
-For example,
-
address@hidden
-Emacs.pane.menubar.popup_*.popup_*.Spell Checking.Complete Word: @var{value}
address@hidden smallexample
-
address@hidden
-(This should be one long line.)
-
-  It's impossible to specify a resource for all the menu-bar items
-without also specifying it for the submenus as well.  So if you want the
-submenu items to look different from the menu bar itself, you must ask
-for that in two steps.  First, specify the resource for all of them;
-then, override the value for submenus alone.  Here is an example:
-
address@hidden
-Emacs.pane.menubar.*.fontList:  8x16
-Emacs.pane.menubar.popup_*.fontList: 8x16
address@hidden smallexample
-
address@hidden
-For LessTif pop-up menus, use @samp{menu*} instead of
address@hidden  For example, to specify the font @samp{8x16} for
-the pop-up menu items, write this:
-
address@hidden
-Emacs.menu*.fontList:  8x16
address@hidden smallexample
-
address@hidden
-For LessTif dialog boxes, use @samp{dialog} instead of @samp{menu}:
-
address@hidden
-Emacs.dialog*.fontList: 8x16
-Emacs.dialog*.foreground: hotpink
address@hidden example
-
-To specify resources for the LessTif file-selection box, use
address@hidden, like this:
-
address@hidden
-Emacs.fsb*.fontList: 8x16
address@hidden example
-
address@hidden
address@hidden
address@hidden iftex
-  Here is a list of the specific resources for LessTif menu bars and
-pop-up menus:
-
address@hidden @code
address@hidden armColor
-The color to show in an armed button.
address@hidden fontList
-The font to use.
address@hidden marginBottom
address@hidden marginHeight
address@hidden marginLeft
address@hidden marginRight
address@hidden marginTop
address@hidden marginWidth
-Amount of space to leave around the item, within the border.
address@hidden borderWidth
-The width of the border around the menu item, on all sides.
address@hidden shadowThickness
-The width of the border shadow.
address@hidden bottomShadowColor
-The color for the border shadow, on the bottom and the right.
address@hidden topShadowColor
-The color for the border shadow, on the top and the left.
address@hidden table
address@hidden ifnottex
-
-
address@hidden GTK resources
address@hidden GTK resources
address@hidden
-  The most common way to customize the GTK widgets Emacs uses (menus, dialogs
-tool bars and scroll bars) is by choosing an appropriate theme, for example
-with the GNOME theme selector.  You can also do Emacs specific customization
-by inserting GTK style directives in the file @file{~/.emacs.d/gtkrc}.  Some 
GTK
-themes ignore customizations in @file{~/.emacs.d/gtkrc} so not everything
-works with all themes.  To customize Emacs font, background, faces, etc., use
-the normal X resources (@pxref{Resources}).  We will present some examples of
-customizations here, but for a more detailed description, see the online manual
-
-  The first example is just one line.  It changes the font on all GTK widgets
-to courier with size 12:
-
address@hidden
-gtk-font-name = "courier 12"
address@hidden smallexample
-
-  The thing to note is that the font name is not an X font name, like
--*-helvetica-medium-r-*--*-120-*-*-*-*-*-*, but a Pango font name.  A Pango
-font name is basically of the format "family style size", where the style
-is optional as in the case above.  A name with a style could be for example:
-
address@hidden
-gtk-font-name = "helvetica bold 10"
address@hidden smallexample
-
-  To customize widgets you first define a style and then apply the style to
-the widgets.  Here is an example that sets the font for menus, but not
-for other widgets:
-
address@hidden
-# @r{Define the style @samp{menufont}.}
-style "menufont"
address@hidden
-  font_name = "helvetica bold 14"  # This is a Pango font name
address@hidden
-
-# @r{Specify that widget type @samp{*emacs-menuitem*} uses @samp{menufont}.}
-widget "*emacs-menuitem*" style "menufont"
address@hidden smallexample
-
-The widget name in this example contains wildcards, so the style will be
-applied to all widgets that match "*emacs-menuitem*".  The widgets are
-named by the way they are contained, from the outer widget to the inner widget.
-So to apply the style "my_style" (not shown) with the full, absolute name, for
-the menubar and the scroll bar in Emacs we use:
-
address@hidden
-widget "Emacs.pane.menubar" style "my_style"
-widget "Emacs.pane.emacs.verticalScrollBar" style "my_style"
address@hidden smallexample
-
-But to avoid having to type it all, wildcards are often used.  @samp{*}
-matches zero or more characters and @samp{?} matches one character.  So "*"
-matches all widgets.
-
-  Each widget has a class (for example GtkMenuItem) and a name 
(emacs-menuitem).
-You can assign styles by name or by class.  In this example we have used the
-class:
-
address@hidden
-style "menufont"
address@hidden
-  font_name = "helvetica bold 14"
address@hidden
-
-widget_class "*GtkMenuBar" style "menufont"
address@hidden smallexample
-
address@hidden
-The names and classes for the GTK widgets Emacs uses are:
-
address@hidden address@hidden plus}} address@hidden and some}
address@hidden @code{emacs-filedialog}
address@hidden @code{GtkFileSelection}
address@hidden @code{emacs-dialog}
address@hidden @code{GtkDialog}
address@hidden @code{Emacs}
address@hidden @code{GtkWindow}
address@hidden @code{pane}
address@hidden @code{GtkVHbox}
address@hidden @code{emacs}
address@hidden @code{GtkFixed}
address@hidden @code{verticalScrollBar}
address@hidden @code{GtkVScrollbar}
address@hidden @code{emacs-toolbar}
address@hidden @code{GtkToolbar}
address@hidden @code{menubar}
address@hidden @code{GtkMenuBar}
address@hidden @code{emacs-menuitem}
address@hidden anything in menus
address@hidden multitable
-
-  GTK absolute names are quite strange when it comes to menus
-and dialogs.  The names do not start with @samp{Emacs}, as they are
-free-standing windows and not contained (in the GTK sense) by the
-Emacs GtkWindow.  To customize the dialogs and menus, use wildcards like this:
-
address@hidden
-widget "*emacs-dialog*" style "my_dialog_style"
-widget "*emacs-filedialog* style "my_file_style"
-widget "*emacs-menuitem* style "my_menu_style"
address@hidden smallexample
-
-  If you specify a customization in @file{~/.emacs.d/gtkrc}, then it
-automatically applies only to Emacs, since other programs don't read
-that file.  For example, the drop down menu in the file dialog can not
-be customized by any absolute widget name, only by an absolute class
-name.  This is because the widgets in the drop down menu do not
-have names and the menu is not contained in the Emacs GtkWindow.  To
-have all menus in Emacs look the same, use this in
address@hidden/.emacs.d/gtkrc}:
-
address@hidden
-widget_class "*Menu*" style "my_menu_style"
address@hidden smallexample
-
-  Here is a more elaborate example, showing how to change the parts of
-the scroll bar:
-
address@hidden
-style "scroll"
address@hidden
-  fg[NORMAL] = "red"@ @ @ @ @ # @r{The arrow color.}
-  bg[NORMAL] = "yellow"@ @ # @r{The thumb and background around the arrow.}
-  bg[ACTIVE] = "blue"@ @ @ @ # @r{The trough color.}
-  bg[PRELIGHT] = "white"@ # @r{The thumb color when the mouse is over it.}
address@hidden
-
-widget "*verticalScrollBar*" style "scroll"
address@hidden smallexample
address@hidden iftex
-
address@hidden
address@hidden GTK resources and customization
address@hidden resource files for GTK
address@hidden @file{~/.gtkrc-2.0} file
address@hidden @file{~/.emacs.d/gtkrc} file
-
-  If Emacs was built to use the GTK widget set, then the menu bar, tool bar,
-scroll bar and the dialogs are customized with the standard GTK
-customization file, @file{~/.gtkrc-2.0}, or with the Emacs specific
-file @file{~/.emacs.d/gtkrc}.  We recommend that you use
address@hidden/.emacs.d/gtkrc} for customizations, since @file{~/.gtkrc-2.0}
-seems to be ignored when running GConf with GNOME.  These files apply
-only to GTK widget features.  To customize Emacs font, background,
-faces, etc., use the normal X resources (@pxref{Resources}).
-
-  Some GTK themes override these mechanisms, which means that using
-these mechanisms will not work to customize them.
-
-  In these files you first define a style and say what it means; then
-you specify to apply the style to various widget types (@pxref{GTK
-widget names}).  Here is an example of how to change the font for
-Emacs menus:
-
address@hidden
-# @r{Define the style @samp{menufont}.}
-style "menufont"
address@hidden
-  font_name = "helvetica bold 14"  # This is a Pango font name
address@hidden
-
-# @r{Specify that widget type @samp{*emacs-menuitem*} uses @samp{menufont}.}
-widget "*emacs-menuitem*" style "menufont"
address@hidden smallexample
-
-  Here is a more elaborate example, showing how to change the parts of
-the scroll bar:
-
address@hidden
-style "scroll"
address@hidden
-  fg[NORMAL] = "red"@ @ @ @ @ # @r{The arrow color.}
-  bg[NORMAL] = "yellow"@ @ # @r{The thumb and background around the arrow.}
-  bg[ACTIVE] = "blue"@ @ @ @ # @r{The trough color.}
-  bg[PRELIGHT] = "white"@ # @r{The thumb color when the mouse is over it.}
address@hidden
-
-widget "*verticalScrollBar*" style "scroll"
address@hidden smallexample
-
-  There are also parameters that affect GTK as a whole.  For example,
-the property @code{gtk-font-name} sets the default font for GTK.  You
-must use Pango font names (@pxref{GTK styles}).  A GTK resources file
-that just sets a default font looks like this:
-
address@hidden
-gtk-font-name = "courier 12"
address@hidden smallexample
-
-  The GTK resources file is fully described in the GTK API document.
-This can be found in
address@hidden@var{prefix}/share/gtk-doc/html/gtk/gtk-resource-files.html},
-where @file{prefix} is the directory in which the GTK libraries were
-installed (usually @file{/usr} or @file{/usr/local}).  You can also
-find the document online, at
address@hidden://developer.gnome.org/doc/API/2.0/gtk/gtk-Resource-Files.html}.
-
address@hidden
-* GTK widget names::      How widgets in GTK are named in general.
-* GTK Names in Emacs::    GTK widget names in Emacs.
-* GTK styles::            What can be customized in a GTK widget.
address@hidden menu
-
address@hidden GTK widget names
address@hidden GTK widget names
address@hidden GTK widget names
-
-  A GTK widget is specified by its @dfn{widget class} and
address@hidden name}.  The widget class is the type of the widget: for
-example, @code{GtkMenuBar}.  The widget name is the name given to a
-specific widget.  A widget always has a class, but need not have a
-name.
-
-  @dfn{Absolute names} are sequences of widget names or widget
-classes, corresponding to hierarchies of widgets embedded within
-other widgets.  For example, if a @code{GtkWindow} named @code{top}
-contains a @code{GtkVBox} named @code{box}, which in turn contains
-a @code{GtkMenuBar} called @code{menubar}, the absolute class name
-of the menu-bar widget is @code{GtkWindow.GtkVBox.GtkMenuBar}, and
-its absolute widget name is @code{top.box.menubar}.
-
-  When assigning a style to a widget, you can use the absolute class
-name or the absolute widget name.
-
-  There are two commands to specify changes for widgets:
-
address@hidden @asis
address@hidden @code{widget_class}
-specifies a style for widgets based on the absolute class name.
-
address@hidden @code{widget}
-specifies a style for widgets based on the absolute class name,
-or just the class.
address@hidden table
-
address@hidden
-You must specify the class and the style in double-quotes, and put
-these commands at the top level in the GTK customization file, like
-this:
-
address@hidden
-style "menufont"
address@hidden
-  font_name = "helvetica bold 14"
address@hidden
-
-widget "top.box.menubar" style "menufont"
-widget_class "GtkWindow.GtkVBox.GtkMenuBar" style "menufont"
address@hidden smallexample
-
-  Matching of absolute names uses shell wildcard syntax: @samp{*}
-matches zero or more characters and @samp{?} matches one character.
-This example assigns @code{base_style} to all widgets:
-
address@hidden
-widget "*" style "base_style"
address@hidden smallexample
-
-  Given the absolute class name @code{GtkWindow.GtkVBox.GtkMenuBar}
-and the corresponding absolute widget name @code{top.box.menubar}, all
-these examples specify @code{my_style} for the menu bar:
-
address@hidden
-widget_class "GtkWindow.GtkVBox.GtkMenuBar" style "my_style"
-widget_class "GtkWindow.*.GtkMenuBar" style "my_style"
-widget_class "*GtkMenuBar" style "my_style"
-widget "top.box.menubar" style "my_style"
-widget "*box*menubar" style "my_style"
-widget "*menubar" style "my_style"
-widget "*menu*" style "my_style"
address@hidden smallexample
-
address@hidden GTK Names in Emacs
address@hidden GTK Widget Names in Emacs
address@hidden GTK widget names
address@hidden GTK widget classes
-
-  In Emacs, the top level widget for a frame is a @code{GtkWindow}
-that contains a @code{GtkVBox}.  The @code{GtkVBox} contains the
address@hidden and a @code{GtkFixed} widget.  The vertical scroll
-bars, @code{GtkVScrollbar}, are contained in the @code{GtkFixed}
-widget.  The text you write in Emacs is drawn in the @code{GtkFixed}
-widget.
-
-  Dialogs in Emacs are @code{GtkDialog} widgets.  The file dialog is a
address@hidden widget.
-
address@hidden
-To set a style for the menu bar using the absolute class name, use:
-
address@hidden
-widget_class "GtkWindow.GtkVBox.GtkMenuBar" style "my_style"
address@hidden smallexample
-
address@hidden
-For the scroll bar, the absolute class name is:
-
address@hidden
-widget_class
-  "GtkWindow.GtkVBox.GtkFixed.GtkVScrollbar"
-     style "my_style"
address@hidden smallexample
-
address@hidden
-The names for the emacs widgets, and their classes, are:
-
address@hidden address@hidden plus}} address@hidden and some}
address@hidden @code{emacs-filedialog}
address@hidden @code{GtkFileSelection}
address@hidden @code{emacs-dialog}
address@hidden @code{GtkDialog}
address@hidden @code{Emacs}
address@hidden @code{GtkWindow}
address@hidden @code{pane}
address@hidden @code{GtkVHbox}
address@hidden @code{emacs}
address@hidden @code{GtkFixed}
address@hidden @code{verticalScrollBar}
address@hidden @code{GtkVScrollbar}
address@hidden @code{emacs-toolbar}
address@hidden @code{GtkToolbar}
address@hidden @code{menubar}
address@hidden @code{GtkMenuBar}
address@hidden @code{emacs-menuitem}
address@hidden anything in menus
address@hidden multitable
-
address@hidden
-Thus, for Emacs you can write the two examples above as:
-
address@hidden
-widget "Emacs.pane.menubar" style "my_style"
-widget "Emacs.pane.emacs.verticalScrollBar" style "my_style"
address@hidden smallexample
-
-  GTK absolute names are quite strange when it comes to menus
-and dialogs.  The names do not start with @samp{Emacs}, as they are
-free-standing windows and not contained (in the GTK sense) by the
-Emacs GtkWindow.  To customize the dialogs and menus, use wildcards like this:
-
address@hidden
-widget "*emacs-dialog*" style "my_dialog_style"
-widget "*emacs-filedialog* style "my_file_style"
-widget "*emacs-menuitem* style "my_menu_style"
address@hidden smallexample
-
-  If you specify a customization in @file{~/.emacs.d/gtkrc}, then it
-automatically applies only to Emacs, since other programs don't read
-that file.  For example, the drop down menu in the file dialog can not
-be customized by any absolute widget name, only by an absolute class
-name.  This is because the widgets in the drop down menu do not
-have names and the menu is not contained in the Emacs GtkWindow.  To
-have all menus in Emacs look the same, use this in
address@hidden/.emacs.d/gtkrc}:
-
address@hidden
-widget_class "*Menu*" style "my_menu_style"
address@hidden smallexample
-
address@hidden GTK styles
address@hidden GTK styles
address@hidden GTK styles
-
-  In a GTK style you specify the appearance widgets shall have.  You
-can specify foreground and background color, background pixmap and
-font.  The edit widget (where you edit the text) in Emacs is a GTK
-widget, but trying to specify a style for the edit widget will have no
-effect.  This is so that Emacs compiled for GTK is compatible with
-Emacs compiled for other X toolkits.  The settings for foreground,
-background and font for the edit widget is taken from the X resources;
address@hidden  Here is an example of two style declarations,
address@hidden and @samp{ruler}:
-
address@hidden
-pixmap_path "/usr/share/pixmaps:/usr/include/X11/pixmaps"
-
-style "default"
address@hidden
-  font_name = "helvetica 12"
-
-  bg[NORMAL] = @{ 0.83, 0.80, 0.73 @}
-  bg[SELECTED] = @{ 0.0, 0.55, 0.55 @}
-  bg[INSENSITIVE] = @{ 0.77, 0.77, 0.66 @}
-  bg[ACTIVE] = @{ 0.0, 0.55, 0.55 @}
-  bg[PRELIGHT] = @{ 0.0, 0.55, 0.55 @}
-
-  fg[NORMAL] = "black"
-  fg[SELECTED] = @{ 0.9, 0.9, 0.9 @}
-  fg[ACTIVE] = "black"
-  fg[PRELIGHT] = @{ 0.9, 0.9, 0.9 @}
-
-  base[INSENSITIVE] = "#777766"
-  text[INSENSITIVE] = @{ 0.60, 0.65, 0.57 @}
-
-  bg_pixmap[NORMAL] = "background.xpm"
-  bg_pixmap[INSENSITIVE] = "background.xpm"
-  bg_pixmap[ACTIVE] = "background.xpm"
-  bg_pixmap[PRELIGHT] = "<none>"
-
address@hidden
-
-style "ruler" = "default"
address@hidden
-  font_name = "helvetica 8"
address@hidden
-
address@hidden smallexample
-
-  The style @samp{ruler} inherits from @samp{default}.  This way you can build
-on existing styles.  The syntax for fonts and colors is described below.
-
-  As this example shows, it is possible to specify several values for
-foreground and background depending on the widget's @dfn{state}.  The
-possible states are:
-
address@hidden @code
address@hidden NORMAL
-This is the default state for widgets.
address@hidden ACTIVE
-This is the state for a widget that is ready to do something.  It is
-also for the trough of a scroll bar, i.e.  @code{bg[ACTIVE] = "red"}
-sets the scroll bar trough to red.  Buttons that have been pressed but
-not released yet (``armed'') are in this state.
address@hidden PRELIGHT
-This is the state for a widget that can be manipulated, when the mouse
-pointer is over it---for example when the mouse is over the thumb in
-the scroll bar or over a menu item.  When the mouse is over a button
-that is not pressed, the button is in this state.
address@hidden SELECTED
-This is the state for data that has been selected by the user.  It can
-be selected text or items selected in a list.  This state is not used
-in Emacs.
address@hidden INSENSITIVE
-This is the state for widgets that are visible, but they can not be
-manipulated in the usual way---for example, buttons that can't be
-pressed, and disabled menu items.  To display disabled menu items in
-yellow, use @code{fg[INSENSITIVE] = "yellow"}.
address@hidden table
-
-  Here are the things that can go in a style declaration:
-
address@hidden @code
address@hidden address@hidden = @var{color}
-This specifies the background color for the widget.  Note that
-editable text doesn't use @code{bg}; it uses @code{base} instead.
-
address@hidden address@hidden = @var{color}
-This specifies the background color for editable text.  In Emacs, this
-color is used for the background of the text fields in the file
-dialog.
-
address@hidden address@hidden = "@var{pixmap}"
-This specifies an image background (instead of a background color).
address@hidden should be the image file name.  GTK can use a number of
-image file formats, including XPM, XBM, GIF, JPEG and PNG.  If you
-want a widget to use the same image as its parent, use
address@hidden<parent>}.  If you don't want any image, use @samp{<none>}.
address@hidden<none>} is the way to cancel a background image inherited from a
-parent style.
-
-You can't specify the file by its absolute file name.  GTK looks for
-the pixmap file in directories specified in @code{pixmap_path}.
address@hidden is a colon-separated list of directories within
-double quotes, specified at the top level in a @file{gtkrc} file
-(i.e. not inside a style definition; see example above):
-
address@hidden
-pixmap_path "/usr/share/pixmaps:/usr/include/X11/pixmaps"
address@hidden smallexample
-
address@hidden address@hidden = @var{color}
-This specifies the foreground color for widgets to use.  It is the
-color of text in menus and buttons, and the color for the arrows in
-the scroll bar.  For editable text, use @code{text}.
-
address@hidden address@hidden = @var{color}
-This is the color for editable text.  In Emacs, this color is used for the
-text fields in the file dialog.
-
address@hidden font_name = "@var{font}"
-This specifies the font for text in the widget.  @var{font} is a
-Pango font name, for example @samp{Sans Italic 10}, @samp{Helvetica
-Bold 12}, @samp{Courier 14}, @samp{Times 18}.  See below for exact
-syntax.  The names are case insensitive.
address@hidden table
-
-  There are three ways to specify a color: by name, in hexadecimal
-form, and with an RGB triplet.
-
address@hidden
-A color name is written within double quotes, for example @code{"red"}.
-
address@hidden
-Hexadecimal form is the same as in X:
address@hidden@address@hidden@var{bbbb}}, where all three color specs
-must have the same number of hex digits (1, 2, 3 or 4).
-
address@hidden
-An RGB triplet looks like @address@hidden @var{r}, @var{g}, @var{b} @}},
-where @var{r}, @var{g} and @var{b} are either integers in the range
-0-65535 or floats in the range 0.0-1.0.
-
-  Pango font names have the form address@hidden @var{style-options}
address@hidden''
address@hidden Pango font name
address@hidden
address@hidden is a comma separated list of font families optionally
-terminated by a comma.  This way you can specify several families and the
-first one found will be used.  @var{family} corresponds to the second part in
-an X font name, for example in
-
address@hidden
--adobe-times-medium-r-normal--12-120-75-75-p-64-iso10646-1
address@hidden smallexample
-
address@hidden
-the family name is @samp{times}.
-
address@hidden
address@hidden is a whitespace separated list of words where each word
-is a style, variant, weight, or stretch.  The default value for all of
-these is @code{normal}.
-
address@hidden
-A `style' corresponds to the fourth part of an X font name.  In X font
-names it is the character @samp{r}, @samp{i} or @samp{o}; in Pango
-font names the corresponding values are @code{normal}, @code{italic},
-or @code{oblique}.
-
address@hidden
-A `variant' is either @code{normal} or @code{small-caps}.
-Small caps is a font with the lower case characters replaced by
-smaller variants of the capital characters.
-
address@hidden
-Weight describes the ``boldness'' of a font.  It corresponds to the third
-part of an X font name.  It is one of @code{ultra-light}, @code{light},
address@hidden, @code{bold}, @code{ultra-bold}, or @code{heavy}.
-
address@hidden
-Stretch gives the width of the font relative to other designs within a
-family.  It corresponds to the fifth part of an X font name.  It is one of
address@hidden, @code{extra-condensed}, @code{condensed},
address@hidden, @code{normal}, @code{semi-expanded},
address@hidden, @code{extra-expanded}, or @code{ultra-expanded}.
-
address@hidden
address@hidden is a decimal number that describes the font size in points.
address@hidden ifnottex
-
address@hidden
-   arch-tag: 9b6ff773-48b6-41f6-b2f9-f114b8bdd97f
address@hidden ignore




reply via email to

[Prev in Thread] Current Thread [Next in Thread]