Lagopus is a wrapper for FXRuby (Fox). Lagopus creates wrapper functions for creation of all objects descended from FXComposite. These wrapper functions allow use of named parameters and blocks during construction of GUIs. The result of this is that you construct your GUI using a nested set of blocks, passing parameters only when there is something in particular you want to change. Notes on parameter naming ------------------------- Parameters are generally named :. Ie, if the parameter is named sel in the Fox header file, the named parameter is :sel. However, there are a couple of exceptions: :parent - if a composite is taken as first parameter, it is overridden by :parent instead of :p (which is what the header files call it) :addopts,:delopts - The default set of options are overriden with :opts. In order to be able to code with *differences* from the defaults instead of just overriding the default, :addopts and :delopts can be used to add to or delete from the defaults. :owner - Owner of windows is consequently called :owner, never :own :app - FXApp to use is consequently called ":app", not ":a". (Note that for the objects that can take either an owner or an app, there is code in the system to find out which of these you specify. This is triggered by the magic ":app_or_owner" in the specs list.) lg_sel - This is actually a quite different kind of parameter, used for setting up event handlers. It can be used in two ways: lg_sel(selector) => proc { |*args| ... do stuff ... } or lg_sel(selector) => :method_name The forms do what you would expect. Note that selector defaults to SEL_COMMAND.