[LinuxFocus-icon]
LinuxFocus article number 291
http://linuxfocus.org

Georges Tarbouriech
by Georges Tarbouriech
<gt(at)linuxfocus.org>

About the author:

Georges is a long time Unix user. GNUstep is one of his favourite free software projects.

GWorkspace, the GNUstep Workspace Manager

[illustration]

Abstract:

The concept of Workspace Manager appeared with NeXT at the end of the 80's. It was a complete new way of using a system GUI. GWorkspace is the GNUstep free implementation of this revolution.


_________________ _________________ _________________

 

What is a Workspace Manager ?

As the name says, it is used to manage your workspace! More seriously, it is rather difficult to explain this today, since most of the window managers or desktop environments provide this type of features. Those features were the ability to control everything from one single place using menus, icons, inspectors, etc. All these were used in conjunction with a File Viewer allowing to browse the system tree, of course, but also to launch applications, to change their permissions, to assign applications to files, and so on. The main idea was to reduce the number of open windows and to be able to get the same behavior either from the menus or the icons.
Obviously, this is a very short summary. As we already said, this is the "normal" way of working with today's computers GUI. So why use such a tool if we already can benefit from the same features ? Well, it is a matter of taste! GNUstep is something different and so are the applications used with it. It is important to understand the fact that GNUstep is not a window manager and not a desktop environment. It is a framework you can use on top of the later, whether they are called Window Maker, KDE, Gnome or whatever. However, since you can develop specific applications or use the existing ones, you may sometimes compare it to a desktop environment. Now, the best way of using GNUstep is probably the one consisting in installing it on top of Window Maker. As a matter of fact, Window Maker is the GNUstep "official" window manager, and it can also be used with many OSes, then...
Let us have a look at this great application : GWorkspace.

 

Getting and installing GWorkspace

Again, GNUstep has to be up and running on your system. At the time of this writing, the latest stable versions are gnustep-make 1.6.0, gnustep-base 1.6.0, gnustep-gui 0.8.5 and gnustep-back 0.8.5. You can also get the latest CVS versions.
Your system can be a free Unix such as Linux or a BSD, or a proprietary Unix such as Solaris or Irix, or... even Windos. Obviously, GNUstep is more or less stable according to the OS you use. Check the GNUstep website for more information, particularly the GNUstep build guide. A GNUstep-HOWTO is also part of the distribution and it provides with you with platform specific instructions.
From the same website you can find links to download most of the available applications. Going to the User Apps section you will find a link to GWorkspace. Otherwise, the official website is at http://www.gnustep.it/enrico/gworkspace/. At the time of this writing GWorkspace is at version 0.5.0. It is the work of Enrico Sersale, Fabien Vallon and Alexey Froloff.
Installing GWorkspace is done the classic way : the two commands configure and make install will do the trick. You may have to replace make with gmake on some systems (FreeBSD for instance). By the way, the recommended compiler is gcc 3.2 (or at least 3.0.4).
To run it, just type the usual GNUstep command openapp GWorkspace.app. If you use Window Maker, you can also dock it like every GNUstep application.
Here is what it looks like :

GWorkspace

Next, you will have to set your preferences.

 

Customizing GWorkspace

Using the Preferences submenu from the Info menu allows you to define various choices. You can select your default editor, your default terminal, a sorting order for the files displayed in the File Viewer, the desktop background, the behavior when manipulating files (copying, moving, deleting, etc), the files to hide in the File Viewer, the icons animation and various dimension settings.
Here is an example of setting the default editor :

Editor prefs

