Hello,
I aspire to participate in this year's Google Summer of Code. I propose the idea of making a new intelligent and interactive terminal emulator with rich GUI features. These are some of the improvements that I propose to replace the current gnome-terminal:
Seperate fields for Input and Output:
Input and output are clearly seperated from each other in different text fields.
2. Flags associated with various terminal commands are shown as a checkbox group with a brief description about the use of each flag:
It reduces the effort in finding out the various flags associated with a command on man page and then executing the code. When a command is typed the flag list automatically can be pops up a checklist and recently used flags are automatically checked.
3. Selective copy of recently used commands:
A recently executed command can be selectively copied.
e.g.: Previously executed command is:
gcc abc.c -lm -o abc.o
can be selectively copied as
gcc abc.c -o abc.o
4. Intelligent selection of files with auto-correct feature:
A filebrowser is shown in the side-bar when typing a file name in a command to guide the user in selecting the correct file. By chance, the typed file is not found at the given location, the terminal produces a list of best matches to the file in the nearby locations or files of similar name.
5. Storing startup commands:
A list of startup commands can be stored can be stored. These commands are
automatically executed at the start of terminal.
Search manual pages for a particular keyword:
A particular word can be searched from the 'man' pages for all the available commands/a particular command. This way the user can find the commands related to a particular keyword.
7. Warning dialogs:
dialogs to alert the user a file is being deleted/super user permission is required to execute a particular program/any other alert/warning/error issued by the terminal. This makes the terminal more interactive.
Auto-Corrections for mis-typed commands:
When a particular command executed is not available. A close match is searched. If no close match is found, the repositories are checked for any close match. If found the matches are displayed. If not installed, it is automatically installed without the user having to type sudo apt-get install or equivalent of it in other linux distributions. If a similar command has been successfully executed before with different flags are variables, they are suggested.
Tools used to make these : PyGTK+
RICH GUI elements like dialogs, popups, drop-down menus,etc. will be used to make the interface intuitive.
These are a few additions which I suggest to make terminal user-friendly. Please suggest your views and suggestions about my idea.