GWindows is not a total high-level API for Glk. Specifically, GWindows does not concern itself with matters not related to windows, such as sound and files. The GWindows Sound System is a separate but related API which addresses the issue of sound management.
Users of GWindows should not expect that GWindows will rid them of
the need to make Glk calls directly. GWindows exists to facilitate the
use of Glk -- Glk functions which are already "easy" to use have been
left alone. For example, glk_set_style
is still used
to select an output style, and glk_window_move_cursor
is still the supported way of repositioning the cursor within a
window.
GWindows also handles some situations sub-optimally. Though Glulx Inform has a mechanism for matching the current state of the windows to the desired window layout, doing this for a complex layout would require much special case code. Since version .5b, GWindows attempts to match the current state of the windows to the desired layout following a restart, restore or undo, but in many cases, it simply gives up and regenerates the user interface from scratch whenever required. Further, when switching between user interfaces, no attempt is made to re-use existing windows. This means that whenever the game switches between screen layouts, the main window will be cleared, and, on most interpreters, any scrollback it had will be lost.