GWorkspace User Guide

Mr. Dennis Leeuw

Pieter Bothstraat 32
3531 GZ

Permission to use, copy, modify and distribute this Guide and its accompanying documentation for any purpose and without fee is hereby granted in perpetuity, provided that the above copyright notice and this paragraph appear in all copies.

The copyright holders make no representation about the suitability of this Guide for any purpose. It is provided "as is" without expressed or implied warranty.

Table of Contents
The first time
1. The Workspace
The Command Menu
The File Viewer
The Dock
2. Viewing the Filesystem
Your Home Folder
A Filesystem
Different Views
Spatial Browsing
3. Managing Files and Folders
Creating Folders
Setting the permissions
Opening a new viewer
Files and the Inspector
Moving, Copying or Linking files
Deleting files and folders
The Recycler
4. Searching for files and folders
The search area
Define a search
Searching on filename
Searching by file type
Searching by contents
Searching by annotation
Searching by size
Searching by owner
Search by date
Live Search Folders
5. Managing Applications
The Dock Revisited
Using run
6. Making life easier with Shelfs
The Fiend
The TabbedShelf
A. Daemons and Tools
B. Build from source
C. Testing, debugging and removal
List of Tables
1-1. Pointers
1-2. GNUstep Icons
3-1. Move Copy or Link
3-2. Recycler states


GWorkspace is an GNUstep-based application that handles the Workspace for you. The Workspace is defined as the background, a file manager and a place that holds the icons of the running applications.

This guide will help you to manage the Workspace. It will explain all the elements that you might encounter and even the more hidden features of GWorkspace. Since you can run GWorkspace on more systems then I can affort, things might not be exactly the same on your system.

Things that might be different for you are e.g. the layout of the filesystem as is represented in this guide. This document is written using a GNU/Linux system with a default GNUstep installation. Meaning that GNUstep itself is located in /usr/GNUstep.

The initial guide was written using GWorkspace 0.7.2, with CVS updates, this means that with future versions and previous versions there might be differences.

Other omissions, errors and mistakes are my faults. Please let me know on the address mentioned near the title.

