SyMenu
SyMenu Manual (version 8.00)

  1. Introduction
  2. Prerequisites
  3. Installation
  4. First execution
  5. Execution in elevated mode (UAC)
  6. Execution in read only mode
  7. Configuration
  8. Contextual Menu
    1. Native items
    2. Pinned Mode
    3. Execute SyItems
    4. Action Modifier
    5. Extended Menu
    6. Search Item Bar
    7. Search Item Bar - Tools integration
    8. Search Item Bar - Windows integration
    9. Search Item Bar - Search modes
    10. Search Item Bar - Large items
    11. My Computer
    12. Unlinked items
  9. Plugin
    1. Plugin blocked by Windows
  10. Configuration form
    1. SyItems
    2. SyItems Attributes
    3. Auto Execute
    4. Extension Manager
    5. Run Elevated
    6. Output Command
    7. Single Instance Only
    8. Desktop Shortcut
    9. Window Style
    10. Drag and Drop
    11. Item tree shortcuts
    12. Configuration form menus
  11. Manage Get apps form
    1. Grid Customization
    2. Custom Suites
    3. Program detail
    4. Program execution
    5. Add a program
    6. Update a program
    7. Force a program update
    8. Remove a program
    9. Manage multiple programs
    10. The hashtag flags
    11. The item locators
    12. Search
    13. SPS folder structure
    14. SPS SyItem structure
  12. Auto Update
  13. Multi execution
  14. Configuration for expert users
    1. Customization for publishers
    2. Command line
    3. Options directly available in the configuration file
  15. Licence


Introduction#

SyMenu allows you to manage portable applications resident on local or removable drives and acts as a Start Menu replacement.
SyMenu can be installed on your local disks, pen drives, flash drives, external USB disks, memory cards and even CDs and DVDs.
It's easy to use and to configure and it applies the power of its search-as-you-type menu in your host PC and removable media.

No more not having your preferred programs at work, in your just-installed system, or even in the old PC of your grandmother's.
You'll be ready to operate with your preferred tools anytime and everywhere.

#Prerequisites

SyMenu needs the following requisites to work:
  • none
The supported operating systems are those in which you can execute .NET Core 8.0:
  • Windows 10
  • Windows 11

#Installation

SyMenu is very easy to install:
  • Download the last SyMenu version from http://www.ugmfree.it/SyMenuDownload;
  • Unzip downloaded file inside an empty folder of your removable device (for example: f:\SyMenu), local drive, or network folder;
  • Execute SyMenu.exe;
  • SyMenu asks you to select your preferred language;
  • SyMenu asks you to accept the licence terms and the privacy policy;
  • SyMenu asks you to choose some important options:
    • Choose your favorite menu structure - if you are a beginner you should choose the base structure, otherwise the advanced one. The base structure shows a subset of all the features available in SyMenu, the advanced one shows almost all of them;
    • Check for a new version at startup - every time that SyMenu starts, it checks for the latest version;
  • SyMenu shows a splash screen and puts its icon, with the unit letter overlay, onto the Windows task bar;
    SyMenu task icon
  • SyMenu shows a big floating icon, called Start menu button, in the center of your screen. It can be moved wherever you want or even temporarily hided clicking the little minus icon located on top of it. Mainly the floating icon allows you to open the SyMenu contextual dialog but you can use it as an anchor to import new programs in SyMenu. If you want to import a new program, drag it from the file system and drop over the icon itself. It works for multiple programs at the time too.
    SyMenu task icon
N.B. In case Windows cannot execute SyMenu or returns an error, please check your anti virus software.

#First execution

During the first execution SyMenu configures itself creating various folders and files.
Since SyMenu is a real portable application, every operation it does against the file system concerns only its home folder and related subfolders. Indeed, SyMenu never touches the Windows registry, the system folders, nor the Start menu unless you specifically activate some features not portable (see Function to enable at Windows startup).

#Execution in elevated mode (UAC)

SyMenu can run in normal mode executing SyMenu.exe or in elevated mode launching SyMenu.Admin.exe.
SyMenu elevated
The elevated mode is a way to grant SyMenu administrative privileges in your PC.
When your SyMenu runs in elevated mode, every single application launched from there, will have the same higher privilege. In that way, the Windows User Account Control (UAC) will give you a single alert the first time and after that, you won't be annoyed anymore by it.
You can elevate SyMenu, even if you launched it in normal mode, with the command Elevate SyMenu.

Anyhow you are notified that SyMenu is running in elevated mode by a little icon near the contextual menu title and with a larger shield icon on the Start menu button if active.
At the same time the Action Modifier for execution in elevate mode is disabled because when SyMenu is running with administrative privileges, every launched app inherits this elevated status.
SyMenu elevated

There are some disadvantages in working in elevate mode.
The first and obvious one is that you work in a less secure environment. But this is a well known drawback for anyone who is used to work this way.
The second and more obscure drawback is that some interactions between normal mode programs and elevated mode programs stop to work. For example, you can't drag and drop programs anymore from Explorer to Configuration form because of a Windows security feature.

#Execution in read only mode

SyMenu can even run from read only devices such as CDs, DVDs, read only network shares, local folders where the user has no write permission, remote shares such as Dropbox or Drive services.
The only condition for working properly is that SyMenu has been already configured at least one time in a write enabled context.

When SyMenu works in read only mode a lock icon is displayed near the title.
SyMenu read only mode

You can force the read only mode in a write enabled environment creating an empty file called 'READONLY' on the SyMenu root folder.
In that case the lock icon changes to show the different reasons for which the read only mode is on.
SyMenu read only mode
You can exclude a computer from the read only mode, creating a file called READONLY.MERCURY where MERCURY is the name of the PC that must be able to modify the SyMenu configurations. You can even create more than one file to exclude more than one computer.

Don't confuse this feature with a security one because in a write enabled environment the file READONLY itself will be writable and, naturally, eraseable.

#Configuration

SyMenu saves its configurations in three files located inside the folder Config: SyMenuConfig.zip, SyMenuItem.zip and SyMenuRecent.zip.
Every zip file holds an XML file with the same name that is the real configuration container.
SyMenuConfig.xml contains the program configuration.
SyMenuItem.xml contains the configuration for all the configured SyItems.
SyMenuRecent.xml contains a list of the last executed SyItems.

If Backup configuration files option is active, every time that a configuration file changes, SyMenu creates a backup of it. In this way you have a chance to retrieve the last valid configuration.
Backup files are called SyMenuConfig.bak.yyyyMMdd-hhmmss.zip and SyMenuItem.bak.yyyyMMdd-hhmmss.zip.
Naturally the recent executed SyItem list file is not subject to backup.

#Contextual Menu

Contextual menu is activated in several ways:
  • clicking SyMenu Start menu replacer button;
  • hovering with the mouse pointer the SyMenu Start menu replacer button if the related option is active;
  • left-clicking or right-clicking SyMenu taskbar icon;
  • double clicking the SyMenu executable file again;
  • using the customizable key shortcut (see Advanced menu - Options chapter);
  • using the customizable mouse gesture (see Advanced menu - Options chapter).

The appearance of a not yet customized SyMenu is similar to the following pictures.
This is the base menu:
SyMenu Empty Menu
and this is the advanced one with all the items active:
SyMenu Empty Menu
this other one is a contextual menu with a larger font, easily customizable from the Advanced menu - Options form:
SyMenu Empty Menu
while a fully configured SyMenu in advanced mode looks like this one:
Configured SyMenu
Contextual Menu is navigable either with mouse or arrow keys.
ESC key closes Contextual Menu or currently opened sub menu.


#Native items

SyMenu can be customized with a lot of native items. You have two basic configuration to choose: the base and the advanced menu but you are always free to build a customized menu starting from both of them, just go to the Options menu.
The description below assumes every native item is available in your contextual menu. If you don't find any of them, you can add it.
On the top area you can find SyMenu title which can contains other native or custom items. The title could be used to pin the contextual menu (see Pinned mode).
For further information about the Action Modifier see Action Modifier.
Search Items opens a sub menu that allows to search among all configured items and over (see Search Item Bar).
My Computer contains various resources from the local PC (see My Computer) plus two native items: Recent and Most executed:
  • Recent shows the items lastly executed;
  • Most executed lists the most used programs ordered by number of execution.
