![]() ![]() |
|
| LICENSE | GUIDE | INTRO | USAGE | CONFIG | HISTORY | CONTRIBUTING | ACKS |
Commands are important. In fact, I would almost go as far as to say that much of the rest of gentoo is there just so you can get to a point where executing the right commands, at the right time, and on the right files, becomes easy...
There are two different flavors of command: the built-in (sometimes called native) command, and the user-defined (external) commands. The difference is simple: built-in commands are written in C and compiled into the gentoo proper, while user-defined commands are defined by you, the user, at run time. It has been a goal to provide the most frequently used file operations as built-ins, in order to reduce the dependancies between gentoo and its host operating system.
All built-in commands have names where the initial letter of each word is capitalized. There are never any spaces or any other non-alphanumerical characters in command names. In this document, built-in commands are generally rendered in boldface to make them stand out.
Many of the built-in commands share the same dialog framework. This improves interface consistency, and cuts down on internal wheel reinvention. Such a dialog might look like this:
The area above the horizontal divider line in the window is known as the body of the dialog; it generally provides command-specific GUI controls. In this case, the "control" is just a text label asking you to confirm the Delete operation. The buttons have the following meanings:
For some commands, some of the buttons would be pointless; such as an "All" button for the Rename command. In those cases, the unwanted button is simply hidden from the dialog as to not confuse the user.
All built-in commands make sure they have the input they require before doing anything. For many commands, the input is just the set of selected items in the current pane. Some commands are sensitive to mouse doubleclicks; if they are envoked as the result of a doubleclick, they will detect this and act accordingly. Other commands ignore both selections and doubleclicks, and pop up a dialog where you specify the input the command needs.
Here is a reference table of all currently available built-ins. For each command a brief and a detailed explanation of the command's actions are provided. In this table, the commands have been divided into various groups (directory, activation, file ops and so on). This division is not visible when you use the commands; they are all accessed just by the plain names listed here.
| Name | Brief | Detailed | |
|---|---|---|---|
| Directory - Various dirpane operations | |||
| DirEnter | Enter a directory. | This command will make the current pane enter (CD into) a new directory. The directory chosen is either the one that was just doubleclicked upon by the user, or else the first selected directory found. This command is typically only used as the action property binding in the directory style(s). Of course, you can bind it to a button (or whatever) just as any command, but doing so is seldom convenient. | |
| DirOther | Copy contents of other directory to current. | This command copies the path shown in the other pane to the current, and then does a rescan. The net effect is that both panes show the same thing. | |
| DirParent | Go to the parent directory. | This changes the path of the current directory to its parent path. If you are already at the root of the filesystem (the path is "/"), nothing happens. | |
| DirRescan | Reread the current directory. | Use this command to ensure that the display is up-to-date and in synch with what is actually in the filesystem. It flushes the current pane and then rebuilds it by reading in the directory from disk. It does not affect the set of selected rows, however. | |
| DirSwap | Swap contents of the two panes. | This command will simply exchange the contents of the two panes. It is done without any rereading of the disk directories, and therefore is quite fast. | |
| Activation - Change current dirpane | |||
| ActivateLeft | Make the left pane the current. | Not much to add. | |
| ActivateOther | Make the other pane the current. | Which pane is activated by this pane depends on which one is the current when the command is envoked. If the left is current, the right is made the new current, and vice versa. | |
| ActivateRight | Make the left pane the current. | Not much to add. | |
| Basic - Basic file operations | |||
| Copy | Copy selected files and directories to destination. | This command does a straight copy of the selected files (and directories), placing byte-for-byte copies of the files in the destination directory. The copy is done recursively, so any directories in the selection will be copied in their entierity. | |
| Move | Move selected files and directories to destination. | This command moves all selected files and directories, recursively, from the current directory into the destination dir. It is equivalent to first doing a Copy, then reselecting the same files and doing a Delete, but is implemented more efficiently. | |
| Delete | Delete selected files and directories. | This command deletes the selected items from the disk. Directories are recursively deleted, and need not be empty in order to be removed. Please be careful with this operation, since it is potentially dangerous (it is hard to undo a delete). | |
| Rename | Rename files and directories. | This command pops up a variant of the standard command dialog as shown above, but includes in the body of the dialog a text entry box where you enter a new name for each of the files. As you click OK in the dialog, gentoo changes the name of the file (or directory) to the name given. This process is repeated for every selected row. | |
| ChMod | Change file permissions. | This command pops up a big dialog which provides buttons for manipulating the various permission bits defined by the operating system. You can use this to make a file unreadable for any user but yourself (and root), for example. For an enlightening screenshot of the dialog in question, look here. | |
| ChOwn | Change file user and group ownerships. | This command allows you to change the user and group ownerships of files, just like the normal shell command of the same name. It is currently very lazily implemented, and not likely to be very useful on a large system. Expect a better implementation in future releases of gentoo. Currently this command sort of sucks. | |
| (Split) | Split large file into smaller parts. | This command is not fully implemented. Its intended purpose is to provide a graphical way of splitting (sometimes called segmenting) a file into several smaller parts. It is currently about 50% implemented, and actually works. In the future, it will be accompanied by a Join command to paste the parts back together, of course. | |
| MkDir | Make a new directory. | This command is used to create a new, empty, directory. It totally ignores the set of selected files, and thus runs perfectly well without any selection. It pops up a dialog asking you for the name of the directory to create, and creates it. It also allows you to specify that the directory should be read into the current pane immediately after being created, which is sometimes convenient. | |
| Selection - Modify the set of selected rows | |||
| SelectAll | Select all rows in current pane. | This command will select all rows in the current pane, no matter which rows are selected when it is run. | |
| SelectNone | Deselect all currently selected rows. | After this command has been run, the current pane will have no selected rows whatsoever. | |
| SelectToggle | Invert the selected set. | This command, which might be classified as mildly silly, makes all rows selected when it is envoked become deselected, and vice versa. If all rows in the pane were selected, it acts like SelectNone; if no rows were selected it acts like SelectAll. | |
| SelectRE | Select using regular expression. |
This command pops up a special command dialog window, in which you can specify a set of rows, an action, and a regular expression. The expression is then matched against the name of each row of the specified set, and when a hit occurs, the action is applied to the row in question. For more information on the peculiar check button labeled "Treat RE as glob pattern?", check here. | |
| File Commands - Operate upon currently selected file(s) | |||
| DoubleClick | Do canonical file operation. |
This command is used to make gentoo do "The Right Thing" when you doubleclick on a file.
Behind the scenes, it merely triggers the "Doubleclick" action property
for the file being clicked. This can then be used to view, print, play, compress, or generally do
just about anything with the file. The chain of events that involves this command is:
| |
| FileEdit | Edit selected files. | This executes the "Edit" action property for the selected files (or the doubleclicked one, if one exists). | |
| FilePrint | Print selected files. | Just like FileEdit, but executes the "Print" action property. | |
| FileView | View contents of selected files. | Just like FileEdit, but executes the "View" action property. | |
| Miscellanous - Various other commands | |||
| Configure | Open up the configuration GUI. | This command enters configuration mode, by opening up the modal configuration dialog. Until that dialog has closed, no other command is executed. | |
| Quit | Quit gentoo. | This command exits gentoo immediately. Currently it asks no questions, but this behavior might change in the future. | |
Note that you need never worry about providing a built-in command with any form of arguments textually. You just name the command, and it takes care of the rest. Since these commands are really built-in, they have full access to gentoo's intenal state where the lists of selected files, current paths, and so on is easily available.
Although sure important, the built-in commands are very limited. In order to make the most out of gentoo, you'll need to define your own commands to do the things you want. You use the mechanism provided by user commands to accomplish this. A user command is simply a call to an external program, which is provided with the correct file name arguments by gentoo.
A user command has the follow