X Windows and GTK+ are not the bloated monsters you think they are. = Here's how we modified GTK+/X for our device's GUI... ..., we narrowed our GUI choices to GTK+ or Qt/E. Qt is a G= UI recently developed by TrollTech and used by the KDE desktop. Ishas an O= OP-intensive C++ framework. Qt/Embedded (Qt/E) is a reduced version of Qt t= hat runs on a framebuffer. It sports a clean widget set, a signal/slot arch= itecture, and graphics abilities including TrueType fonts and alpha blendin= g. The Qt Palmtop Environment (QPE) is an application infrastructure that i= ncludes Qt/E running on a framebuffered client/server windowing architectur= e, along with a host of PIM applications. GTK+ is a GUI with a C-ba= sed object-oriented architecture. The GNOME desktop uses GTK+. GTK+ feature= s clean abstractions between the GTK+ library which manages widgets and sig= nals, the Gdk library which manages windowing and drawing, and the Glib lib= rary which provides low-level data structures and utilities. GTK+ was devel= oped on the X Window System, but has been ported to many systems, including= a framebuffer (GTK+/fb) and Microwindows, a small windowing system We ultimately chose GTK+ 1.2.8 running on X Windows, in turn running on = a framebuffer. The decision to use GTK+ instead of Qt/E was primarily a con= servative preference to stick with a proven solution, but it was also infor= med by key differences between GTK+ and Qt/E . . . * Ownership: All things being equal, we prefer to place our trust in publ= icly-maintained codebases. TrollTech owns Qt/E and develops it internally w= ithout public exposure. GTK+ and XFree86 are highly visible Open Source pro= jects with large, active development communities. * License: GTK+ is licensed under the LGPL. This allows proprietary 3rd-p= arty software to use our derived GUI. Qt/E is released under a dual-license= scheme which either releases it under the GPL or requires licensing and ro= yalties. These terms would prevent us and other developers from releasing p= roprietary software for our device without paying TrollTech. * Size: Although TrollTech claims that Qt/E can be as small as 1MB, inter= nal dependency conflicts prevented it from compiling at this size. TheiPaq= QPE distribution includes a 3.3MB Qt/E library and a 718KB QPE library (an= alogous to Xlib). TinyX and our modified GTK+ required 2.9MB (compiled for = the same architecture). * Stability: Although Qt is a mature widget set, Qt/E is still not entire= ly stable. The QPE demo is good, but applications and QPE itself occasional= ly crash. GTK+ rarely crashes, but when it does X is unaffected. * Language: In our experience, C is a better language than C++ for small = teams working on embedded devices. Qt/E is written in C++. GTK+ and X are w= ritten in C. Excerpt from a report by Chuck Groom. Read the f= ull article at http://www.linuxdevices.com/articles/AT9006921228.html[1] This is an old (2002) report. So the versions/sizes might have chan= ged. Take note.Zaheer Mohamed Kozhakkaniyil zaheermk@xxxxxxxxx --=20 ___________________________________________________________ Sign-up f= or Ads Free at Mail.com http://www.mail.com/?sr=3Dsignup[2] --- Links --- 1 3D"http://www.linuxdevices.com/articles/AT90069= 2 3D"http://mail01.mail.com/scripts/payment/adtracking.cgi?bannercode=