DragonFly On-Line Manual Pages
gentoo(1x) gentoo(1x)
NAME
gentoo - A highly configurable file manager for X
SYNOPSIS
gentoo [--version] [--locale-info] [--root-ok] [--no-rc] [--no-gtkrc]
[--no-dir-history] [--left=path] [--right=path] [--run=ARG]
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 independent 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 configuration 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, but is not a "clone" of any kind.
OPTIONS
gentoo is not primarily driven by command line arguments, but the
following are available:
--version
Causes gentoo to print its version number (a string of the form
MAJOR.MINOR.MICRO, like 0.20.6) to the standard output, and then
exit successfully. Numbers having an odd MINOR component
indicate development versions of the program. So far, all
versions of gentoo have been classified as being development
versions.
--locale-info
Makes gentoo print a couple of localization settings, and then
exit. This is mostly useful during development and debugging,
and not of a lot of interest when just using the application.
--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, but occasionally handy when trying
to determine if a problem is with the configuration or with the
core code.
--no-gtkrc
Avoids loading the GTK+ RC file, thus disabling any widget
customizations, and forces all widgets to use the default GTK+
look.
--no-dir-history
Avoids loading the file that holds the history, i.e. which
directories have been previously visited by the two panes. Very
rarely needed, included mostly for completeness' sake.
--left, --right (or -1, -2)
Sets the initial path for the left and right pane, respectively.
If present, the path specified with one of these options
overrides any other path for the pane in question. See below
(Initial Directory Paths) for details.
--run ARG (or -rARG)
Runs ARG, a gentoo command. Commands specified this way are
executed before gentoo accepts any user input through the
graphical interface, but after the configuration file has been
read in. You can use it many times in order to make gentoo run a
whole series of commands. Remember that gentoo's command names
are case-sensitive, and that built-in commands (like "About")
always begin with a capital letter.
Any non-option command arguments will be silently ignored. If an
argument "-h" or "--help" is given, gentoo will give a summary of its
supported command line options and exit successfully. If an unknown
option is given, or a option is missing a required argument, gentoo
will whine and exit with a failure.
BASIC USAGE
When gentoo starts up, it will open up its single main window, which is
split vertically (or horizontally; it's configurable) down the middle,
forming the two panes mentioned above. It also contains a bank of
buttons along the bottom.
Initial Directory Paths
The actual paths shown in the two panes upon start-up can be controlled
in various ways. There are four ways of getting a path to show up in
pane. In order of decreasing priority, they are:
1. Command-line Argument
Using the --left and --right (or their short forms, -1 and -2)
command-line arguments overrides any other setting.
2. Configured Default Directory
If no command-line argument is present, and the "Default
Directory" configuration option is set, that directory is used.
3. Most Recently Visited Directory
If no default directory exists, the most recently visited
directory is taken from the directory history for each pane.
This only works if a directory history file has been found and
loaded.
4. Current Directory
If all else fails, gentoo uses the current directory (".").
Navigating
Navigating around the file system using gentoo is very simple. The two
panes act as independent views of the file system, and both 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.
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 unselect it.
You can drag to unselect 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 unselect 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
unselect, 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.
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 configuration data, gentoo uses a heavily
structured configuration file. In fact, the file is (or at least it
should 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 configuration 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 configuration 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
~/.config/gentoo/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 old
name ~/.gentoorc is tested, and if that also fails a site-wide
configuration (see below) will be tried instead.
/usr/local/etc/gentoorc
This is the site-wide configuration file. If a user doesn't have
a configuration 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.
~/.config/gentoo/dirhistory
This file contains lists of the most recently visited
directories, for both panes. These are the lists that appear in
the drop-down menu when the arrow next to the path entry box is
clicked. Can be disabled in the Dir Pane configuration.
~/.config/gentoo/gtkrc
This file allows you to control the look of the widgets used by
gentoo, through the GTK+ style system. You can change the actual
path in gentoo's Configuration window, the above is the typical
default for a modern Linux-based system. If a file named gtkrc
is not found in the configured path, the names gentoogtkrc and
.gentoogtkrc (note the period), in that order, are also tested.
/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 auto-mounting 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
/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.
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>. Please try and include the word
"gentoo" in the Subject part of your e-mail, to help me organize my
inbox. Thanks. If you're really not in the mood for the direct feel of
e-mail, the second best choice for reporting bugs and making
suggestions is the use the web-based bug tracker at
<https://sourceforge.net/p/gentoo/bugs/>. Thanks for contributing.
ACKNOWLEDGMENTS
The author wishes to thank the following people for their various
contributions to gentoo:
Johan Hanson (<johan@tiq.com>)
Johan is the man behind all icon graphics in gentoo, and also
the 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. Johan has stuff at
<http://www.bahnhof.se/~misagon/>.
Jonas Minnberg (<sasq@nightmode.org>)
Jonas did intensive testing of early versions of gentoo, and
eventually persuaded me into releasing it (back around version
0.9.7 or so).
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. :)
Oliver Braun, Jim Geovedi and Pehr Johansson
Maintainers of gentoo ports to FreeBSD, OpenBSD, and NetBSD,
respectively.
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 License (GNU GPL), version 2. 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 uses the slightly outdated stable
series, called 1.2.x. The latest known release in that series is GTK+
1.2.10. Because of severe performance problems, gentoo will probably
not be ported to use the current (2.0.x) series of GTK+ any time soon.
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.
Obsession Development December, 2015 gentoo(1x)