There are three functions you can use to open a custom screen: openscreen(), openscreentags() or openscreentaglist(). prior to release 2 (V36), OpenScreen() was used to create a new screen. With V36 and later versions of the operating system, this call is superseded by OpenScreenTagList() and OpenScreenTags(). struct Screen *OpenScreen( struct NewScreen *) struct Screen *OpenScreenTagList( struct NewScreen * , struct TagItem *) struct Screen *OpenScreenTags( struct NewScreen *, ULONG, ULONG, ... ) The old openscreen() call relied on a fixed size data structure (newscreen) which made little allowance for extensions and growth. the new calls are tag based, allowing for the addition of new features without modification of existing structures and applications. The "screen attributes" section below contains a complete list of all the tag options available for setting up an Intuition screen. For a general description of tag items, see the "utility library" chapter. a custom screen example creating a custom screen that works with older systems return values from openscreentaglist() closing the screen