GUIPRO

Graphical user interface productivity

PortAL Icon Portable Application Launcher

Summary


Introduction

PortAL is very light portable software launcher which is based on hotkeys, menus and system tray icons.
All of PortAL configuration is based on a single XML file which contains the list and the organisation of applications.


Minimum Requirements

Operating system :

  • Microsoft Windows 2000
  • Microsoft Windows XP
  • Microsoft Windows 2003
  • Microsoft Windows Vista
Microsoft Visual C++ 2005 runtine (contains MSVCR80.DLL and MSCVP80.DLL). This package can be download here .


Installation

Download the last version of PortAL here

There is (at this time) no installer for PortAL. The application is package in a ZIP file.
Just extract files into a directory of your computer or into an USB key.
After "installation", you will need to configure your menus, your applications and your hotkeys.
If PortAL is "installed" on your computer, it's better to create a shortcut icon into your startup directory.

PortAL is composed of the these files:

  • PortAL.exe
  • portal.xml
  • xmlconfig.dll
  • portal.txt
  • license.txt


Creation of your PortAL configuration

The configuration file is a XML file named portal.xml

Structure of the file

The XML configuration file has a structure like this:

<?xml version="1.0" encoding="UTF-8"?>
<portal>

  <group name="Group Name">
    <app name="Application Name" exe="Application Path"/>
  </group>
</portal>

Hotkeys

PortAL is essentially based on hotkeys. HotKey can display a special menu (group) or launch an application (app).
An Hotkey is composed of one key and one modifier.

  • CTRL+A
    • A is the Key
    • CTRL is the modifier
  • CTRL+ALT+SUPPR
    • SUPPR is the Key
    • CTRL+ALT is the modifier

Keys

There is three differents way to configure a key in PortAL.

  • A letter or a number like "A" or "1"
  • A special name like "F1", "NUM_0" or "SPACE". The complete list of special key is here
  • The keycode number like "222" (which is the key juste below "escape")

Modifiers

The modifier value ask for letters in order to determine which modifier will be used for your hotkey.

  • C - Ctrl
  • A - Alt
  • S - Shift
  • W - Win
  • Other letter - None
mod="C" or mod="Ctrl" set the "Ctrl" modifier. You should press the Ctrl key with the another key configure with key value.
mod="AS" or mod="Alt Shift" set the "Alt and Shift" modifier. You should press the Alt key and Shift key with the another key configure with key value.

Variables remplacement

When you specify a filename or a path, you can use some variables remplacement.
This replacement work with "exe", "path", "param", "ico"

  • %win% - The windows directory (generaly C:\windows\ or C:\WINNT\ for Windows 2000 systems)
  • %programfiles% - The Program Files directory (generaly C:\program files\)
  • %system% - The System directory (generaly C:\windows\system\)
  • %mydocs% - My documents directory
  • %mymusic% - My Music directory
  • %myvideo% - My Videos directory
  • %desktop% - The Desktop directory
  • %appdata% - The Application Data directory
  • %portal% - The PortAL directory

Icons

When you enter a filename for an icon, you can select a specific icon.

"%win%\explorer.exe" will set the default explorer icon
"%win%\explorer.exe,6" will set the 6° icon in the explorer executable (it is the full recycle bin icon)

Listing of possible XML tags

Portal

This is the main and the first tag in the XML file.
The <portal> tag must contain all other tags.

<portal>
  Your configuration, other tags (group, app, sep, about, reload, quit)
</portal>

Group

This tag symbolise a group of applications (<app>).
When a group is a direct child of the <portal> tag, the group will have is own icon in the system tray.
Otherwise the group will be a subdirectory of another group.

  • name
    The name of the group. This name will be display in menus or in the tooltip in the system tray.
  • key [optional]
    This is the key for the hotkey.
    A group tag called by an hotkey will create a menu under the mouse. Content of this menu will be the content of the <group> tag.
  • mod [optional]
    This is the modifier for the hotkey.
    If a key is configure and the modifier has no value : the "windows" key will be selected by default.
  • ico [optional]
    The icon used when display the group (in the system tray or in a menu).
Sample with mandatory parameters
<group name="">
  Other tags (group, app, sep, about, reload, quit)
</group>
Sample with all parameters
<group name="" key="" mod="" ico="">
  Other tags (group, app, sep, about, reload, quit)
</group>

App

This tag symbolise an application.
When this tag is a direct child of the <portal> tag, the application shortcut will have is own icon in the system tray.
Otherwise (general case) the application will be an item of a group.

  • name
    The display name of the application tag.
  • key [optional]
    This is the key for the hotkey.
    An application tag called by an hotkey will launch the target application.
  • mod [optional]
    This is the modifier for the hotkey.
    If a key is configure and the modifier has no value : the "windows" key will be selected by default.
  • ico [optional]
    The display icon for the application.
    If there is no icon, the executable icon will be used (general case).
  • exe
    The target application or file.
    This is what you want to execute when you call this application tag.
  • param [optional]
    Parameters for the target application.
    Parameters will be sent to the target application when launching it.
  • path [optional]
    The current directory for the target application.
  • default [optional] : Yes / No
    If "yes" : this application tag will be display as the default item in his menu.
    Default is "no"
  • shell [optional] : Yes / No
    If "yes" : the target application or file will be launch using the ShellExecute command.
    Default is "no"
  • autorun [optional] : Yes / No
    If "yes" : this application will be launch during PortAL starting.
    Default is "no"
