chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,202 @@
|
||||
<h4>Syntax Rules for Configuration Files</h4>
|
||||
<br>
|
||||
<p>This chapter describes the syntax rules for the configuration files.</p>
|
||||
<p>The main configuration file <a href="#shell.nss"><code>shell.nss</code></a> is located in the installation directory of
|
||||
<strong>Shell</strong>, depending on your <a href="/docs/installation">installation method</a>.
|
||||
</p>
|
||||
|
||||
<h5 id="syntax-general">General rules</h5>
|
||||
<ul>
|
||||
<li>Syntax is case-insensitive.</li>
|
||||
<li>Spaces around the equal (<code>=</code>) sign are optional and are ignored.</li>
|
||||
<li>The properties of <a href="/docs/configuration/modify-items">modify-items</a> and <a href="/docs/configuration/new-items">new-items</a> items are separated
|
||||
by blank spaces or on a <a href="#breaking-long-lines">separate line</a> and must be placed in
|
||||
parentheses <code>( )</code>.
|
||||
</li>
|
||||
<li>Other configuration files can be imported using the <a href="#import">import tag</a>.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="notification is-info">
|
||||
<i>Tip:</i> When there is an error, it is recorded in the log file (<code>shell.log</code>, which is also located in
|
||||
your <a href="/docs/installation">installation directory</a>.).
|
||||
</div>
|
||||
|
||||
<h5 id="shell.nss">shell.nss structure</h5>
|
||||
<p>The global section <code>shell{}</code> may have the following subsections:</p>
|
||||
<ul>
|
||||
<li>Section <a href="/docs/configuration/settings">settings{}</a>. Optional.</li>
|
||||
<li>Section <a href="/docs/configuration/modify-items">modify-items</a> with
|
||||
instructions on how to <strong>change existing menuitems</strong>. Optional.
|
||||
<ul>
|
||||
<li>modify-items are only of 2 type: modify and remove.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Section <a href="/docs/configuration/new-items">modify-items</a> with
|
||||
definitions for <strong>new <a href="/docs/configuration/new-items#menuitem">menuitems</a></strong>.
|
||||
Optional.
|
||||
<ul>
|
||||
<li>Dynamic <a href="/docs/configuration/new-items#menuitem">menuitems</a>
|
||||
may have one of three types: <a href="/docs/configuration/new-items#menu">menu</a>, <a href="/docs/configuration/new-items#item">item</a>, or <a href="/docs/configuration/new-items#separator">separator (sep)</a>.
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h5 id="syntax-example">Example</h5>
|
||||
<pre><code class="lang-shell">// variable declaration
|
||||
$variable-name = variable-value
|
||||
|
||||
//image declaration
|
||||
@image-id = image-value
|
||||
|
||||
settings
|
||||
{
|
||||
key-name = key-value
|
||||
key-name = [key-value, key-value, ...]
|
||||
...
|
||||
}
|
||||
|
||||
theme
|
||||
{
|
||||
key-name = key-value
|
||||
...
|
||||
}
|
||||
|
||||
// modify items
|
||||
modify ( property-name = property-value ... )
|
||||
remove ( property-name = property-value ... )
|
||||
|
||||
// new items
|
||||
|
||||
item ( property-name = property-value ... )
|
||||
|
||||
separator [( property-name = property-value ... )]
|
||||
|
||||
menu ( property-name = property-value ... )
|
||||
{
|
||||
$variable-name = variable-value
|
||||
|
||||
item ( property-name = property-value ... )
|
||||
...
|
||||
}</code></pre>
|
||||
<br>
|
||||
|
||||
<h4 id="breaking-long-lines">Breaking Long Lines</h4>
|
||||
<p>For best readability, users often like to avoid lines longer than 80 characters. single
|
||||
quotes also allow break up a line.</p>
|
||||
<pre><code class="lang-shell">item(title='Command prompt'
|
||||
cmd='cmd.exe')
|
||||
</code></pre>
|
||||
<br>
|
||||
|
||||
<h4 id="import">Import tag</h4>
|
||||
<p>To better organise the configuration file, parts of the configuration can be saved in separate files. These are then
|
||||
imported using the import tag. With this method, it is also possible to import the same file as a sort of "module"
|
||||
into different parts of the configuration. A convenient way to include the same sub-menu in different
|
||||
locations..</p>
|
||||
<h5 id="import-syntax">Syntax</h5>
|
||||
<p>The general syntax is as follows:</p>
|
||||
<pre><code class="lang-shell">import %path%</code></pre>
|
||||
<p>Where</p>
|
||||
<ul>
|
||||
<li id="import-syntax-section"><code>%section%</code> is the name of a section. Optional. If given, it must be one
|
||||
of
|
||||
<ul>
|
||||
<li>settings</li>
|
||||
<li>themes</li>
|
||||
<li>modify-items</li>
|
||||
<li>new-items</li>
|
||||
</ul>
|
||||
The section name is written literally, without any quotes (or the percent signs).
|
||||
</li>
|
||||
<li id="import-syntax-path"><code>%path%</code> is a <a href="/docs/expressions/string">string</a> literal, that returns the path to the
|
||||
config file that shall be imported. This can be a relative path to the location of the file where the import tag is used, or it can be an absolute path. Expressions are
|
||||
supported when using <a href="/docs/expressions/string#single-quotes">single quotes</a>.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>There are effectively two different ways this tag is applied, depending on whether the optional
|
||||
<code>%section%</code> is given:</p>
|
||||
<ul>
|
||||
<li>Import an entire section</li>
|
||||
<li>Import as a partial:</li>
|
||||
</ul>
|
||||
|
||||
<h5 id="import-section">Import an entire section</h5>
|
||||
<pre><code class="lang-shell">// import an entire section
|
||||
import %path%
|
||||
</code></pre>
|
||||
In this case, the content of the file found at <code>%path%</code> will be imported into<strong> a newly
|
||||
created</strong> <code>section{}</code>.
|
||||
The result would then look like so:
|
||||
<pre><code class="lang-shell">// import an entire section
|
||||
section {
|
||||
/* content of the imported file goes here! Do not include
|
||||
*
|
||||
* section {
|
||||
* }
|
||||
*
|
||||
* in your imported file!
|
||||
*/
|
||||
}</code></pre>
|
||||
<p>This syntax may be used only in the following places: </p>
|
||||
<ul>
|
||||
<li><s>root section shell{}: <code>shell import %path%</code></s>
|
||||
</li>
|
||||
<li>the global sections
|
||||
<ul>
|
||||
<li><s>settings{}: <code>import %path%</code></s></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
sub-sections of the settings{} section:
|
||||
<ul>
|
||||
<li><s>theme.background{}: <code>background import
|
||||
%path%</code></s></li>
|
||||
<li><s>theme.item{}: <code>item import
|
||||
%path%</code></s></li>
|
||||
<li><s>theme.border{}: <code>border import
|
||||
%path%</code></s></li>
|
||||
<li><s>...</s></li>
|
||||
<li><s>settings.tip{}: <code>tip import %path%</code></s></li>
|
||||
<li><s>settings.exclude{}: <code>exclude import
|
||||
%path%</code></s></li>
|
||||
<li><s>settings.modify{}: <code>static import %path%</code></s>
|
||||
</li>
|
||||
<li><s>settings.new{}: <code>dynamic import
|
||||
%path%</code></s></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h5 id="import-partial">Import as a partial</h5>
|
||||
<pre><code class="lang-shell">section {
|
||||
// some code might go here. Optional.
|
||||
|
||||
// import of a partial section
|
||||
import %path%
|
||||
|
||||
// some more content might go here. Optional.
|
||||
}</code></pre>
|
||||
In this case, the content of the file found at <code>%path%</code> will be imported into the <strong>already
|
||||
existing</strong> <code>section{}</code>.
|
||||
The result would then look like so:
|
||||
<pre><code class="lang-shell">section {
|
||||
// some code might go here. Optional.
|
||||
|
||||
// import of a partial section
|
||||
/* content of the imported file goes here! Do not include
|
||||
*
|
||||
* section {
|
||||
* }
|
||||
*
|
||||
* in your imported file!
|
||||
*/
|
||||
|
||||
// some more content might go here. Optional.
|
||||
}</code></pre>
|
||||
<p>This syntax may be used nearly anywhere: </p>
|
||||
<ul>
|
||||
<li>in any section</li>
|
||||
<li>in the body of <a href="/docs/configuration/new-items#menu">menu tags</a>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -0,0 +1,62 @@
|
||||
<h4 id="_top">Modify Items</h4>
|
||||
<br>
|
||||
<p>The optional <code>modify</code> section contains entries to <strong>modify existing context menu items</strong>,
|
||||
added by the system or by a third party.</p>
|
||||
|
||||
<h5 id="sub-items">Sub-items</h5>
|
||||
<p>The section can have the following entry types, all of which are <strong>optional</strong>:</p>
|
||||
<ul>
|
||||
<li>One or more <a href="#item"><code>item</code> entries</a>.
|
||||
These contain the instructions on which and how to change existing <a href="/docs/configuration/new-items#menuitem">menuitems</a>.
|
||||
</li>
|
||||
<li>One or more <a href="/docs/configuration#import"><code><code>imports</code></code></a>. The content of the
|
||||
given file will be placed in the position of the import.
|
||||
</li>
|
||||
</ul>
|
||||
<h5 id="example">Example</h5>
|
||||
<p>In the following example, two instructions are defined:</p>
|
||||
<pre><code class="lang-shell">modify(find = 'copy' image = #00ff00)
|
||||
modify(find = 'paste' image = #0000ff)
|
||||
remove(find = '"format"')</code></pre>
|
||||
<br>
|
||||
<h4 id="item">Item Entries</h4>
|
||||
<p><code>item</code> entries contain the instructions on how to identify existing <a href="/docs/configuration/new-items#menuitem">menuitems</a> (also referred to as <a href="#target">Target</a>), and when and what changes should be applied
|
||||
to them.</p><p>This is done by matching an existing <a href="/docs/configuration/new-items#menuitem">menuitem</a>'s <a href="/docs/configuration/properties#title"><code>title</code></a> property against the modify item's mandatory <a href="/docs/configuration/properties#find"><code>find</code></a> property. If a match is found, the other properties of the modify
|
||||
<code>item</code> are applied to the appropriate <a href="/docs/configuration/new-items#menuitem">menuitem</a>, such as changing their properties (e.g. <a href="/docs/configuration/properties#title"><code>title</code></a>, <a href="/docs/configuration/properties#image"><code>icon</code></a>, <a href="/docs/configuration/properties#visibility"><code>visibility</code></a>), or moving them to another location.</p>
|
||||
|
||||
<h5 id="item-syntax">Syntax</h5>
|
||||
<pre><code class="lang-shell">modify( find = value [property = value [...] ])</code></pre>
|
||||
<br/>
|
||||
<h5 id="item-properties">Properties</h5>
|
||||
<p><code>item</code> entries can define three different sets of properties:</p>
|
||||
<dl>
|
||||
<dt><a href="/docs/configuration/properties#_validation-properties">Validation Properties</a></dt>
|
||||
<dd>Determine if a given <code>item</code> entry should be processed when a context menu is displayed. Optional.
|
||||
</dd>
|
||||
<dt><a href="/docs/configuration/properties#_filter-properties">Filter Properties:</a></dt>
|
||||
<dd>Determine if a given menuitem is a valid <a href="#target">target</a>
|
||||
for the <a href="#process-instructions">process instructions</a>
|
||||
<ul>
|
||||
<li><a href="/docs/configuration/properties#find"><code>find</code></a> <strong>(mandatory)</strong><br/>
|
||||
Pattern used to identify <a href="#target">targets</a> by matching against their <a href="/docs/configuration/properties#title"><code>title</code></a> property.
|
||||
</li>
|
||||
<li><a href="/docs/configuration/properties#in"><code>in</code></a><br/>
|
||||
Used to identify <a href="#target">targets</a> by specifying the submenu in which they are located.
|
||||
</li>
|
||||
</ul>
|
||||
</dd>
|
||||
<dt><a href="#process-instructions">Process Instructions</a></dt>
|
||||
<dd>Define what to do with the target. Optional. However, if there are no <a href="#process-instructions">process instruction</a> specified, the entry is of no practical use. For
|
||||
further details refer to its separate section
|
||||
<a href="#process-instructions">below</a>.
|
||||
</dd>
|
||||
</dl>
|
||||
<p>For a complete overview and further details regarding applicable properties, please refer to the <a href="/docs/configuration/properties">properties page</a>.</p>
|
||||
<h4 id="target">Item Target</h4>
|
||||
<p>Item targets are <a href="/docs/configuration/new-items#menuitem">menuitems</a> of an existing context menu. Their properties or location can
|
||||
be changed by applying the <a href="#process-instructions">process instructions</a> defined in a <a href=#item">modify <code>item</code></a>.</p>
|
||||
<h5 id="process-instructions">Process instructions</h5>
|
||||
<p>Instructions that should be applied to the <a href="#target">Target</a>. Basically they consist of properties from the two property
|
||||
classes <a href="/docs/configuration/properties#_menuitem-properties">menuitem properties</a> and <a href="/docs/configuration/properties#_command-properties">command properties</a>.</p>
|
||||
<p>Once a <code>item</code> is validated and a target identified, then these values are applied to the targeted
|
||||
<a href="/docs/configuration/new-items#menuitem">menuitem</a>.</p>
|
||||
@@ -0,0 +1,105 @@
|
||||
<h4 id="_top">New Items</h4>
|
||||
<br/>
|
||||
<p>Add <strong>new items</strong> to the context menu.</p>
|
||||
<h5 id="sub-items">Sub-items</h5>
|
||||
<p>The section can have the following entry types, all of which are <strong>optional</strong>:</p>
|
||||
<ul>
|
||||
<li>Menuitems, i.e. one or more of the following:
|
||||
<ul>
|
||||
<li>One or more <a href="#item"><code>item</code> entries</a>.
|
||||
These appear as top-level items in a context menu.
|
||||
</li>
|
||||
<li>One or more <a href="#menu"><code>menu</code> entries</a>.
|
||||
These appear as top-level sub-menus in a context menu.
|
||||
</li>
|
||||
<li>One or more <a href="#separator"><code>separator</code> entries</a>. These create a
|
||||
horizontal line between the given entries.
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>One or more <a href="/docs/configuration#import"><code><code>imports</code></code></a>. The content of the given file will be placed in the
|
||||
position of the import.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h5 id="example">Example</h5>
|
||||
<p>In the following example, one top-level <a href="#item"><code>item</code></a> is created, that is
|
||||
separated with a <a href="#separator">horizontal line</a> from an adjacent sub-<a href="#menu">menu</a>, which in turn has one sub-<a href="#item">item</a>
|
||||
on its own:</p>
|
||||
<pre><code class="lang-shell">item(title = 'Hello, World!')
|
||||
separator
|
||||
menu(title = 'sub menu' image = #0000ff)
|
||||
{
|
||||
item(title = 'test sub-item')
|
||||
}</code></pre>
|
||||
<br/>
|
||||
|
||||
<h4 id="menuitem">Menuitems</h4>
|
||||
|
||||
<p>menuitem is an umbrella term for those entry types, that may appear in a
|
||||
menu. These simply include the following:</p>
|
||||
<ul>
|
||||
<li><a href="#item"><code>item</code></a></li>
|
||||
<li><a href="#menu"><code>menu</code></a></li>
|
||||
<li><a href="#separator"><code>separator</code></a></li>
|
||||
</ul>
|
||||
|
||||
<br/>
|
||||
<h4 id="item">Items</h4>
|
||||
<p>items create a single menu entry.</p>
|
||||
|
||||
<h5 id="item-properties">Properties</h5>
|
||||
<p>Either a <a href="/docs/configuration/properties#title"><code>title</code></a> or a <a href="/docs/configuration/properties#image"><code>image</code></a> property is mandatory (set to a non-null value). For further details,
|
||||
please refer to the <a href="/docs/configuration/properties">properties page</a>.</p>
|
||||
|
||||
<h5 id="item-syntax">Syntax</h5>
|
||||
<pre><code class="lang-shell">item( title = value [property = value [...] ])</code></pre>
|
||||
<br/>
|
||||
|
||||
<h4 id="menu">Menus</h4>
|
||||
|
||||
<p>menu entries create a new <strong>sub-menu</strong>. They have properties
|
||||
and sub-entries.</p>
|
||||
|
||||
<h5 id="menu-properties">Properties</h5>
|
||||
<p>Either a <a href="/docs/configuration/properties#title"><code>title</code></a> or a <a href="/docs/configuration/properties#image"><code>image</code></a> property is mandatory (set to a non-null value). For further details,
|
||||
please refer to the <a href="/docs/configuration/properties">properties page</a>.</p>
|
||||
|
||||
<h5 id="menu-sub-items">Sub-items</h5>
|
||||
<p>menus can have the following entry types, all of which are
|
||||
<strong>optional</strong>:</p>
|
||||
<ul>
|
||||
<li>Menuitems, i.e. one or more of the following:
|
||||
<ul>
|
||||
<li>One or more <a href="#item"><code>item</code> entries</a>.</li>
|
||||
<li>One or more sub-<a href="#menu"><code>menu</code> entries</a>.</li>
|
||||
<li>One or more <a href="#separator"><code>separator</code> entries</a>. These create a
|
||||
horizontal line between the given entries.
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>One or more <a href="/docs/configuration#import"><code><code>imports</code></code></a>. The content of the
|
||||
given file will be placed in the position of the import.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h5 id="menu-syntax">Syntax</h5>
|
||||
<pre><code class="lang-shell">menu( title = value [property = value [...] ])
|
||||
{
|
||||
[ item() [...] ]
|
||||
[ menu(){} [...] ]
|
||||
[ separator [...] ]
|
||||
[ import 'path/to/import.nss' [...] ]
|
||||
}</code></pre>
|
||||
<br/>
|
||||
|
||||
<h4 id="separator">Separators</h4>
|
||||
|
||||
<p>separators create a horizontal line.</p>
|
||||
|
||||
<h5 id="separator-properties">Properties</h5>
|
||||
<p>separators do not have any mandatory properties. Please refer to the <a href="/docs/configuration/properties">properties page</a> for further details.</p>
|
||||
|
||||
<h5 id="separator-syntax">Syntax</h5>
|
||||
<pre><code class="lang-shell">separator
|
||||
separator( property = value [property = value [...] ])</code></pre>
|
||||
@@ -0,0 +1,967 @@
|
||||
<h4 id="_top">Properties</h4>
|
||||
<style>
|
||||
dt {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
dd dt {
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
|
||||
ul.fold, #_index-list {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
ul.fold, #_index-list li {
|
||||
display: inline;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
ul.fold > li, #_index-list li {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
ul.fold > li:after, #_index-list li li:after {
|
||||
content: ", ";
|
||||
}
|
||||
|
||||
ul.fold > li:last-child:after, #_index-list li li:last-child:after {
|
||||
content: "";
|
||||
}
|
||||
|
||||
</style>
|
||||
Shell supports the following properties classes:
|
||||
<ul>
|
||||
<li><a href="#_validation-properties">Validation Properties</a></li>
|
||||
<li><a href="#_filter-properties">Filter Properties</a></li>
|
||||
<li><a href="#_menuitem-properties">Menuitem Properties</a></li>
|
||||
<li><a href="#_command-properties">Command Properties</a></li>
|
||||
</ul>
|
||||
<p>Please also see the full index of available properties <a href="#_index">below</a>.</p>
|
||||
<h5 id="_index">Index</h5>
|
||||
<ul id="_index-list" class="m-0 p-0 mb-4">
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#admin">Admin</a></li>
|
||||
<li><a href="#arguments">arg</a></li>
|
||||
<li><a href="#arguments">args</a></li>
|
||||
<li><a href="#arguments">Arguments</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#checked">Checked</a></li>
|
||||
<li><a href="#command">cmd</a></li>
|
||||
<li><a href="#column">col</a></li>
|
||||
<li><a href="#column">Column</a></li>
|
||||
<li><a href="#command">Command</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#default">Default</a></li>
|
||||
<li><a href="#directory">dir</a></li>
|
||||
<li><a href="#directory">Directory</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#expanded">Expanded</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#find">Find</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#image">Icon</a></li>
|
||||
<li><a href="#image">Image</a></li>
|
||||
<li><a href="#invoke">Invoke</a></li>
|
||||
<li><a href="#in">In</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#keys">Keys</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#mode">Mode</a></li>
|
||||
<li><a href="#parent">Menu</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#parent">Parent</a></li>
|
||||
<li><a href="#position">pos</a></li>
|
||||
<li><a href="#position">Position</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#separator">sep</a></li>
|
||||
<li><a href="#separator">Separator</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#tip">Tip</a></li>
|
||||
<li><a href="#title">Title</a></li>
|
||||
<li><a href="#type">Type</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#verb">Verb</a></li>
|
||||
<li><a href="#visibility">vis</a></li>
|
||||
<li><a href="#visibility">Visibility</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#wait">Wait</a></li>
|
||||
<li><a href="#where">Where</a></li>
|
||||
<li><a href="#window">Window</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4 id="_syntax">Syntax</h4>
|
||||
<h5 id="_entry-types">Entry types</h5>
|
||||
<p>In the following tables, the Types column shows to which entry types the
|
||||
property applies to.</p>
|
||||
<p>The following abbreviations are used (if set in bold, then the property is mandatory for the given type):
|
||||
</p>
|
||||
<dl>
|
||||
<dt>mi</dt>
|
||||
<dd><a href="/docs/configuration/modify-items#item">modify item</a>, i.e. the
|
||||
item
|
||||
entry itself. Is basically required to evaluate if the process instructions are applied to any given target.
|
||||
</dd>
|
||||
<dt>mt</dt>
|
||||
<dd><a href="/docs/configuration/modify-items#target">modify target</a>, i.e.
|
||||
the menuitem of the existing menu to which the process instructions are applied
|
||||
</dd>
|
||||
<dt>nm</dt>
|
||||
<dd><a href="/docs/configuration/new-items#menu">new menu type</a></dd>
|
||||
<dt>ni</dt>
|
||||
<dd><a href="/docs/configuration/new-items#item">new item type</a></dd>
|
||||
<dt>ns</dt>
|
||||
<dd><a href="/docs/configuration/new-items#separator">new separator type</a>.
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<!--<h5 id="_property-classes">Property Classes</h5>-->
|
||||
<h5 id="_validation-properties">Validation Properties</h5>
|
||||
<p>Determine if a given <a href="/docs/configuration/modify-items">Modify items</a>
|
||||
or <a href="/docs/configuration/new-items">New items</a> entry should be
|
||||
processed when a context menu is displayed.</p>
|
||||
|
||||
<br/>
|
||||
<ul class="fold">
|
||||
<li><a href="#mode">Mode</a></li>
|
||||
<li><a href="#type">Type</a></li>
|
||||
<li><a href="#where">Where</a></li>
|
||||
</ul>
|
||||
<br/>
|
||||
<br/>
|
||||
<div id="_validation-syntax" class="table-responsive">
|
||||
<h6>Syntax</h6>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Property</th>
|
||||
<th scope="col">Types<sup><a href="#_entry-types">(*)</a></sup></th>
|
||||
<th scope="col">Summary</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="where">
|
||||
<td>Where</td>
|
||||
<td>mi, nm, ni, ns</td>
|
||||
<td>Process given menuitem if <code>true</code> is returned. Allows the <strong>evaluation of arbitrary
|
||||
<a href="/docs/expressions">expressions</a></strong>, e.g. <a href="/docs/functions#if"><code>if()</code></a>.<br/>
|
||||
Default = <span class="syntax-keyword">true</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="mode">
|
||||
<td>Mode</td>
|
||||
<td>mi, nm, ni, ns</td>
|
||||
<td>Display menuitem by <strong>type of selection</strong>. The value has one of the following
|
||||
parameters
|
||||
(of type <a href="/docs/configuration/modify-items">string</a>):
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td class="syntax-keyword">none</td>
|
||||
<td>Display menuitem when there is no selection.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="syntax-keyword">single</td>
|
||||
<td>Display menuitem when there is a single object selected.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="syntax-keyword">multi_unique</td>
|
||||
<td>Display menuitem when multiple objects of the same <a href="#type">type</a> are selected.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="syntax-keyword">multi_single</td>
|
||||
<td>Display menuitem when multiple files with a single file extension are selected.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="syntax-keyword">multiple</td>
|
||||
<td>Display any type of selection, unless there is none.</td>
|
||||
</tr>
|
||||
</table>
|
||||
Default = <span class="syntax-keyword">single</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr id="type">
|
||||
<td>Type</td>
|
||||
<td>mi, nm, ni, ns</td>
|
||||
<td>Specifies the <strong>types of objects</strong> for which the menuitem will be displayed.<br/>
|
||||
Possible values are shown below. Separate multiple types with the pipe character (<code>|</code>),
|
||||
in
|
||||
which case the menuitem is displayed if any of the given types is matched.<br/>
|
||||
To exclude a given type, prefix its value with the tilde character (<code>~</code>).
|
||||
<p class="has-text-danger">Expressions are not supported with this property.</p>
|
||||
<table class="table">
|
||||
<tr id="type-asterisks">
|
||||
<td class="syntax-keyword">*</td>
|
||||
<td>Display menuitem when any type is selected.</td>
|
||||
</tr>
|
||||
<tr id="type-file">
|
||||
<td class="syntax-keyword">File</td>
|
||||
<td>Display menuitem when files are selected.</td>
|
||||
</tr>
|
||||
<tr id="type-directory">
|
||||
<td class="syntax-keyword">Directory(Dir)</td>
|
||||
<td>Display menuitem when directories are selected.</td>
|
||||
</tr>
|
||||
<tr id="type-drive">
|
||||
<td class="syntax-keyword">Drive</td>
|
||||
<td>Display menuitem when drives are selected.</td>
|
||||
</tr>
|
||||
<tr id="type-usb">
|
||||
<td class="syntax-keyword">USB</td>
|
||||
<td>Display menuitem when USB flash-drives are selected.</td>
|
||||
</tr>
|
||||
<tr id="type-dvd">
|
||||
<td class="syntax-keyword">DVD</td>
|
||||
<td>Display menuitem when DVD-ROM drives are selected.</td>
|
||||
</tr>
|
||||
<tr id="type-fixed">
|
||||
<td class="syntax-keyword">Fixed</td>
|
||||
<td>Display menuitem when fixed drives are selected. Such drives have a fixed media; for
|
||||
example, a hard disk drive or flash drive.
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="type-vhd">
|
||||
<td class="syntax-keyword">VHD</td>
|
||||
<td>Display menuitem when Virtual Hard Disks are selected.</td>
|
||||
</tr>
|
||||
<tr id="type-removable">
|
||||
<td class="syntax-keyword">Removable</td>
|
||||
<td>Display menuitem when the selected drives have removable media; for example, a floppy drive,
|
||||
thumb drive, or flash card
|
||||
reader.
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="type-remote">
|
||||
<td class="syntax-keyword">Remote</td>
|
||||
<td>Display menuitem when the selected remote (network) drives are selected.</td>
|
||||
</tr>
|
||||
<tr id="type-back">
|
||||
<td class="syntax-keyword">Back</td>
|
||||
<td>Display menuitem when the background of all types are selected (<code>back</code>). Or
|
||||
specify one of
|
||||
the following more granular types for the background:
|
||||
<ul>
|
||||
<li>
|
||||
<code>back.directory</code>
|
||||
</li>
|
||||
<li>
|
||||
<code>back.drive</code>, including
|
||||
<ul>
|
||||
<li><code>back.fixed</code></li>
|
||||
<li><code>back.usb</code></li>
|
||||
<li><code>back.dvd</code></li>
|
||||
<li><code>back.vhd</code></li>
|
||||
<li><code>back.Removable</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<code>back.namespace</code>, including
|
||||
<ul>
|
||||
<li><code>back.computer</code></li>
|
||||
<li><code>back.recyclebin</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="type-desktop">
|
||||
<td class="syntax-keyword">Desktop</td>
|
||||
<td>Display menuitem when the Desktop is selected.</td>
|
||||
</tr>
|
||||
<tr id="type-namespace">
|
||||
<td class="syntax-keyword">Namespace</td>
|
||||
<td>Display menuitem when Namespaces are selected. Can be virtual objects such as My Network Places and Recycle Bin.
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="type-computer">
|
||||
<td class="syntax-keyword">Computer</td>
|
||||
<td>Display menuitem when My Computer is selected.</td>
|
||||
</tr>
|
||||
<tr id="type-recyclebin">
|
||||
<td class="syntax-keyword">Recyclebin</td>
|
||||
<td>Display menuitem when the Recycle bin is selected.
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="type-taskbar">
|
||||
<td class="syntax-keyword">Taskbar</td>
|
||||
<td>Display menuitem when the Taskbar is selected.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
Default = <span class="syntax-keyword">Accepts all types, except for the Taskbar.</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<h5 id="_filter-properties">Filter Properties</h5>
|
||||
<p>For <a href="/docs/configuration/modify-items">Modify items</a> entries only,
|
||||
filter properties determine if a given menuitem is a valid <a href="/docs/configuration/modify-items#target">target</a> for the <a href="/docs/configuration/modify-items#process-instructions">process instructions</a></p>
|
||||
|
||||
<ul class="fold">
|
||||
<li><a href="#find">Find</a></li>
|
||||
<li><a href="#in">In</a></li>
|
||||
</ul>
|
||||
|
||||
<div id="_filter-syntax" class="table-responsive">
|
||||
<h6>Syntax</h6>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Property</th>
|
||||
<th scope="col">Types<sup><a href="#_entry-types">(*)</a></sup></th>
|
||||
<th scope="col">Summary</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<tr id="find">
|
||||
<td>Find</td>
|
||||
<td>nm, ni, ns</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt>For modify items (required)</dt>
|
||||
<dd>Apply the current item's process instructions to any existing menuitem if their <a href="#title"><code>title</code></a> property matches the
|
||||
pattern of the current item's <code>find</code> property.
|
||||
</dd>
|
||||
<dt>For dynamic items (optional)</dt>
|
||||
<dd><p>Display the current menuitem if the pattern of its <code>find</code> property matches the
|
||||
path name or path extension
|
||||
of the <strong>selected files</strong>.</p>
|
||||
<p>Default = <span class="syntax-keyword">null</span>, which means any string is "matched".
|
||||
</p>
|
||||
</dd>
|
||||
|
||||
<dt>Syntax</dt>
|
||||
<dd>
|
||||
<pre><code>find = '%pattern%'
|
||||
find = '%pattern%|%pattern%[...]'</code></pre>
|
||||
<p>where <strong>%pattern%</strong> can be one or
|
||||
more
|
||||
matching instructions (see Examples below). The
|
||||
following characters do have special meaning:</p>
|
||||
<ul>
|
||||
<li><code>|</code> <strong>Use to separate patterns.</strong> If any one pattern
|
||||
matches,
|
||||
the property yields
|
||||
<span class="syntax-keyword">true</span>.
|
||||
</li>
|
||||
<li><code>*</code> <strong>Matches any number of characters.</strong> Is used as a
|
||||
wildcard
|
||||
to
|
||||
match only the beginning or the end of the entire string (or word, if used in
|
||||
combination with the exclamation mark <code>!</code>).
|
||||
</li>
|
||||
<li><code>!</code> <strong>Negates the match</strong> of the current pattern, or
|
||||
<strong>limits
|
||||
the wildcard (<code>*</code>)</strong> to one word only.
|
||||
</li>
|
||||
<li><code>""</code> the enclosed string is treated as a <strong>word</strong>.
|
||||
</li>
|
||||
</ul>
|
||||
<p>A <strong>word</strong> is a sequence of
|
||||
alphanumerical characters that is confined to the left and to the right by either a
|
||||
space
|
||||
<code> </code>, a non-word character (e.g. <code>/</code> or <code>-</code>), or the
|
||||
beginning or the end of the entire string, respectively.</p></dd>
|
||||
<dt>Examples</dt>
|
||||
<dd>
|
||||
<div class="table-container">
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Pattern</th>
|
||||
<th class="is-two-thirds">Matches any string that ...</th>
|
||||
<th>Would match</th>
|
||||
<th>Would not match</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>'foo'</code></td>
|
||||
<td>contains the literal string <code>foo</code> anywhere.</td>
|
||||
<td><code>foo</code>, <code>foobar</code>, <code>afoobar</code></td>
|
||||
<td><code>fo</code>, <code>f oo</code>, <code>bar</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>'"foo"'</code></td>
|
||||
<td>contains the literal string <code>foo</code> as a whole word
|
||||
only.
|
||||
</td>
|
||||
<td><code>foo</code>, <code>foo/bar</code>, <code>some foo bar</code></td>
|
||||
<td><code>foobar</code>, <code>foofoo</code>, <code>bar</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>'*foo'</code></td>
|
||||
<td>ends with the literal string <code>foo</code>.</td>
|
||||
<td><code>foo</code>, <code>barfoo</code>, <code>bar/foo</code></td>
|
||||
<td><code>foobar</code>, <code>fooo</code>, <code>foo </code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>'foo*'</code></td>
|
||||
<td>starts with the literal string <code>foo</code>.
|
||||
</td>
|
||||
<td><code>foo</code>, <code>foobar</code>, <code>foo/bar</code></td>
|
||||
<td><code> foobar</code>, <code>fo</code>, <code>yeti</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>'!foo'</code></td>
|
||||
<td>does not contain the literal string <code>foo</code> anywhere.
|
||||
</td>
|
||||
<td><code>fobar</code>, <code>fo</code>, <code>kung-fu</code></td>
|
||||
<td><code>foo</code>, <code>foobar</code>, <code>barfoo/bar</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>'!"foo"'</code></td>
|
||||
<td>does not contain the word
|
||||
<code>foo</code></td>
|
||||
<td><code>fobar</code>, <code>kung fu bar</code>, <code>foobar</code></td>
|
||||
<td><code>foo</code>, <code>kung foo bar</code>, <code>bar/foo/bar</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>'!*foo'</code></td>
|
||||
<td>does not contain a word ending on
|
||||
<code>foo</code></td>
|
||||
<td><code>foobar</code>, <code>fooo-fo</code></td>
|
||||
<td><code>foo</code>, <code>foo bar</code>, <code>bar/foo</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>'foo*!'</code></td>
|
||||
<td>does not contain a word starting with
|
||||
<code>foo</code></td>
|
||||
<td><code>myFooBar</code>, <code>barFoo</code></td>
|
||||
<td><code>foo</code>, <code>foobar</code>, <code>fo-fooo</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<p><br/>For dynamic items the following syntax allows to match against file
|
||||
extensions:<br/><br/></p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Pattern</th>
|
||||
<th>Matches any file extension ...</th>
|
||||
<th>Would match</th>
|
||||
<th>Would not match</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>'.exe'</code></td>
|
||||
<td>equal to <code>.exe</code></td>
|
||||
<td><code>setup.exe</code>, <code>notepad.exe</code></td>
|
||||
<td><code>install.bat</code>, <code>shell.nss</code>, <code>shell.ex_</code>,
|
||||
file
|
||||
without an extension.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>'!.exe'</code></td>
|
||||
<td>not equal to <code>.exe</code></td>
|
||||
<td><code>setup.exe.zip</code>, <code>video.mp4</code>, <code>shell.ex_</code>,
|
||||
file
|
||||
without an extension.
|
||||
</td>
|
||||
<td><code>setup.exe</code>, <code>shell.exe</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>'.exe|.dll'</code></td>
|
||||
<td>equal to either <code>.exe</code> or <code>.dll</code></td>
|
||||
<td><code>shell.exe</code>, <code>shell.dll</code>
|
||||
</td>
|
||||
<td><code>shell.zip</code>, <code>shell.nss</code>, file
|
||||
without an extension.
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="in">
|
||||
<td>In</td>
|
||||
<td>mi</td>
|
||||
<td> Specifies the <strong>existing submenu</strong> where the <strong>modify target</strong> is located.</br>
|
||||
<strong>Syntax</strong><br/>
|
||||
<pre><code class="lang-shell">in = "New"
|
||||
in = "Sort By"</code></pre>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<h5 id="_menuitem-properties">Menuitem Properties</h5>
|
||||
<p>This set of properties describe the appearance and location of a given menuitem. For modify-items, this is the target menuitem. For dynamic entries, this is the newly created menuitem.</p>
|
||||
<dl>
|
||||
<dt>Appearance</dt>
|
||||
<dd>
|
||||
<ul class="fold">
|
||||
<li><a href="#checked">Checked</a></li>
|
||||
<li><a href="#default">Default</a></li>
|
||||
<li><a href="#image">Image</a></li>
|
||||
<li><a href="#separator">Separator</a></li>
|
||||
<li><a href="#tip">Tip</a></li>
|
||||
<li><a href="#title">Title</a></li>
|
||||
<li><a href="#visibility">Visibility</a></li>
|
||||
</ul>
|
||||
|
||||
</dd>
|
||||
<dt>Location</dt>
|
||||
<dd>
|
||||
<ul class="fold">
|
||||
<li><a href="#column">Column</a></li>
|
||||
<li><a href="#expanded">Expanded</a></li>
|
||||
<li><a href="#keys">Keys</a></li>
|
||||
<li><a href="#parent">Menu</a></li>
|
||||
<li><a href="#parent">Parent</a></li>
|
||||
<li><a href="#position">Position</a></li>
|
||||
</ul>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<div id="_menuitem-syntax" class="table-responsive">
|
||||
<h6>Syntax</h6>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Property</th>
|
||||
<th scope="col">Types<sup><a href="#_entry-types">(*)</a></sup></th>
|
||||
<th scope="col">Summary</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="title">
|
||||
<td>Title</td>
|
||||
<td>st, <strong>nm</strong>, <strong>ni</strong>
|
||||
</td>
|
||||
<td><p>Sets the <strong>caption</strong> of the menuitem.</p>
|
||||
<dl>
|
||||
<dt>For modify-items (optional)</dt>
|
||||
<dd><p>Default = <span class="syntax-keyword">null</span>, which means the title of the target
|
||||
is
|
||||
not changed.</p></dd>
|
||||
<dt>For dynamic items (required)</dt>
|
||||
<dd><p class="text-danger">It is mandatory for <a href="/docs/configuration/dynamic#menu">menu</a> and <a href="/docs/configuration/dynamic#menu">item</a> entries, unless a <a href=#image"><code>image</code></a> property is defined.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="visibility">
|
||||
<td>Visibility (vis)</td>
|
||||
<td>st, nm, ni, ns</td>
|
||||
<td>Sets the <strong>visibility</strong> of a menuitem. Can have one of the following parameters:
|
||||
<table class="table">
|
||||
<tr id="visibility-hidden">
|
||||
<td class="syntax-keyword">Hidden</td>
|
||||
<td>Hide the menuitem.</td>
|
||||
</tr>
|
||||
<tr id="visibility-normal">
|
||||
<td class="syntax-keyword">Normal</td>
|
||||
<td>Enable the menuitem.</td>
|
||||
</tr>
|
||||
<tr id="visibility-disable">
|
||||
<td class="syntax-keyword">Disable</td>
|
||||
<td>Disable the menuitem.</td>
|
||||
</tr>
|
||||
<tr id="visibility-static">
|
||||
<td class="syntax-keyword">Static</td>
|
||||
<td>Display menuitem as label, with or without an <a href=#image"><code>image</code></a></td>
|
||||
</tr>
|
||||
<tr id="visibility-label">
|
||||
<td class="syntax-keyword">Label</td>
|
||||
<td>Display menuitem as label without an image</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="notification is-info mt-5">
|
||||
<i class="mr-4">Note:</i> The values Static and Label are not available for modify-items.
|
||||
</div>
|
||||
Default = <span class="syntax-keyword">Normal</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="separator">
|
||||
<td>Separator (sep)</td>
|
||||
<td>st, nm, ni</td>
|
||||
<td>Add a <strong>separator</strong> to the menuitem:
|
||||
<table class="table">
|
||||
<tr id="separator-none">
|
||||
<td class="syntax-keyword">None</td>
|
||||
<td>Not adding a separator with the menuitem.</td>
|
||||
</tr>
|
||||
<tr id="separator-before">
|
||||
<td class="syntax-keyword">Before, Top</td>
|
||||
<td>Add a separator before the menuitem.</td>
|
||||
</tr>
|
||||
<tr id="separator-after">
|
||||
<td class="syntax-keyword">After, Bottom</td>
|
||||
<td>Add a separator after the menuitem.</td>
|
||||
</tr>
|
||||
<tr id="separator-both">
|
||||
<td class="syntax-keyword">Both</td>
|
||||
<td>Add a separator before and after the menuitem.</td>
|
||||
</tr>
|
||||
</table>
|
||||
Default = <span class="syntax-keyword">none</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr id="position">
|
||||
<td>Position (pos)</td>
|
||||
<td>st, nm, ni, ns</td>
|
||||
<td>The <strong>position</strong> at which a menuitem should be inserted into the <a href="/docs/configuration/dynamic#menu">menu</a>.<br/>
|
||||
Position can have one of the following parameters:
|
||||
<table class="table">
|
||||
<tr id="position-auto">
|
||||
<td class="syntax-keyword">Auto</td>
|
||||
<td>Insert the menuitem to the current position.</td>
|
||||
</tr>
|
||||
<tr id="position-middle">
|
||||
<td class="syntax-keyword">Middle</td>
|
||||
<td>Insert the menuitem to the middle of the <a href="/docs/configuration/dynamic#menu">menu</a>.
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="position-top">
|
||||
<td class="syntax-keyword">Top</td>
|
||||
<td>Insert the menuitem to the top of the <a href="/docs/configuration/dynamic#menu">menu</a>.
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="position-bottom">
|
||||
<td class="syntax-keyword">Bottom</td>
|
||||
<td>Insert the menuitem to the bottom of the <a href="/docs/configuration/dynamic#menu">menu</a>.
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="position-integer">
|
||||
<td><code>Integer</code></td>
|
||||
<td>Insert the menuitem to a specified position.</td>
|
||||
</tr>
|
||||
</table>
|
||||
Default = <span class="syntax-keyword">auto</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr id="image">
|
||||
<td>Image, Icon</td>
|
||||
<td>st, nm, ni</td>
|
||||
<td>The <strong>icon</strong> that appears in a menuitem. This property can be assigned as image files,
|
||||
resource icons, glyph
|
||||
or color. With one of the following parameters
|
||||
<table class="table">
|
||||
<tr id="image-null">
|
||||
<td class="syntax-keyword">null</td>
|
||||
<td>Show menuitem without icon.</td>
|
||||
</tr>
|
||||
<tr id="image-inherit">
|
||||
<td class="syntax-keyword">Inherit</td>
|
||||
<td>@*Inheriting the image from the parent.*@
|
||||
Inherits this property from its parent item.
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="image-cmd">
|
||||
<td class="syntax-keyword">Cmd</td>
|
||||
<td>Assign image from the command property.</td>
|
||||
</tr>
|
||||
<tr id="image-glyph">
|
||||
<td class="syntax-keyword">Glyph</td>
|
||||
<td>Assign image as Glyph.</td>
|
||||
</tr>
|
||||
<tr id="image-color">
|
||||
<td class="syntax-keyword">Color</td>
|
||||
<td>Assign image as color.</td>
|
||||
</tr>
|
||||
<tr id="image-path">
|
||||
<td class="syntax-keyword">Path</td>
|
||||
<td>Assign image from location path or resource icon.</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="notification is-info mt-5">
|
||||
<i class="mr-4">Note:</i>The value Cmd is not available for modify-items
|
||||
targets.
|
||||
</div>
|
||||
Default = <span class="syntax-keyword">null</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="parent">
|
||||
<td>Parent, Menu</td>
|
||||
<td>st, nm, ni, ns</td>
|
||||
<td><p><strong>Move current menuitem</strong> to another <a href="/docs/configuration/dynamic#menu">menu</a>.</p>
|
||||
Default = <span class="syntax-keyword">null</span></td>
|
||||
</tr>
|
||||
<tr id="checked">
|
||||
<td>Checked</td>
|
||||
<td>st, ni</td>
|
||||
<td><strong>Type of select option</strong>:
|
||||
<table class="table">
|
||||
<tr id="checked-0">
|
||||
<td class="syntax-keyword">0</td>
|
||||
<td>Not checked</td>
|
||||
</tr>
|
||||
<tr id="checked-1">
|
||||
<td class="syntax-keyword">1</td>
|
||||
<td>Display as check mark.</td>
|
||||
</tr>
|
||||
<tr id="checked-2">
|
||||
<td class="syntax-keyword">2</td>
|
||||
<td>Display as radio bullet.</td>
|
||||
</tr>
|
||||
</table>
|
||||
Default = <span class="syntax-keyword">0</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="default">
|
||||
<td>Default</td>
|
||||
<td>st, ni</td>
|
||||
<td>
|
||||
<p>Specifies that the <a href="/docs/configuration/dynamic#item">item</a> is the default. A <a href="/docs/configuration/dynamic#menu">menu</a> can contain only one default
|
||||
menuitem, which is <strong>displayed in bold</strong>.</p>
|
||||
Default = <span class="syntax-keyword">false</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="expanded">
|
||||
<td>Expanded</td>
|
||||
<td>nm</td>
|
||||
<td>
|
||||
<p>Move all immediate menuitems to the parent <a href="/docs/configuration/dynamic#menu">menu</a>.</p>
|
||||
Default = <span class="syntax-keyword">false</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="column">
|
||||
<td>Column(col)</td>
|
||||
<td>nm, ni</td>
|
||||
<td><p>Create a new <strong>column</strong>.</p>
|
||||
Default = <span class="syntax-keyword">true</span>
|
||||
</tr>
|
||||
<tr id="keys">
|
||||
<td>Keys</td>
|
||||
<td>st, nm, ni</td>
|
||||
<td><p>Show <strong>keyboard shortcuts</strong>.</p>
|
||||
Default = <span class="syntax-keyword">null</span></td>
|
||||
</tr>
|
||||
<tr id="tip">
|
||||
<td>Tip</td>
|
||||
<td>st, nm, ni</td>
|
||||
<td>
|
||||
<p>Show a <strong>tooltip</strong> for the current <a href="/docs/configuration/dynamic#menu">menu</a> or <a href="/docs/configuration/dynamic#item">item</a>.</p>
|
||||
Default = <span class="syntax-keyword">null</span><br/>
|
||||
<strong>Syntax</strong><br/>
|
||||
<pre><code class="lang-shell">tip = "Lorem Ipsum is simply dummy text."
|
||||
tip = ["Lorem Ipsum is simply dummy text.", tip.info]
|
||||
tip = ["Lorem Ipsum is simply dummy text.", tip.info, 1.2]</code></pre>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<h5 id="_command-properties">Command Properties</h5>
|
||||
<p>This set of properties describe how a command is executed. Only available for dynamic items.</p>
|
||||
|
||||
<ul class="fold">
|
||||
<li><a href="#admin">Admin</a></li>
|
||||
<li><a href="#arguments">Arguments</a></li>
|
||||
<li><a href="#command">Command</a></li>
|
||||
<li><a href="#directory">Directory</a></li>
|
||||
<li><a href="#invoke">Invoke</a></li>
|
||||
<li><a href="#verb">Verb</a></li>
|
||||
<li><a href="#wait">Wait</a></li>
|
||||
<li><a href="#window">Window</a></li>
|
||||
</ul>
|
||||
|
||||
<div id="_command-syntax" class="table-responsive">
|
||||
<h6>Syntax</h6>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Property</th>
|
||||
<th scope="col">Types<sup><a href="#_entry-types">(*)</a></sup></th>
|
||||
<th scope="col">Summary</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<tr id="command">
|
||||
<td>Command (cmd)</td>
|
||||
<td>ni</td>
|
||||
<td><p>The <strong>command</strong> associated with the menuitem. Occurs when the menuitem is clicked or
|
||||
selected using a shortcut key or access key defined for the menuitem.</p>
|
||||
Default = <span class="syntax-keyword">null</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr id="arguments">
|
||||
<td>Arguments (arg, args)</td>
|
||||
<td>ni</td>
|
||||
<td><p>The <strong>command line parameters</strong> to pass to the <a href=#command">command</a> property of a menuitem.</p>
|
||||
Default = <span class="syntax-keyword">null</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr id="invoke">
|
||||
<td>Invoke</td>
|
||||
<td>ni</td>
|
||||
<td>Set <strong>execution type</strong>
|
||||
<table class="table">
|
||||
<tr id="invoke-single">
|
||||
<td class="syntax-keyword">0, single</td>
|
||||
<td>execute the <a href="#command">command</a> only once in total. The list of selected
|
||||
items can be accessed with <a href="/docs/functions/sel#sel"><code>@sel</code></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="invoke-multiple">
|
||||
<td class="syntax-keyword">1, multiple</td>
|
||||
<td>execute the <a href="#command"><code>command</code></a> once for every single item in the current
|
||||
selection. The currently processed item can be accessed with e.g <a href="/docs/functions/sel#sel.path.quote"><code>@sel.path.quote</code></a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
Default = <span class="syntax-keyword">0</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr id="window">
|
||||
<td>Window</td>
|
||||
<td>ni</td>
|
||||
<td>Controls how the <strong>window</strong> of the executed <a href="#command">command</a> is to be shown. Can be one of the following
|
||||
parameters:
|
||||
<p class="syntax-keyword"><code>Hidden</code>, <code>Show</code>, <code>Visible</code>,
|
||||
<code>Minimized</code>, <code>Maximized</code></p>
|
||||
Default = <span class="syntax-keyword">show</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr id="directory">
|
||||
<td>Directory (dir)</td>
|
||||
<td>ni</td>
|
||||
<td><p>Specifies the <strong>working directory</strong> to
|
||||
execute
|
||||
the <a href="#command">command</a> in.</p>
|
||||
Default = <span class="syntax-keyword">null</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr id="admin">
|
||||
<td>Admin</td>
|
||||
<td>ni</td>
|
||||
<td><p>Execute the <a href="#command">command</a>
|
||||
with <strong>administrative permissions</strong>.</p>
|
||||
Default = <span class="syntax-keyword">false</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr id="verb">
|
||||
<td>Verb</td>
|
||||
<td>ni</td>
|
||||
<td>Specifies the <strong>default operation</strong> for the selected file. Value type <a href="/docs/configuration/modify-items">string</a>
|
||||
and can have one of the following parameters:<br/>
|
||||
<table class="table">
|
||||
<tr id="verb-null">
|
||||
<td>null</td>
|
||||
<td>Specifies that the operation is the default for the selected file type.</td>
|
||||
</tr>
|
||||
<tr id="verb-open">
|
||||
<td>Open</td>
|
||||
<td>Opens a file or an application.</td>
|
||||
</tr>
|
||||
<tr id="verb-openas">
|
||||
<td>OpenAs</td>
|
||||
<td>Opener dialog when no program is associated to the extension.</td>
|
||||
</tr>
|
||||
<tr id="verb-runas">
|
||||
<td>RunAs</td>
|
||||
<td>In Windows 7 and Vista, opens the UAC dialog andin others, open the Run as... Dialog.</td>
|
||||
</tr>
|
||||
<tr id="verb-edit">
|
||||
<td>Edit</td>
|
||||
<td>Opens the default text editor for the file.</td>
|
||||
</tr>
|
||||
<tr id="verb-explore">
|
||||
<td>Explore</td>
|
||||
<td>Opens the Windows Explorer in the folder specified in Directory.</td>
|
||||
</tr>
|
||||
<tr id="verb-properties">
|
||||
<td>Properties</td>
|
||||
<td>Opens the properties window of the file.</td>
|
||||
</tr>
|
||||
<tr id="verb-print">
|
||||
<td>Print</td>
|
||||
<td>Start printing the file with the default application.</td>
|
||||
</tr>
|
||||
<tr id="verb-find">
|
||||
<td>Find</td>
|
||||
<td>Start a search.</td>
|
||||
</tr>
|
||||
</table>
|
||||
Default = <span class="syntax-keyword">open</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="wait">
|
||||
<td>Wait</td>
|
||||
<td>ni</td>
|
||||
<td>
|
||||
<p><strong>Wait</strong> for the <a href="#command">command</a>
|
||||
to complete.</p>
|
||||
Default = <span class="syntax-keyword">false</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@@ -0,0 +1,87 @@
|
||||
<h4>Settings</h4>
|
||||
<br><br>
|
||||
<p>Settings are containers for storing default values.</p>
|
||||
<pre><code class="lang-shell">settings
|
||||
{
|
||||
// show menu delay value from 0 to 4000
|
||||
showdelay = 200
|
||||
|
||||
// Prevent interaction with these windows or processes
|
||||
exclude
|
||||
{
|
||||
where = boolean value
|
||||
window = window name
|
||||
process = process name
|
||||
}
|
||||
|
||||
tip = true
|
||||
// or
|
||||
tip
|
||||
{
|
||||
enabled = true
|
||||
|
||||
// normal = [background, text]
|
||||
normal = [default, default]
|
||||
|
||||
// normal = [background, text]
|
||||
primary = [#000, #fff]
|
||||
|
||||
// info = [background, text]
|
||||
info = [#88f, #fff]
|
||||
|
||||
// success = [background, text]
|
||||
success = [#8f8, #fff]
|
||||
|
||||
// warning = [background, text]
|
||||
warning = [#ff8, #fff]
|
||||
|
||||
// danger = [background, text]
|
||||
danger = [#f88, #fff]
|
||||
|
||||
// max width value from 200 to 2000
|
||||
width = 400
|
||||
|
||||
// opacity value from 0 to 100
|
||||
opacity = 100
|
||||
|
||||
// radius size value from 0 to 3
|
||||
radius = 1
|
||||
|
||||
time = 1.5
|
||||
|
||||
padding = [8, 4]
|
||||
}
|
||||
|
||||
// Disable/Enable modify items processing
|
||||
modify
|
||||
{
|
||||
enabled = boolean value
|
||||
image = [0 = disable, 1 = enable, 2 = auto reimage]
|
||||
|
||||
// Allow/disallow modification of title
|
||||
title = boolean value
|
||||
|
||||
// Allow/disallow modification of visibility
|
||||
visibility = boolean value
|
||||
|
||||
// Allow/disallow modification of parent
|
||||
parent = boolean value
|
||||
|
||||
// Allow/disallow modification of position
|
||||
position = boolean value
|
||||
|
||||
// Allow/disallow to add separator
|
||||
separator = boolean value
|
||||
|
||||
// auto set image and group
|
||||
auto = boolean value
|
||||
}
|
||||
|
||||
// Disable/Enable new items processing
|
||||
new
|
||||
{
|
||||
enabled = boolean value
|
||||
// disable/enable image
|
||||
image = boolean value
|
||||
}
|
||||
}</code></pre>
|
||||
@@ -0,0 +1,218 @@
|
||||
<h4>Themes</h4>
|
||||
<br><br>
|
||||
<p>Theme section to customize the layout and colors of the context menu.</p>
|
||||
<pre><code class="lang-shell">theme
|
||||
{
|
||||
// theme.name = auto, classic, white, black, or modern
|
||||
name = "modern"
|
||||
|
||||
// view = auto, compact, small, medium, large, wide
|
||||
view = view.compact
|
||||
|
||||
// dark = true, false, default
|
||||
dark = default
|
||||
|
||||
background
|
||||
{
|
||||
color = color value
|
||||
opacity = value from 0 to 100
|
||||
|
||||
// effect value 0 = disable, 1 = transparent, 2 = blur, 3 = acrylic
|
||||
effect = auto
|
||||
|
||||
// for acrylic
|
||||
effect = [3, tint color, opacity]
|
||||
|
||||
gradient
|
||||
{
|
||||
enabled = boolean value
|
||||
|
||||
// linear = [x1, x2, y1, y2]
|
||||
linear = [0, 100, 0, 0]
|
||||
|
||||
// or radial = [cx, cy, r, fx, fy]
|
||||
radial =[ 100, 100, 150, 100, 100]
|
||||
|
||||
// stop = [offset, stop-color]
|
||||
stop = [0.5, color.accent, 20]
|
||||
|
||||
// or add more stop
|
||||
stop = [
|
||||
[offset, stop-color],
|
||||
[offset, stop-color],
|
||||
[offset, stop-color]
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
item
|
||||
{
|
||||
opacity = value from 0 to 100
|
||||
radius = value from 0 to 3
|
||||
|
||||
// prefix value [auto, 0 = dont display, 1 = display, 2 = ignore]
|
||||
prefix = 1
|
||||
|
||||
text
|
||||
{
|
||||
normal = color
|
||||
normal.disabled = color
|
||||
select = color
|
||||
select.disabled = color
|
||||
}
|
||||
|
||||
back
|
||||
{
|
||||
normal = color
|
||||
normal.disabled = color
|
||||
select = color
|
||||
select.disabled = color
|
||||
}
|
||||
|
||||
border
|
||||
{
|
||||
normal = color
|
||||
normal.disabled = color
|
||||
select = color
|
||||
select.disabled = color
|
||||
}
|
||||
|
||||
padding
|
||||
{
|
||||
left = value
|
||||
top = value
|
||||
right = value
|
||||
bottom = value
|
||||
}
|
||||
|
||||
margin
|
||||
{
|
||||
left = value
|
||||
top = value
|
||||
right = value
|
||||
bottom = value
|
||||
}
|
||||
}
|
||||
|
||||
border
|
||||
{
|
||||
enabled = boolean value
|
||||
size = value from 0 to 10
|
||||
color = = value
|
||||
opacity = value
|
||||
radius = value
|
||||
|
||||
padding
|
||||
{
|
||||
left = value
|
||||
top = value
|
||||
right = value
|
||||
bottom = value
|
||||
}
|
||||
}
|
||||
|
||||
shadow
|
||||
{
|
||||
enabled = boolean value
|
||||
size = value from 0 to 30
|
||||
color = value
|
||||
opacity = value from 0 to 100
|
||||
offset = value from 0 to 30
|
||||
}
|
||||
|
||||
font
|
||||
{
|
||||
size = value start from 6
|
||||
name = "tahoma"
|
||||
weight = value from 1 to 9
|
||||
italic = 0
|
||||
}
|
||||
|
||||
separator
|
||||
{
|
||||
size = value form 0 to 40
|
||||
color = value
|
||||
opacity = value
|
||||
|
||||
margin
|
||||
{
|
||||
left = value
|
||||
top = value
|
||||
right = value
|
||||
bottom = value
|
||||
}
|
||||
}
|
||||
|
||||
symbol
|
||||
{
|
||||
normal = color
|
||||
normal.disabled = color
|
||||
select = color
|
||||
select.disabled = color
|
||||
|
||||
// or
|
||||
chevron
|
||||
{
|
||||
normal = color
|
||||
normal.disabled = color
|
||||
select = color
|
||||
select.disabled = color
|
||||
}
|
||||
|
||||
checkmark
|
||||
{
|
||||
normal = color
|
||||
normal.disabled = color
|
||||
select = color
|
||||
select.disabled = color
|
||||
}
|
||||
|
||||
bullet
|
||||
{
|
||||
normal = color
|
||||
normal.disabled = color
|
||||
select = color
|
||||
select.disabled = color
|
||||
}
|
||||
}
|
||||
|
||||
image
|
||||
{
|
||||
enabled = boolean value
|
||||
|
||||
color = [color1, color2, color3]
|
||||
gap = value
|
||||
glyph = "font name" // font name for default glyph
|
||||
scale = boolean value
|
||||
align = value
|
||||
[0= Display only the check mark,1 = Display only the image,2 = Display image & checkheck mark together]
|
||||
}
|
||||
|
||||
layout
|
||||
{
|
||||
// Right-to-left layout display for Middle Eastern languages
|
||||
rtl = boolean value
|
||||
|
||||
// Align submenus
|
||||
popup = value from -20 to 20
|
||||
}
|
||||
}</code></pre>
|
||||
<h3>Padding and Margin value syntax</h3>
|
||||
<p>Use the padding shorthand property with four values:</p>
|
||||
<code>padding = [1, 2, 3, 4]</code>
|
||||
<pre class="mt-2"><code>left = 1
|
||||
right = 2
|
||||
top = 3
|
||||
bottom = 4</code></pre>
|
||||
<p>Use the padding shorthand property with two values:</p>
|
||||
<code>padding = [4, 2]</code>
|
||||
<pre class="mt-2"><code>left = 4
|
||||
right = 4
|
||||
top = 2
|
||||
bottom = 2</code></pre>
|
||||
<p>Use the padding shorthand property with one value:</p>
|
||||
<code>padding = 4</code>
|
||||
<pre class="mt-2"><code>left = 4
|
||||
right = 4
|
||||
top = 4
|
||||
bottom = 4</code></pre>
|
||||
Reference in New Issue
Block a user