{Begin Chapter Windows and Menus} {Title Windows and Menus} {Text {index Window system} {index windows} Windows provide a means by which different programs can share a single display harmoniously. Rather than having every program directly manipulating the screen bitmap, all display input/output operations are directed towards windows, which appear as rectangular regions of the screen, with borders and titles. The Interlisp-D window system provides both interactive and programmatic constructs for creating, moving, reshaping, overlapping, and destroying windows in such a way that a program can use a window in a relatively transparent fashion (see {PageRef Term Windows}). This allows existing Interlisp programs to be used without change, while providing a base for experimentation with more complex windows in new applications. {index Menus} Menus are a special type of window provided by the window system, used for displaying a set of items to the user, and having the user select one using the mouse and cursor. The window system uses menus to provide the interactive interface for manipulating windows. The menu facility also allows users to create and use menus in interactive programs (see {PageRef Term Menus}). {index Attached windows} Sometimes, a program needs to use a number of windows, displaying related information. The attached window facility ({PageRef Term attached windows}) makes it easy to manipulate a group of windows as a single unit, moving and reshaping them together. This chapter documents the Interlisp-D window system. First, it describes the default windows and menus supplied by the window system. Then, the programmatic facilities for creating windows. Next, the functions for using menus. Finally, the attached window facility. Warning: The window system assumes that all programs follow certain conventions concerning control of the screen. All user programs should use perform display operations using windows and menus. In particular, user programs should not perform operate directly on the screen bitmap; otherwise the window system will not work correctly. For specialized applications that require taking complete control of the display, the window system can be turned off (and back on again) with the following function: {FnDef {Name WINDOWWORLD} {Args FLAG} {Type nospread} {Text The window system is turned on if {arg FLAG} is {lisp T} and off if {arg FLAG} is {lisp NIL}. {fn WINDOWWORLD} returns the previous state of the window system ({lisp T} or {lisp NIL}). If {fn WINDOWWORLD} is given no arguments, it simply returns the current state without affecting the window system. }} {Include WindowSystem} {Include Windows} {Include Menus} {Include AttachedWindows} }{End Chapter Windows and Menus} ?1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8)) ?1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8)) ç çzº