From: tsumeruby@... Date: 2006-02-18T05:40:15+09:00 Subject: Re: Which GUI toolkit in Ubuntu? On Saturday 18 February 2006 05:13 am, pesachzon wrote: > Hi, > > Can anyone recommend a gui toolkit that works well with ruby in ubuntu? > > Thanks There are plenty. I've used all the available toolkits which have bindings to Ruby. When choosing a toolkit to use, you've to consider what the project is used for when writing code. Also, the main factor in choosing a toolkit isn't how complete the toolkit is, but how good the bindings are which are bound to ruby. The easiest which you'll most likely want to use is Ruby/GTK2, there are also ruby-gnome2 bindings, which you may find here.. http://ruby-gnome2.sourceforge.jp/hiki.cgi GTK2 is a good choice, especially if you're using the GNOME desktop. If you use KDE, then you'll want to use qtruby, its always best to use same toolkit to desktop for saving memory. Also think about using the GNOME/KDE proprietary widgets to make the application look native to the environment which you're developing. Most are not educated on how GNOME and KDE actually save memory when you use them, but a discussion for another time. Another good candidate is Tk. Some say its ugly. Tk is known not to be the prettiest toolkit, and there is a project to help with the very stupid argument. Tk/Tile skins the Tk widgets, unfortunately not the menubar, which may be acceptable for most users on X11. http://tktable.sourceforge.net/tile/ Tile will skin widgets, you may even pixmap them widgets to your liking, view screenshots here. http://tktable.sourceforge.net/tile/screenshots/ If you use the Tile widgets, there is a very nice method in 1.8.4 for automatically enabling Tile for the standard Tk API. Tk::Tile.__Import_Tile_Widgets__ Using the method above, all Tk widgets will use Tile widgets by default. The downfall of the method; some widgets are not 100% cross compatible with the older tk api, so you've to pass arguments to each widget like designing Tk/Tile widgets. If you can use the tile widgets, and keep the program safe to take out the Import_Tile_Widgets method, then the app will be portable so you wont have to redesign the program for use with AquaTK. The Tk API is not the easiest API in the world to use, so you might want to use Ruby/GTK2 :) By the way, you might want to manually compile and get rid of the Ubuntu packaged ruby. I have to use ubuntu on this laptop, and was rather disappointed at the ubuntu team for using a CVS snapshot. Ubuntu ruby is _NOT_ 1.8.3 release, the code is developmental. If you `ruby -v`, the version will appear. Tsume