Plugin lists and allows to launch the installed SyMenu plugins (see Plugin).
You can find Tools item which opens a sub menu that gives access to several core functions:
  • Configuration loads the Configuration form;
  • Get new apps loads the Manage SPS apps form;
  • Enable/Disable Extension Manager changes Extension Manager current state;
  • Autoexec on start launches all programs configured for auto-execution on start even if you have been disabled Autoexec (see Auto Execute);
  • Check for Update verifies if SyMenu is updated checking latest version on this website. If version is not updated, SyMenu suggests to start the automatic update process. If SyMenu detects that you are connected to the Internet through a proxy server, it suggests to set the required configuration;
  • Elevate SyMenu re-executes SyMenu with elevated privileges in Windows Vista, 7 and newer OS, for users that have UAC enabled;
  • Reload refreshes SyMenu configured items and re-initializes the shortcut manager and gesture manager;
  • About SyMenu shows the SyMenu splash screen.
Contextual menu - Options

In the bottom area you can find the Exit entry which, of course, quits SyMenu.

#Pinned mode

Contextual menu could be pinned to avoid its disappearance after every click.
To pin contextual menu you have to click on the pin icon near the title.
A pinned menu remain visible even when it loses the focus.
Click again to unpin it.
SyMenu pinned mode

Moreover, the contextual menu could be moved around the screen to position it in the best confortable location.
To move the contextual menu simply click on the title bar and drag it to wherever you want.
Move SyMenu

#Execute SyItems

A SyItem is simply executed left clicking it with the mouse or selecting the item with the keyboard cursor keys and pressing Enter key.
A right click on it or a cursor right key press on a selected item doesn't execute the SyItem but it only opens the Extended Menu for the item.

#Action Modifier

The Action Modifiers are the little icons you can see under the title bar in the image below.
SyMenu Executor Modifier
The same Action Modifiers are available in the Extended Menu.
An Action Modifier allows to change the normal execution mode for any SyItem.

All the Action Modifier can be accessed in various way:
  • clicking with mouse pointer onto the desired modifier icon;
  • pressing the CTRL key while Contextual Menu is opened and focused to select the next modifier. If you combine the CTRL with the SHIFT key, the selected modifier will be the previous one instead of the next one.
The currently active Action Modifier has a fully visible icon, all the others have opaque icons.

The Action Modifiers currently available in SyMenu are:
Run Item, Open folder, File Properties, RunAs item, Run elevated, Configure item.

Run Item mode is the default execution action. This means that, when it is active, a left click on any SyItem will simply run it.

Open Folder mode allows to open selected SyItem container folder.

File Properties mode asks the operating system to show Windows file properties dialog of the selected SyItem.

RunAs item mode allows to execute any SyItem with different credential. Naturally, a new credential is valid only if alternative user exists on local PC or in the network domain.
SyMenu stores alternative credential specified through RunAs for every item in the current working session so you have to provide user name and password once per item.

Run elevated mode asks the operating system to execute the item with administrative privileges.
If SyMenu is running in elevated mode this modifier will be disabled because every item launched by an elevated program is already elevated itself.

Configure item mode allows to open the configuration form to configure the item. This modifier is a simple shortcut to the configuration form.

Particular items such as SyWinCommand can be executed only in normal mode (Run Item) because since commands are not files, they don't have properties and they don't reside in any folder. On the other hand, execution in RunAs mode is allowed even for SyWinCommand items.
The Configure item modifier is not valid for Windows elements. At its place the normal file properties dialog will be opened.

#Extended Menu

The Extended Menu extends every terminal item in the contextual menu. An item is considered as a terminal one when it isn't neither a container nor a native one, but an item that can be executed or explored.
Anyway the classification is easy to know: when a little transparent arrow appears at the end of a selected item, means it's terminal and, above all, means that the Extended Menu is available.
The Extended Menu opens when you click on the selected item with the right mouse button or press the right cursor key.
Inside the menu you will find all the Action Modifiers valid for the current item plus three commands:
  • 'Web page' allows to open the web site for the selected item whether the item is supplied with a valid URL;
  • 'Documentation' allows to open a file, retrieved inside the program folders, that is supposedly a documentation file;
  • 'Delete item' logically removes the item itself from SyMenu.

#Search Item Bar

SyMenu has a great feature for textual searching which is the Search Item bar.
It works in a very similar way to Windows Start Menu because it allows to search between SyItems only writing some letters of their names or descriptions.
For example with the default "search in names mode" active, you can write the letters "padg" to retrieve SyItem PADGen as the first item (see next figure).
Choosing the special option on the Search tab in the Option menu it is also possible to enable the "search inside the item names" mode that allows to write a text like "adge" to find PADGen.
The order of items in the resulting list could depend on the alphabetical order or on the execution counter of the found items depending on your settings.

#Search Item Bar - Tools integration

SyMenu integrates the searching result list with the built in items available on the Tools sub menu.
In that way you can search, for example, the Configuration entry using the search item bar instead of its Tools menu.
As every other element in SyMenu, the search tools are translated too. So that if you want to find the "Check for Update" feature you can write: "chec ..." if SyMenu is set in English or "véri ..." if it is in French or "auf ..." if it is in German.
Watch figure above to undestand how SyMenu works in this case

#Search Item Bar - Windows integration

SyMenu can integrate the searching result list with items installed on the host PC. Besides you can access several Windows utilities located in System32 folder and in the Control Panel.
This way you can access every local program from the SyMenu Search Item Bar in addition to the Host Programs entry.
It is very useful when you want to execute not portable programs such as Word, Excel, Photoshop, Internet Explorer, games and so on.
SyItems and Windows Start Menu items remain always separated.
Watch figure above to undestand how SyMenu works in this case: the top items are SyItems and the ones below the separator are host PC items.
By default, integration with Windows Start Menu is enabled and limited to five items but it is possible to increase this number or completely disable the feature (for example to increase performance or to reduce memory occupation) through the Advanced menu - Options - Search tab.

#Search Item Bar - Search modes

SyMenu is able to search the text supplied:
  • inside the items names (SY mode);
  • inside the items names and descriptions (DS mode);
  • in the host PC file system (FS mode).
The default starting search mode can be SY or DS according to what you set in the Search tab which is located in Advanced menu - Options but you can change it whenever you want clicking on the search icon on the right of the Search Item bar or pressing the key F3.

With the search in items and description mode (DS) you can specify more than one word or portion of word and every chunk will be search in AND (every word or chunk must be present).

When you enter in Files system search mode (FS) you can:
  • search files inside SyFolder tagged as searchable (see SyFolderLink);
  • search files and folders inside current unit when your search string starts with the character "\". In this case SyMenu understands the command and starts to enumerate all files and folders currently inside the root of your unit;
  • search files and folders inside a certain unit when your string starts with the unit identifier (i.e "C:").
SyMenu updates the result list every time you add a single character on your search string.
In case you would like to auto complete a folder or file name, you simply have to highlight the desired entry (using the cursors arrow up and down) and pressing TAB key.
Finally when you reach the folder or file you were interested in, click it with the mouse or press ENTER to open it.

With some keyboards you have to press the key ALT to write the symbol "\" (backslash) and this causes contextual menu to close. To avoid that, SyMenu allows you to use the symbol "/" (slash) as a folder separator, as well.

#Search Item Bar - Large items

SyMenu can show the found items in a large version that allows you to examine the item path without opening the tooltip.
Almost all items could be enabled in their large versions through the Advanced menu - Options.
The path is shown in its most significant part that was its last one.

#My Computer

By default the My Computer entry includes several features related to the local PC.
  • Host Programs items comes from the list of locally installed programs as well as available in the Windows Start Menu. Moreover SyMenu explores the System folder to find useful tools.
    The Host Programs list is feed every time SyMenu starts or when it is reloaded with the corresponding command.
    You can find the same items searching for them with the Search Item Bar.
  • Control Panel contains items reachable from the host PC Control Panel.
  • Local drives SyMenu detects all the logical drives available in the host PC and creates a menu entry for each one. From these entries it is possible to navigate and explore the folders and the files available in every drive.
    The displayed folders are not clickable, because a click will simply open the dropdown container, unless the Action Modifier is currently in Open Folder or File Properties mode. In these cases it is possible to click a folder to get the expected effect.

#Unlinked items

When an item loses its linked physical element, the contextual menu shows it with a strikethrough icon such as the one in the picture. Unlinked item
You can delete the item or re-link it with its physical element. If you fix the item, the original icon appears.
For a massive check on all your configure items you can use the Scan for unlinked tool.

#Plugin

Since version 2.00 SyMenu is able to load third party plugins.
The SyMenu plugins will be released through the SyMenu forum by the authors or distributed directly inside the program.
To install a plugin in SyMenu you have to copy the plugin folder inside the SyMenu Plugin folder.
To uninstall it simply delete the folder while SyMenu is not running.

