Version 9 of Flexible Windows available

A new version of Flexible Windows has been posted in the I7 extensions library. This version works with 6Exx, and also provides some other new features:

  • Built-in support for receiving individual keypresses (char input) in any window.
  • Built-in support for hyperlinks in any window.
  • Control over which windows’ output is written to the transcript.
  • You can now classify windows using kinds rather than properties, e.g. “the image-window is a graphics g-window spawned by the main-window” or “the terminal-window is a text-grid g-window” or “the inventory-window is a text-buffer g-window”.

This release will require some changes to existing source code (reveal spoiler for instructions).

[spoiler]In previous versions of Flexible Windows, the drawing rules for windows other than the main window and the status window were specified using the “drawing rule” property of a window. With version 9, we are now using an object-based rulebook. The following changes to existing source code may be necessary:

  • The “drawing rule” property for windows no longer exists. References to this property should be removed.
    []The rule preamble for drawing rules should be changed to the form:
    [list]A window-drawing rule for the side-window[/
    []Specific invocations of drawing rules should read as follows:
    follow the window-drawing rules for the side-window[/

If you have written custom I6 code for displaying images, or modified the custom code from the Flexible Windows example, you will need to change this to reflect the new methods for accessing blorb resources (see the 6E59 change log).[/spoiler]

I have taken over basic maintenance of Flexible Windows from its author, Jon Ingold, so please send any bug reports to me at ek[dot]temple[at]gmail[dot]com.