Mercurial > hg > xemacs-beta
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 |