comparison man/xemacs/frame.texi @ 446:1ccc32a20af4 r21-2-38

Import from CVS: tag r21-2-38
author cvs
date Mon, 13 Aug 2007 11:37:21 +0200
parents abe6d1db359e
children d7a9135ec789
comparison
equal deleted inserted replaced
445:34f3776fcf0e 446:1ccc32a20af4
43 @item 43 @item
44 If you are running XEmacs under a graphical windowing system, a 44 If you are running XEmacs under a graphical windowing system, a
45 menu bar at the top of the frame makes shortcuts to several of the 45 menu bar at the top of the frame makes shortcuts to several of the
46 commands available (@pxref{Pull-down Menus}). 46 commands available (@pxref{Pull-down Menus}).
47 @item 47 @item
48 If you are running XEmacs under a graphical windowing system, a 48 Under a graphical windowing system, a
49 toolbar at the top of the frame, just under the menu bar if it exists, 49 toolbar at the top of the frame, just under the menu bar if it exists,
50 provides ``one-touch'' shortcuts to several commands. (Not yet 50 provides ``one-touch'' shortcuts to several commands. (Not yet
51 documented.) 51 documented.)
52 @item 52 @item
53 If you are running XEmacs under a graphical windowing system, a 53 Under a graphical windowing system, a
54 gutter at the top (under the toolbar) and/or bottom of the frame 54 gutter at the top (under the toolbar) and/or bottom of the frame
55 provides advanced GUI facilities like tab controls for rapid switching 55 provides advanced GUI facilities like tab controls for rapid switching
56 among related windows and progress bars for time-consuming operations 56 among related windows and progress bars for time-consuming operations
57 like downloads across the Internet. Gutters are an experimental feature 57 like downloads across the Internet. Gutters are an experimental feature
58 introduced in XEmacs version 21.2. (Not yet documented.) 58 introduced in XEmacs version 21.2. (Not yet documented.)
78 78
79 79
80 @menu 80 @menu
81 * Point:: The place in the text where editing commands operate. 81 * Point:: The place in the text where editing commands operate.
82 * Echo Area:: Short messages appear at the bottom of the frame. 82 * Echo Area:: Short messages appear at the bottom of the frame.
83 * Mode Line:: Interpreting the mode line. 83 * Mode Line:: Interpreting the mode line.
84 * GUI Components:: Menubar, toolbars, gutters.
84 * XEmacs under X:: Some information on using XEmacs under the X 85 * XEmacs under X:: Some information on using XEmacs under the X
85 Window System. 86 Window System.
87 * XEmacs under MS Windows:: Some information on using XEmacs under
88 Microsoft Windows.
86 @end menu 89 @end menu
87 90
88 @node Point, Echo Area, Frame, Frame 91 @node Point, Echo Area, Frame, Frame
89 @comment node-name, next, previous, up 92 @comment node-name, next, previous, up
90 @section Point 93 @section Point
167 with a prompt string that usually ends with a colon. The cursor 170 with a prompt string that usually ends with a colon. The cursor
168 appears after the prompt. You can always get out of the minibuffer by 171 appears after the prompt. You can always get out of the minibuffer by
169 typing @kbd{C-g}. @xref{Minibuffer}. 172 typing @kbd{C-g}. @xref{Minibuffer}.
170 @end itemize 173 @end itemize
171 174
172 @node Mode Line, XEmacs under X, Echo Area, Frame 175 @node Mode Line, GUI Components, Echo Area, Frame
173 @comment node-name, next, previous, up 176 @comment node-name, next, previous, up
174 @section The Mode Line 177 @section The Mode Line
175 @cindex mode line 178 @cindex mode line
176 @cindex top level 179 @cindex top level
177 180
270 controls whether the mode line is displayed in inverse video (assuming 273 controls whether the mode line is displayed in inverse video (assuming
271 the terminal supports it); @code{nil} means no inverse video. The 274 the terminal supports it); @code{nil} means no inverse video. The
272 default is @code{t}. For X frames, simply set the foreground and 275 default is @code{t}. For X frames, simply set the foreground and
273 background colors appropriately. 276 background colors appropriately.
274 277
275 @node XEmacs under X, , Mode Line, Frame 278 @node GUI Components, XEmacs under X, Mode Line, Frame
279 @comment node-name, next, previous, up
280 @section GUI Components
281
282 When executed in a graphical windowing environment such as the X Window
283 System or Microsoft Windows, XEmacs displays several graphical user
284 interface components such as scrollbars, menubars, toolbars, and
285 gutters. By default there is a vertical scrollbar at the right of each
286 frame, and at the top of the frame there is a menubar, a toolbar, and a
287 gutter, in that order. Gutters can contain any of several widgets, but
288 the default configuration puts a set of "notebook tabs" which you can
289 use as a shortcut for selecting any of several related buffers in a
290 given frame. Operating the GUI components is "obvious": click on the
291 menubar to pull down a menu, on a button in the toolbar to invoke a
292 function, and on a tab in the gutter to switch buffers.
293
294 @menu
295 * Menubar Basics:: How XEmacs uses the menubar.
296 * Scrollbar Basics:: How XEmacs uses scrollbars.
297 * Toolbar Basics:: How XEmacs uses toolbars.
298 * Gutter Basics:: How XEmacs uses gutters.
299 * Inhibiting:: What if you don't like GUI?
300 * Customizing:: Position, orientation, and appearance of GUI objects.
301 @end menu
302
303 @node Menubar Basics, Scrollbar Basics, , GUI Components
304 @comment node-name, next, previous, up
305 @section The XEmacs Menubar
306
307 The XEmacs menubar is intended to be conformant to the usual conventions
308 for menubars, although conformance is not yet perfect. The menu at the
309 extreme right is the @samp{Help} menu, which should always be
310 available. It provides access to all the XEmacs help facilities
311 available through @kbd{C-h}, as well as samples of various configuration
312 files like @samp{~/.Xdefaults} and @samp{~/.emacs}. At the extreme left
313 is the @samp{Files} menu, which provides the usual file reading,
314 writing, and printing operations, as well as operations like revert
315 buffer from most recent save. The next menu from the left is the
316 @samp{Edit} menu, which provides the @samp{Undo} operation as well as
317 cutting and pasting, searching, and keyboard macro definition and
318 execution.
319
320 @c #### w3.el and VM should get cross-references here.
321 XEmacs provides a very dynamic environment, and the Lisp language makes
322 for highly flexible applications. The menubar reflects this: many menus
323 (eg, the @samp{Buffers} menu, @pxref{Buffers Menu}) contain items
324 determined by the current state of XEmacs, and most major modes and many
325 minor modes add items to menus and even whole menus to the menubar. In
326 fact, some applications like w3.el and VM provide so many menus that
327 they define a whole new menubar and add a button that allows convenient
328 switching between the ``XEmacs menubar'' and the ``application
329 menubar''. Such applications normally bind themselves to a particular
330 frame, and this switching only takes place on frames where such an
331 application is active (ie, the current window of the frame is displaying
332 a buffer in the appropriate major mode).
333
334 Other menus which are typically available are the @samp{Options},
335 @samp{Tools}, @samp{Buffers}, @samp{Apps}, and @samp{Mule} menus. For
336 detailed descriptions of these menus, @ref{Pull-down Menus}. (In 21.2
337 XEmacsen, the @samp{Mule} menu will be moved under @samp{Options}.)
338
339 @node Scrollbar Basics, Toolbar Basics, Menubar Basics, GUI Components
340 @comment node-name, next, previous, up
341 @section XEmacs Scrollbars
342
343 XEmacs scrollbars provide the usual interface. Arrow buttons at either
344 end allow for line by line scrolling, including autorepeat. Clicking in
345 the scrollbar itself provides scrolling by windowsfull, depending on
346 which side of the slider is clicked. The slider itself may be dragged
347 for smooth scrolling.
348
349 The position of the slider corresponds to the position of the window in
350 the buffer. In particular, the length of the slider is proportional to
351 the fraction of the buffer which appears in the window.
352
353 The presence of the scrollbars is under control of the application or
354 may be customized by the user. By default a vertical scrollbar is
355 present in all windows (except the minibuffer), and there is no
356 horizontal scrollbar.
357
358 @node Toolbar Basics, Gutter Basics, Scrollbar Basics, GUI Components
359 @comment node-name, next, previous, up
360 @section XEmacs Toolbars
361
362 XEmacs has a default toolbar which provides shortcuts for some of the
363 commonly used operations (such as opening files) and applications (such
364 as the Info manual reader). Operations which require arguments will pop
365 up dialogs to get them.
366
367 The position of the default toolbar can be customized. Also, several
368 toolbars may be present simultaneously (in different positions). VM,
369 for example, provides an application toolbar which shortcuts for
370 mail-specific operations like sending, saving, and deleting messages.
371
372 @node Gutter Basics, Inhibiting, Toolbar Basics, GUI Components
373 @comment node-name, next, previous, up
374 @section XEmacs Gutters
375
376 Gutters are the most flexible of the GUI components described in this
377 section. In theory, the other GUI components could be implemented by
378 customizing a gutter, but in practice the other components were
379 introduced earlier and have their own special implementations. Gutters
380 tend to be more transient than the other components. Buffer tabs, for
381 example, change every time the selected buffer in the frame changes.
382 And for progress gauges a gutter to contain the gauge is typically
383 created on the fly when needed, then destroyed when the operation whose
384 staus is being displayed is completed.
385
386 Buffer tabs, having somewhat complex behavior, deserve a closer look.
387 By default, a row of buffer tabs is displayed at the top of every frame.
388 (The tabs could be placed in the bottom gutter, but would be oriented
389 the same way and look rather odd. The horizontal orientation makes
390 putting them in a side gutter utterly impractical.) The buffer
391 displayed in the current window of a frame can be changed to a specific
392 buffer by clicking [mouse-1] on the corresponding tab in the gutter.
393
394 Each tab contains the name of its buffer. The tab for the current
395 buffer in each frame is displayed in raised relief. The list of buffers
396 chosen for display in the buffer tab row is derived by filtering the
397 buffer list (like the @code{Buffers} menu). The list starts out with
398 all existing buffers, with more recently selected buffers coming earlier
399 in the list.
400
401 Then "uninteresting" buffers, like internal XEmacs buffers, the
402 @code{*Message Log*} buffer, and so on are deleted from the list. Next,
403 the frame's selected buffer is determined. Buffers with a different
404 major mode from the selected buffer are removed from the list. Finally,
405 if the list is too long, the least recently used buffers are deleted
406 from the list. By default up to 6 most recently used buffers with the
407 same mode are displayed on tabs in the gutter.
408
409 @node Inhibiting, Customizing, Gutter Basics, GUI Components
410 @comment node-name, next, previous, up
411 @section Inhibiting Display of GUI Components
412
413 Use of GUI facilities is a personal thing. Almost everyone agrees that
414 drawing via keyboard-based "turtle graphics" is acceptable to hardly
415 anyone if a mouse is available, but conversely emulating a keyboard with
416 a screenful of buttons is a painful experience. But between those
417 extremes the complete novice will require a fair amount of time before
418 toolbars and menus become dispensable, but many an "Ancien Haquer" sees
419 them as a complete waste of precious frame space that could be filled
420 with text.
421
422 Display of all of the GUI components created by XEmacs can be inhibited
423 through the use of Customize. Customize can be accessed through
424 @samp{Options | Customize} in the menu bar, or via @kbd{M-x customize}.
425 Then navigate through the Customize tree to @samp{Emacs | Environment}.
426 Scrollbar and toolbar visibility is controlled via the @samp{Display}
427 group, options @samp{Scrollbars visible} and @samp{Toolbar visible}
428 respectively. Gutter visibility is controlled by group @samp{Gutter},
429 option @samp{Visible}.
430
431 Or they can be controlled directly by @kbd{M-x customize-variable}, by
432 changing the values of the variables @code{menubar-visible-p},
433 @code{scrollbars-visible-p}, @code{toolbar-visible-p}, or
434 @code{gutter-buffers-tab-visible-p} respectively. (The strange form of
435 the last variable is due to the fact that gutters are often used to
436 display transient widgets like progress gauges, which you probably don't
437 want to inhibit. It is more likely that you want to inhibit the default
438 display of the buffers tab widget, which is what that variable controls.
439 This interface is subject to change depending on developer experience
440 and user feedback.)
441
442 Control of frame configuration can controlled automatically according to
443 various parameters such as buffer or frame because these are
444 @dfn{specifiers} @ref{Specifiers, , , lispref}. Using these features
445 requires programming in Lisp; Customize is not yet that sophisticated.
446 Also, components that appear in various positions and orientations can
447 have display suppressed according to position. @kbd{C-h a visible-p}
448 gives a list of variables which can be customized. E.g., to control the
449 visibility of specifically the left-side toolbar only, customize
450 @code{left-toolbar-visible-p}.
451
452 @node Customizing, , Inhibiting, GUI Components
453 @comment node-name, next, previous, up
454 @section Changing the Position, Orientation, and Appearance of GUI Components
455
456 #### Not documented yet.
457
458 @node XEmacs under X, XEmacs under MS Windows, GUI Components, Frame
276 @section Using XEmacs Under the X Window System 459 @section Using XEmacs Under the X Window System
277 @comment node-name, next, previous, up 460 @comment node-name, next, previous, up
278 461
279 XEmacs can be used with the X Window System and a window manager like 462 XEmacs can be used with the X Window System and a window manager like
280 MWM or TWM. In that case, the X window manager opens, closes, and 463 MWM or TWM. In that case, the X window manager opens, closes, and
353 There is a new frame/modeline format directive, %S, which expands to 536 There is a new frame/modeline format directive, %S, which expands to
354 the name of the current frame (a frame's name is distinct from its 537 the name of the current frame (a frame's name is distinct from its
355 title; the name is used for resource lookup, among other things, and the 538 title; the name is used for resource lookup, among other things, and the
356 title is simply what appears above the window.) 539 title is simply what appears above the window.)
357 @end itemize 540 @end itemize
541
542 @node XEmacs under MS Windows, , XEmacs under X, Frame
543 @section Using XEmacs Under Microsoft Windows
544 @comment node-name, next, previous, up
545
546 Use of XEmacs under MS Windows is not separately documented here, but
547 most operations available under the X Window System are also available
548 with MS Windows.
549
550 Where possible, native MS Windows GUI components and capabilities are
551 used in XEmacs.
552