The ConsoleHoster application is build around a concept called “Project”, which is the representation of a console-based application within the ConsoleHoster.

There are two types of projects – those, which users can create and the QuickConsole, which is available in the application by default – giving ability to easily start a simple “cmd.exe” based console within the application. To learn how to create projects within the application, read here.

To start the QuickConsole a handy “+” signed button is available in the top left corner of the main window, as shown in the following screenshot:


Clicking the QuickConsole button will bring the application to the following state:


The number of opened projects is not limited, so a user is allowed to open as many Projects as (s)he wants to. Each opened project will open in a separate tab within the main application window. To see the current directory of the console users can move the mouse over the tab header of the opened project, and a tooltip will show up as shown in the following image.


Despite the QuickConsole users are allowed to create custom projects which will show up as a list of buttons near the QuickConsole button in the header of the main window. In the following image a project with “New Project” name was created, which has the d:\ as the root directory, so as soon as the application will be started, the current directory will be set to d:\.


Each project has two parameters defining the color of the output messages:

  • Output color
  • Error message color

Messages will be colored with output color if the output is coming through the usual OutputStream of the underlying process. Otherwise, if the messages are coming through the error stream of the underlying process those will be marked with “Error message color”. By default the output color of a project is white and the error message color is red.

The QuickConsole project is specific one – it cannot be modified or altered in any way. Luckily there is the second kind of projects which users can create and modify. Those are the the main strength of the application itself.

To learn how to create a project read here.

Let’s assume we’ve created two new projects called “Project 1” and “Project 2”.

The main window now will look like this:


Clicking any of the projects will open it as the QuickConsole window was opening – in a new tab. Its possible to define commands per each project – which will actually help the user to remember those commands and also save some command patterns, which will become accessible through a button click. As an example we can create a “Show Contents” command for Project 1, which will list the content of the current directory. To learn how to create or edit commands read here.

After creating the command for Project 1 the UI will have the following view when a Project 1 instance will be activated:


As you can see the command has appeared on the left hand side from the output area and represents a button. Clicking it will run the “dir” command in the console so the contents of the directory will be listed.

Another thing related which is project specific is the explorer pane. For each project its being loaded from the project working directory and by default the active directory is in sync with the current directory of the console output. This behavior can be both turned off and on. To change it users need to go to the View menu and (un)check the “Synced Navigation” option in there.

There are few more options accessible in the View menu related to the project:

  • Explorer Tree
  • Auto Scroll
  • Synced Navigation
  • Clear Output

The first three options are just checkboxes switching specific functionality to on and off. The first one is responsible for hiding/showing the explorer tree for the project instance on the left.

The second one  - “Auto Scroll”, is used to turn on and off the auto scrolling of the contents in the output pane, when the content is still coming.

The synced navigation option, described above, is responsible for synchronizing navigation – so whether to automatically switch to the current folder of the console in explorer tree or not.

And finally the last option  “Clear Output” is not a switch: clicking it will cause the current output in the output pane to be cleared. Please note, that there is no undo operation for this, so if the contents have been cleared, its not possible to bring it back.

Another related option here is the “Show recent output only” available in the status bar (bottom line of the main window) of the project, which controls the size of the output contents to show. So for example if there are thousands of lines already in the output pane, checking that checkbox will hide all the messages except most recent 25 or so.

The Zoom functionality available right near the “Show recent output only” checkbox, which controls the font size in the output window. Another way to control the zoom level is to scroll up or down over the output area holding down the Ctrl button.

Despite of controlling the functionality which will affect the visibility of the project in one or another way, there are several other commands available as well. So in the Edit menu there is a “Font …” menu item, which will bring up the Font chooser dialog. This will let the user to select the desired font and choose whether it should be bold or not. NOTE: The font selection affects not only the active console window but is a global setting. So setting this will affect all the other projects as well.

The second option in the Edit menu “Project  …” will bring up the “Edit project” dialog, which is described in more details in this section.

In the File menu there is another interesting menu item called “Export …” which will bring up a save file dialog and will let the user to save a shortcut with all the project details into some location, so the user will be able to start the underlying process separately using the link.

Last edited Aug 31, 2012 at 5:43 AM by mkArtak, version 3


No comments yet.