@c This is part of the Emacs manual.
-@c Copyright (C) 1985, 86, 87, 93, 94, 95, 97, 99, 2000, 2001
+@c Copyright (C) 1985, 86, 87, 93, 94, 95, 97, 99, 2000, 2001, 2004
@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Frames, International, Windows, Top
* Frame Parameters:: Changing the colors and other modes of frames.
* Scroll Bars:: How to enable and disable scroll bars; how to use them.
* Wheeled Mice:: Using mouse wheels for scrolling.
+* Drag and drop:: Using drag and drop to open files and insert text.
* Menu Bars:: Enabling and disabling the menu bar.
* Tool Bars:: Enabling and disabling the tool bar.
* Dialog Boxes:: Controlling use of dialog boxes.
back into the window. This way, you can mark regions that don't fit
entirely on the screen.
+This way of setting the secondary selection does not alter the kill ring.
+
@findex mouse-start-secondary
@kindex M-Mouse-1
@item M-Mouse-1
@kindex M-Mouse-3
@item M-Mouse-3
Make a secondary selection, using the place specified with @kbd{M-Mouse-1}
-as the other end (@code{mouse-secondary-save-then-kill}). A second click
-at the same place kills the secondary selection just made.
+as the other end (@code{mouse-secondary-save-then-kill}). This also
+puts the selected text in the kill ring. A second click at the same
+place kills the secondary selection just made.
@findex mouse-yank-secondary
@kindex M-Mouse-2
@kindex C-Mouse-2 @r{(scroll bar)}
@kbd{C-Mouse-2} on a scroll bar splits the corresponding window
-vertically, unless you are using an X toolkit's implementation of
-scroll bars. @xref{Split Window}.
+vertically. @xref{Split Window}.
The commands above apply to areas of the mode line which do not have
special mouse bindings of their own. Some areas, such as the buffer
down to the level where you click. By clicking repeatedly in the same
place, you can scroll by the same distance over and over.
- If you are using Emacs's own implementation of scroll bars, as opposed
-to scroll bars from an X toolkit, you can also click @kbd{C-Mouse-2} in
-the scroll bar to split a window vertically. The split occurs on the
-line where you click.
+ You can also click @kbd{C-Mouse-2} in the scroll bar to split a
+window vertically. The split occurs on the line where you click.
@findex scroll-bar-mode
@vindex scroll-bar-mode
@code{mouse-wheel-scroll-amount} determine where and by how much
buffers are scrolled.
+@node Drag and drop
+@section Drag and drop in Emacs.
+
+@cindex drag and drop
+ Emacs supports drag and drop so that dropping of files and text is handled.
+Currently supported drag and drop protocols are XDND, Motif and the old
+KDE 1.x protocol. There is no drag support yet.
+When text is dropped on Emacs, Emacs inserts the text where it is dropped.
+When a file is dragged from a file manager to Emacs, Emacs opens that file.
+As a special case, if a file is dropped on a dired buffer the file is
+copied or moved (depends on exactly how it is dragged and the application
+it was dragged from) to the directory the dired buffer is displaying.
+
+@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-open-file-other-window
+ A file is normally opened in the window it is dropped on, but if you
+prefer the file to be opened in a new window you can customize the variable
+@code{x-dnd-open-file-other-window}.
+
+@vindex x-dnd-types-alist
+ If you want to change the way Emacs handles drop of different types
+or add a new type, you shall customize @code{x-dnd-types-alist}. This
+requires detailed knowledge of what types other applications use
+for drag and drop.
+
+@vindex x-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{x-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 behaviour you can customize these
+variables.
+
+
@node Menu Bars
@section Menu Bars
@cindex Menu Bar mode
use of dialog boxes. This also controls whether to use file selection
windows (but those are not supported on all platforms).
+@vindex use-file-dialog
+ A file selection window is a special kind of dialog box for asking for
+file names.
+
+ You can customize the option @code{use-file-dialog} to suppress the
+use of file selection windows even if you still want other kinds
+of dialogs. This option has no effect if you have suppressed all dialog
+boxes with the option @code{use-dialog-box}.
+
+@vindex x-use-old-gtk-file-dialog
+ For Gtk+ version 2.4, you can make Emacs use the old file dialog
+by setting the variable @code{x-use-old-gtk-file-dialog} to a non-@code{nil}
+value. If Emacs is built with a Gtk+ version that has only one file dialog,
+the setting of this variable has no effect.
+
@node Tooltips
@section Tooltips (or ``Balloon Help'')