Documentation

Syntax Rules for Configuration Files


This chapter describes the syntax rules for configuration file.

  • Syntax are not case sensitive.
  • Spaces around the equal (=) sign are optional and are ignored.
  • The properties of static and dynamic items are separated by blank spaces or on a separate line and must be placed in parentheses ( ).
  • Static items are optional.
  • Static items have one type: item.
  • Dynamic items are optional.
  • Dynamic items have three types: menu, item, and separator(sep).

Tip: When there is an error, it is recorded in the log file (shell.log).

The following rules apply to the syntax of configuration file (shell.shl):

shell.shl structure
shell 
{
    // global variables
    var
    {
        // variables content
        variable-name = variable-value
        ...
    }
	
    // static items
    static
    {
        // static items content
        item ( property-name = property-value   ... )
        ...
    }

    // dynamic items
    dynamic
    {
        // dynamic items content
        item ( property-name = property-value   ... )
        
        separator [( property-name = property-value   ... )]
        
        menu ( property-name = property-value   ... )
        {
           var // local variables
           {
                variable-name = variable-value
                ...
            }
            
            item ( property-name = property-value   ... )
            ...
        }
        ...
    }
}

Breaking Long Lines
For best readability, users often like to avoid lines longer than 80 characters. single quotes also allow break up a line.

shell 
{
    dynamic
    {
	  item(title='Command prompt'
	        cmd='cmd.exe')
    }
}