[Main]
Name=FirstWindow
Type=Variable
Subtype=ROM Call
Header Files=wingraph.h
Definition=WINDOW *FirstWindow;

[ROM Call]
Index=$0

[Description]
A pointer to the head of the list of all windows.

[Explanation]
FirstWindow is a pointer to the first window in the linked list of all created windows.
By starting from FirstWindow and tracking the <I>Next</I> field of a
<A HREF="$$LINK(wingraph.h/WINDOW)">WINDOW</A> structure pointed to by it, it is possible to access to all
created windows (the last one is the window which <I>Next</I> field is equal
to <A HREF="$$LINK(alloc.h/NULL)">NULL</A>).
<BR><BR>
<B>Note:</B> Under normal conditions, FirstWindow points to the Home screen window, which is
defined as a window without a border, which occupies the space between the toolbar
menu and the command input line. When this is just a window which you want to use in your
program, you can pass FirstWindow as a parameter to any window routine
(although <A HREF="$$LINK(wingraph.h/DeskTop)">DeskTop</A> is probably a better choice). And, by changing
a structure pointed to by FirstWindow, it is possible to make Home screen "larger" or
"smaller", or to perform similar "dirty" tricks. See
<A HREF="$$LINK(events.h/EV_registerMenu)">EV_registerMenu</A> for a dirty example.

[References]
In=wingraph.h/WinActivate, wingraph.h/WinOpen, wingraph.h/WinRemove, wingraph.h/WinReOpen, events.h/EV_paintOneWindow, events.h/MO_notifyModeChange, unknown.h/UpdateWindows
