Skip to content
erkyrath edited this page Mar 24, 2011 · 29 revisions

Planned (and current) Glk spec updates:

First update (spec 0.7.1)

Released Jan 22, 2011. (These are simple updates which don't require a whole lot of design work. See Glk 071 draft spec changes.)

  • glk.h header should use 32-bit typedefs for glui32 and glsi32. (Include stdint.h.)

  • A way to set line-input terminator keys (so the game can react to function keys, etc, during line input)

  • A way to set whether line input is automatically echoed to the window, when input is completed or cancelled. (Currently it always is, but in certain cases you want to suppress that.)

  • The always-popular "draw a border between these windows" flag.

  • Calls to decompose and renormalize a bufferful of Unicode text.

Second update (spec 0.7.2)

See Glk 072 draft spec changes.

  • System-clock API (get the current time, in Unix timestamp form or a broken-out date/time structure)

The stylesheet update

This now encompasses several ideas:

  • CSS for style control.
  • HTML windows. (Must work both in Quixe and in native apps that use WebKit or other HTML widgets.) (In Quixe, this should also have some connection to the outer document frame.)
  • HTML insets in buffer windows.
  • Javascript messages to and from the HTML windows and doc frame.
  • Enough DOM control that the Javascript can provide Vorple/Undum-style effects on specific parts of the document. (The latest output, a given paragraph, a given inline HTML window...)

Future plans

  • Provide a glk_tick() macro, and document that calling it will be free (a do-nothing macro) if the library doesn't need to do tick work.

  • Multi-interface changes for glk.h. This would require changing every API call to take a context pointer, with #defines for backwards compatibility to existing code. (Both app code and library code require backwards compatibility! Headache.)

  • Network API