Gsh is designed to do two things:
1. be a comfortable environment for people who are already accustomed to using a Unix shell.
2. make operations that are difficult or awkward with a normal shell easier by having the shell take advantage of a graphical environment.
For the most part, Gsh behaves like a normal terminal window with some graphical enhancements. It can also be useful as a program launcher when used in compact mode.
Here are some key features of "Gsh":
· A terminal window consisting of multiple output sections, one for each command. Above each output section is a header indicating the command that was executed. This makes Gsh's output appear like the normal output you would see from a shell, but the header is editable, allowing you to change the command and re-execute it in the same output area. Each output section serves as a complete xterm-like terminal, so you can use it for any activity you would normally use an xterm for.
· Multiple independent screens. A screen bar at the bottom allows you to create new screens and switch between screens, as well s showing what is running in each. Having multiple screens keeps down the clutter of having several terminals open at once.
· A user configurable menu for keeping commonly used commands.
· A menu for "cd"ing to recently accessed directories. This is persistent and shared among multiple invocations of the program.
· A collapsed and expanded display. In the collapsed display, only the menus and the command line are visible, allowing Gsh to be placed unobtrusively on the top or bottom of the screen. In the expanded mode, the terminal is visible, with the command line at the bottom.
· A context-sensitive popup menu with user-definable commands. If you select a filename and press the right mouse button, a popup menu appears with commands that can be performed on that type of file. Selecting a URL gives you a menu option for opening the URL in a browser. Selecting text from other commands produces other types of popup menu entries. For example, if the command that created the text is "rpm", then entries such as "rpm -e" and "rpm -ql" are given in the popup menu.
· Graphical interfaces for configuring all options and settings. Including menus, fonts, and colors.
· Filename completion. Pressing Tab will finish the filename you are typing. If there is more than one possibility, Gsh will bring up a list of filenames. Pressing Tab with nothing entered allows the file completion window to serve as a simple file browser. The completions are configurable so that only the files relevant to the command will be shown.
· The command history is accessible through the up/down arrow keys, or a history list. History searches are possible by typing partial commands.
· The command line will automatically expand to include more lines as necessary. It also has built-in vi-style editing and mouse-based editing.
· You can cd to a recently accessed directory without typing the full path.
· Pressing the right mouse button over a previously executed command when nothing is selected opens a menu. Through the menu you can re-execute the command, remove it, or detatch it into it's own window (even while it is running).
· The terminal keeps track of which lines wrapped. When the window is resized, the output is reformatted for the new size.
· User selectable colors for prompts and commands.
· Persistent aliases.