This leads us to one of the important features of GWorkspace : the App wrappers. As we already said, the original File Viewer had the ability to launch applications. So does the GWorkspace File Viewer... as soon as they are GNUstep applications. What about the others ? They use a wrapper. That is, every GNUstep (or NeXTstep or OpenStep or Mac OS X) application is in fact a directory you can see as a file with the "app" extension in the File Viewer or as a directory with an ls command in a shell. Any other application (not a GNUstep one) can become an "app" directory.
You must then create a directory for the related application with an app extension. In most of the cases, this directory must contain the icon of the application, a script to launch it and a Resources subdirectory holding an Info-gnustep.plist file and the eventual icons corresponding to the type of files the application can manage. For instance, an editor could have icons for *.m source files, *.c source files, *.h source files, *.txt files, etc. Or a web browser could have icons for *.html files, *.shtml files, etc.
Of course, these directories can be viewed from the File Viewer using the File menu and its submenu "Open as Folder". Here is how it looks :

Open as folder

Accordingly, you can create as much wrappers directories as you wish using the existing models. Some wrappers are also available for download with GWorkspace. Obviously, these directories must be in the right place, that is, in the path of the GNUstep applications (in GNUSTEP_LOCAL_ROOT/Applications or GNUSTEP_SYSTEM_ROOT/Applications).
Another nice feature of GWorkspace is the Fiend. It can launch applications, add new columns to the dock, etc. In a way, it can be compared to the Window Maker's clip. However there is no redundancy but they are complementarity.
The Fiend is activated or hidden from the Tools menu. To add an application to the Fiend, enough to drag and drop its icon from the File Viewer. The same menu also allows to add layers. You move through them by clicking in the arrows of the Fiend's icon.
The icons thus created in the new dock can also be managed from the Windows menu, this last allowing to show or hide them icon by icon (as if each icon was considered as a window).
Here is a picture of what the Fiend can do :

Fiend

Now, you are ready to use your brand new GWorkspace.

 

Using GWorkspace

If you are a "mouse addict", GWorkspace will allow you to do most of your work without using the keyboard. You will be able to copy, move, duplicate, delete files, or to create new files, directories just playing with the mouse within the File Viewer. In the same way you will have the ability to open documents with the right applications : these documents can be text files, html files, pictures, etc. You can also rename files or directories just clicking in their name when they are in the graphical path (that is when selected).
You may have noticed from the screenshots that GWorkspace adds a recycler to your desktop. Needless to say what it is used for...

 

Menus

The first item is the Info one. It allows to open the "about" panel or to open the Preferences window.
The second one is the File menu. From there you can open, create, destroy, duplicate, put away files or folders, empty the recycler (if there is something in it!). You can also print the selected file.
The third one is the Edit menu from which you can cut, copy and paste in the File Viewer. You can also select all the files in a column of the File Viewer.
The fourth one is the View menu. As the name says it allows to select the view mode of the File Viewer : browser, small icon, icon.
The fifth is the Tools menu. Obviously, it contains the well known inspectors.
Using the Attributes inspector you will be able to change the read/write permissions of files or directories or to compute the size of a directory.
With the Contents inspector it will be possible to view the content of a text file, of an image file or the type of selected file. For a directory, you will have the ability of defining a sorting method for its content (by name, size, date, etc).
The Access Control inspector will allow you to change the whole permissions of a file or recursively inside a directory. Of course, this assumes you are the owner of such a file or directory.
Last, with the Tools inspector, you will be able to define a default application to open a file.
If you are a "keyboard addict", do not worry : a lot of shortcut keys are available. Just check the menu items to find out which they are (usually the meta key is the Alt key).
You can also benefit from an efficient finder (not the one in Mac OS X terminology which is the file viewer but a graphical find command). It has been completely rewritten for version 0.5.0 and provides many new options.
You can also open a File Viewer history .
The Applications submenu displays a list of running applications and the File Operations submenu displays the background processes.
As we already mentioned it, the Fiend is activated or deactivated from there too. Last, a terminal can be started from this Tools menu.
The sixth is the Windows menu and it... manages windows.
The seventh is the Services menu and it can launch some specific applications.
The eighth is the Hide menu : the name says all.
Last but not least, the ninth is the Quit menu.

 

File Viewer