Example:
The SyMenu Open Folder plugin is available as a single file called SyMenu.Plugin.OpenFolder.dll.
Inside the Plugin folder create a folder called SyMenu.Plugin.OpenFolder or whatever else you prefer.
Copy the SyMenu.Plugin.OpenFolder.dll file inside the new folder.
Start SyMenu.
During the startup SyMenu will detect the new folder and consequentially load the plugin inside it.

You can find every loaded plugin in the contextual menu as shown in the picture above.
Plugin

#Plugin blocked by Windows

When you download SyMenu.zip for the first time, Windows marks it as dangerous because it comes from the network. Well the danger is not SyMenu by itself but everything you download from the Internet... Thanks for your thoughtfulness Microsoft.
Some unzipping programs such as Winrar or the Explorer integrated extractor preserves this mark in the extracted files too and this mark is a problem for a SyMenu plugin. Indeed when you execute SyMenu you can get a message similar to that one in the picture below.
Plugin blocked error
To workaround this issue simply check the properties of the reported file.
You will probably find that it is blocked as you can see in the next image.
Plugin unblock
Then simply unblock it checking the right checkbox and your plugin will start to work.
The problem doesn't affect SyMenu if you are updating the program with the integrated update feature.

#Configuration form

Clicking on 'Tools - Configuration' entries from the Contextual Menu, you can access to the configuration form.
Next picture shows a configuration form already configured.
SyMenu Main form

#SyItems

On the left hand side you can see the programs tree that contains every configured SyItem.

The SyItems are the entities SyMenu allows to configure:
SyItems
SyContainers are SyMenu logical folders that can contain every kind of SyItem.
SyWebLinks are URLs that are launched inside the predefined host browser.
SyWinCommands are items that allow to launch Windows DOS commands (such as Dir, Find, MD, Xcopy...).
SyFolderLinks are items that link to existing folders inside the removable drive.
SyPrograms are items that link to programs inside the removable drive.
SyDocuments are items that link to any file except programs inside the removable drive.
SySeparator are graphical separators for SyItems.
SyLabels are label placeholders to title a group of items.

Clicking on a SyItem you can see its properties on the right hand side of the main form.
Every kind of SyItem has its particular property set.
Double clicking on a SyItem executes it.

#SyContainer

SyContainer has got three properties: Name, Icon, and Description.

Name is the item label identifier.

Icon is an optional property that allows to customize the container appearance. The default icon for SyContainer is an opened folder similar to one used in Windows Explorer.
To customize SyContainers it is possible to use multi colour folder icons or any other icon that you can choose.
SyContainer Icons
Description is a custom text that describes the SyItem.

#SyContainer - Separate launcher

A SyContainer can be flagged with the option Separate Launcher. In this way the container will become clickable in the contextual menu and its normal behavior will change.
Normally when you click or hover with the mouse pointer a SyContainer, a sub menu will open.
A context menu with a normal SyContainer
A container flagged with the Separate Launcher option, can be activated by a click and launch a new window containing all the sub items.
A context menu with a SyContainer opening a separate window
You can recognize a flagged SyContainer by the little overlay on its icon.
A separate window launcher is a totally separate element from the contextual menu. The new window has a special task bar element, remains open even when the Configuration or the SPS Manager forms are opened, can be moved, resized and closed.
Besides every separate launcher has its action modifier and can contain a deep structure, that is, other SyContainers.

#SyWebLink

SyWebLink has the same properties as SyContainer plus the URL.
The URL represents the web page Internet address that is linked by SyWebLink.
SyWebLink supports and accepts the following protocols: http://, https:// and ftp://.
One peculiarity of this SyItems is its ability to download its icon directly from the linked web site using the button "fav" which stands for favicon.
SyWebLink favicon
The second feature is that the SyWebLink is able to fill its description directly from the linked web site using the special button.
SyWebLink description

#SyWinCommand

SyWinCommand has Name, Windows Command, Icon, and Description properties.
Windows Command property supports every command included in Windows command console.
Besides, since version 1.06, SyWinCommand can link even .cpl, .msc and .exe files. The only requirement is that linked program has to reside on one of the registered paths (ask for "path" in windows command to know registered path in your system). Otherwise a full path must be specified.
Multiple commands can be assembled in one SyWinCommand with a correct separator (semi-colon)

Examples:
main.cpl - makes Mouse properties dialog appear
main.cpl;perfmon.msc;dir c:\; - makes Mouse properties dialog and Performance monitor appear. Besides in command window, SyMenu executes dir command for C:\ unit
C:\Windows\System32\systeminfo.exe - asks that SyMenu executes in command window systeminfo program. In this case it is possible to achieve the same result with a SyProgram item.

If mapped command takes a path as parameters, please enclose it between "quotation marks".
For example if you want to list folders and files inside the Windows folder of your host PC you have to write: dir "c:\Windows".

For compatibility requirements, the entire command list consists of commands included in Windows XP shell.

N.B. SyWinCommand path parameters could be written using Universal Unit Identifier
For example dir #:\ lists all folders and files of the current unit drive in which SyMenu is executing.

#SyFolderLink

SyFolderLink has got four properties: Name, Path, Icon, and Description.
Path is the physical path to the pointed folder.
From the version 3.03 a folder linked in SyMenu as a SyFolder is browsable. If you prefer to open it with Windows Explorer instead (old behavior) you have to check the Show as a link option.
If you want SyMenu to index your folder, which then becomes searchable by the Search Item Bar with the file system integration, simply check the Searchable option.

#SyProgram

SyProgram is the most complex and useful SyItem. It allows to link your SyItem to executable files (.exe, .jar) residing on your removable device.
SyProgram properties are Name, Path, Icon, Description, Shortcut, Program Arguments, Home Page and Version.

Shortcut allows specifying a key combination to launch the SyProgram without searching and clicking for it.

#SyProgram - Hashtags support for Description

The Description field supports custom hashtags too. Then you can add to a program description one or more hashtags to custom classify the program itself. You can use something like #system #myPreferredProgram #whatever.
Your custom hashtags will be preserved even if you load the default program description with the available special button.
Naturally your custom hashtags are searchable using the search inside the items names and descriptions mode (DS).

#SyProgram - Additional Params

Program Arguments allows sending parameters to launched programs. Usually the program documentation lists any available command line parameters if available. Read it to learn the program's command lines.
The Version field shows further information about the program.

Example 1: Simple parameter
To obtain a list of the valid command line arguments for Notepad++ you have to specify this Program argument:
--help

Example 2: Universal Unit Identifier
If you want to launch Mozilla Firefox, not the portable version but the normal installed one, as a portable program, you have to specify the profile folder in which Firefox takes and stores its profile information. Reading command line guide, you can realize that the profile folder can be specified with the -profile [path] parameter. So if you want to retrieve your Firefox preferred customizations even when you launch it from a removable device, you have to specify a parameter property like this:
-profile "#:\SyMenu\Profiles\Firefox"
Note that with SyProgram Parameters property, it's possible to use Universal Unit Identifier if referred folder or file resides on SyMenu removable drive.

Example 3: relative path.
Since 5.07 version SyMenu officially supports relative paths in parameters. The relative path must be calculated with these priorities:
Assuming we have a custom profile folder outside the Firefox root, the previous example can be written in this form:
-profile "..\Profiles\Firefox"

Example 4: placeholder support.
Since 1.09 version SyMenu supports even placeholder in parameters like batch files (%1).
Let's see a complex use of a placeholder plus the extension manager, too.
Create a VeraCrypt volume named test.vc Configure VeraCrypt with extension manager to manage extension .vc
In parameters add this line:
/volume %1 /letter T /auto /password abcdefg /quit background
Enable extension manager.
From now, every time you double click on a file with extension .vc, SyMenu Extension Manager intercepts this file and delivers it to VeraCrypt (/volume %1), mounts it on T virtual drive (/letter T) and uses 'abcdefg' as password (/password abcdefg).

#SyProgram - Gesture

The Gesture tab is available only if the Gesture feature has been activated.
A gesture is a combination of a mouse button click with a rapid movement of the mouse in some direction.
SyMenu detects as many as 12 different gestures.
For example by default SyMenu contextual menu could be shown with this gesture: click on the right mouse button and move the mouse down.
The mouse button to use for gesture could be chosen in the Advanced menu - Options between the right and middle mouse buttons.
The Gesture tab shows the gestures already used (and consequentially unavailable).

#SyProgram - Advanced

