Nilesoft Shell — менеджер контекстных меню для Windows
Гибких редакторов контекстных меню рабочего стола, файлов, папок, панели задач и других элементов Проводника Windows, одинаково совместимых с Windows 11, 10, 8.1 и 7 не так много. Nilesoft Shell — одна из таких бесплатных программ.
В этом обзоре о возможностях Nilesoft Shell — утилиты с открытым исходным кодом для настройки собственных контекстных меню Windows и дополнительная информация, которая может пригодиться, если вы решите разобраться с программой.
Как выглядят контекстные меню Nilesoft Shell
Ранее на сайте публиковались статьи об инструментах редактирования контекстных меню в Windows 10 и Windows 11, таких как Easy Context Menu или Custom Context Menu . Эти программы позволяют добавлять или менять пункты стандартных контекстных меню. Nilesoft Shell полностью заменяет системные контекстные меню проводника своими (но добавляет в них и стандартные системные пункты контекстного меню текущей системы):
При этом дизайн меню, как вы можете видеть из скриншотов выше, имеет «стиль Windows 11» в том числе при работе в Windows 10 (нижний скриншот) — с закругленными углами, соответствующими значками и поддержкой прозрачности.
Shell меняет меню для различных элементов Проводника Windows:
- Файлов и папок, дисков в проводнике
- Рабочего стола
- Панели задач (при этом его можно редактировать отдельно от общего меню для элементов проводника)
Всё это работает быстро и почти не вызывает дополнительной нагрузки на компьютер. Во всяком случае, в моем тесте дела обстояли именно так.
Использование Nilesoft Shell
Скачать Nilesoft Shell можно одним из следующих способов:
- Загрузив установщик с официального сайта разработчика https://nilesoft.org/download
- Используя менеджер пакетов Winget или Scoop:
winget install nilesoft.shellscoop install nilesoft-shell
- Код приложения доступен на GitHub разработчика — https://github.com/moudey/Shell
Сразу после установки контекстные меню Windows будут изменены: примеры меню рабочего стола и файлов вы могли увидеть на скриншотах выше, в них будут добавлены дополнительные пункты, такие как « Стать владельцем », пункты для изменения атрибутов файлов и другие. Дополнительно будет модифицировано контекстное меню панели задач:
С этого момента можно просто начать пользоваться новым контекстным меню, но самая интересная часть программы — возможность редактирования, создания собственных пунктов меню, команд и значков для них, изменения оформления. Учитывайте, это потребует от вас готовности разобраться в коде для описания структуры меню в Shell.
Действия по настройке меню путем редактирования файлов скриптов из папки Nilesoft Shell на собственном, сравнительно простом для понимания скриптовом языке. Здесь пригодится следующая информация:
- Чтобы попасть в папку со скриптами, удерживая Shift, нажмите правой кнопкой мыши по панели задач и выберите пункт меню Shell — Directory.
- Основной файл контекстных меню имеет имя shell.nss (редактировать можно в любом текстовом редакторе) и содержит строки для настройки оформления (например, прозрачности) и импорта модулей (таких же файлов .nss), содержащих пункты меню.
- В основном файле shell.nss содержатся несколько секций: var — для задания глобальных переменных; set — для указания глобальных настроек, например, цвета, прозрачности и других параметров оформления; static — для настройки и изменения стандартных пунктов контекстных меню; dynamic — для создания собственных пунктов контекстных меню.
- Файлы модулей контекстного меню содержатся в папке imports — вы можете изучить уже имеющиеся, чтобы разобраться в скриптовом языке или изменить их (например, поменять названия пунктов меню на русский язык).
- Собственные пункты меню можно прописать прямо в shell.nss , но лучше создать собственный файл .nss в imports, а затем прописать его импорт в разделе Dynamic главного файла контекстного меню. Контекстное меню панели задач, возможно, удобнее будет редактировать прямо в файле taskbar.nss
- Для редактирования стандартных пунктов меню можно использовать уже имеющийся файл static.nss , импорт которого прописан в разделе Static файла shell.nss. Например, следующий код в static.nss скроет стандартные пункты «Обновить» и «Персонализация», а для пункта «Сортировка» изменит имя, значок и его цвет:
item(find='"Обновить"|"Персонализация"' visibility="remove")item(find='Сортировка' title='Порядок' image=[uE010,#1096f7])
Изучить синтаксис скриптов можно как путем просмотра уже готовых файлов .nss в папке imports, так и обратившись к документации на официальном сайте , где показаны все поддерживаемые функции, способы описать свойства пунктов меню и представлена дополнительная информация.
На творчество ниже мне потребовалось около 15 минут без предварительного знакомства с синтаксисом языка, используемого в Nilesoft Shell. Некоторые из пунктов даже работают, а большая часть времени была потрачена на то, чтобы разобраться со значками для пунктов меню:
Код файла .nss для примера на изображении выглядел следующим образом:
После внесения изменений в код shell.nss и ваших модулей .nss потребуется повторно зарегистрировать меню в Проводнике, шаги будут следующими:
- Удерживая Shift нажать правой кнопкой мыши по панели задач.
- В разделе «Shell» открыть пункт «Manager».
- Нажать кнопку «Register» и подтвердить перезапуск проводника после выполнения регистрации.
Если после регистрации измененных контекстных меню стали отображаться меню Windows по умолчанию, это говорит о том, что где-то в вашем коде была ошибка: потребуется найти и исправить ошибку (либо убрать импорт вашего кода из shell.nss), запустить Shell Manager через меню Пуск или из папки с программой (от имени администратора), а затем снова выполнить регистрацию.
Краткий список возможностей при редактировании и настройке контекстных меню в NileSoft Shell:
- Использование переменных в именах пунктов меню (то есть названия пунктов могут меняться динамически), пример на скриншоте — подстановка имени папки, внутри которой производится действие в качестве части имени пункта меню:
- Настройка показа пунктов меню только для определенных элементов — папок, файлов, только при выборе одного или несколько элементов, только для файлов одного типа.
- Изменение степени прозрачности, цвета, эффекта прозрачности (в файле shell.nss)
- Добавление значков и настройка их цветов из SVG (код иконок SVG удобно прописать в images.nss и обращаться к ним по имени), символьных шрифтов (через указание кода символа и имени шрифта), файлов DLL и других файлов с графическими ресурсами. Коды встроенных значков Shell можно посмотреть на этой странице .
- Использование переменных, условных операторов.
- Встроенные функции для работы с файловой системой, реестром, окружением Windows, запуска системных утилит.
Подводя итог, Shell — один из лучших инструментов для работы с контекстными меню, которые я встречал. Если вас не смущает необходимость изучения синтаксиса используемого скриптового языка, используемого в программе — рекомендую.
Дать исчерпывающую инструкции по написанию кода в рамках этого обзора я не могу (пришлось бы переводить и адаптировать всё оригинальное руководство), но, если возникнут вопросы по реализации какой-то задумки, дайте знать в комментариях: возможно, мне или кому-то из читателей удастся вам помочь.