X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/ed39e4e24d031db7e994e743c1dc4d055aa8f8de..41e962982dfe424c69ed99f0bd26a6e4eb67107f:/doc/emacs/frames.texi diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi index ee468e6f68..27380cd565 100644 --- a/doc/emacs/frames.texi +++ b/doc/emacs/frames.texi @@ -1,12 +1,12 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2012 -@c Free Software Foundation, Inc. +@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2014 Free Software +@c Foundation, Inc. @c See file emacs.texi for copying conditions. -@node Frames, International, Windows, Top +@node Frames @chapter Frames and Graphical Displays @cindex frames - When Emacs is started on a graphical display, e.g.@: on the X Window + When Emacs is started on a graphical display, e.g., on the X Window System, it occupies a graphical system-level ``window''. In this manual, we call this a @dfn{frame}, reserving the word ``window'' for the part of the frame used for displaying a buffer. A frame initially @@ -39,7 +39,7 @@ doing so on GNU and Unix systems; and @ifnottex @pxref{MS-DOS Mouse}, @end ifnottex -for doing so on MS-DOS). +for doing so on MS-DOS). Menus are supported on all text terminals. @menu * Mouse Commands:: Moving, cutting, and pasting, with the mouse. @@ -77,12 +77,12 @@ for doing so on MS-DOS). Move point to where you click (@code{mouse-set-point}). @item Drag-Mouse-1 -Activate the region around the text selected by dragging, and copy it -to the kill ring (@code{mouse-set-region}). +Activate the region around the text selected by dragging, and put the +text in the primary selection (@code{mouse-set-region}). @item Mouse-2 -Yank the last killed text at the click position -(@code{mouse-yank-at-click}). +Move point to where you click, and insert the contents of the primary +selection there (@code{mouse-yank-primary}). @item Mouse-3 If the region is active, move the nearer end of the region to the @@ -136,7 +136,7 @@ the position where you clicked and inserts the contents of the primary selection (@code{mouse-yank-primary}). @xref{Primary Selection}. This behavior is consistent with other X applications. Alternatively, you can rebind @kbd{Mouse-2} to @code{mouse-yank-at-click}, which -performs a yank at point. +performs a yank at the position you click. @vindex mouse-yank-at-point If you change the variable @code{mouse-yank-at-point} to a @@ -246,8 +246,8 @@ Select the text you drag across, in the form of whole lines. @vindex mouse-highlight Some Emacs buffers include @dfn{buttons}, or @dfn{hyperlinks}: -pieces of text that perform some action (e.g.@: following a reference) -when activated (e.g.@: by clicking on them). Usually, a button's text +pieces of text that perform some action (e.g., following a reference) +when activated (e.g., by clicking on them). Usually, a button's text is visually highlighted: it is underlined, or a box is drawn around it. If you move the mouse over a button, the shape of the mouse cursor changes and the button lights up. If you change the variable @@ -376,6 +376,9 @@ position (@pxref{Split Window}). between two side-by-side mode lines, you can move the vertical boundary to the left or right. + Note that resizing windows is affected by the value of +@code{window-resize-pixelwise}, see @ref{Split Window}. + @node Creating Frames @section Creating Frames @cindex creating frames @@ -453,8 +456,30 @@ cycles through all the frames on your terminal. @kindex C-x 5 1 @findex delete-other-frames Delete all frames on the current terminal, except the selected one. + +@item M- +@kindex M- +@findex toggle-frame-maximized +Toggle the maximization state of the current frame. When a frame is +maximized, it fills the screen. + +@item +@kindex +@findex toggle-frame-fullscreen +Toggle fullscreen mode for the current frame. (The difference +between ``fullscreen'' and ``maximized'' is normally that the former +hides window manager decorations, giving slightly more screen space to +Emacs itself.) @end table +@vindex frame-resize-pixelwise + Note that with some window managers you may have to customize the +variable @code{frame-resize-pixelwise} to a non-@code{nil} value in +order to make a frame truly ``maximized'' or ``fullscreen''. This +variable, when set to a non-@code{nil} value, in general allows +resizing frames at pixel resolution, rather than in integral multiples +of lines and columns. + The @kbd{C-x 5 0} (@code{delete-frame}) command deletes the selected frame. However, it will refuse to delete the last frame in an Emacs session, to prevent you from losing the ability to interact with the @@ -484,13 +509,14 @@ the mouse cursor to the chosen frame. @cindex fonts By default, Emacs displays text on graphical displays using a -12-point monospace font. There are several different ways to specify +10-point monospace font. There are several different ways to specify a different font: @itemize @item -Click on @samp{Set Default Font} in the @samp{Options} menu. To save -this for future sessions, click on @samp{Save Options} in the +Click on @samp{Set Default Font} in the @samp{Options} menu. This +makes the selected font the default on all existing graphical frames. +To save this for future sessions, click on @samp{Save Options} in the @samp{Options} menu. @item @@ -499,9 +525,14 @@ Add a line to your init file, modifying the variable (@pxref{Frame Parameters}), like this: @example -(add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-10")) +(add-to-list 'default-frame-alist + '(font . "DejaVu Sans Mono-10")) @end example +@noindent +This makes the font the default on all graphical frames created after +restarting Emacs with that init file. + @cindex X defaults file @cindex X resources file @item @@ -630,7 +661,7 @@ Monospace Bold Italic 12 @cindex X Logical Font Description The third way to specify a font is to use an @dfn{XLFD} (@dfn{X Logical Font Description}). This is the traditional method for -specifying fonts under X. Each XLFD consists of fourteen words or +specifying fonts under X@. Each XLFD consists of fourteen words or numbers, separated by dashes, like this: @example @@ -643,7 +674,7 @@ characters (including none), and @samp{?} matches any single character. However, matching is implementation-dependent, and can be inaccurate when wildcards match dashes in a long name. For reliable results, supply all 14 dashes and use wildcards only within a field. -Case is insignificant in an XLFD. The syntax for an XLFD is as +Case is insignificant in an XLFD@. The syntax for an XLFD is as follows: @example @@ -658,7 +689,7 @@ The entries have the following meanings: @item maker The name of the font manufacturer. @item family -The name of the font family (e.g.@: @samp{courier}). +The name of the font family (e.g., @samp{courier}). @item weight The font weight---normally either @samp{bold}, @samp{medium} or @samp{light}. Some font names support other values. @@ -791,8 +822,8 @@ When a file or directory is expanded, the @samp{[+]} changes to hiding its contents. You navigate through the speedbar using the keyboard, too. Typing -@kbd{RET} while point is on a line in the speedbar is equivalent to -clicking the item on the current line, and @kbd{SPC} expands or +@key{RET} while point is on a line in the speedbar is equivalent to +clicking the item on the current line, and @key{SPC} expands or contracts the item. @kbd{U} displays the parent directory of the current directory. To copy, delete, or rename the file on the current line, type @kbd{C}, @kbd{D}, and @kbd{R} respectively. To create a @@ -880,10 +911,11 @@ those are drawn by the toolkit and not directly by Emacs. @section Scroll Bars @cindex Scroll Bar mode @cindex mode, Scroll Bar +@cindex Vertical Scroll Bar - On graphical displays, there is a @dfn{scroll bar} on the side of -each Emacs window. Clicking @kbd{Mouse-1} on the scroll bar's up and -down buttons scrolls the window by one line at a time. Clicking + On graphical displays, there is a @dfn{vertical scroll bar} on the +side of each Emacs window. Clicking @kbd{Mouse-1} on the scroll bar's +up and down buttons scrolls the window by one line at a time. Clicking @kbd{Mouse-1} above or below the scroll bar's inner box scrolls the window by nearly the entire height of the window, like @kbd{M-v} and @kbd{C-v} respectively (@pxref{Moving Point}). Dragging the inner box @@ -897,28 +929,75 @@ in the scroll bar lets you drag the inner box up and down. @findex scroll-bar-mode @findex toggle-scroll-bar - To toggle the use of scroll bars, type @kbd{M-x scroll-bar-mode}. -This command applies to all frames, including frames yet to be -created. To toggle scroll bars for just the selected frame, use the -command @kbd{M-x toggle-scroll-bar}. + To toggle the use of vertical scroll bars, type @kbd{M-x +scroll-bar-mode}. This command applies to all frames, including frames +yet to be created. To toggle vertical scroll bars for just the selected +frame, use the command @kbd{M-x toggle-scroll-bar}. @vindex scroll-bar-mode - To control the use of scroll bars at startup, customize the variable -@code{scroll-bar-mode}. Its value should be either @code{right} (put -scroll bars on the right side of windows), @code{left} (put them on -the left), or @code{nil} (disable scroll bars). By default, Emacs -puts scroll bars on the right if it was compiled with GTK+ support on -the X Window System, and on MS-Windows or Mac OS; Emacs puts scroll -bars on the left if compiled on the X Window System without GTK+ -support (following the old convention for X applications). + To control the use of vertical scroll bars at startup, customize the +variable @code{scroll-bar-mode}. Its value should be either +@code{right} (put scroll bars on the right side of windows), @code{left} +(put them on the left), or @code{nil} (disable vertical scroll bars). +By default, Emacs puts scroll bars on the right if it was compiled with +GTK+ support on the X Window System, and on MS-Windows or Mac OS; Emacs +puts scroll bars on the left if compiled on the X Window System without +GTK+ support (following the old convention for X applications). @vindex scroll-bar-width -@cindex width of the scroll bar +@cindex width of the vertical scroll bar You can also use the X resource @samp{verticalScrollBars} to enable or disable the scroll bars (@pxref{Resources}). To control the scroll bar width, change the @code{scroll-bar-width} frame parameter (@pxref{Frame Parameters,,, elisp, The Emacs Lisp Reference Manual}). +@vindex scroll-bar-adjust-thumb-portion +@cindex overscrolling +If you're using Emacs on X (with GTK+ or Motif), you can customize the +variable @code{scroll-bar-adjust-thumb-portion} to control +@dfn{overscrolling} of the scroll bar, i.e. dragging the thumb down even +when the end of the buffer is visible. If its value is +non-@code{nil}, the scroll bar can be dragged downwards even if the +end of the buffer is shown; if @code{nil}, the thumb will be at the +bottom when the end of the buffer is shown. You can not over-scroll +when the entire buffer is visible. + +@cindex scroll-bar face + The visual appearance of the scroll bars is controlled by the +@code{scroll-bar} face. + +@cindex Horizontal Scroll Bar +@cindex Horizontal Scroll Bar mode + On graphical displays with toolkit support, Emacs may also supply a +@dfn{horizontal scroll bar} on the bottom of each window. Clicking +@kbd{Mouse-1} on the that scroll bar's left and right buttons scrolls +the window horizontally by one column at a time. Clicking @kbd{Mouse-1} +on the left or right of the scroll bar's inner box scrolls the window by +four columns. Dragging the inner box scrolls the window continuously. + + Note that such horizontal scrolling can make the window's position of +point disappear on the left or the right. Typing a character to insert +text or moving point with a keyboard command will usually bring it back +into view. + +@findex horizontal-scroll-bar-mode + To toggle the use of horizontal scroll bars, type @kbd{M-x +horizontal-scroll-bar-mode}. This command applies to all frames, +including frames yet to be created. To toggle horizontal scroll bars +for just the selected frame, use the command @kbd{M-x +toggle-horizontal-scroll-bar}. + +@vindex horizontal-scroll-bar-mode + To control the use of horizontal scroll bars at startup, customize the +variable @code{horizontal-scroll-bar-mode}. + +@vindex scroll-bar-height +@cindex height of the horizontal scroll bar + You can also use the X resource @samp{horizontalScrollBars} to enable +or disable horizontal scroll bars (@pxref{Resources}). To control the +scroll bar height, change the @code{scroll-bar-height} frame parameter +(@pxref{Frame Parameters,,, elisp, The Emacs Lisp Reference Manual}). + @node Drag and Drop @section Drag and Drop @cindex drag and drop @@ -1066,7 +1145,7 @@ attributes of the tooltip text are specified by the @code{tooltip} face, and by X resources (@pxref{X Resources}). @dfn{GUD tooltips} are special tooltips that show the values of -variables when debugging a program with GUD. @xref{Debugger +variables when debugging a program with GUD@. @xref{Debugger Operation}. @node Mouse Avoidance @@ -1091,17 +1170,19 @@ to various values to move the mouse in several ways: @table @code @item banish -Move the mouse to the upper-right corner on any key-press; +Move the pointer to a corner of the frame on any key-press. You can +customize the variable @code{mouse-avoidance-banish-position} to +specify where the pointer goes when it is banished. @item exile -Move the mouse to the corner only if the cursor gets too close, -and allow it to return once the cursor is out of the way; +Banish the pointer only if the cursor gets too close, and allow it to +return once the cursor is out of the way. @item jump -If the cursor gets too close to the mouse, displace the mouse -a random distance & direction; +If the cursor gets too close to the pointer, displace the pointer by a +random distance and direction. @item animate -As @code{jump}, but shows steps along the way for illusion of motion; +As @code{jump}, but shows steps along the way for illusion of motion. @item cat-and-mouse -The same as @code{animate}; +The same as @code{animate}. @item proteus As @code{animate}, but changes the shape of the mouse pointer too. @end table