ANNOUNCE ******** This is version 0.6.5 of the GNUstep GUI library (`gnustep-gui'). What is the GNUstep GUI Library? ================================ It is a library of graphical user interface classes written completely in the Objective-C language; the classes are based upon the OpenStep specification as release by NeXT Software, Inc. The library does not completely conform to the specification and has been enhanced in a number of ways to take advantage of the GNU system. These classes include graphical objects such as buttons, text fields, popup lists, browser lists, and windows; there are also many associated classes for handling events, colors, fonts, pasteboards and images. The GNUstep GUI Library is designed in two parts. The first part is the front-end component which is independent of platform and display system. This front-end is combined with a back-end component which handles all of the display system dependent such as specific calls to X/Windows. This design allows the GNUstep applications to have the "look and feel" of the underlying display system without any changes to the application, and the library can be easily ported to other display systems. The GNUstep GUI Library requires the GNU Objective-C compiler, the GNUstep Base Library, the TIFF Graphics library, and a back-end component like the GNUstep X/DPS GUI Backend. What's new in this release? =========================== The currently released version of the library is `0.6.5'. Noteworthy changes in version `0.6.5' ===================================== Many of the basic GUI classes have been vastly improved or rewritten, thanks to Nicola Pero and many others. * New Info Panel support * New NSBezierPath * Rewrite of several classes including Cell and Button classes. * Rewrite of NSBrowser, NSSavePanel, menus, text classes, NSTableHeader. * RTF Parser * Implemented image caching. * Implemented editing in Forms, Matricies. * New autolayout classes GSHBox, GSTable, and GSVBox. * Almost all back-end classes have been removed and code incorporated in a DPS-like graphics context structure. * Better keyboard handling. * NSHelpManager, NSComboBox, ProgressIndicator written. In addition a preliminary version of an Interface Builder (Gorm) has been written, thanks to Richard Frith-Macdonald Noteworthy changes in version `0.6.0' ===================================== A Huge amount of progress, although a lot still needs to be done. It's usable for a large base of moderately simple apps. Several NeXT/OpenStep apps and libraries have been ported with little changes. * Drag and Drop support fleshed out but not completed. * NSText and related classes rewritten. Basic functionality but much needs to be done to finish them off. * nib2gmodel app works with MacOS-X * Work done in minimizing the backend which allowed a lot of functionality to move to the GNU library. * Menu code rewritten. * PopupButtons now work. * Many new images * Basic functionality for NSTabView * Much better lockFocus support in NSView. Flipped views handled. * Rewrite of NSSavePanel and NSOpenPanel * Several fixes that at least double the speed of the gui. Noteworthy changes in version `0.5.5' ===================================== Too extensive to list. * A lot of rewritting has been done to the classes, with general cleanup of coordinate conversion code, etc. Noteworthy changes in version `0.5.0' ===================================== * NSBrowser and NSBrowserCell have been implemented. There is one odd display artifact; lists which are smaller than the browser column area have the list justified to the bottom of the column versus the top of the column. This is actually an issue with NSMatrix and will be remedied when flip views are implemented. * Two important optimizations that speed up the displaying of views and flushing of windows have been implemented. Only the views that need display and those that produce visible effects on the screen receive the -drawRect: message. Flushing of windows occurs only in rectangles that get displayed not in the whole window. * Rotation and scaling of views have been finally implemented. The code requires backend support for changing the state of the graphics context accordingly. * NSScrollView and NSClipView have been implemented. The current implemented behavior is to call the document view to display the exposed region. Copying on scroll will be supported soon, at least on Solaris DPS, where it seems the Postscript language has provisions for copying drawn regions of screen. Hopefully DGS will also have this facility by the end of the year. * NSScroller has been completely reworked to gain speed by using timer events. * NSSlider has been implemented. Thanks to Frank Knobloch for supporting this and the NSScrollView implementation. * NSBox has been implemented. * The library has been ported to work under Solaris with the native DPS and the NeXT/Apple's Portable Distributed Objects (PDO) environment. * The library has been integrated with the makefile package so we now benefit from all of the features the makefile package gives us, especially the possibility to build shared libraries on various systems and having different types (debug and profile) of the library compiled at the same time. * NSCell is able to continuosly send the action to the target while the user is tracking the mouse. * Several cleanups and as usual, many bug fixes. How can I get support for this software? ======================================== We currently do not have a mailing list setup explicitly for the GNUstep GUI Library; however, you may wish to use the GNUstep discussion mailing list for general questions and discussion. Look at the GNUstep Web Pages for more information regarding GNUstep resources `http://www.gnustep.org/' Where can you get it? How can you compile it? ============================================== The gstep-gui-0.6.5.tar.gz distribution file has been placed on `ftp.gnustep.org' in `pub/gnustep/core'. The program requires gcc 2.8.0 or higher. The Display Ghostscript System version 0.5.7 and the TIFF Graphics library version 3.4 may be required depending on the backend you choose. It also requires a FoundationKit library as specified by the OpenStep specification. The FoundationKit libraries known to work are the GNUstep Base Library version `0.6.5'. The `.tar' file is compressed with GNU gzip. Gzip can be obtained by anonymous ftp at any of the GNU archive sites. For info about FTP via email, send email to with no subject line, and two-line body with line one `help' and line two `quit'. The most recent (not necessarily tested) snapshots of the library will be placed in `ftp://alpha.gnu.org/gnu/gnustep'. Where do I send bug reports? ============================ Bug reports can be sent to . Obtaining GNU Software ====================== Check out the GNU web site. (`http://www.gnu.org/') Check out the GNUstep web site. (`http://www.gnustep.org/') The GNUstep GUI Library was donated to the Free Software Foundation as part of the On-line Community project of NET-Community. NET-Community is a company that develops and supports free software. Check out their web site to learn more. (`http://www.net-community.com/') Most GNU software is packed using the GNU `gzip' compression program. Source code is available on most sites distributing GNU software. For information on how to order GNU software on tape, floppy or cd-rom, or printed GNU manuals, check the file etc/ORDERS in the GNU Emacs distribution or in GNUinfo/ORDERS on prep, or e-mail a request to: By ordering your GNU software from the FSF, you help us continue to develop more free software. Media revenues are our primary source of support. Donations to FSF are deductible on US tax returns. The above software will soon be at these ftp sites as well. Please try them before `ftp.gnu.org' as it is very busy! thanx *ASIA:* - `ftp://ftp.cs.titech.ac.jp' - `ftp://utsun.s.u-tokyo.ac.jp/ftpsync/prep' - `ftp://cair.kaist.ac.kr/pub/gnu' - `ftp://ftp.nectec.or.th/pub/mirrors/gnu' *AUSTRALIA:* - `ftp://archie.au/gnu' (archie.oz or archie.oz.au for ACSnet) *AFRICA:* - `ftp://ftp.sun.ac.za/pub/gnu' *MIDDLE-EAST:* - `ftp://ftp.technion.ac.il/pub/unsupported/gnu' *EUROPE:* - `ftp://irisa.irisa.fr/pub/gnu' - `ftp://ftp.univ-lyon1.fr/pub/gnu' - `ftp://ftp.mcc.ac.uk' - `ftp://unix.hensa.ac.uk/pub/uunet/systems/gnu' - `ftp://src.doc.ic.ac.uk/gnu' - `ftp://ftp.ieunet.ie/pub/gnu' - `ftp://ftp.eunet.ch' - `ftp://nic.switch.ch/mirror/gnu' - `ftp://ftp.informatik.rwth-aachen.de/pub/gnu' - `ftp://ftp.informatik.tu-muenchen.de' - `ftp://ftp.win.tue.nl/pub/gnu' - `ftp://ftp.funet.fi/pub/gnu' - `ftp://ftp.denet.dk' - `ftp://ftp.stacken.kth.se' - `ftp://isy.liu.se' - `ftp://ftp.luth.se/pub/unix/gnu' - `ftp://ftp.sunet.se/pub/gnu' - `ftp://archive.eu.net' *SOUTH AMERICA:* - `ftp://ftp.unicamp.br/pub/gnu' *WESTERN CANADA:* - `ftp://ftp.cs.ubc.ca/mirror2/gnu' *USA:* - `ftp://wuarchive.wustl.edu/systems/gnu' - `ftp://labrea.stanford.edu' - `ftp://ftp.digex.net/pub/gnu' - `ftp://ftp.kpc.com/pub/mirror/gnu' - `ftp://f.ms.uky.edu/pub3/gnu' - `ftp://jaguar.utah.edu/gnustuff' - `ftp://ftp.hawaii.edu/mirrors/gnu' - `ftp://vixen.cso.uiuc.edu/gnu' - `ftp://mrcnext.cso.uiuc.edu/pub/gnu' - `ftp://ftp.cs.columbia.edu/archives/gnu/prep' - `ftp://col.hp.com/mirrors/gnu' - `ftp://gatekeeper.dec.com/pub/GNU' - `ftp://ftp.uu.net/systems/gnu'