Nilesoft Shell lets you shape the Windows File Explorer context menu around the files and tasks you use. Nilesoft Shell Config combines menu entries, matching rules, expressions, and appearance settings in plain text. Nilesoft Shell Themes can coordinate menu density, colors, and backgrounds with the rest of the desktop.
Keep appearance decisions separate from the commands that perform work.
This makes it easier to change a palette without accidentally changing a menu action.
The active configuration uses the NSS language and normally lives in shell.nss.
The configuration overview in index.html explains the document structure. Appearance properties are described in themes.html. Behavior defaults, including menu delay and exclusions, are covered by settings.html.
This NSS fragment requests a small modern menu with a dark appearance. Merge it into the existing theme section rather than adding a competing second section.
theme
{
name = 'modern'
view = view.small
dark = true
}A compact layout should still leave labels and separators easy to distinguish. Review the result at your normal display scaling and with long filenames selected.
The supplied theme samples use the older .shl format and a shell/default structure.
Use them as visual references; their syntax should not be assumed to match a current NSS configuration.
- blue.shl explores a blue palette with a contrasting frame.
- green.shl uses dark text against green menu colors.
- gray.shl demonstrates neutral text and background values.
- yellow.shl combines yellow accents with darker text states.
Color and glyph demonstrations are also supplied in colors.shl and glyphs.shl. Compare the design ideas, then express the chosen settings using documentation for your installed release.
A useful selection menu should make the result of each command predictable. Copying a quoted location is convenient when pasting a path containing spaces into another tool. Copying a name without its extension serves a different purpose, such as naming a related document.
The following NSS submenu is restricted to a single selected file or directory. Place the fragment alongside other custom menu definitions in the active configuration.
menu(type='file|dir' mode='single' title='Selection tools')
{
item(title='Copy quoted location' cmd=clipboard.set(sel(true)))
item(title='Copy name without extension' cmd=clipboard.set(sel.path.name))
}The first item copies the selection with quotation marks. The second copies its name without an extension. Neither item renames, moves, or opens the selected object.
Entry and submenu declarations are documented in new-items.html. Selection values and quoting options are described in sel.html. Clipboard access is documented separately in clipboard.html.
Test the two commands with a filename containing spaces before adding more actions. Then check that the submenu is absent when the selection does not meet its single-item scope.
Expressions let a menu react to its context instead of showing every command everywhere. A file operation, a desktop shortcut, and a taskbar action can each have a different scope.
For nilesoft shell customization, define the intended scope before adding a visibility expression. That keeps a missing menu item easier to explain when several conditions are involved.
- Object type limits where the entry belongs.
- Selection mode distinguishes one object from several.
- Visibility expressions refine when the entry appears.
- Command expressions determine what happens after selection.
The property reference in properties.html groups validation, filtering, and processing options. Shared values can be named using the rules in variables.html. Comparisons and logical combinations are described in operators.html.
String handling deserves attention when a command receives a filename. The language distinguishes quoted strings and supports interpolation or escapes according to quote style. Read string.html before combining labels with expression values.
For path composition, use the documented functions in path.html. Text transformations are covered in str.html. These references help keep path operations distinct from changes made only to a displayed label.
The nilesoft shell context menu customizer can add entries and alter existing ones. Those operations serve different goals and should be reviewed separately.
| Menu element | Purpose | Typical scope | Effect on existing entries |
|---|---|---|---|
| Item | Perform one named action | Selected file or folder | Adds a separate command |
| Menu | Group related commands | Matching objects or a desktop context | Adds a submenu |
| Separator | Divide groups visually | Inside a menu | Adds a visual boundary |
| Modify rule | Change a matching existing entry | Defined by its matching properties | Alters the matched entry |
| Remove rule | Omit an existing entry | Defined by its matching properties | Removes the matched menu entry |
Modification and removal rules are described in modify-items.html. A broad match can affect more entries than intended, especially when several titles contain similar words. Check one target at a time before extending a rule to other applications.
The command reference in command.html documents built-in actions. Image sources and image-related functions are described in image.html. Keep an action's label meaningful even when its icon is unavailable.
Review more than the appearance of an empty desktop menu. A configuration can look balanced there while becoming crowded beside a long file selection.
Use a short review list when comparing revisions:
- A single file exposes commands intended for that file.
- Multiple files do not inherit an action designed for one object.
- Directory entries remain distinct from file-only actions.
- Long labels remain readable without relying on icon color.
- Separators divide useful groups rather than surrounding every item.
This selection contains documentation, theme examples, images, and package materials.
It does not include the C++ implementation or an active shell.nss file.
The examples above are configuration fragments for an installed copy of Nilesoft Shell.
The favorites example in favorites.html illustrates grouped application and directory shortcuts. The taskbar example in taskbar.html illustrates commands in another menu context. Some bundled examples use older syntax, so compare them with the current documentation before reuse.
After an NSS edit, hold Ctrl while opening the desktop or taskbar context menu to reload the configuration.
Configuration errors are recorded in shell.log in the application's directory.
Correct an error before introducing another unrelated change.
The native CLI also provides an Explorer restart option. The PowerShell example below targets the default application location; adjust it for a portable or custom location. It restarts Windows Explorer, including the desktop shell and taskbar.
$shellExecutable = 'C:\Program Files\Nilesoft Shell\shell.exe'
& $shellExecutable -restartUse the reload gesture for ordinary configuration edits. Use the restart command when you specifically intend to restart Explorer.
The upstream project lists Windows 7, 8, 10, and 11. Menu behavior can differ between Windows versions and between classic and modern context-menu surfaces.
Check the installed release before adopting a theme or an example from another revision. Windows 11's modern menu and the Shell-managed menu should both be considered when testing expected access.
Other context-menu tools may also modify entries or their registration. If an entry is missing, check its object scope, visibility rules, and any earlier changes made by another manager.
Nilesoft Shell Config, Nilesoft Shell Themes, nilesoft shell, nilesoft shell customization, nilesoft shell context menu customizer, context-menu, file-explorer, nilesoft-shell, right-click, shell-extension, windows, windows-11, explorer, shell

