I can see that someone has already made a GUI library for Gosu. That just shows how long I have taken in packaging my library.
I started work on a Gosu project just over a year ago. As part of the project, I wrote a simple Ruby GUI Framework and decided that I would release it independently. (Which, once again, took an entire year...)
If you want to opt out before these copious amount of text, check out the download before you go:
http://code.google.com/p/gglib/downloads/listUnlike Rubygoo, GGLib does not provide a full fledged GUI library, but aims to make it very easy to write one's own widgets. And it is unbelievably easy to write widgets with GGLib. It's almost like using C# or VB with .NET to write Windows GUI apps. That said, GGLib does still provide a small assortment of predefined widgets. It has some interesting widgets, such as the DebugConsole and TracePanel which Rubygoo does not have. It also had the ability to fade in and out of menus, which Rubygoo does not have, and has an extensible window state mechanism. As of now, GGLib lacks a full set of widgets, but I will continue to add new widgets such as check boxes, radio buttons, and labels in the near future.
Unfortunately, many of the widgets which were previously part of this library have been removed because they are two heavily intertwined with the project I was previously working on. I will try to extract these widgets from the rest of the project so that they can be neatly distributed with the library. One of these widgets, the TextBar deserves a special mention. The TextBar is not a text editor like the TextBox, but a medium for conversation with in game characters. It is similar to the textbar in Gameboy games and many console games: that strip with text and response options that appears at the bottom of the screen. But the really cool thing about the TextBar is that it is fully scriptable: not from Ruby, but from a special custom language which the application parses passively rather than actively. (That is, the application pauses parsing the script to obtain a human response, rather than the other way around.)
Since this library is so old, some of it is a bit outdated. For example, before Gosu's text input was updated in 0.7.9, GGLib had it's own text input interface. With Gosu 0.7.9, GGLib's Widget#feedText and associated routines became redundant. This, and other legacy code, will be scrapped as soon as possible.
Currently supported widgets:
DebugConsole
GenericButton
SelectionBox
TextBox
ThemeButton
TracePanel
Finished widgets which must be cleaned up before release
TextBar
MenuBar
Menu
MenuItem
MiniMap
Planned widget additions:
RadioButton
CheckBox
Label
TextArea
HScroll
VScroll
Other planned additions:
Remove legacy code
Add audio hooks
Reintroduce serialization/deserialization
Reintroduce debugging/logging
Add layout mechanism
Add theme mechanism
Add support for drawn widgets as well as image-widgets.
Download:
http://code.google.com/p/gglib/downloads/list