A SyProgram item allows you to customize some advanced params, too. They concern the runtime parameters that programs can be instructed to follow.
So if you want to instruct your program to use a certain Working directory, a different AppData or an UserProfile folder you can activate this box and customize it.
Environment Variables box

#SyProgram - Advanced: Working dir

This attribute, equivalent to the "Start in" parameter available among the Windows shortcuts properties, could be really important to rightly execute some programs and for this reason it has to be well explained.
Working directory represents the folder in where the program process will execute.
By default SyMenu sets the Working directory for every program on the same folder of the executable file. Edit this parameter only if you need to specify a different Working directory than the default one.
Working directory supports both Relative Path and Universal Unit Identifier.

To properly manage the Working directory for a SyProgram keep in mind that:
  1. SyMenu lives within its container directory;
  2. SyMenu, by default, launches programs with the Working directory set to the program's container directory;
  3. parameters representing relative paths, passed to the SyProgram must be relative to the Working directory used to launch the program itself;
  4. SyMenu, when importing a Windows shortcut, ignores the Start In setting in favor of the container directory.

#SyProgram - Advanced: Environment Variables

The box Environment Variables can be filled with whatever variable you need during the program execution. You can even create new variables by scratch, then, if your program needs them, it'll find.
The Environment Variables (EV) must be added one per line. The EV name must be followed by the equal sign (=) then you can add the EV value.

Examples:
APPDATA=D:\Temp\AppData - tells the program that the APPDATA is inside a custom temp folder located on the disk D.
APPDATA=.\AppData - the APPDATA folder is inside the program main folder
APPDATA=#:\Temp\AppData - in this case the APPDATA is inside a custom temp folder located on the same disk where the program is.

As you noticed the EV support relative paths and Universal Unit Identifier too.

The variables order matters because SyMenu will apply them in cascading mode. Even the working dir can be linked to one of the defined environment variable.

Examples for variable in cascading mode:
MyFirstVar=%windir%
MySecondVar=%MyFirstVar%

The variables works in composition mode too.

Examples for variable in composition mode:
FirstPart=c:
SecondPart=System32
MyCustomVar=%FirstPart%\Windows\%SecondPart%

The old EV configured for the SyItems (pre 5.07 version) will be preserved and converted to the new format on the first SyMenu run.
For a complete Windows EV list please go to https://ss64.com/nt/syntax-variables.html

#SyDocument

SyDocument is a generic container that can link any file type (except .exe and .dll).
For some file types, SyMenu provide a custom icon. Managed extensions are: url, htm, html, hlp, 7z, arj, gz, gzip, lzh, rar, tar, tgz, zip, jpg, jpeg, gif, tiff, tif, bmp, png, txt, nfo, ini, chm, doc, docx, rtf, xls, pdf, wav, mp3, and mid.
This basic list is customizable "by hand" through SyMenuConfig.zip, which is the SyMenu configuration file.
Watch out! Every manual modification of the configuration file can break SyMenu. If this happens, delete SyMenuConfig.zip, replace it with a backup version and restart SyMenu.

#SySeparator

SySeparator is a graphical separator to create logical areas inside the same SyContainer or inside the root container.
It is possible to give a custom name even to separators. A named separator allows to obtain a predictable order inside a SyContainer when you use the command to sort it alphabetically.

#SyLabel

SyLabel has only one property: its Name.
The label is shown in the contextual menu as a not selectable element in a very similar way as the separators. Different from a SySeparator, the label could be used to give a title to a group of elements and not only to split it from each other.

#SyItems Attributes

#Relative Path

It is useful to point up a fact. When SyMenu manages objects reside on removable devices, it can't store the exact path of a folder (or file) because the device logical unit letter could change between different machines.
So a linked folder (i.e. f:\Pictures) could be d:\Picture on PC at home, e:\Picture on PC at work and so on.
To avoid false paths, SyMenu supports relative path and universal unit identifier.

Support for Windows relative path is enabled for file, folder, icon paths values.
Example:
If your SyProgram Notepad++ resides on f:/Symenu/ProgramFiles/Notepad++ folder and SyMenu resides on f:/SyMenu folder you can specify as path attribute: .\ProgramFiles\Notepad++\notepad++.exe.

SyMenu uses relative path when you drag and drop a new item from file system to the application tree or when you point to the program with SyMenu path button.

#Universal Unit Identifier

