One of the most interesting facets of a desktop GUI system is how easy it makes it to go off the beaten track, particularly how well you can add "first class" components to the system. (Using 'first class' here to mean 'on an equal footing with the widgets supplied by the toolkit'). Also, as a ruby programmer, I'd naturally rather not drop down into C (or Java) to do this. I'm trying to collect examples of the following four tasks (which I will then assemble and put up on the web as another datapoint in the eternal GUI debate :)): 1. A component consisting of a series of existing components hooked together to act as a single widget 2. A component built 'from scratch' atop a canvas, that is, handling its own drawing and event management 3. A component combining a canvas and existing widgets 4. A container that takes a collection of widgets and lays them out according to some userdefined algorithm Examples (more welcomed): 1. An icon widget, that combines a picture and a textfield underneath, with config options to turn either off or size the image, make the text editable, etc 2. A speedometer-type dial with a configurable range and tick interval 3. A box that holds a component and paints a customised border around it 4. A pure-ruby implementation of a wrapbox (http://zem.novylen.net/ruby/wrapboxdemo.png) martin