As we already saw it, the File Viewer is able to display in different modes. The browser mode is the one you have seen in the previous screenshots. There is also an icon or a small icon mode. The only one missing if we compare to the NeXT file viewer is the list mode, that is the one displaying like an ls -l command. In a future release I hope.
We cannot talk about the File Viewer without mentioning the shelf and the graphical path. The shelf is the topmost part of the File Viewer. It allows to temporarily store files or directories, either before moving/copying them or to make them quickly available. You can do this just by dragging and dropping a file or a directory icon from the browser window. Of course, if you drag an application or a file to the shelf, you can start it from there.
The graphical path (between the shelf and the browser itself) is one of the great feature of the File Viewer. It allows you to know where you are within the system tree : quite useful on Unix machines where you can have files or directories deeply hidden at the bottom of the hierarchy.
Playing around with the File Viewer will allow you to discover many others nice features.

 

GWorkspace and friends

GNUstep and its available applications are improving much faster than a few years ago. The release of Mac OS X seems to have stimulated GNUstep. More and more applications have an OS X compatibility. Soon, we can expect that most of them will be able to run indifferently on most Unixes, proprietary or free, and even on Windos. It is already true for many of them. That means that GNUstep is reaching its original goal which was to provide a cross-platform development environment based on OpenStep specifications. Obviously, GNUstep cannot guarantee a full compatibility with OS X. Apple is a big company with lots of developers and GNUstep is a free software project with a few volunteers, this makes quite a difference. However, if you take a look at the previous articles related to GNUstep published in LinuxFocus, you will notice the constant improvement (check the references at the end of the article).
Again, GNUstep is something different. Even if you do not like the NeXT look and feel, the design is of very high quality and as a development framework GNUstep is a model. Furthermore the available development tools make things even easier. Once you have understood the philosophy behind GNUstep, everything becomes simple. Unfortunately, it seems that only people having worked with NeXTstep or OpenStep know about it. That is, even 15 years after, this framework is still ahead and so is its free implementation. In other words, it is friendly for the user but also for the developer.
Really, you should give it a try. Installing GNUstep will also allow you to use great applications such as GWorkspace. This last deserves more than a single article since it is much more than a simple file viewer. However, as a file viewer, it stays the best graphical way to browse a system tree. Today, all this seems quite usual : try to imagine what it was 15 years ago! And, by the way, since then, nobody did better. Just go and test it.
Until now, LinuxFocus has reviewed the GNUstep "big" applications. In a next article we will review some of the "small" ones, and they are more numerous than people often think.
Aren't we living in a great time ?

 

References

The one and lonely :
GNUstep website.
From there, you will find links to users applications, developpers applications, and much more.
An equivalent in German (and English) :
GNUstep.de website.
One of the most important GNUstep resource, with tutorials, guides, etc :
GNUstep.it website.
Another related website announcing every new application release :
GNUstep.us website.
If you can read French, a very nice website with the Aqua look, unfortunately down at the moment :
clubstep website.

Two nice distribution projects :
SimplyGNUstep distribution
Linuxstep distribution

Lot of GNUstep related information :
Wiki

LinuxFocus has published various articles related to GNUstep. Here they are :
GNUstep, the open source OpenStep.
GNUMail.app, the portability evidence.
Gorm and ProjectCenter, the GNUstep RAD tools.

Another File Viewer for Window Maker was available a few years ago but the development was stopped. It was called FSViewer and worked without GNUstep. It is still available from http://www.bayerline.de/~gscholz/linux/fsviewer. It has been modified to be able to compile with new versions of Window Maker. You can also have a look at this old LinuxFocus article :
FSViewer, a file manager for Window Maker.



Webpages maintained by the LinuxFocus Editor team
© Georges Tarbouriech
"some rights reserved" see linuxfocus.org/license/
http://www.LinuxFocus.org
Translation information:
en --> -- : Georges Tarbouriech <gt(at)linuxfocus.org>

2005-01-14, generated by lfparser_pdf version 2.51