Sample with mandatory parameters
<app name="" exe=""/>
Sample with all parameters
<app name="" exe="" key="" mod="" ico="" path="" param="" default="no" shell="no" autorun="no"/>

About

  • name [optional]
    The display name of the about tag. If none "About" will be the display name.
  • key [optional]
    * This is the key for the hotkey.
    An about tag called by an hotkey will show the about balloon.
  • mod [optional]
    This is the modifier for the hotkey.
    If a key is configure and the modifier has no value : the "windows" key will be selected by default.
  • ico [optional]
    The display icon for the about item.
    If there is no icon, the about icon will be the PortAL icon.
Sample with mandatory parameters
<about/>
Sample with all parameters
<about name="" key="" mod="" ico=""/>

Sep

  • name [optional]
    The display name of the separator tag used for make titles. If none the separator will be a normal separator.
Sample with mandatory parameters
<sep/>
Sample with all parameters
<sep name=""/>

Reload

  • name [optional]
    The display name of the about tag. If none "Reload" will be the display name.
  • key [optional]
    This is the key for the hotkey.
    A reload tag called by an hotkey the configuration file will be reload by PortAL.
  • mod [optional]
    This is the modifier for the hotkey.
    If a key is configure and the modifier has no value : the "windows" key will be selected by default.
  • ico [optional]
    The display icon for the reload item.
    If there is no icon, the reload icon will be the PortAL icon.
Sample with mandatory parameters
<reload/>
Sample with all parameters
<reload name="" key="" mod="" ico=""/>

Quit

  • name [optional]
    The display name of the about tag. If none "Reload" will be the display name.
  • key [optional]
    This is the key for the hotkey.
    A quit tag called by an hotkey PortAL will quit.
  • mod [optional]
    This is the modifier for the hotkey.
    If a key is configure and the modifier has no value : the "windows" key will be selected by default.
  • ico [optional]
    The display icon for the quit item.
    If there is no icon, the quit icon will be the PortAL icon.
Sample with mandatory parameters
<quit/>
Sample with all parameters
<quit name="" key="" mod="" ico=""/>


Using PortAL

Using PortAL is very simple.
Once the software is configured, you just have to click on the systray icon in order to open his menu (if group) or launch the target application (if app).
You just have to press a configured hotkey in order to open his menu (if group) or launch the target application (if app)


Screenshots

  • PortAL and HulK in the Systray
  • A PortAL menu open by the Systray icon
  • Same menu using his hotkey
  • An application shortcut in the Systray

    <portal>
       <group></group>
       <app name="Firefox" exe="%programfiles%\Mozilla Firefox\firefox.exe"/>
    </portal>


Special keys listing

F keys

  • F1
  • F2
  • F3
  • F4
  • F5
  • F6
  • F7
  • F8
  • F9
  • F10
  • F11
  • F12
Numpad keys
  • NUM_0
  • NUM_1
  • NUM_2
  • NUM_3
  • NUM_4
  • NUM_5
  • NUM_6
  • NUM_7
  • NUM_8
  • NUM_9
  • NUM_LOCK
  • NUM_DIV
  • NUM_MUL
  • NUM_ADD
  • NUM_SUB
  • NUM_DECIMAL
Directions
  • UP
  • DOWN
  • LEFT
  • RIGHT
General keys
  • SPACE
  • ENTER
  • TAB
  • ESCAPE
  • HOME
  • END
  • INSERT
  • DELETE
  • SCROLL_LOCK
  • PRINT_SCREEN
  • PAGE_UP
  • PAGE_DOWN
  • BACK
  • MENU
  • PAUSE
  • PRINT
  • CAPITAL
  • NUMLOCK
  • CLEAR
  • PRIOR
  • NEXT
  • SELECT
  • EXECUTE
  • SNAPSHOT
  • HELP
  • APPS
  • SLEEP
  • MULTIPLY
  • ADD
  • SEPARATOR
  • SUBTRACT
  • DECIMAL
  • DIVIDE
  • SCROLL
Browser keys
  • BROWSER_BACK
  • BROWSER_FORWARD
  • BROWSER_REFRESH
  • BROWSER_STOP
  • BROWSER_SEARCH
  • BROWSER_FAVORITES
  • BROWSER_HOME
Media keys
  • VOLUME_MUTE
  • VOLUME_DOWN
  • VOLUME_UP
  • MEDIA_NEXT_TRACK
  • MEDIA_PREV_TRACK
  • MEDIA_STOP
  • MEDIA_PLAY_PAUSE
  • LAUNCH_MAIL
  • LAUNCH_MEDIA_SELECT
  • LAUNCH_APP1
  • LAUNCH_APP2
Extra keys
  • OEM_1
  • OEM_2
  • OEM_3
  • OEM_4
  • OEM_5
  • OEM_6
  • OEM_7
  • OEM_8
  • OEM_PLUS
  • OEM_COMMA
  • OEM_MINUS
  • OEM_PERIOD