When SyMenu finds a universal unit identifier (#:\), it replaces it at run-time with its current execution unit (f:\, d:\, e:\) to be able to retrieve items on the file system.
Support for universal unit identifier is valid for any paths even for path included as program parameters.
The universal unit identifier works if SyMenu is available on a newtork path, too.
If SyMenu is located in a network path like \\network\SyMenu and your program is located in the sub folder \\network\SyMenu\ProgramFilse\Prog1\prog1.exe you can reach it with this path: #:\\SyMenu\ProgramFilse\Prog1\prog1.exe

#Environment Variables

SyMenu support the Windows environment variables so that a path attribute like %ProgramFiles(x86)%\Notepad++\notepad++.exe points to the real path c:\Program Files (x86)\Notepad++\notepad++.exe

#Icons

To customize any SyItem with a particular icon, it only needs to browse to an .ico file: SyMenu will copy .ico file in its appropriate folder and make an association with current SyItem. Another option is to browse to an .exe or .dll file. In these cases SyMenu extracts the icon from the file, the first available icon, and copies it into its appropriate folder. Since version 2.05 it is possible to use a big file image (.png, bmp, jpg) that SyMenu processes to create an appropriate icon for use.

#Auto Execute

Auto Execute is a feature that allows SyPrograms to be automatically launched at SyMenu start-up or at quit time.
So if you want that some programs are launched together with SyMenu, you have to check the Autoexec on start checkbox of each desired application.
Similarly if you want that some programs will be launched when SyMenu closes, you have to check the Autoexec on close checkbox of each desired application.
If you want that a single application is autoexecuted with higher privileges you have to check the relative button with the shield located near the textbox.
In figure you can see an autoexecuted item that'll run with normal privileges and one other that'll run in elevated mode.
Autoexecute with normally Autoexecute with elevated privileges
Remember that flagging Autoexec checkboxes is not enough. To make Auto Execute really work it is necessary to instruct SyMenu to activate this function flagging the appropriate checkbox in Advanced menu - Options. Anyway if you active an autoexecution on any item and the general option is disabled you'll see that the checkbox title will appear italicized to signify that your setting won't be effective.

Sometimes it could be useful that the auto execution for a certain item is active only on a certain PC. To achieve this result you can specify the computer name in the textbox below the Autoexecute checkbox. In this case SyMenu activates the auto execution for that item only when it is running on the PC with that name.
You can specify more than one computer name using comma, semicolon or space as a separator. For example if you want to execute a program only if SyMenu is running on computers named PC1 and PC2 you have to check che autoexecute checkbox and write in the textbox: PC1;PC2. When you run SyMenu in the PC3 the program will not automatically execute.
Naturally, if you leave the textbox empty the auto execution will be activated on every PC.
In the example below the item will be autoexecuted only in Mercury, Gaia, and Saturn PCs.
Autoexecute only in certain PCs
Autoexec on start could be configured to launch programs with a custom interval from one to each other while Autoexec on close launches all program at the same time.

To avoid the Autoexecute activation for once, you can run SyMenu or quit it by pressing the SHIFT key at the same time. In that way SyMenu understands that you don't want that Autoexecute runs and deactivates it at once. You receive a feedback on that particular condition in two different ways:

#Extension Manager

SyMenu tries to mimic Windows Start menu but Extension Manager does more: it allows replacing the extension associations currently active in host PC. So when you double click on a .txt file in host PC you can configure that instead of Windows Notepad application, SyMenu launches another editor.
Naturally replacement can't be definitive but has to take place only during SyMenu activity.
To accomplish this task SyMenu watches and listens for any new process started in your host system.
When a new process is opening a file whose extension is managed by Extension Manager, SyMenu kills the process and starts its corresponding program opening the same file.
Example.
If you map your SyProgram Notepad++ with the .txt extension, when Windows opens the file c:\test.txt with Notepad, SyMenu kills Notepad and launches its SyProgram Notepad++ opening c:\test.txt file.

You can even manage a particular extension with more than one application. In this case SyMenu will ask you to choose which program to use to open the file.
Example.
If you map your SyPrograms Notepad++ and Notepad2 with the .txt extension, when Windows opens the file c:\test.txt with Notepad, SyMenu kills Notepad and opens a little selection window where you can choose which program has to open the c:\test.txt file.

Extension Manager could be configured for any SyProgram but can be totally enabled or disabled with the appropriate menu entry.

#Run Elevated

When your SyProgram/SyWinCommand always needs to be lauched in elevated mode, you can flag this checkbox instead of apply the action modifier every time.
The flag is useless if the program already qualifies itself as a tool that needs elevation.
When an item is flagged with this option, the action modifier Run Elevated has no further effects on it. To remind you that the flag has been set, a little shield appears on the program icon.
A program with the Run Elevated flag

#Output Command

SyWinCommands are launched inside the Windows command shell.
But sometimes you need to launch other programs in this way.
So you can configure your command line program as a SyProgram and check the Output Command flag. When you launch your program, the output will be shown through the Windows command shell window.

#Single Instance Only

A SyPrograms supplied with this option can be launched only in one session per time.
If the option Suppress notification is checked, no notification will be shown when a second program session is prevented from running.

#Desktop Shortcut

When SyMenu starts, it searches for SyPrograms flagged with the Desktop Shortcut option, and it creates a temporary desktop shortcut for any found item.
Those shortcuts allow to execute programs with a simple double click.
The shortcuts are temporary because SyMenu automatically deletes them when it exits.
Every shortcut will be named according to the linked SyProgram name plus the string "(Sy)" to remind you that it is a SyMenu creation.

If you open the properties dialog for one of this shortcut, you'll find a strange thing: every shortcut points to the SyMenu executable file and not to the linked program. For example you can find a target like this:
H:\SyMenu\SyMenu.exe -run5ef0694b-1ba8-4b0a-b69c-dcebd1098835
The -run5ef0694b-1ba8-4b0a-b69c-dcebd1098835 part is the parameter that tells SyMenu which SyProgram must be executed.
Why does the execution of every configured item has to pass through SyMenu? Because that particular item could request a special configuration such as an environment variables redefinitions, a special working dir, or it could need a launcher. So if SyMenu is in charge for the execution, the launching conditions are the same as those one you get with the contextual menu.

#Window Style

Normally Windows tries to run a program with the exact same window used during the last program execution (same size, position, style).
This setting forces the launched item to run in a maximized/minimized window regardless of its last known state.
This option doesn't always work because some items can have several reasons to open with a different window style.
For example a program like SyMenu starts without a window so the option is irrelevant in this case. Other programs like the .paf ones, start thanks to a launcher (the portabilizer) that is windowless and that doesn't communicate this setting to the real application.

#Drag and Drop

Item tree supports the drag and drop of any element.
You can change the position of your SyItems simply clicking with the mouse on it and dragging it away.
You can drop the dragged item inside an element container (SyContainer) or among two elements to move it in another position.
Item manager drag and drop

#Clone/copy an element

If during a drag and drop operation you click and hold the CTRL key, SyMenu allows you to clone, copy in Windows language, the currently dragged element.
You can clone any element except for SyContainers.
The clone feature is available through the tree item contextual menu too.

#Dragging an element from host PC

The SyMenu item tree supports the drag and drop from host file system too.
So if you want to map in SyMenu a program residing on your pen drive or in your PC, the procedure is very simple: drag it into the item tree and SyMenu will do the work for you.
Drag and drop from file system works for: program files, archive files, folders, shortcuts and web links. Besides it allows to import multiple files at a time.
Dragging an executable file from file system allows SyMenu to automatically extract from it all its metadata such as the icon, the version number and the description if available.
Dragging a shortcut from file system allows SyMenu to automatically link the related executable file with the eventual parameters configured in the shortcut.

Pay attention if you work in elevate mode because the drag and drop from host file system could stop working.
If you experience this issue, try to start your drag and drop action from a file manager different from Windows Explorer. And above all remember to elevate the alternative file manager, too.

#Item tree shortcuts

Item tree supports some shortcuts to increase the productivity.


#Configuration form menus

#File Menu

File menu contains three commands: Reset, Save, Save & Exit.
Save and Save & Exit allows to save the current SyItems configuration.
You can configure more than one SyItem by time, order them, test the configurations with buttons Run, Open Folder, File Property, RunAs, but as long as you don't save configuration, you can rollback to the previous configuration.

To rollback to the last saved configuration you need to press the Reset button.
Saving a configuration fixes it as stable and prevents any automatic rollback.

Saving current SyMenu configuration means to save form size and position. When you re-open configuration form, SyMenu remembers its last position and size and takes this setting again.
The saved settings are connected with screen resolution, so that you can store the suitable settings for your small netbook and also for your super large desktop monitor.

SyItems configuration settings are stored on SyMenuItem.xml file.

#Item Manager menu

Item Manager menu allows you to add or remove SyItems. Moreover, other commands are available to move items up level, to alphabetically order them, to expand and compress all folders.
Same functions are equally available on programs tree by clicking mouse right button on any element.

#Item Manager menu - Get new apps SPS

This entry makes the SPS app manager form appears.

#Item Manager menu - Batch Import

Batch Import is very useful for a fast configuration of SyMenu. In fact with the Batch Import is possible to import an entire set of programs with a single operation.
Batch Import asks for a base folder from which it'll start to scan the disk for programs. Scanning operation concerns the base folder and every subfolder.
It's possible to specify an Ignore pattern to avoid files such as setup.exe, uninstall.exe and so on, and can be retrieved.
When SyMenu finishes the scanning operation, it'll show, in a hierarchical way, all found items.
At this point the user can select through checkboxes what programs have to be imported and what programs have to be ignored.
Batch import considers only .exe and .bat files or any shortcut linked to an executable file.
Batch Import

#Item Manager menu - Hide/Show item

This function allows hiding any configured item and possibly its sub items. A hidden item will be displayed in the tree with an italic font.
Any hidden item won't be displayed on the contextual menu and as a result of the search tool. It is possible to show it again with the Show item command that takes the place of Hide item.

#Item Manager menu - Emphasize/Downplay item

This feature helps to emphasize an item using a bold font.
You can remove the bold font using the opposite command, Downplay item.

#Item Manager menu - Remove/Reset item

With this function it's possible to remove any configured item. A removed item will be displayed in the tree with a strikeout font.
When an item has been removed it is possible to reset it with Reset item command that takes the place of a Removed item.
Be careful in removing a SyContainer because its whole content will be marked as removed.
A removed item definitely disappears from the tree, and from SyMenu, only when you save the configuration with Save or Save and Exit commands.

#Advanced menu - Enable Extension Manager

Advanced menu contains the activation command for Extension Manager (see Extension Manager chapter).

#Advanced menu - Scan for unlinked

This tools scans all configured SyPrograms to find orphaned items. Since portable programs are often and easily moved, deleted, renamed, SyMenu helps you to find any unlinked program to fix it.

Scan for unlinked allows you to mark for deletion the files that you want to definitely remove from SyItem list.
You can make a multi-selection on this list using SHIFT or CTRL keys along with mouse click.

#Advanced menu - Proxy (not working)

If you use SyMenu in a network that uses a proxy to allow outside connections, you can configure here the proxy credentials.
SyMenu will use the proxy credentials every time it goes online for example when it checks for an updated version or when it works with SPS apps.
It's necessary to configure SyMenu with the url of your proxy and related credentials. SyMenu can naturally work with several configurations because it recognizes the current available proxy, so feel free to store the proxy configuration of all your working PCs. The proxy credentials are stored into the configuration file SyMenuConfig.xml with the password value encrypted. This kind of security is weak because it is possible to retrieve the password with a brute force attack. So please use this feature carefully and not for sensitive data.

#Advanced menu - Options

The Options menu contains dozens of possible customization to adapt SyMenu to your needs.
You don't have to be an expert to give it a try so test all the options with confidence.

#General tab

In General tab you can find some generic options related to SyMenu.
Configuration Menu Options - General

#Events tab

In Events tab you can find services available at SyMenu startup and closing and some others available at Windows startup.

Function to enable at SyMenu startup
In the first group the options allow you to decide SyMenu behaviour during its startup phase.
If SHIFT key is pressed during SyMenu startup, Autoexec and Check Version don't run even if they are normally enabled. You can realize that SyMenu starts in this mode (light mode) watching the flashing led of task bar icon: it will be red instead of being green.

Function to enable at SyMenu closing
In the second group the options allow you to decide SyMenu behaviour during its closing phase.

Function to enable at Windows startup
In the third group you can find options related to functions that are executed at Windows startup. These functions cause SyMenu to be not portable because they could leave tracks of the program in the Windows registry, in the menus, or into the file system according to their needs.
For now there is only one option not portable.

#Menu tab

In Menu tab you can find some options related to the SyMenu contextual menu.
Configuration Menu Options - Menu

#Search tab

In Search tab you can decide how the SyMenu search has to work.
Configuration Menu Options - Search

#Structure tab

In Structure tab you can build your custom menu structure.
Every built-in item in SyMenu is configurable. So you can decide if you want to include it inside your personal menu and where it has to be located.
Some built-in elements must be included in any menu structure. You recognize them because they are gray colored. One of them, the SyMenu title element, must be the first element in the structure too.
To faster change your current menu organization you can select one of the default structure available pressing the corresponding button. Otherwise you can move the elements one by one dragging them with the mouse. You can remove or add an element dragging it to or from the Available elements box.
Configuration Menu Options - Structure

#Language tab

In Language tab you can choose your preferred language between ones available.
If you want to add your native language on SyMenu, please contact me.

#Hot Keys tab

In Hot Keys tab you can activate SyMenu with keyboard without clicking with mouse pointer onto SyMenu task icon.
You have two available shortcuts: If you want to change or set up a shortcut put the cursor inside the related textbox (you'll see blinking caret) and press your favourite keys combination.
Available modifier keys are: SHIFT, ALT, CTRL, WIN.

The menu position radio buttons allows to set the location in which SyMenu has to appear on a shortcut activation.

Unchecking Enable shortcuts manager involves that every shortcut customized in SyMenu for every SyItem (not only the native ones) will be disabled.

#Gesture tab

Since version 8.00 the Gesture manager has been hidden. To re-enable it you have to manually change the SyMenu configuration file and precisely the xml tag:
<gesture visible="False"...
inb
<gesture visible="True"...
With the Gesture tab you can configure the activation of SyMenu with mouse gesture.
You can completely disable this feature with the checkbox Enable gestures manager.
You can choose which mouse button SyMenu uses for the gestures between the right one and the middle one.
Finally, you can choose the master gesture to make SyMenu contextual menu pop up clicking your preferred gesture button.

#Theme tab

In the Theme tab you can customize the SyMenu look. You can choose the color of any contextual menu element, the menu transparency level, the menu font size, and the menu shading. You can also choose between six preset themes (black, white, orange, olive, blue, gray).

In this section you can customize SyMenu icons, too.
Just click an icon and choose your new image source (allowed sources are .ico, .exe, .dll files). Automatically SyMenu replaces default icon with the customized one. If you want to reset a customized icon, simply click again on that.

You can activate the experimental option Themed forms too. If you check it all the SyMenu forms will be drawn accordingly to the contextual menu theme.
Configuration Menu Options - Theme

#System tab

In System tab you can see some info about your host PC and some counters about configured SyItems.
Otherwise you can obtain a .csv report with a full list of every configured item with several attributes.

With the Show system hidden files and folder flag you can define if SyMenu shows you these kind of elements among the searches results and during the file system navigation.

#Help Menu

Help Menu hosts seven commands:

#Search Menu

Search item
Search menu allows to search for a SyItem inside the program tree in the same way as Search Item Bar.

#Manage Get new apps form

The SPS manager can be opened either from the contextual menu clicking on the Get new apps item, if available, and from the configuration form with the menu Item manager - Get new apps.
SPS form
SPS stands for "Standard for Portable Software". It is a standard to document portable programs to allow SyMenu to manage them in an automatic way.
For any other information please go to http://www.ugmfree.it/forum/messages.aspx?TopicID=282#post704
When a program is documented with an SPS, you find it in the SPS Manager and you can add it to your SyMenu with a simple click. Similarly when an updated version of a program you've already installed becomes available in the SyMenu suite, you are notified and you are allowed to update it with the usual click. Naturally with SPS manager you can even remove a previously installed program from your SyItem collection.

The first time you enter in the SPS form, the list of available programs (the app definitions) must be downloaded from the online repository. To succede in this operation you have to be online and the unit where SyMenu executes must be write-enabled otherwise you can get this alert.
SPS form no apps
The update for app definitions is an automatic task and occurs once a day but, if you want, you can force it pressing the special button.
Update SPS definitions
Every suites updates independently.
It's even possible to completely disable the automatic update but, since it's an advanced setting, it is only available with a manual modification of the SyMenu configuration file.

The 'Update app definitions' button is available for the Custom Suites too. In this case the button forces the SPS Manager to read again the folder where your custom SPS is contained.

When the list is updated you can recognize the newly added programs because their own icon is overlying by a little "NEW" image. The freshly updated ones instead are overlying with an "UPD" image. When a program is just updated but it's flagged as autoupdatable (the SPS is not in charge to process the the program update) the overlay image will be "AUT" (
New overlying icon Update overlying icon Auto update overlying icon
).

#Grid Customization

If you think the grid is too crowded with informative columns you can hide some of them.
To hide a column, right click on its header and select the Hide command.
Hide a column
When a column has been hidden, the eye icon appears on the top header grid.
Feedback for an hidden column
To reset all the hidden columns, right click the header and select the Reset columns visibility command.
Show all the hidden columns

#Custom Suites

If you want to manage a custom suite, you have to create inside the SPS root folder, that is usually located in a path similar to ..SyMenu\ProgramFiles\SPSSuite, a new folder with a certain name. For example you can create a folder called MySuite. When the SPS Manager first see this folder, it creates the needed subfolders (_Cache, _Trash). Inside the folder _Cache you can put your custom SPS files. From now on your custom suite will be shown in the SPS Manager as a first-class suite.

#Program detail

When your program list is fed, scroll the list and find the programs you are interested in. You can click on the grid columns titles to order the programs by name, by category, and so on.
If you click on a row, the related program details will appear.
Among the details you can find a brief program description, the license, the original publisher, eventually the link for the program web site, etc.
App details

On the top of the description panel some small icons could appear.
App details additional properties
They stand for some additional SPS properties.

The first icon shows the program download url linked to the SPS. This icon is clickable. Clicking it your browser will open and allow you to directly download the program package from the Internet.

The second icon stands for dependencies and it represents the sofware dependecies a program requires. For example some dependencies could be Java or .NET
SyMenu is not able to automatically download and install the dependencies that a program requires so it is up to you to have a suitable environment for the program execution.

The third icon is the most cryptic ones.
The black mask represents the stealth attribute. Being stealth for a portable program means that, when closed, it doesn't leave any entries in the registry or in the file system. The folders where a real stealth application can leave tracks are its own folders, the user and the system temp folders. For an extensive explanation of the concept see http://www.portablefreeware.com/faq.php#stealth.
When you see the mask icon appears it means that the program is not completely stealth and it probably will leave tracks behind itself.

The last icon represents eventual note. If you see the icon appears read it carefully because they could contain really important information for a right execution of your portable program.

Right clicking any of the icons, forces SyMenu to copy the related message in the system clipboard, allowing you to paste the text wherever you want.

On the right there is a little icon that allows to open the file definition for the program (SPS file).
Open the SPS file for the program


#VirusTotal.com integration

Among the program details you can find the VirusTotal.com report.
VirusTotal report
A VirusTotal report for a particular program can be sum up with its detection ratio. The detection ratio shows in brief the scan result of multiple AV engines.
The ideal detection result is something like 0/60, 0/69, 0/71 (the second figure changes according to the AV engine available when the program was submitted) but even when a program get one or two positive detections, it is not a sure sign that the program is really affected by a virus.
Anyway when you see a report with some detections you can click on the "VirusTotal report" link to go to the VirusTotal analysis web page, where you'll find all the details involved.

Fun fact. SyMenu itself is not perfectly clean according to VirusTotal. If you go to the SyMenu report (indeed it's a report for an old version) you can find two reports (WTF????).
You always have to evaluate if a program can be trusted or not, but with the VirusTotal report you will have a valid help to take a good decision.

#Program execution

It's possible to execute an installed program directly from the SPS Manager.
Click with the right mouse button on the grid in correspondance of the item row you want to execute and choose Run item entry from the contextual menu.
You can also open the folder where the app is installed clicking on the Open folder entry.
The contextual menu offers other options related to the current program status. In this case, since the program is already installed and updated, the only available action is the removal.
SPS execute an app

#Add a program

When you find an interesting program you can add it to your SyMenu items.
SPS add an app
SyMenu will show the progress for the various operations: download, extration, installation. Well, the concept of installation here is not the traditional one since the portable programs doesn't need to be actually installed. Installation for SyMenu means that the program is copied inside the default folder and linked to SyMenu item list.

To add/remove/update a single program you can use the proper command available in the detail box.
SPS detail command buttons
You can even right click on it from the program list and select the corresponding action.
SPS add an app from remote and local
The contextual menu has two way to add a program to SyMenu.
The first one 'Add from web site' is the normal behavior while the second one, 'Add from local package', allows you to install a program without downloading it. It is a useful feature in case you already have the package you want to install.
When SyMenu finishes installing or updating a program, you'll find it among the SyMenu items and the SPS manager will highlight it changing its status from Available to Added.
App installation succeded

#Update a program

Whenever an update definition for an installed program is published, the SPS Manager will notify you that a new version is available.
App updatable
When a program status is Updatable, SyMenu guides you enabling the right commands available in the detail box and the proper contextual menu actions for that program.
SPS update an app from remote and local
In a similar way to the add action, the update action from the contextual menu offers two ways to proceed.
You can update a program from online or you can supply the right installation package from the local file system.
If your intention instead is not to update the program but to remove it, the remove action is available too.

Some programs have a built in update feature. Think about Firefox portable for example that checks for an update and, in case it finds something, it proposes the installation of the latest version. In these cases SPS doesn't come to the aid with its update ability because it leaves in charge the program built in feature unless you force the update.

#Force a program update

Sometime you might want to update a program that is already updated. This action can be useful for example when an SPS update has been failed, or when you want to refresh a messed up installation, or again when, for whatever reason, an auto updatable program doesn't update.
The forced update is not a natural action and you have to duly declare it through the grid contextual menu, because the natural action on an already added app should be only the removal. This means that the force update feature is never a group action (Apply all button) but always a single item action.
SPS app forced update

#Remove a program

The removal of an installed program can be done as usual with the proper command available in the detail box or by clicking on the listed program with the right mouse button and choosing the remove action.
The removal action is in charge to delete the corresponding SyItem too.

#Manage multiple programs

You can manage multiple programs at once thanks to the checkboxes available on the right hand side of every row.
In the image below you can see a multi selection that will produce:
SPS form manage multiple programs
When the first program is checked a new tool appears showing you the complete installation plan.
Close to the installation plan area the Apply All button and the item locators buttons appear.
SPS installation plan area
To remove an item from the installation plan area, you can directly click on it or you can uncheck it from the item grid.
To activate your multi selection plan you have to press the Apply All button available near the installation plan area.
The button applies your multi selection plan in a sequential order.
SPS form apply multi selection

#The hashtag flags

If the hashtag flag button App details hash tags is checked, a program installation or update, involves that its description will be supplied with some hashtags created according to its category.
If the program category is something like "Audio - Editors", the description for the program will be integrated with these two hashtags: #Audio and #Editors.
The hashtags can be used as a supplementary serch keys you can exploit with the SyMenu search bar (see Search Item Bar - Search modes and SyProgram - Hashtags support for Description).

#The item locators

The two little buttons near the 'Apply All' button work alternatively and allow to: So if you install a program whose category is Editor and you select the second option, you'll find a new logical container inside your SyMenu called Editor and the program located there inside. If you already have a logical container called Editor in your configuration, it'll be reused has a container for the new program.
This option is valid only for the new programs.

#Search

The search tool allows you to filter the SPS programs list to easily retrieve your desired programs.
You can search for any word or sentence inside the program name, category, description or publisher name.
SPS form filters
The search tool basically searches for the words, or portions, you write inside the textbox but you can exploit it using the search options.
For example if you want to find all the newest available programs, you have to use the option search ":newest".
If you want to find all the programs from Sysinternals that you already installed, your search should be: ":publisher :added :update sysinternals".
The information icon on the right side, explains what the available options are and how they work.

If your filter is effective and actually reduces the number of programs displayed in the list, a funnel icon appears on the top of the list itself.
SPS form install app succeded

#Custom search patterns

If you use the same searches over and over, you can take advantage of the customizable search patterns.
Pressing the button 'Manage search patterns' a new form opens and you are allowed to create your own search templates.
SPS form search patterns
In the picture above a new pattern is about to be created.
SPS form search patterns editor
The hint field can be filled with a note to remember what the pattern is intended for.
Pressing the Save button, the pattern will be added to the list as a native one and from then on it will be possible to click it to launch that special search.
The Reset button restores the SyMenu default search patterns so use it with care because you risk losing all your customization.

#SPS folder structure

Let's have a look at how SPS works with the file system folder structure.
SPS creates its own folder, which is called SPSSuite, inside the SyMenu\ProgramFiles folder.
Into the main folder SPS creates one folder for every program suite that it is able to manage.
For now the suites available are: Inside every suite folder you can find at least three other folders: _Cache, _CacheCustom and _Trash.

The _Cache folder is used to store all the zipped SPS files downloaded from the suite web site. If you modify or delete the _Cache content simply open the SPS form and press Update app definitions: SPS form will rebuild the right content inside _Cache folder.

The _CacheCustom folder is used to store the custom SPS files created by you or downloaded from other sources than the SyMenu web site. You'll find your custom SPS inside the SPS Manager program list. This folder won't be overwritten in case you ask for downloading the fresh apps from online.

The _Trash folder is a repository for programs uninstalled or updated and for old SPS definitions collections. In case the folder rises too much you have to clean it up. To delete the _Trash folder content you can use the special button with the trash bin image or check the Auto trash checkbox.
SPS tool to empty the trash folder

At the same level of _Cache, _CacheCustom and _Trash folders you can find a folder for each SPS program currently installed. Take care of them, don't delete these folders, don't modify their names. These folders are under the complete control of SPS Manager that is the only entity in charge for managing them.
The folder locations and names used by SPS are not changeable. If you change something you'll risk to break your suite - so don't ever do this!

#SPS SyItem structure

Whenever you install a program with SPS, a new SyItem will be created for you.
The item location inside your menu depends on the choosed item locators. You can naturally move this item inside your preferred SyFolder or even create one or more clone without affecting the SPS Manager that is perfectly able to manage more than one element per every SPS program.
The only thing you can't do is to delete a SyItem related to the SPS physical element. Doing that is equivalent to removing the SPS with the Remove button (uninstall that).

#Auto Update

SyMenu is capable of auto-updating when a new version has been released.
To be notified about new versions, please enable "Check Version" flag on Advanced menu - Options - Events tab

#Multi Execution

SyMenu allows more than one running instance from different execution paths.
In that way you can use SyMenu from different portable drives at the same time.
Overlay unit letter on task icon (see Advanced menu - Options - General tab), different fixed colors and different hot keys show up so SyMenu can help you manage a multi session SyMenu system.
Multi task icons
When SyMenu is executed from the same path of an already running instances, it doesn't execute but it makes that previous instance popup its menu.
You can override this behaviour with a proper Command line.

#Configuration for expert users

Warning!
If you are a super expert user, an IT Pro, a dev or someone who like hacking, you are in the right place, have a good fun.
Otherwise jump to the next chapter before messing up your configuration.

#Customization for publishers

SyMenu can be used by third-party suites and programs publishers as a dedicated launcher.
The customizable elements to create a peculiar and unique launcher are: If you want to replace the little icon in task bar with a customized one, go to the Theme menu (see Advanced menu - Options - Theme).
The Theme menu allows you to change the SyMenu colors too.

To change the built in SyMenu splash screen, simply put a splash.jpg image inside the SyMenu/config folder.
The image must be sized to a 550 pixel width and a 350 pixel height.
If SyMenu finds such a file it replaces the normal splash at run time with the customized one.

If you want to replace the big floating icon used for the Start menu replacement button, put an image file inside the SyMeny/config folder. The file must be called mainIcon.[ext] where the extension could be png, jpg, gif, bmp.
The ideal image size is 55x55 pixel.
A png image is preferable because it supports the transparent background too.

#Command line

SyMenu supports a command line system that modifies the normal program execution. The command line support is extended either to SyMenu.exe and SyMenu.Admin.exe executables.

Switch Description Example
-fc{folderPath} Folder path for Configuration
Overrides the default Config folder path with a custom one
SyMenu.exe -fc".\Config2"
SyMenu.exe -fc"D:\Temp\SyMenuConfig"
SyMenu.exe -fc"%USERPROFILE%\AppData\Local\SyMenuConfig"
SyMenu.admin.exe -fc"Config2"
-fp{folderPath} Folder path for Programs
Overrides the default ProgramFiles folder path with a custom one
SyMenu.exe -fp".\Program2"
SyMenu.exe -fp"D:\Temp\SyMenuPrograms"
SyMenu.exe -fp"%USERPROFILE%\AppData\Local\SyMenuPrograms"
SyMenu.admin.exe -fp"Programs2"
-ft{folderPath} Folder path for Temp
Overrides the default Windows temp folder (usually %USERPROFILE%\AppData\Local\Temp) with a custom one
SyMenu.exe -ft".\Temp"
SyMenu.exe -ft"D:\Temp"
SyMenu.exe -ft"%USERPROFILE%\AppData\Local\CustomSymenuTemp"
SyMenu.admin.exe -ft".\Temp"
-fi{folderPath} Folder path for Icons
Overrides the default Icons folder path with a custom one
SyMenu.exe -fi".\Icons2"
SyMenu.exe -fi"D:\Temp\SyMenuIcons"
SyMenu.exe -fi"%USERPROFILE%\AppData\Local\SyMenuIcons"
SyMenu.admin.exe -fi"Icons2"
-fl{folderPath} Folder path for Log
Overrides the default Log folder path with a custom one
SyMenu.exe -fl".\Log2"
SyMenu.exe -fl"D:\Temp\SyMenuLog"
SyMenu.exe -fl"%USERPROFILE%\AppData\Local\SyMenuLog"
SyMenu.admin.exe -fl"Log2"
-ss{shortcut} Shortcut for Search
Overrides the hot key for the search engine (the option "Enable shortcuts manager" must be activated to be effective)
SyMenu.exe -ss"ALT+F9"
SyMenu.exe -ssALT+S
SyMenu.exe -ssALT+SPACE
SyMenu.admin.exe -ssALT+F9
-sm{shortcut} Shortcut for Menu
Overrides the hot key for the contextual menu (the option "Enable shortcuts manager" must be activated to be effective)
SyMenu.exe -sm"WIN+F12"
SyMenu.exe -sm"WIN+F12"
SyMenu.admin.exe -sm"WIN+F12"
-ms{normal|advanced} Menu Structure
Resets the contextual menu structure to one of the available built-in configuration [Normal, Advancer
SyMenu.exe -msnormal -> resets the menu to normal structure
SyMenu.exe -msadvanced -> resets the menu to advanced structure
SyMenu.admin.exe -msadvanced
-cv{key=value} Custom Variables
Supplies one or more new variables to SyMenu that shows them in the Tooltip text on taskbar icon
SyMenu.exe -cvfoo=text -> replaces %foo% inside the tooltip
SyMenu.exe -cv"foo foo"=text -> replaces %foo foo% inside the tooltip
SyMenu.exe -cv"foo foo=text text"
SyMenu.admin.exe -cvfoo=text
-mi Multi Instance
Allows a SyMenu second instance execution from the same folder of the first one. It represents a different behaviour than the usual one described on Multi Execution paragraph
SyMenu.exe -mi -> allows execution from the same folder of an already running SyMenu
-quit Quit
Orders to close an already running SyMenu instance
SyMenu.exe -quit
-run{programGUID} Run
Allows to launch a SyProgram from the command line. SyMenu starts itself, launches the program and quits. The GUID of every SyProgram is available in the configuration file and in the csv report
SyMenu.exe -run5ef0694b-1ba8-4b0a-b69c-dcebd1098835 -> executes a program tied with that certain GUID

Regarding the hot key switches pay attention to the allowed modifier names (CTRL ALT WIN SHIFT).
The double quotes are optional.
If you want to use a special key such as Del, Down Arrow, Home etc read the table available at this link.

#Options directly available in the configuration file

SyMenu offers some advanced or experimental features directly from its configuration file.
The SyMenu configuration file is available at this path: [SyMenu Root]\Config\SyMenuConfig.zip
The file is a simple zipped XML, so, with SyMenu closed, unpack and open it with a text editor.
Always do a backup of your configuration before modifing it by hand, and remember XML is not HTML. XML is a strict language so it's case sensitive, not all characters can be used, you have to open and close the tags accordingly. Good Luck!

#Available Options

You can hide the unlinked element in the contextual menu setting the hideOrphanItems attribute for the contextualMenu tag to True.
<contextualMenu [...] hideOrphanItems="False|True" />

You can change the context menu tooltip duration which is set by default to 5 seconds (5000 milliseconds).
The minimun threshold is 1 second (1000ms) but you can also set the value to 0 to have an infinite duration.
If you exceed the threshold of 30 seconds (30000ms) the system change the value to zero.
<tooltipItems [...] duration="15000" />

You can customize the form border thickness through the themeForm attribute.
<themeForm borderThickness="1" />

You can force the SPS Manager during a program installation or update, to add to its description an hashtag representing its category. It should be usefull when you search for a certain class of programs.
<spsAddHashtags enabled="True" />

#Licence

END-USER LICENSE AGREEMENT FOR SYMENU IMPORTANT PLEASE READ THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT CAREFULLY BEFORE CONTINUING WITH THIS PROGRAM INSTALL: UGMFree End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) and UGMFree. for the UGMFree software product(s) identified above which may include associated software components, media, printed materials, and "online" or electronic documentation ("SOFTWARE PRODUCT"). By installing, copying, or otherwise using the SOFTWARE PRODUCT, you agree to be bound by the terms of this EULA. This license agreement represents the entire agreement concerning the program between you and UGMFree, (referred to as "licenser"), and it supersedes any prior proposal, representation, or understanding between the parties. If you do not agree to the terms of this EULA, do not install or use the SOFTWARE PRODUCT.
The SOFTWARE PRODUCT is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold.
1. GRANT OF LICENSE.
The SOFTWARE PRODUCT is licensed as follows:
(a) Installation and Use.
UGMFree grants you the right to install and use copies of the SOFTWARE PRODUCT on your computer running a validly licensed copy of the operating system for which the SOFTWARE PRODUCT was designed [e.g. Windows 2003, Windows XP, Windows Vista, Windows 2008].
(b) Backup Copies.
You may also make copies of the SOFTWARE PRODUCT as may be necessary for backup and archival purposes.
2. DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS.
(a) Maintenance of Copyright Notices.
You must not remove or alter any copyright notices on any and all copies of the SOFTWARE PRODUCT.
(b) Distribution.
You may not distribute registered copies of the SOFTWARE PRODUCT to third parties without written permission. Official versions available for download from UGMFree’s websites may be freely distributed.
(c) Prohibition on Reverse Engineering, Decompilation, and Disassembly.
You may not reverse engineer, decompile, or disassemble the SOFTWARE PRODUCT, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.
(d) Rental.
You may not rent, lease, or lend the SOFTWARE PRODUCT.
(e) Support Services.
Because this software is “as is,” UGMFree may not provide support services for it.
(f) Compliance with Applicable Laws.
You must comply with all applicable laws regarding use of the SOFTWARE PRODUCT.
3. TERMINATION
Without prejudice to any other rights, UGMFree may terminate this EULA if you fail to comply with the terms and conditions of this EULA. In such event, you must destroy all copies of the SOFTWARE PRODUCT in your possession.
4. COPYRIGHT
All title, including but not limited to copyrights, in and to the SOFTWARE PRODUCT and any copies thereof are owned by UGMFree or its suppliers. All title and intellectual property rights in and to the content which may be accessed through use of the SOFTWARE PRODUCT is the property of the respective content owner and may be protected by applicable copyright or other intellectual property laws and treaties. This EULA grants you no rights to use such content. All rights not expressly granted are reserved by UGMFree.
5. NO WARRANTIES
UGMFree expressly disclaims any warranty for the SOFTWARE PRODUCT. The SOFTWARE PRODUCT is provided “As Is” without any express or implied warranty of any kind, including but not limited to any warranties of merchantability, noninfringement, or fitness of a particular purpose. UGMFree does not warrant or assume responsibility for the accuracy or completeness of any information, text, graphics, links or other items contained within the SOFTWARE PRODUCT. UGMFree makes no warranties respecting any harm that may be caused by the transmission of a computer virus, worm, time bomb, logic bomb, or other such computer program. UGMFree further expressly disclaims any warranty or representation to Authorized Users or to any third party.
6. LIMITATION OF LIABILITY
In no event shall UGMFree be liable for any damages (including, without limitation, lost profits, business interruption, or lost information) rising out of ‘Authorized Users' use of or inability to use the SOFTWARE PRODUCT, even if UGMFree has been advised of the possibility of such damages. In no event will UGMFree be liable for loss of data or for indirect, special, incidental, consequential (including lost profit), or other damages based in contract, tort or otherwise. UGMFree shall have no liability with respect to the content of the SOFTWARE PRODUCT or any part thereof, including but not limited to errors or omissions contained therein, libel, infringements of rights of publicity, privacy, trademark rights, business interruption, personal injury, loss of privacy, moral rights or the disclosure of confidential information.