FIXME: Something about CTRL, ALT, Shift and Command, Alternate and Shift. Find and replace in entire document.... :(

The first time

Before we start to work with GWorkspace we will configure a couple of things. This way the things mentioned in this guide will be the same for you, which should enhance the reading. Due to the fact that GWorkspace and GNUstep are Open Source projects, we can not assume an identical setup on every system.

The first thing we do is enable the desktop:

Chapter 1. The Workspace

The workspace is supplied to help you get your work done on a computer. GWorkspace is responsible for displaying the GNUstep graphical interface called the workspace. It in this workspace where all your interaction with GNUstep begins and ends.

The most important features of GWorkspace is the maintenance of files, folders and applications. You can rename, delete and copy files and folders. With GWorkspace you can access harddisks, floppies, CDs and DVDs or USB-sticks.

This might all seem complex at first, but GWorkspace only consists of a few basic parts: The FileViewer for browsing and manipulating files, a menu containing commands and an application dock for easy access to applications which also contains the Recycler for deleting files.


Pointers follow the movements of your mouse. If you move your mouse to the left the pointer will move to the left. The standard pointer is the Arrow pointer. If you perform special operations with your mouse, the pointer changes.

Table 1-1. Pointers

Arrow pointerNo access pointerCopy pointerLink pointer


Icons give a graphical representation of what can be found on your system. It shows you objects that you can access or view. There are a couple of default icons available to represent files and folders.

Table 1-2. GNUstep Icons

FolderToolUnknown applicationUnknown file

The idea behind the GNUstep system is that everything on your system is represented by an icon.

The left most icon represents a folder. Folders are place holders for other objects like files and applications.

And the secon one is the Tool icon. Tools are commandline programs, they can not be run in a graphical environment, and thus have a generic icon to represent them.

Every application that is supported by the GNUstep system has an icon that represents that application. In very rare cases you could come across the Unknon Application icon. But in normal cases you should not.

Files are objects that can be handled by applications, like text files, or spreadsheets. If the system does not know which application can handle a certain file, the Unknown File icon is shown.


A window is a part of the screen where you can view the results of your actions. It can hold a document, or a spreadsheet, or in the case of GWorkspace the contents of the filesystem. It is in a window where you perform your actions.

A window consists of a top-bar and a bottom-bar. The top bar displays the window name and a couple of control elements, like this:

This bar is often called the title bar since it displays the name of the window.

When the minimize button is clicked a mini-windows is placed at the bottom of the screen. Double clicking this mini-window resizes it again to full size.

The button on the right closes the window, but is also a status indicator. As long as the cross is solid you can close the window or use ALT-w to close it. If however the cross changes to then something in de window has changed which you might want to safe first. So if you edited a document, but did not safe it the cross indicates that it is not safed. Clicking the cross will popup a panel asking you if you want to safe or discard the changed contents of the window.

The bottom of the window is made up of a bar that is also refered to as the resize-bar:

The middle part of the resize-bar can be used to make a window larger or smaller. The width stays the same. To also change the width of a window you can use the two smaller parts on the left and the right. Clicking a part of the resize-bar and holding down your mouse button while moving you mouse, resizes the window.

The Command Menu

A special kind of window is the command menu. It does not have a close or minimize button, but otherwise it acts exactly like the other windows.

The command menus hold the commands you can use to control the computer. The entries witin this menu are commands you can access directly like Quit or Hide, but they can also have a triangle next to it, which means that those entries lead to a submenu, like Info and Edit.

Clicking on the triangle will open the submenu, which is a window on its own, so you can access the commands.

Every application has its own list of commands that can be used. The one presented in this section is the one from GWorkspace. Menus can be moved with the mouse. Put your mouse pointer on the title-bar of the menu, click and keep the mouse button pressed. Now you can move the menu around. Releasing the mouse button will release the menu.

If you click the Info bar the submenu appears.

The name of the submenu window gets the name of the menu entry you choose.

If you now try to move the Info menu you will notice that the main menu stays where it is, but the Info menu will get detached. It becomes a standalone menu which you can move around.

Another thing you will notice is that it gets a close button in the upper right corner. Clicking this button closes the menu.

Menus are windows that belong to the main menu, but can be moved independantly. The title bar of the menu indicates the name of the bar you have choosen. Not the entire path, but just the name of bar from the previous menu entry.

Another thing that you might have noticed is the fact that the entry you selected, like Info stayed highlighted when the menu was still attached to the main menu, to indicate how you got to a certain submenu. But as soon as you detached the menu the path highlighting stops at the last entry still shown.

The File Viewer

The most important feature of GWorkspace is the access to the filesystem. A computer organises everything that is stored on the harddisk into logical elements. The basic organisation is files and folders, where a folder is an element that can contain files. A folder is also called a directory.

Files are all other objects like documents, spreadsheets, images, etc.

The Shelf is a place holder for shortcuts. Initially the only shortcut present is the one to your home folder. If you click the icon you are immediately transfered to the place where you store your files and folders. By dragging files, folders or applications to the Shelf you can create your own shortcuts.

The icon path represents the path from the root of the filesystem towards the point where you are now. It always ends at an highlighted folder or file. It is this highlighted element on which you can perform operations, like dragging and dropping.

And the last section is the viewing area. Here the contents of the filesystem is displayed. It presents to you in a graphical way the surroundings of the highlighted item.

The Dock

The Dock is a place to store often used applications.

Chapter 2. Viewing the Filesystem

Your Home Folder

In the upper left corner of the File Viewer window, you find an icon with your username (the name with which you logged into the system) under it. Clicking it will bring you to the folder that is called your home folder. This is the place where you can store your documents and create additional folders.

The place where you end up depends on your system. Most Unix-like systems use /home/<username> as the home folder of a user. To make it easy for you the entire /home/<username> can be abbreviated to the ˜ (tilde character), which saves a lot of typing.

A Filesystem

A filesystem is organised as a hierarchical tree where the higest part is called the root. If you look at the following picture and turn it upside down you understand the tree analogy.

Everything within the filesystem is placed in folders, even folders (with the exception of root of course). Folders can contain other folders or files or applications.

This way of organizing your data is very efficient. Assume you have a folder in your home folder called Documents, you can then subdivide that one into Memos for business documents and Private for your own documents. This way you can quickly create a hierarchical structure to maintain your data.

Another probably more familiar example is sound files (like MP3). Just create one folder called Sounds and the subdivide it per artist and then per album.

If you organize your work this way it gets very easy to find your data. The folder tree of GNUstep is setup in a similar fashion.

Different Views

GWorkspace gives you a great deal of flexibility of how you want to view the filesystem. If you are quickly browsing through a large tree of folders the browser might be fine for you. But if you are trying to locate an application it would be easier if you can look at the icons, instead of only the names.

And for this there are different views:

The Browser view and the Icon view you have already seen, and now you know how to access them. New is the List view. If you encounter that the commands in the View menu are grey instead of black it means you have not selected a viewer. Move your mouse to the viewer and click on it, so its title bar gets black and the commands in the menu are accessable.

With the arrow keys you can walk through the objects of a view. Sometimes this is easier then using the mouse to select elements. Another keyboard replacement for the mouse is the Enter. Pressing Enter while an object is selected is equal to double clicking the same object.

Within the Icon View mode or the List View mode you can use the PgUp to scroll an entire screen up or PgDn to scroll an entire page down

And the last way to walk fast through a list is by selecting the first letter. It moves you immediately to the first matching item. If you want to jump to the objects that start with a k, type the letter k on your keyboard. Note that this is a case sensitive action. The k and K are two different places.

If you hold down the Shift key while selecting objects the selection gets expanded with the new objects. This way you can select multiple objects before performing a certain operation. Ofcourse in the Icon View mode this can also be performed with the mouse. Hold down the left mouse button and select an area. All objects within the area will light up.

In the Icon View you can also change the size of the Icon Size, Icon Position and Label Size get active.

Using the Icon Size submenu you can change the size of the icons from 48x48 pixels to 24x24 size.

Instead of having the name of the file below the icon, you could use the Icon Position to have the title to the left of the icon.

And the last option you can change is the size of the filename. Which is called the Label Size. This can be lowered to a font size of 10 points, or as great as 16 points.

Spatial Browsing

By seleting from the View the View Behaviour entry you can select the Spatial mode. This mode is quite different from the browsing mode. It does not have a Shelf, and it does not have an Icon Path. You only have the viewing area.

Selecting the Spatial browser mode puts you at the root (/) of the filesystem.

Double clicking on a folder opens automatically a new viewer with the contents of that folder. All options for viewing like, Icon view, List view and Browser view are still available.

The dimmed objects in the different views are the path you have followed.

Your screen might get quite busy with all the open folders, so there are some special tricks that might help you to keep an overview. If you hold down the ALT while double clicking on a folder, a new viewer will be opened with the contents of the folder, but the old one will be closed. Which can ofcourse also be accomplished with Enter and holding down the ALT key.

Chapter 3. Managing Files and Folders

One of the most important aspects of working with GWorkspace is the handling of files and folders. Maintaining an organized working environment makes your life much easier. Planning where you archive certain data can help you tremendously when you need to find that certain document several years from now.

This chapter will not teach you how to organize you files, that is more a matter of personal taste, but it will teach you how to create files and folders, delete and move them and how to maintain some basic security measures.

Creating Folders

To create a new folder go to the GWorkspace menu and click the File item. This will open a submenu. Click New Folder. The new folder will appear in the FileViewer icon path. Double click on the NewFolder name and type the name you want the folder to have. For now we call it Documents.

With ALT-n you can create new folders without using the menu, which is much faster when you have to create more then one folder.

Create two more folders called Test and Backup within this newly created folder.

Setting the permissions

We do not want everybody to have access to our files. So lets make sure that we are the only one who has access rights to this folder.

Make sure the Documents folder we just created is the one highlighted in the Icon Path. Then select the Attributes from the Inspectors menu:

A panel will pop up that shows you more information about the folder you created.

On Unix-like systems the rights someone has are are devided into the owner of the file, a group of users and everybody else (Others). The owner does not have to belong to the group, but most of the times does.

For each of these you can set read, write and execute permissions. The execute permission gives someone the right to start e.g. an application. But also folders have execute permissions. To have access to a folder one needs the execute permission and the read permission to view the content of the folder and read and write to also be able to create files or other folders in a folder.

In the above example the user dennis, belongs to the group dennis and is the only one who can access the file. People belonging to the group dennis can read the contents of the folder, but not write to it. While the owner can read and write to the folder.

Opening a new viewer

Hold down the CTRL-key and double click on the Documents folder, to open a new viewer with your Documents folder as the root.

Now you have two viewers one with the entire filesystem, and one starting from the folder you double clicked.

Files and the Inspector

Go back to the File menu command and select New File. Rename it with the same procedure as above (use Test.txt as its name).

In the GWorkspace menu select the Tools item and go to the Inspectors. Select attributes. A panel will popup with the file attributes. Check that the rights on the file are the way you want them.

Select the Tools section from the Inspector:

The only available application on my system to open this kind of file is TextEdit, so it is the only available choice.

Because we are the one that created the file through GWorkspace it is completely empty. The only way the computer guesses the type of application is because we gave it a .txt extension (text file).

To prove that it is an empty file select Contents from the Inspectors list.

Clicking Edit in the Inspector opens TextEdit with our file. So add the following line to the file:

The quick brown fox jumps over the lazy dog.

Save the document and see the Content view in the Inspector change.

Moving, Copying or Linking files

When you select a file from the Icon Path and start to move it around, you will notice that the pointer changes. It is changed to the NoAccess pointer. Which means that if you release your mouse button, nothing happens. Every area where you release the file, while the systems says you can not drop a file, means the system will not do anything and everything will stay as it was.

If however the pointer changes into a green arrow it means you can perform an operation, which will change your system. The green arrow means that the file is moved from its current position to the position the pointer is pointing to.

Before releasing your mouse button, you can press the right ALT-key and you again see a change in pointer. If you release the mouse button now, the file will be copied. So an identical file will be created in the folder you are pointing to and the original will stay where it was.

And the last option you have is to not press the ALT-key, but use your left CTRL-key. This will create a link if you release the mouse button. A link means that the file stays at its original place and in the new position a file is created with an identical name, which tells the system where the original is.

Table 3-1. Move Copy or Link

No AccessMoveCopyLink

Moving a file. Moving files or folders means you put the file or folder in a different location. It will not be available in the old location anymore after the move. An alternative for the drag and drop procedure is to use ALT-x and ALT-v (or Cut and Paste from the Edit menu).

Copying a file. Copying files or folders means you put a copy of the file or folder in a different location. The file or folder still exists in the old location. Changing one of the files, does not affect the other one and they are no longer identical copies, you can even remove the original witout affecting the copy. To make a copy of a file in the same folder, press ALT-u.

Another way of copying a file is using the ALT-c and ALT-v key combinations (or the Copy and Paste commands from the Edit menu.

Linking a file. Linking a file or folder means that you create a new file or folder in another location that is linked to the original. Changing the contents of the original, or the link, keeps both files identical. To be precise when you change the linked file or folder, you are actually changing the original. Removing the link does not alter the original. Removing the original however creates a dead link. The link will persist, but there is no destination it is pointing to anymore.

Create a copy of the Text.txt file in the Backup folder and a link to the Test.txt file in the Test folder.

Deleting files and folders

The easiest and quickest way to delete a file or folder is to select it in the File Viewer window and to press ALT-r one single popup asks for a confirmation and pressing Enter is all that is needed to definitively remove the file.

The same thing can be accomplished through the File menu and selecting Destroy.

The downside of this way of working is the definitive nature. Files deleted this way can not be retrieved, there are gone, for good!

A more subtle way of doing things is through the use of the Recycler. This gives you the benefit of undoing the delete action.

The Recycler

The Recycler is part of the Dock. The bottom icon on the Dock is always the Recycler.

The icon on the Dock can change based on the state of the Recycler. It can indicate that there are no files in the Recycler (it is empty) or that there are files in it.

Table 3-2. Recycler states


There are various ways to place a file in the Recycler.

The first one is to drag the file towards the Recycler icon on the Dock and as soon as the pointer turns green release the mouse button.

Another way is to select the file and press ALT-d (or the Backspace key) on your keyboard.

And the last version is by using the File menu entry Move to Recycler. If the option on the menu is greyed out, you forgot to select the file.

Before the action is performed a panel will popup to ask for you confirmation.

When you started with an empty Recycler icon, you will after using one of the above options on e.g. the Test_copy.txt file see the icon of the Recycler change.

Double clicking on the Recycler icon in the Dock opens a viewer on the .Trash folder.

Dragging the file back to a folder on the system removes it from the recycler.

The downside of the Recycler is that it is a temporary store for files or folders that need to be thrown away. By placing items in the Recycler they are still part of the filesystem and thus take up space. So placing files in the recycler, does not create more disk space on your system.

To free the diskspace occupied by the items in the Recycler you must empty the Recycler. Select from the File menu entry the Empty Recycler command and the files will be removed from your system.

Chapter 4. Searching for files and folders

When you select the Documents folder and type ALT-f the Finder is started. The Finder is also available from the Tools section in the menu.

If you search on Name contains est and click Search you get:

Using the plus (+) and minus (-) signs you can add or remove more search options. This way you can create very complex constructions for very exact matches.

The search area

You can search in a single folder, or you could build a list of folders where you want to search. Select the Specific places item and use the Add button to build a list of places to search in.

This way you can specify exactly where to search.

Define a search

Searching on filename

The Name search option gives you the ability to search a file or folder by its name. To search on the exact match select 'is'. If you only know a part of the name then 'contains' might be better for you.

To further refine your search you can exclude the ones the 'contains not' or the 'start with' options. If you know the extension of the file you could e.g. filter out all .txt files by using the 'ends with' option.

The text field, in which you can type text, is case sensitive. So there is a distinction between uppercase and lowercase.

Searching by file type

The file type search can be searched for in a match or does not match variant: 'is' or 'is not'

Currently the Finder functionality can be used to find folders, tools, applications, symbolic links and ofcourse normal files like documents.

Searching by contents

Using the 'contents' search option, one can search through the contents of documents for matches. Note that this might be a heavy task for your computer, since this will inspect the contents of the files and it needs to open and read them.

The text you enter is case sensitive, so only exact uppercase and lowercase matches are performed.

Searching by annotation

Through the Annotations Inspector one can add keywords to a file. And with the Annotations search option you can search on the added keywords.

There are several ways to search through the annotations.

Searching by size

This search feature is quite simple. You can search on 'is greater then' or on is 'is less then'.

Combining the two using the + button you can define an almost exact match on the size of a document.

Searching by owner

Using the 'is' or 'is not' search options and filling in the username on which you want to search you can quickly filter out the documents created by a certain user.

Search by date

Created or modified

There are two ways a date is connected to a file. The first one is the date on which the file is created and the other is the last modified date. The Finder gives you the ability to search on both of these (date created and date modified).

Both options have a uniform structure for searchig the dates. The options on the left are the ones you can choose from, and after that you can, with some options, enter a date.

Live Search Folders

By dragging the Live Search Folder from your Search results window to e.g. the Desktop you can store the search for future use. A Live Search Folder is a Finder search saved in a file and capable of auto-updating itself.

To reuse this search double click the Live Search Folder. The LSF window that will open has two buttons and a popup; the Edit button opens the folder editor where you can modify the search criteria used by the folder, the popup let you choose the auto-update cycle time and the Update now button updates the results.

Chapter 5. Managing Applications

As we have seen before TextEdit was started when we double clicked a .txt file. This is by far the easiest way to start an application and get working where you left of.

An alternative for this is to highlight the document and use Open with to open it with an application of your choice.

However there are cases where you can not start with just an empty file to work with. You want to start an application to create a file or you do not want to work with a file but just use some application like a chat program.

The GNUstep filesystem has three logical places where applications are stored. First of all there is the System/Applications folder where the applications are stored that belong to the initial installation. In this folder you will find GWorkspace (the workspace is also an application).

The second place is the Local/Applications folder wher applications can be stored by your local system administrator.

And the last place is ˜/GNUstep/Applications where you can store applications you want.

Using the FileViewer you can browse to these places and by double clicking the application icon, the application will be started. It is as simple as that. And ofcourse there is more and that is what the rest of this chapter is about.

The Dock Revisited

The Dock is a place to store applications that you want to be ready at hand. From the Icon Path you can drag applications to the Dock.

Applications you start will also be visible at the Dock. Started applications will not have the ... marker, while the not started applications have the ... marker.

Using run

With the Run command from the File menu, you can start applications if you know the name. Just type the name in the panel and click Ok.

Chapter 6. Making life easier with Shelfs

All kinds of objects can be stored on the Shelf (applications, folders or files). Beter explained is to say the links can be created on a Shelf. The actual object stays where it is, but a symbolic link is created so you can find it easier.

In the Browser mode the main Shelf is the one in your File Viewer window. Since the space on that one is limited there are two other Shelfs available to you. The TabbedShelf and the Fiend.

The Fiend

The Fiend is another way of storing applications, files or folders. From the Tools, Fiend menu you can select the Show Fiend command. Which gives you the fiend, which is probably empty on your system:

and the Fiend menu:

With the green arrows you can switch from one 'shelf' to another and by dragging and dropping you can add icons to a certain 'shelf', like I did for the development tools.

By giving each layer another name you can create distinguishable shelfs e.g. related to type of application, or by project.

The TabbedShelf

The Tabbed Shelf is comparable with the Shelf. One can stick applications, documents and folders for future use on the Tabbed Shelf. To activate the Shelf select from the Tools menu the Tabbed Shelf entry. This will activate the Shelf at the bottom of your screen.

Double clicking an folder object in the TabbedShelf opens a new viewer with the folder. If you click the object with the CTRL pressed opens the selection in the current viewer.

Appendix A. Daemons and Tools

Daemons: lsfupdater fswatcher ddbd

The GWorkspace database: $GNUSTEP_USER_ROOT/Library/ddbd

Appendix B. Build from source

GWorkspace is downloadable from:

To check out GWorkspace from CVS use:

cvs -z3 co usr-apps/gworkspace

To build GWorkspace you first have to build FSNode, before to proceed with the actual build:

cd FSNode
cd ..
cd Apps_wrappers
cp -a * $GNUSTEP_SYSTEM_ROOT/Applications

Appendix C. Testing, debugging and removal

If GWorkspace crashes it normally leaves core dumps, however some distributions have a ulimit -c 0 set. This is done to prevent diskspace loss for the normal user, but you might want to override it if you run into trouble with GWorkspace.

Deleting the defaults:

# defaults delete GWorkspace
# defaults delete ddbd

I assume that GWorkspace was installed using the GNUSTEP_SYSTEM_ROOT variable.

# rm -rf ${GNUSTEP_SYSTEM_ROOT}/Applications/GWorkspace*

# rm ${GNUSTEP_SYSTEM_ROOT}/Library/Libraries/libDBKit*
# rm ${GNUSTEP_SYSTEM_ROOT}/Library/Libraries/libFSNode*
# rm ${GNUSTEP_SYSTEM_ROOT}/Library/Libraries/libInspector*

# rm -rf ${GNUSTEP_SYSTEM_ROOT}/Library/Headers/FSNode
# rm -rf ${GNUSTEP_SYSTEM_ROOT}/Library/Headers/Inspector

# rm -rf ${GNUSTEP_SYSTEM_ROOT}/Library/Frameworks/FSNode.framework
# rm -rf ${GNUSTEP_SYSTEM_ROOT}/Library/Frameworks/Inspector.framework

# rm -rf ${GNUSTEP_SYSTEM_ROOT}/Library/Bundles/*.inspector
# rm -rf ${GNUSTEP_SYSTEM_ROOT}/Library/Bundles/*.finder
# rm -rf ${GNUSTEP_SYSTEM_ROOT}/Library/Bundles/*.extinfo
# rm -rf ${GNUSTEP_SYSTEM_ROOT}/Library/Bundles/*.thumb

# rm ${GNUSTEP_SYSTEM_ROOT}/Tools/ddbd
# rm ${GNUSTEP_SYSTEM_ROOT}/Tools/fswatcher
# rm ${GNUSTEP_SYSTEM_ROOT}/Tools/indexer
# rm ${GNUSTEP_SYSTEM_ROOT}/Tools/lsfupdater
# rm ${GNUSTEP_SYSTEM_ROOT}/Tools/resizer
# rm ${GNUSTEP_SYSTEM_ROOT}/Tools/searchtool

# rm -rf ${GNUSTEP_USER_ROOT}/Library/Bundles/*.inspector

# rm -rf ${GNUSTEP_USER_ROOT}/Library/GWorkspace
# rm -rf ${GNUSTEP_USER_ROOT}/Library/ddbd