gentoo(1x) Obsession Development gentoo(1x)
November, 1999
NAME
gentoo - a fully GUI-configurable X file manager using GTK+
SYNOPSIS
gentoo [--version] [--root-ok] [--no-rc] [--no-gtkrc] [left_path
[right_path]]
DESCRIPTION
gentoo is a file manager for Linux and compatible systems. It allows
you to interactively navigate your file system using the mouse, and
also to perform various fairly standard operations (such as copy,
move, rename, ...) on the files and directories contained therein.
gentoo always shows you the contents of two directories at once. Each
of these is displayed in its own scrollable list, called a pane. At
any time, exactly one pane is the current pane, and has a highlighted
bar running across its top region. The current pane acts as the source
for all file operations, while the other pane is the destination. You
can select rows in panes using selection methods of varying complexity
(from simply clicking a row, to selecting rows by name using a regular
expression). Once you have a selection, you can click a button to
perform some command on the selected files.
All file operations performed by gentoo are implemented natively. When
you use gentoo to copy a file, for example, gentoo does not simply
execute the system's cp(1L) command. Rather, gentoo contains its own
code for opening source and destination files, and then reading and
writing the right amount of data between them. This way of doing
things makes gentoo independant of the availability of shell commands
to do things.
gentoo incorporates a fairly powerful, object-oriented file typing and
styling system. It can use a variety of ways to determine the type of
the files it is displaying. Each type is then linked to something
called a style, which controls how rows of that type are rendered in
panes. You can use this system to control icons, colors, and various
operations on the rows. For example, it is easy to make gentoo display
all PNG images in red, and to invoke The GIMP(1) on them when double-
clicked.
A design goal with gentoo has been to provide full GUI
configurability, removing the need to edit a config file by hand and
restart the program to see the changes, as is otherwise common in many
programs for Un*x. As a result of this, gentoo features a
Configuration dialog window where you can configure most aspects of
its operation directly, using the mouse and standard GUI widgets.
gentoo borrows its basic look'n'feel from the classic Amiga file
manager Directory OPUS.
- 1 - Formatted: November 6, 2025
gentoo(1x) Obsession Development gentoo(1x)
November, 1999
OPTIONS
gentoo's support for command-line options is currently (as of version
0.11.11) rather limited. However, the following flags are available:
--version
Causes gentoo to print its version number (a string on the form
MAJOR.MINOR.MICRO, like 0.11.11) to the standard output, and then
exit. Numbers having an odd MINOR component indicate development
versions of the program.
--root-ok
Makes gentoo accept being run by the root user. Normally, this is
not allowed since it is considered a big threat to system
security. Note that gentoo has the ability to execute user-
defined strings using the execvp(3) function. This is generally
considered harmful. However, if you really want to run gentoo
while logged on as root, supplying this option allows you to. It
is not recommended, though.
--no-rc
Starts up gentoo without loading any configuration file. This
makes it run using the built-in defaults, which are very Spartan
indeed. Seldom comfortable.
--no-gtkrc
Avoids loading the GTK+ RC file, thus disabling any widget
customizations, and forces all widgets to use the default GTK+
look.
The first argument not in the set of option flags listed above will be
used as the path for the left pane, overriding what the configuration
says. The second such argument is used for the right pane, and any
remaining arguments will be silently ignored. Note that it is not
possible to specify a path for the right pane without also giving one
for the left. This is somewhat silly.
BASIC USAGE
When gentoo starts up, it will open up its single main window, which
is split vertically down the middle, forming the two panes mentioned
above. It also contains a bank of buttons along the bottom. The panes
will read in the default start-up directories, or any directories
specified on the command line.
Navigating
Navigating around the file system using gentoo is very simple. The two
panes act as independent views of the file system, and are navigated
in exactly the same way.
You can always see which directory a pane is showing by reading its
path, shown in the entry box below (by default--you can change the
position to above) the pane.
- 2 - Formatted: November 6, 2025
gentoo(1x) Obsession Development gentoo(1x)
November, 1999
To enter a directory, locate it in the pane and double click it with
the left mouse button. gentoo will read the directory's contents, and
update the display accordingly.
There are several ways of going up in the directory structure. To
enter the directory containing the one currently shown (the current
dir's parent), you can: click the parent button (to the left of the
path entry box); hit Backspace on your keyboard; click the middle
mouse button; select "Parent" from the pop-up menu on the right mouse
button, or click the downward arrow to the right of the path box (this
pops up the directory history menu), then select the second row from
the top.
Selecting Files
Before you can do anything to a file, you need to select it. All
file-management commands in gentoo act upon the current selection (in
the current pane). There are several ways of selecting files, but the
most frequently used are mouse-based. Note that the word "file" used
below really should be taken to mean "file or directory", since
selection doesn't distinguish between the two.
To select a file (or directory), just point the mouse at the name
(anywhere in the row is fine), and click the left mouse button. The
colors of the clicked row will change, indicating that it is currently
selected. To select more rows, keep the mouse button down, and drag
the mouse vertically. gentoo extends the selection, including all rows
touched. If you drag across the top or bottom border, the pane will
scroll, trying to keep up. This is a very quick and convenient way of
selecting multiple files, as long as they are listed in succession.
If you click again on an already selected file, you will deselect it.
You can drag to deselect several files, just as when selecting.
To select a sequence of files without dragging, first click normally
on the first file that you wish to select. Then release the mouse
button, locate the last file in the sequence (it can be either above
or below the first one), hold down shift on your keyboard, and click
the wanted file. gentoo now adds all files between the first and the
last to the current selection.
If you follow the instructions given above to select a sequence, but
press control rather than shift before clicking the second time,
gentoo will deselect the range of files indicated.
If you click on a file with the meta key held down (that's actually a
key labeled Alt, located to the immediate left of the space bar, on my
PC keyboard), gentoo will do something cool: it will select (or
deselect, it's a toggle just like ordinary selection) all files,
including the clicked one, that have the same type as the one you
clicked. This can be used to select for example all PNG image files in
a directory even if you can only see one. Occasionally very useful.
- 3 - Formatted: November 6, 2025
gentoo(1x) Obsession Development gentoo(1x)
November, 1999
If you click on a file with both the shift and control keys held down,
gentoo will toggle the selected state of all files having the same
file name extension as the one you clicked. This can sometimes be
useful to select files that you don't have a proper type defined for,
as long as those files do share an extension, that is.
Changing Sort Order
The files and directories listed in each of gentoo's two panes are
always sorted on some column: typically file name. You can chose to
sort on some other field by clicking the appropriate column title
once. If you click on the field that is already current, the sorting
will be reversed (i.e., for names it will be Z-A rather than A-Z).
If your display includes icons, try sorting on that column: gentoo
will then order each row according to its File Style, grouping the
rows based on their parent styles, all the way up to the root of the
Style tree. This means that, for example, JPEG and PNG pictures (both
having an immediate parent style of Image) will be shown together, and
before all Text files (HTML, man pages and so on). It's quite cool,
really. :)
Executing Commands
Commands are used to make gentoo do stuff. The typical command
operates upon the set of selected files in the current pane, so it's
usually a good idea to first select some files. See the previous
subsection for details on how to select files. Once you have a bunch
of files selected, you need to tell gentoo which command to execute.
There are several ways of doing this.
Most basic file operations (e.g. copy, move, rename, and so on) are
found on the (cleverly labeled) buttons along the bottom of gentoo's
main window. To copy a file, just select it, then click the button
labeled "Copy". It's really that simple. Most of these built-in (or
native) commands automatically operate recursively on directories, so
you could copy (or move) a whole directory of files by just selecting
it and then clicking "Copy".
If you can't see a button that does what you want to do, there's a
chance that the command exists, but isn't bound. Click the right mouse
button in a pane, this opens up the "pane pop-up menu". Select the
"Run..." item. This opens up a dialog window showing all available
commands. Select a command, and click "OK" to execute it.
CONFIGURATION
gentoo is a pretty complicated program; it has a rather large amount
of configuration data that it needs in order to be really useful. For
example, my current personal configuration file contains well over a
thousand different configuration values.
To store this hefty amount of config data, gentoo uses a heavily
structured config file. In fact, the file is (or at least it should
- 4 - Formatted: November 6, 2025
gentoo(1x) Obsession Development gentoo(1x)
November, 1999
be) legal XML!
When new features are added to gentoo, they will typically require
some form of configuration data. This data is then simply added
somewhere in the existing config file structure. Effort is made to
assign reasonable built-in default values for all such new features,
so older configuration files (that don't contain the values required
by the new features) should still work. The first time you hit "Save"
in the configuration window after changing your version of gentoo,
your personal config file will be updated to match the version of
gentoo.
Describing how to go about configuring gentoo is too big a topic for a
manual page to cover. I'll just say that the command to open up the
configuration window is called "Configure". It is by default available
on a button (typically the top-right one), in the pane pop-up menu,
and also by pressing the C key on your keyboard.
FILES
~/.gentoorc
A user's personal configuration file. When gentoo starts up, it
will try to load this file. If the file isn't found, the site-
wide configuration will be tried instead.
/usr/local/etc/gentoorc
This is the site-wide configuration file. If a user doesn't have
a config in his/her home directory, gentoo loads this file
instead. The actual location of this file is slightly system-
dependent, the above is the default. As an end user, you
typically won't need to access this file manually.
~/.gentoogtkrc
This file allows you to control the look of the widgets used by
gentoo, through the GTK+ style system. This file must be present
in the user's home directory - there is no site-wide GTK+
configuration file.
/etc/passwd, /etc/group
These two files normally hold the system's password and group
information. These are (probably) the ones gentoo uses to map
user IDs to login names, to do tilde-expansion (mapping of user
name to directory path), and to map group IDs to group names.
That is probably, because gentoo doesn't actually refer to these
files by name. Instead, it uses the (BSD-style) API function
calls getpwent(3) and getgrent(3) to access this information.
/etc/fstab, /proc/mounts, (or /etc/mtab)
These files contain data on available and mounted file systems.
They are read by gentoo's automounting code. You can configure
the exact file names used, on the "Mounting" tab in the main
configuration window. Note that using /proc/mounts rather than
- 5 - Formatted: November 6, 2025
gentoo(1x) Obsession Development gentoo(1x)
November, 1999
/etc/mtab is recommended on Linux systems; they contain roughly
the same data, but the one in /proc is always up to date, and
faster to read!
BUGS
All releases of gentoo numbered 0.x.y, where x (the so called minor
version number) is odd, are to be considered development releases, as
opposed to stable ones. This means that the software will probably
suffer from bugs. If you find something that you suspect is indeed a
bug, please don't hesitate to contact the author! For details on how
to do this, see below.
If you're concerned about using potentially buggy and completely
unwarranted software to manage your precious files, please feel free
not to use gentoo. The world is full of alternatives.
The chances that a bug gets fixed increase greatly if you report it.
When reporting a bug, you must describe how to reproduce it, and also
try to be as detailed and precise as possible in your description of
the actual bug. If possible, perhaps you should include the output of
gdb(1) (or whatever your system's debugger is called). In some cases
it might be helpful if you include the configuration file you were
using when the problem occurred. Before reporting a bug, please make
sure that you are running a reasonably recent version of the software,
since otherwise "your" bug might already been fixed. See below for how
to obtain new releases.
Also, you should locate and read through the BUGS file distributed
with gentoo, so you don't go through all this hassle just to report an
already known bug, thereby wasting everybody's time...
AUTHOR
gentoo was written, from scratch, by Emil Brink. The first line of
code was written on May 15th, 1998. It is my first program to use the
GTK+ GUI toolkit, my first program to be released under the GPL, and
also my first really major Linux application. However, it is not my
first program! ;^) I've been writing (increasingly complex) code for
more than a decade. I am currently a computer science student at the
Royal Institute of Technology (KTH) in Stockholm, Sweden.
The only efficient way to contact me (to report bugs, give praise,
suggest features/fixes/extensions/whatever) is by Internet e-mail. My
address is <emil@obsession.se>.
ACKNOWLEDGMENTS
The author wishes to thank the following people for their various
contributions to gentoo:
Johan Hanson (<johan@tiq.com>, <http://www.dsv.su.se/~j-hanson/>)
Johan is the man behind all icon graphics in gentoo, and also the
- 6 - Formatted: November 6, 2025
gentoo(1x) Obsession Development gentoo(1x)
November, 1999
author of the custom widgets used in it. He also comes up with
plenty of ideas for new features and changes to old ones, some of
which are even implemented.
Jonas Minnberg (<jonas@obsession.se>)
Jonas did intensive testing of early versions of gentoo, and
eventually persuaded me into releasing it (back around version
0.9.7 or so). He still is one of the most active testers, and
often suggests new features.
Ulf Petterson (<ulf@obsession.se>)
Ulf drew the main gentoo logo (the one shown in the About
window), and also designed the main HTML documentation's layout.
Josip Rodin (<jrodin@jagor.srce.hr>)
Maintainer of the gentoo package for Debian Linux, and also a
source of suggestions for improvements, as well as a relay for
bug reports from Debian Linux users.
Ryan Weaver (<ryanw@infohwy.com>)
Maintainer of the gentoo packages for Red Hat Linux, and probably
one of the fastest package creators out there. :)
Thanks also to all people who have mailed me about gentoo, providing
bug reports, feature requests, and the occasional kind word. :^) It's
because of people like yourselves that we have this wonderful computer
platform to play with.
COPYRIGHT
gentoo is released as free, open-source software, under the terms of
the GNU General Public Licence (GNU GPL). This license is included in
the distribution under the traditional name of COPYING, and I suggest
that you read it if you're not familiar with it. If you can't find the
file, but have Internet access, you could take a look at
http://www.gnu.org. It is important to realize that the mentioned
license means that there is ABSOLUTELY NO WARRANTY for this software.
OTHER INFO
Some unfinished, outdated, but still pretty informative documentation
is available, in HTML format, in the docs/ subdirectory in the
distribution archive. If you haven't installed gentoo from the
original .tar.gz distribution archive, you might need to either
inspect the distribution you did use (perhaps it came as some form of
"package"), or contact a system administrator.
The GTK+ GUI toolkit that gentoo requires is available at
http://www.gtk.org. gentoo will typically be written to run against
the latest available stable version of the GTK+ toolkit, and will
likely not work with the development releases of it.
- 7 - Formatted: November 6, 2025
gentoo(1x) Obsession Development gentoo(1x)
November, 1999
The latest version of gentoo is always available on the official
gentoo home page, at http://www.obsession.se/gentoo.
SEE ALSO
regex(7), file(1), magic(5), fstab(5), strftime(3)
Manual page section numbers in this page refer to sections on (some?)
Linux systems, your mileage will most likely vary. Try the apropos(1)
command, it might help you out.
- 8 - Formatted: November 6, 2025