]> code.delx.au - gnu-emacs/blobdiff - lispref/frames.texi
(display_tool_bar_line): Skip glyphs which are too big
[gnu-emacs] / lispref / frames.texi
index d741227266699fc331d0b54833ca85eb9b69ced0..a433203a93e8af7d8b73c8424c97554f0adfed86 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2002, 2004
-@c   Free Software Foundation, Inc.
+@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2002, 2003,
+@c   2004, 2005, 2006 Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/frames
 @node Frames, Positions, Windows, Top
@@ -62,8 +62,9 @@ The frame is displayed on an MS-DOS terminal.
 * Mouse Position::             Asking where the mouse is, or moving it.
 * Pop-Up Menus::               Displaying a menu for the user to select from.
 * Dialog Boxes::                Displaying a box to ask yes or no.
-* Pointer Shapes::              Specifying the shape of the mouse pointer.
+* Pointer Shape::               Specifying the shape of the mouse pointer.
 * Window System Selections::    Transferring text to and from other X clients.
+* Drag and Drop::               Internals of Drag-and-Drop implementation.
 * Color Names::                        Getting the definitions of color names.
 * Text Terminal Colors::        Defining colors for text-only terminals.
 * Resources::                  Getting resource values from the server.
@@ -205,6 +206,7 @@ parameters @code{foreground-color}, @code{background-color},
 * Initial Parameters::    Specifying frame parameters when you make a frame.
 * Window Frame Parameters:: List of frame parameters for window systems.
 * Size and Position::      Changing the size and position of a frame.
+* Geometry::               Parsing geometry specifications.
 @end menu
 
 @node Parameter Access
@@ -465,10 +467,10 @@ frame, or control their sizes.
 
 @table @code
 @item border-width
-The width in pixels of the window border.
+The width in pixels of the frame's border.
 
 @item internal-border-width
-The distance in pixels between text and border.
+The distance in pixels between text (or fringe) and the frame's border.
 
 @item vertical-scroll-bars
 Whether the frame has scroll bars for vertical scrolling, and which side
@@ -515,7 +517,7 @@ it treats larger values as 1.)
 
 @item line-spacing
 Additional space to leave below each text line, in pixels (a positive
-integer)
+integer).  @xref{Line Height}, for more information.
 @end table
 
 @node Buffer Parameters
@@ -825,6 +827,12 @@ The argument @var{pretend} has the same meaning as in
 screen, in Emacs versions that did not support multiple frames.  They
 are semi-obsolete, but still work; they apply to the selected frame.
 
+@node Geometry
+@subsection Geometry
+
+  Here's how to examine the data in an X-style window geometry
+specification:
+
 @defun x-parse-geometry geom
 @cindex geometry specification
 The function @code{x-parse-geometry} converts a standard X window
@@ -1556,30 +1564,49 @@ for instance using the window manager, then this produces a quit and
 @code{x-popup-dialog} does not return.
 @end defun
 
-@node Pointer Shapes
-@section Pointer Shapes
+@node Pointer Shape
+@section Pointer Shape
 @cindex pointer shape
 @cindex mouse pointer shape
 
-  These variables specify which shape to use for the mouse pointer in
-various situations, when using the X Window System:
+  You can specify the mouse pointer style for particular text or
+images using the @code{pointer} text property, and for images with the
+@code{:pointer} and @code{:map} image properties.  The values you can
+use in these properties are @code{text} (or @code{nil}), @code{arrow},
+@code{hand}, @code{vdrag}, @code{hdrag}, @code{modeline}, and
+@code{hourglass}.  @code{text} stands for the usual mouse pointer
+style used over text.
+
+  Over void parts of the window (parts that do not correspond to any
+of the buffer contents), the mouse pointer usually uses the
+@code{arrow} style, but you can specify a different style (one of
+those above) by setting @code{void-text-area-pointer}.
+
+@defvar void-text-area-pointer
+@tindex void-text-area-pointer
+This variable specifies the mouse pointer style for void text areas.
+These include the areas after the end of a line or below the last line
+in the buffer.  The default is to use the @code{arrow} (non-text)
+pointer style.
+@end defvar
 
-@table @code
-@item x-pointer-shape
-@vindex x-pointer-shape
-This variable specifies the pointer shape to use ordinarily in the Emacs
-frame.
+  You can specify what the @code{text} pointer style really looks like
+by setting the variable @code{x-pointer-shape}.
 
-@item x-sensitive-text-pointer-shape
-@vindex x-sensitive-text-pointer-shape
+@defvar x-pointer-shape
+This variable specifies the pointer shape to use ordinarily in the
+Emacs frame, for the @code{text} pointer style.
+@end defvar
+
+@defvar x-sensitive-text-pointer-shape
 This variable specifies the pointer shape to use when the mouse
 is over mouse-sensitive text.
-@end table
+@end defvar
 
   These variables affect newly created frames.  They do not normally
-affect existing frames; however, if you set the mouse color of a frame,
-that also updates its pointer shapes based on the current values of
-these variables.  @xref{Color Parameters}.
+affect existing frames; however, if you set the mouse color of a
+frame, that also installs the current value of those two variables.
+@xref{Color Parameters}.
 
   The values you can use, to specify either of these pointer shapes, are
 defined in the file @file{lisp/term/x-win.el}.  Use @kbd{M-x apropos
@@ -1678,6 +1705,35 @@ access the clipboard at all.  The default is @code{nil} on most systems,
 but @code{t} on MS-Windows.
 @end defopt
 
+@node Drag and Drop
+@section Drag and Drop
+
+@vindex x-dnd-test-function
+@vindex x-dnd-known-types
+  When a user drags something from another application over Emacs, that other
+application expects Emacs to tell it if Emacs can handle the data that is
+dragged.  The variable @code{x-dnd-test-function} is used by Emacs to determine
+what to reply.  The default value is @code{x-dnd-default-test-function}
+which accepts drops if the type of the data to be dropped is present in
+@code{x-dnd-known-types}.  You can customize @code{x-dnd-test-function} and/or
+@code{x-dnd-known-types} if you want Emacs to accept or reject drops based
+on some other criteria.
+
+@vindex x-dnd-types-alist
+  If you want to change the way Emacs handles drop of different types
+or add a new type, customize @code{x-dnd-types-alist}.  This requires
+detailed knowledge of what types other applications use for drag and
+drop.
+
+@vindex dnd-protocol-alist
+  When an URL is dropped on Emacs it may be a file, but it may also be
+another URL type (ftp, http, etc.).  Emacs first checks
+@code{dnd-protocol-alist} to determine what to do with the URL.  If
+there is no match there and if @code{browse-url-browser-function} is
+an alist, Emacs looks for a match there.  If no match is found the
+text for the URL is inserted.  If you want to alter Emacs behavior,
+you can customize these variables.
+
 @node Color Names
 @section Color Names