|This document is available in: English Castellano Deutsch Francais Nederlands Turkce|
by Georges Tarbouriech
About the author:
Georges is a long time Unix user. GNUstep is one of his favourite free software projects.
A GNUstep "small apps" tour
Since GNUstep is a framework, it provides us with very nice development tools. Some rather big applications are also available. However, there are a lot of smaller applications quite useful. This is a very short review of some of them.
Luckily, more and more GNUstep applications become available. Most of them are
quite "young" but they do work... and they are improving, following the
enhancement of GNUstep. Since they are more numerous than people often think,
we will not be able to mention all of them. Obviously, the choice will be
arbitrary, but it does not mean that the not mentioned applications are of no
interest. My apologies to the developers of the applications not presented in
this article. Last, these applications obviously require that GNUstep is up and running
on your system. The tests have been done with the latest stable versions,
gnustep-base and gnustep-make 1.6.0 and gnustep-back and gnustep-gui 0.8.5.
They are available from http://www.gnustep.org.
All these applications are compiled and installed with make and make install (or gmake under FreeBSD, for instance). You can run them, either using the GNUstep openapp command, or if you have Window Maker, clicking in the corresponding dock icon after having dragged it there.
Last, the version numbers correspond to the ones used for testing. When you will read this article, some of them may have changed.
As the README file says it, Affiche is a little application allowing to stick
notes on the desktop. For those knowing Mac OS X, it is a bit like the
"Stickies" application. Let us say, it is the equivalent of a "Post-it", without
Affiche (public notice, in French) is the work of Ludovic Marcotte, the GNUMail.app author. You can get Affiche from http://www.collaboration-world.com/affiche/. The present version is 0.6.
How use it is obvious, so here is a screen shot of what it looks like:
As the name can tell you, this is a CD burning application. Burn.app is the
work of Andreas Heppel and you can get it from http://www.sourceforge.net/projects/gsburn.
(gsburn is the name of the previous versions). The tested version is 0.3.0.1.
To use Burn.app you also need CDPlayer.app since its AudioCD.bundle reads the table of contents of the audio CD's. You can download version 0.3.0 from the same place as Burn.app.
You also need the Cddb.bundle, again available from the same gsburn website in sourceforge.
Last, but not least, you need cdrecord, cdparanoia and cdrdao.
You will have to install them before Burn.app and its "friends".
Next, enough to launch the application either from the command line or its icon.
Here is what it looks like:
Guess what ? Yes, you got it: it is a code editor. But it is a very small one
with some nice features. The present version is 0.4.0 and is the work of Yen-Ju
Chen who took over from Björn Giesler who started the project. It is available from http://savannah.nongnu.org/projects/codeeditor
To compile this version, you will also need the pcre library. A link is available from the project's page.
CodeEditor provides you with syntax highlighting. An original and useful feature comes from the ability to use tabs. This allows you to have different source code in the same window (for instance the *.m and *.h files). Using the toolbar, you can search through the code or go to a specific line. Of course, there is also a "find and replace" item available from the tools menu with regular expression support.
Other features are available, like scripting, for instance. You will need StepTalk to benefit from this.
Here is a screenshot of this nice tool:
Everyone knows the diff command to find the differences between two
files. EasyDiff is a graphical version of this command.
EasyDiff is available from http://www.collaboration-world.com/easydiff/ and it is the work of Pierre-Yves Rivaille. The version used for this test is 0.3.0.
Further than comparing files, EasyDiff is able to merge them or to save the changes as a patch.
The screenshot that says all:
This application is a graphical tar command. The latest version is 0.9 and
supports bzip2. It is the GNUstep port of Mac OS X FreeTar and is the work of
Fabien Vallon. It can be downloaded from
FreeTar works hidden (that means, it does not provide you with a window). You have to right mouse click in its icon (either in the clip or the dock when using Window Maker) to display a menu to select the file(s) to archive.
In the same way, you can display the Preference panel to select the parameters you want to use.
The "light" screenshot:
As the name says, GSPdf is a pdf viewer. Of course, it can also display ps
files, since it works as a front-end for Ghostscript (it has been tested with
GSPdf is the work of Enrico Sersale, the GWorkspace author. The application can be downloaded from http://www.gnustep.it/enrico/gspdf/
GSPdf is only at version 0.1 but it works fine.
Here is the screenshot:
Again, the name says all. NeXTstep used to provide the best online help system
ever. I still do not understand why Apple replaced it with "Apple Help" in Mac OS
X. Never mind ! HelpViewer is a clone of the NeXT HelpViewer. It is at version
0.3.0 and is the work of Nicolas Roard. Nicolas is also the author of Waiho,
formerly known as GSFtp, a GNUstep FTP client. You can download HelpViewer from
HelpViewer uses simple XML tags and you can make as many "books" as you want. A book is a directory in which you put the different components of the online help : XML files, pictures, etc. This directory must have an help extension. If you use Window Maker, you can add a menu item to launch this help. Last but not least, this application also works under Mac OS X.
Here is a screenshot of the Window Maker guided tour, started from the application menu:
Surprisingly, this application allows to display images ;-)
ImageViewer is the work of Philippe C.D Robert (with the contribution of Pierre-Yves Rivaille and Rob Burns). The version used for this test is 0.6.1 Philippe is the author of various GNUstep applications, among which you can find the great ProjectCenter. You can download ImageViewer from http://www.nice.ch/~phip/softcorner.html
ImageViewer is able to display most of the well known image formats, such as jpeg, tiff, gif, png, xpm.
Here is what it looks like (the picture in the screenshot is brought to you by NeXTstep):
Ink is a simple word processor. It is part of the gnustep examples, available for download
from GNUstep main website. Ink is the work of Fred Kiefer and the version tested
Ink is a RTF (Rich Text Format) editor and, obviously, it can also manage pure text. It has most of the features you can expect from such a tool (manipulation of text, fonts, color, etc). You can also insert pictures or icons into your document.
The text shown in the screenshot comes from the Mac OS X developer examples:
Toolbox is... a collection of tools. It is the work of Yen-Ju Chen with the
contribution of many others GNUstep developers according to the tools (GNUstep
is a family). You can download this application from http://savannah.nongnu.org/projects/toolbox
Toolbox provides you with a calculator, a property list viewer, a command monitor, a calendar, an Internet finder, a news reader (sort of) and a preference viewer. A small online help is also available. An info panel exists for each tool in which you can find the name of every contributor.
Here is the screenshot:
ToyViewer is a rather old application which was first developed for NeXTstep and
later for OpenStep and Mac OS X by ogihara. It is an image manipulation
program. This is the GNUstep port by Fabien Vallon and it is at version 0.3.
It can be downloaded from http://gnustep-apps.org/fabien/Toyviewer_Port/
With ToyViewer you can display, edit, convert pictures in many different formats. It really has a lot of features: they are detailed in the download page. A manual is also available as a link to the original author's website.
Unfortunately, this simple screenshot cannot show all the features (again, the inside picture is brought to you by NeXTstep):
Again, this is a very short overview of a few "small" applications. Obviously,
you can find many more of them. Most of the above mentioned developers manage various
projects and contribute to the work of other GNUstep authors. As already said,
GNUstep is a family and some websites are also part of it. The GNUstep website
is of course the first place to visit if you want to learn more about the
project. But also other sites provide a lot of information: applications,
tutorials, news. We can mention Wiki, gnustep.de, gnustep.it, gnustep.us.
Check the references section at the end of my May 2003
Important is the fact that the choice of the applications presented in this article was arbitrary. This has nothing to do with quality: the numerous applications not mentioned here are as "good" as the ones presented. Same for their developers. Again, my apologies to all of them. The goal of this article was to show that many different GNUstep applications are available. This is the result of the great API provided by GNUstep. As long as you have not tested GNUstep you cannot imagine how advanced it is. It is a "paradise" for developers and the available development tools make things even better.
You will notice that many of the available applications are quite "young", that is, they often are at version 0.1 or 0.2 but they do work. Their version number does not mean they are "unusable" but only that some features are missing or have to be improved. Last but not least, these applications can easily be ported to Mac OS X and most of them already run on both environments. In other words, GNUstep allows to create applications available for most operating systems, whether they are Unix-like or not. That means, you can even run some of them under Windos (even if it may be a bit tricky). As an abstract, GNUstep is universal ;-)
Give it a try, you will not regret it.
Off-topic: this is my last article and the end of my small contribution to free software,
generally speaking. It is not the place to explain why I "retire", but to make
it short: I am fed up. I do not agree with the "evolution" of free software.
Windos cloning seems to become the rule and I do not share. The "big guns" like
IBM, Sun, etc, are putting their hands (and their money) on Linux and I do not
agree with them. Some people try to present free software as a new "model" of economics
and I do not agree. Some "big" Linux distributors, like RedHat, for instance,
behave like Microsoft, and I do not agree. And the list is much longer... All this leads to a perversion of
free software (sort of).
Luckily, there are still (at least for now) projects following the initial "spirit". GNUstep is one of them. So are most of the free security projects, the BSD systems family and a few others.
Of course, this is only my opinion and everybody can "think different".
The time spent in the LinuxFocus team has been a very great experience. The persons "making" this magazine are very nice people and they do a fantastic job. You readers may sometimes forget about the amount of work required to maintain such a multilingual magazine, only with very few volunteers. But this is not the point. LinuxFocus is one of the best example of knowledge sharing, and if there is only one thing to keep in mind, this is the one. Furthermore, LinuxFocus is free in every meaning of the term. There are no sponsors, no ads, nothing. That is, LinuxFocus is not "sold" to anybody and this guarantees the freedom of speech.
Thanks to Miguel Angel Sepulveda for founding such a magazine. Thanks to Guido Socher for taking over and keeping such a high standard. And thanks to all the members of the team and of course to the many contributors.
Despite my "retirement", I will keep reading LinuxFocus and I hope you will, too.
Last, I will tell you what I really think: I do not believe that we are living in a great time !
See you... in another life ;-)
Webpages maintained by the LinuxFocus Editor team
© Georges Tarbouriech, FDL
2003-07-02, generated by lfparser version 2.40