From 8cae3b330806fb5dd6395dd19a6de254ce000c55 Mon Sep 17 00:00:00 2001 From: Whyverum Date: Sun, 28 Dec 2025 17:14:49 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83?= =?UTF-8?q?=D1=80=D0=B0=D1=86=D0=B8=D1=8F=20=D0=BA=D0=BE=D0=BD=D1=82=D0=B5?= =?UTF-8?q?=D0=BA=D1=81=D1=82=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- imports/develop.nss | 135 ++++++++ imports/file-manage.nss | 12 + imports/goto.nss | 88 ++++++ imports/images.nss | 682 ++++++++++++++++++++++++++++++++++++++++ imports/modify.nss | 44 +++ imports/taskbar.nss | 39 +++ imports/terminal.nss | 13 + imports/theme.nss | 12 + shell.nss | 28 ++ 10 files changed, 1054 insertions(+), 1 deletion(-) create mode 100644 imports/develop.nss create mode 100644 imports/file-manage.nss create mode 100644 imports/goto.nss create mode 100644 imports/images.nss create mode 100644 imports/modify.nss create mode 100644 imports/taskbar.nss create mode 100644 imports/terminal.nss create mode 100644 imports/theme.nss create mode 100644 shell.nss diff --git a/README.md b/README.md index f1f4d3a..e77004a 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ # PrimoShell -Улушчение Nielton Shell \ No newline at end of file +Улушчение Nielton Shell diff --git a/imports/develop.nss b/imports/develop.nss new file mode 100644 index 0000000..ceef3bb --- /dev/null +++ b/imports/develop.nss @@ -0,0 +1,135 @@ +menu(mode="single" title='&Разработчик' sep=sep.bottom image=\uE26E) +{ + // Editors + menu(title='Редакторы' mode="single" image=\uE17A) + { + item(title='Visual Studio Code' image=[\uE272, #22A7F2] cmd='code' args='"@sel.path"') + item(title='Visual Studio' image=[\uE273, #7160E8] cmd='devenv' args='"@sel.path"') + item(title='PyCharm' image=[\uE230, #FFFFFF] cmd='pycharm' args='"@sel.path"') + item(title='IntelliJ IDEA' image=[\uE22E, #FFFFFF] cmd='idea' args='"@sel.path"') + sep + item(title='Notepad++' image=[\uE1BD, #FFFFFF] cmd='notepad++' args='"@sel.path"') + item(type='file' mode="single" title='Windows notepad' image cmd='@sys.bin\notepad.exe' args='"@sel.path"') + item(type='file' mode="single" title='Notepad++' image cmd='notepad++' args='"@sel.path"') + } + + // Git + menu(type='~file' mode="single" title='git' image=\uE22A) + { + item(title='git clone' cmd-line='cmd /c "C:\Program Files\Nilesoft Shell\scripts\git-clone.bat"') + item(title='git status' cmd-line='/K git status') + item(title='git log' cmd-line='/K git log') + item(title='git diff' cmd-line='/K git diff') + item(title='git add .' cmd-line='/K git add .') + item(title='git commit' cmd-line='/K git commit') + item(title='git push' cmd-line='/K git push') + item(title='git pull' cmd-line='/K git pull') + sep + item(title='git config' cmd-line='/K git config --list') + item(title='git help' cmd-line='/K git --help') + } + menu(type='file' mode="single" title='git' image=\uE22A) + { + item(title='git add "@sel.file.name"' type='file' cmd-line='/K git add "@sel.path"') + } + + // Npm + menu(type='~file' mode="single" title='npm' image=\uE229) + { + item(title='npm init' cmd-line='/K npm init') + item(title='npm install' cmd-line='/K npm install') + sep + item(title='npm start' cmd-line='/K npm start') + item(title='npm test' cmd-line='/K npm test') + item(title='npm run build' cmd-line='/K npm run build') + item(title='npm run dev' cmd-line='/K npm run dev') + } + + // Docker + menu(type='~file' mode="single" title='docker' image=\uE24B) + { + item(title='Docker Desktop' cmd='C:\Program Files\Docker\Docker\Docker Desktop.exe') + item(title='Docker Hub' cmd='https://hub.docker.com/') + sep + item(title='docker container ls' cmd-line='/K docker container ls') + item(title='docker image ls' cmd-line='/K docker image ls') + item(title='docker volume ls' cmd-line='/K docker volume ls') + item(title='docker network ls' cmd-line='/K docker network ls') + sep + item(title='docker-compose up' cmd-line='/K docker-compose up') + item(title='docker-compose up -d' cmd-line='/K docker-compose up -d') + item(title='docker-compose down' cmd-line='/K docker-compose down') + item(title='docker-compose build' cmd-line='/K docker-compose build') + sep + item(title='docker system prune' cmd-line='/K docker system prune') + item(title='docker image prune' cmd-line='/K docker image prune') + item(title='docker volume prune' cmd-line='/K docker volume prune') + item(title='docker network prune' cmd-line='/K docker network prune') + } + menu(type='file' mode="single" title='docker' image=\uE24B) + { + item(title='docker-compose -f "@sel.file.name" up' type='file' cmd-line='/K docker-compose -f "@sel.path" up') + item(title='docker-compose -f "@sel.file.name" up -d' type='file' cmd-line='/K docker-compose -f "@sel.path" up -d') + item(title='docker-compose -f "@sel.file.name" down' type='file' cmd-line='/K docker-compose -f "@sel.path" down') + } + + menu(mode="multiple" title='dotnet' image=\uE143) + { + item(title='run' cmd-line='/K dotnet run' image=\uE149) + item(title='watch' cmd-line='/K dotnet watch') + item(title='clean' image=\uE0CE cmd-line='/K dotnet clean') + sep + item(title='build debug' cmd-line='/K dotnet build') + item(title='build release' cmd-line='/K dotnet build -c release /p:DebugType=None') + + menu(mode="multiple" sep="both" title='publish' image=\ue11f) + { + $publish='dotnet publish -r win-x64 -c release --output publish /*/p:CopyOutputSymbolsToPublishDirectory=false*/' + item(title='publish single file' sep="after" cmd-line='/K @publish --no-self-contained /p:PublishSingleFile=true') + item(title='framework-dependent deployment' cmd-line='/K @publish') + item(title='framework-dependent executable' cmd-line='/K @publish --self-contained false') + item(title='self-contained deployment' cmd-line='/K @publish --self-contained true') + item(title='single-file' cmd-line='/K @publish /p:PublishSingleFile=true /p:PublishTrimmed=false') + item(title='single-file-trimmed' cmd-line='/K @publish /p:PublishSingleFile=true /p:PublishTrimmed=true') + } + + item(title='ef migrations add InitialCreate' cmd-line='/K dotnet ef migrations add InitialCreate') + item(title='ef database update' cmd-line='/K dotnet ef database update') + sep + item(title='help' image=\uE136 cmd-line='/k dotnet -h') + item(title='version' cmd-line='/k dotnet --info') + } + + // File system + menu(type='file|dir|drive|namespace|back|desktop' mode="single" title='file system' image=\uE043) + { + item(type='file|dir|back.dir|drive|desktop' title='Передать права' image=[\uE194,#f00] admin + cmd args='/K takeown /f "@sel.path" @if(sel.type==1,null,"/r /d y") && icacls "@sel.path" /grant *S-1-5-32-544:F @if(sel.type==1,"/c /l","/t /c /l /q")') + menu(type='file|dir|back.dir|desktop' mode="single" title='Атрибуты') + { + $atrr = io.attributes(sel.path) + item(title='Скрытый' checked=io.attribute.hidden(atrr) + cmd args='/c ATTRIB @if(io.attribute.hidden(atrr),"-","+")H "@sel.path"' window=hidden) + + item(title='Системный' checked=io.attribute.system(atrr) + cmd args='/c ATTRIB @if(io.attribute.system(atrr),"-","+")S "@sel.path"' window=hidden) + + item(title='Для чтения' checked=io.attribute.readonly(atrr) + cmd args='/c ATTRIB @if(io.attribute.readonly(atrr),"-","+")R "@sel.path"' window=hidden) + + item(title='Архив' checked=io.attribute.archive(atrr) + cmd args='/c ATTRIB @if(io.attribute.archive(atrr),"-","+")A "@sel.path"' window=hidden) + sep + item(title="Создан" keys=io.dt.created(sel.path, 'y/m/d') cmd=io.dt.created(sel.path,2000,1,1)) + item(title="Изменен" keys=io.dt.modified(sel.path, 'y/m/d') cmd=io.dt.modified(sel.path,2000,1,1)) + item(title="Получен" keys=io.dt.accessed(sel.path, 'y/m/d') cmd=io.dt.accessed(sel.path,2000,1,1)) + } + sep + menu(sep="after" title=title.copy_path image=icon.copy_path) + { + item(mode="single" title=@sel.path tip=sel.path cmd=command.copy(sel.path)) + item(mode="single" type="~file" sep=before where=@sel.parent.len>3 title=sel.parent cmd=@command.copy(sel.parent)) + item(mode="single" type='file|dir|back.dir' sep=before title=sel.file.name cmd=command.copy(sel.file.name)) + } + } +} \ No newline at end of file diff --git a/imports/file-manage.nss b/imports/file-manage.nss new file mode 100644 index 0000000..c610b8d --- /dev/null +++ b/imports/file-manage.nss @@ -0,0 +1,12 @@ +menu(where=sel.count>0 type='file|dir|drive|namespace|back' mode="multiple" title=title.copy_path image=icon.copy_path) + { + item(where=sel.count > 1 title='Copy (@sel.count) items selected' cmd=command.copy(sel(false, "\n"))) + item(mode="single" title=@sel.path tip=sel.path cmd=command.copy(sel.path)) + item(mode="single" type='file' separator="before" find='.lnk' title='open file location') + separator + item(mode="single" where=@sel.parent.len>3 title=sel.parent cmd=@command.copy(sel.parent)) + separator + item(mode="single" type='file|dir|back.dir' title=sel.file.name cmd=command.copy(sel.file.name)) + item(mode="single" type='file' where=sel.file.len != sel.file.title.len title=@sel.file.title cmd=command.copy(sel.file.title)) + item(mode="single" type='file' where=sel.file.ext.len>0 title=sel.file.ext cmd=command.copy(sel.file.ext)) +} \ No newline at end of file diff --git a/imports/goto.nss b/imports/goto.nss new file mode 100644 index 0000000..d408a04 --- /dev/null +++ b/imports/goto.nss @@ -0,0 +1,88 @@ +menu(where=sel.count>0 type='file|dir|drive|namespace|back' mode="multiple" title=title.copy_path image=icon.copy_path) + { + item(where=sel.count > 1 title='Copy (@sel.count) items selected' cmd=command.copy(sel(false, "\n"))) + item(mode="single" title=@sel.path tip=sel.path cmd=command.copy(sel.path)) + item(mode="single" type='file' separator="before" find='.lnk' title='open file location') + separator + item(mode="single" where=@sel.parent.len>3 title=sel.parent cmd=@command.copy(sel.parent)) + separator + item(mode="single" type='file|dir|back.dir' title=sel.file.name cmd=command.copy(sel.file.name)) + item(mode="single" type='file' where=sel.file.len != sel.file.title.len title=@sel.file.title cmd=command.copy(sel.file.title)) + item(mode="single" type='file' where=sel.file.ext.len>0 title=sel.file.ext cmd=command.copy(sel.file.ext)) + } + +//menu(type='*' where=window.is_taskbar||sel.count mode=mode.multiple title=title.go_to sep=sep.both image=\uE14A) +//{ + //menu(title='Folder' image=\uE1F4) + //{ + //item(title='Windows' image=inherit cmd=sys.dir) + //item(title='System' image=inherit cmd=sys.bin) + //item(title='Program Files' image=inherit cmd=sys.prog) + //item(title='Program Files x86' image=inherit cmd=sys.prog32) + //item(title='ProgramData' image=inherit cmd=sys.programdata) + //item(title='Applications' image=inherit cmd='shell:appsfolder') + //item(title='Users' image=inherit cmd=sys.users) + //separator + //item(title='@user.name@@@sys.name' vis=label) + //item(title='Desktop' image=inherit cmd=user.desktop) + //item(title='Downloads' image=inherit cmd=user.downloads) + //item(title='Pictures' image=inherit cmd=user.pictures) + //item(title='Documents' image=inherit cmd=user.documents) + //item(title='Startmenu' image=inherit cmd=user.startmenu) + //item(title='Profile' image=inherit cmd=user.dir) + //item(title='AppData' image=inherit cmd=user.appdata) + //item(title='Temp' image=inherit cmd=user.temp) + //} + + //menu(where=sel.count>0 type='file|dir|drive|namespace|back' mode="multiple" title=title.copy_path image=icon.copy_path) + //{ + //item(where=sel.count > 1 title='Copy (@sel.count) items selected' cmd=command.copy(sel(false, "\n"))) + //item(mode="single" title=@sel.path tip=sel.path cmd=command.copy(sel.path)) + //item(mode="single" type='file' separator="before" find='.lnk' title='open file location') + //separator + //item(mode="single" where=@sel.parent.len>3 title=sel.parent cmd=@command.copy(sel.parent)) + //separator + //item(mode="single" type='file|dir|back.dir' title=sel.file.name cmd=command.copy(sel.file.name)) + //item(mode="single" type='file' where=sel.file.len != sel.file.title.len title=@sel.file.title cmd=command.copy(sel.file.title)) + //item(mode="single" type='file' where=sel.file.ext.len>0 title=sel.file.ext cmd=command.copy(sel.file.ext)) + //} + + //item(title=title.control_panel image=\uE0F3 cmd='shell:::{5399E694-6CE5-4D6C-8FCE-1D8870FDCBA0}') + //item(title='Панель администратора' image=\uE0F3 cmd='shell:::{ED7BA470-8E54-465E-825C-99712043E01C}') + //item(title=title.run image=\uE14B cmd='shell:::{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}') + //menu(where=sys.ver.major >= 10 title=title.settings sep=sep.before image=\uE0F3) + //{ + // https://docs.microsoft.com/en-us/windows/uwp/launch-resume/launch-settings-app + //item(title='system' image=inherit cmd='ms-settings:') + //item(title='about' image=inherit cmd='ms-settings:about') + //item(title='your-info' image=inherit cmd='ms-settings:yourinfo') + //item(title='system-info' image=inherit cmd-line='/K systeminfo') + //item(title='search' cmd='search-ms:' image=inherit) + //item(title='usb' image=inherit cmd='ms-settings:usb') + //item(title='windows-update' image=inherit cmd='ms-settings:windowsupdate') + //item(title='windows-defender' image=inherit cmd='ms-settings:windowsdefender') + //menu(title='apps' image=inherit) + //{ + //item(title='apps-features' image=inherit cmd='ms-settings:appsfeatures') + //item(title='default-apps' image=inherit cmd='ms-settings:defaultapps') + //item(title='optional-features' image=inherit cmd='ms-settings:optionalfeatures') + //item(title='startup' image=inherit cmd='ms-settings:startupapps') + //} + //menu(title='personalization' image=inherit) + //{ + //item(title='personalization' image=inherit cmd='ms-settings:personalization') + //item(title='lockscreen' image=inherit cmd='ms-settings:lockscreen') + //item(title='background' image=inherit cmd='ms-settings:personalization-background') + //item(title='colors' image=inherit cmd='ms-settings:colors') + //item(title='themes' image=inherit cmd='ms-settings:themes') + //item(title='start' image=inherit cmd='ms-settings:personalization-start') + //item(title='taskbar' image=inherit cmd='ms-settings:taskbar') + //} + //menu(title='network' image=inherit) + //{ + //item(title='status' image=inherit cmd='ms-settings:network-status') + //item(title='ethernet' image=inherit cmd='ms-settings:network-ethernet') + //item(title='connections' image=inherit cmd='shell:::{7007ACC7-3202-11D1-AAD2-00805FC1270E}') + //} + //} +//} diff --git a/imports/images.nss b/imports/images.nss new file mode 100644 index 0000000..c92fab8 --- /dev/null +++ b/imports/images.nss @@ -0,0 +1,682 @@ +$color3 = @if(theme.islight,image.color3,'none') +$color_islight_WB = @if(theme.islight,'#fff','#000') +$clipPath='' +$svg_window_template2='' +$svg_window_template='' + +@copy,copy_to_clipboard=' + + + + +' + +@cut=' + + + + + + @clipPath +' + +@paste=' + + + + + +' + +@paste_shortcut=' + + + + + +' + +@move_to, move_here=' + + + + + +' + +@copy_as_path, copy_path=' + + + + + +' + +@settings, options, folder_options, taskbar_settings=' + + + + + @clipPath +' + +@task_manager=' + + +' + +@run_as_administrator=' + + + + + + @clipPath +' + +@run_as_different_user, run_as_another_user=' + + + +' + +@personalize=' + + + + + + + @clipPath +' + +@display_settings=' + + + +' + +// pin +@pin, pin_to_start, pin_to_taskbar, pin_to_quick_access, pin_current_folder_to_quick_access, pin_to_start_menu=' + + + +' + +// unpin +@unpin, unpin_from_start, unpin_from_taskbar, unpin_from_quick_access, remove_from_quick_access, remove_from_recent, unpin_from_start_menu=' + + + + + + + + + @clipPath +' + +@add_to_favorites=' + + +' + +@remove_from_favorites=' + + + + + + + + @clipPath +' + +@delete, permanently_delete, empty_recycle_bin=' + + + +' + +@sort_by=' + + + + + + + @clipPath +' + +@group_by=' + + +' + +@view=' + + + + + + + + +' + +@view2=' + + +' + +@align_icons_to_grid=' + + + +' + +@auto_arrange_icons=' + + +' + +@close, cancel=' + +' + +@expand=' + + + +' + +@expand_all, expand_group, expand_all_groups=' + + + + + + + @clipPath +' + +@collapse=' + + + +' + +@collapse_all, collapse_group, collapse_all_groups=' + + + + + + + @clipPath +' + +@format=' + + + + + + + + + + + +' + +@eject=' + + + + + @clipPath +' + +@content=' + + + + + + +' + +@details=' + +' + +@extra_large_icons=' + + +' + +@large_icons=' + + +' + +@list=' + +' + +@medium_icons=' + + +' + +@small_icons=' + + + + + + + + +' + +@tiles=' + + + + +' +@install=' + +' + +@select_all, 'Выбрать все'=' + + + +' + +@invert_selection=' + + + + +' + +@select_none=' + + +' + +@share, share_with=' + + + +' + +@mount=' + + + + + + + + + @clipPath +' + +@new, new_item=' + + + +' + +@new_folder=' + + + + +' + +@new_file=' + + +' + +@open_folder,open_folder_location, open_file_location, open_as_portable=' + + +' + +@open_new_window, open_in_new_window, open_in_new_process=' + + +' + +@open_new_tab, open_in_new_tab=' + + + +' + +@open_spot_light=' + + +' + +@open_with=' + + + + + + + @clipPath +' + +@run_with_powershell, open_windows_powershell, open_powershell_window_here,windows_powershell,windows_powershell_admin=' + + + +' + +@properties=' + + + + + @clipPath +' + +@restore=' + + + + @clipPath +' + +@undo, undo_copy, undo_move, undo_delete, undo_rename, undo_new, undo_apply_properties=' + + + + + @clipPath +' + +@redo, redo_copy, redo_move, redo_delete, redo_rename, redo_new, redo_apply_properties=' + + + + + @clipPath +' + +@refresh=' + + +' + +@rename=' + + + + +' + +@rotate_left=' + + + +' + +@rotate_right=' + + + +' + +@set_as_desktop_wallpaper, set_as_desktop_background=' + + + + +' + +@next_desktop_background=' + + + + + + +' + +@desktop, show_desktop, show_desktop_icons,show_the_desktop=' + + + + + + + @clipPath +' + +@restore_previous_versions=' + + +' + +@create_shortcut, create_shortcuts_here=' + + + +' + +@turn_on_bitlocker, turn_off_bitlocker=' + + + + + + + + @clipPath +' + +@show_file_extensions=' + + + + +' + +@show_hidden_files=' + + + +' + +@compressed=' + + + +' + +@more_options=' + + + +' + +@burn_disc_image=' + + + + +' + +@cleanup=' + + + + + + + + @clipPath +' + +@move, move_to, move_here,move_to_folder, extract_all, extract_to=' + + + + + +' + +@copy_to,copy_to_folder,copy_here=' + + + + +' + +@pc,this_pc=' + + + + +' + +@command_prompt,command_prompt_admin,open_command_prompt,open_command_window_here=' + @svg_window_template + +' + +@manage=' + + +' + +@edit=' + +' + +@troubleshoot_compatibility=' + @svg_window_template2 + + +' + +@customize_this_folder=' + +' + +@give_access_to=' + + +' + +@send_to=' + +' + +@include_in_library=' + +' + +@add_a_network_location=' + + + + + +' + +@disconnect_network_drive=' + + + + + + + + + @clipPath +' + +@map_network_drive=' + + + + + + +' + +@make_available_offline=' + + + + + +' + +@make_available_online=' + + +' + +@file_explorer=' + + +' + +@file_explorer_options=' + + +' + +@print=' + +' + +@device_manager=' + + +' + +@disk_management=' + + +' + +@filter=' + +' + +@window =' + @svg_window_template +' + +@code=' + + + +' + +@reddit=' + +' + +@cortana,show_cortana_button=' + + +' + +@nvidia=' + + +' diff --git a/imports/modify.nss b/imports/modify.nss new file mode 100644 index 0000000..018233e --- /dev/null +++ b/imports/modify.nss @@ -0,0 +1,44 @@ +// modify items +// Remove items by identifiers +modify(mode=mode.multiple + where=this.id(id.restore_previous_versions,id.cast_to_device) + vis=vis.remove) + +modify(type="recyclebin" where=window.is_desktop and this.id==id.empty_recycle_bin pos=1 sep) + +modify(find="unpin*" pos="bottom" menu="Pin/Unpin") +modify(find="pin*" pos="top" menu="Pin/Unpin") + +modify(where=this.id==id.copy_as_path menu="file manage") +modify(type="dir.back|drive.back" where=this.id==id.customize_this_folder pos=1 sep="top" menu="file manage") + +modify(where=str.equals(this.name, ["open in terminal", "open linux shell here"]) || this.id==id.open_powershell_window_here + pos="bottom" menu="Terminal") + +modify(mode=mode.multiple + where=this.id( + id.send_to, + id.share, + id.create_shortcut, + id.set_as_desktop_background, + id.rotate_left, + id.rotate_right, + id.map_network_drive, + id.disconnect_network_drive, + id.format, + id.eject, + id.give_access_to, + id.include_in_library, + id.print + ) + pos=1 menu=title.more_options) + +remove(find="NVIDIA Control Panel") +remove(find="Open MobaXterm terminal here") +remove(find="Find text using MobaFind") +remove(find="Открыть с помощью Visual Studio") +remove(find="Открыть с помощью Code") +remove(find="Открыть в Терминале") +remove(find="Compare using MobaDiff") +remove(find="Диспетчер экрана") +remove(find="Добавить в избранное") diff --git a/imports/taskbar.nss b/imports/taskbar.nss new file mode 100644 index 0000000..278056b --- /dev/null +++ b/imports/taskbar.nss @@ -0,0 +1,39 @@ +menu(type="taskbar" vis=key.shift() or key.lbutton() pos=0 title='PrimoShell' image=\uE249) +{ + item(title="Конфиг" image=\uE10A cmd='"@app.cfg"') + item(title="Открыть" image=\uE148 admin cmd='"@app.exe"') + item(title="Расположение" image=\uE0E8 cmd='"@app.dir"') + item(title="Версия\t"+@app.ver vis=label col=1) + item(title="Документация" image=\uE1C4 cmd='https://nilesoft.org/docs') + item(vis=key.shift() title='Перезагрузка' image=\uE025 cmd=command.restart_explorer) +} +menu(where=@(this.count == 0) type='taskbar' image=icon.settings expanded=true) +{ + menu(title="Приложения" image=\uE254) + { + item(title='Paint' image=\uE116 cmd='mspaint') + item(title='Edge' image cmd='@sys.prog32\Microsoft\Edge\Application\msedge.exe') + item(title='Калькулятор' image=\ue1e7 cmd='calc.exe') + item(title=str.res('regedit.exe,-16') image cmd='regedit.exe') + } + //menu(title=title.windows image=\uE1FB) + //{ + //item(title=title.cascade_windows cmd=command.cascade_windows) + //item(title=title.Show_windows_stacked cmd=command.Show_windows_stacked) + //item(title=title.Show_windows_side_by_side cmd=command.Show_windows_side_by_side) + //sep + //item(title=title.minimize_all_windows cmd=command.minimize_all_windows) + //item(title=title.restore_all_windows cmd=command.restore_all_windows) + //} + item(title=title.desktop image=icon.desktop cmd=command.toggle_desktop) + item(title=title.settings image=icon.settings(auto, image.color1) cmd='ms-settings:') + item(title='Диспетчер задач' sep=both image=icon.task_manager cmd='taskmgr.exe') + //item(title='Настройки панели' sep=both image=inherit cmd='ms-settings:taskbar') +} + +menu(type='taskbar' image=\uE12F expanded=fals) +{ +item(title='Выключить' sep=both image=\uE12F cmd-ps='shutdown /s /f /t 0') +item(title='Перезагрузить' sep=both image=\uE094 cmd-ps='shutdown /r') +item(title='Выйти' sep=both image=\uE1F6 cmd-ps='shutdown /l') +} diff --git a/imports/terminal.nss b/imports/terminal.nss new file mode 100644 index 0000000..8f8581e --- /dev/null +++ b/imports/terminal.nss @@ -0,0 +1,13 @@ +menu(type='*' where=(sel.count or wnd.is_taskbar or wnd.is_edit) title=title.terminal sep='top' image=icon.run_with_powershell) +{ + $tip_run_admin=["\xE1A7 Press SHIFT key to run " + this.title + " as administrator", tip.warning, 1.0] + $has_admin=key.shift() or key.rbutton() + + item(where=package.exists("WindowsTerminal") title=title.Windows_Terminal tip=tip_run_admin admin=has_admin image='@package.path("WindowsTerminal")\WindowsTerminal.exe' cmd='wt.exe' arg='-d "@sel.path\."') + item(title=title.windows_powershell admin=has_admin tip=tip_run_admin image cmd='powershell.exe' args='-noexit -command Set-Location -Path "@sel.dir\."') + item(title="MobaXterm" tip=tip_run_admin admin=has_admin image cmd=`mobaxterm.exe`) + item(title=title.command_prompt tip=tip_run_admin admin=has_admin image cmd='cmd.exe' args='/K TITLE Command Prompt &ver& PUSHD "@sel.dir"') + item(title="WSL" tip=tip_run_admin admin=has_admin image cmd=`wsl.exe`) + item(title="Git Bash" tip=tip_run_admin admin=has_admin tip=tip_run_admin image cmd=`"C:\Program Files\Git\git-bash.exe"`) + item(title="PowerShell 7" tip=tip_run_admin admin=has_admin image cmd=`pwsh.exe`) +} diff --git a/imports/theme.nss b/imports/theme.nss new file mode 100644 index 0000000..ac8a6dd --- /dev/null +++ b/imports/theme.nss @@ -0,0 +1,12 @@ +theme +{ + name="modern" + dark=auto + background + { + color=auto + opacity=auto + effect=auto + } + image.align=2 +} diff --git a/shell.nss b/shell.nss new file mode 100644 index 0000000..babc61f --- /dev/null +++ b/shell.nss @@ -0,0 +1,28 @@ +settings +{ + priority=1 + exclude.where = !process.is_explorer + showdelay = 120 + // Options to allow modification of system items + modify.remove.duplicate=1 + tip.enabled=true +} + +import 'imports/theme.nss' +import 'imports/images.nss' + +import 'imports/modify.nss' + +menu(mode="multiple" title="Pin/Unpin" image=icon.pin) +{ +} + +menu(mode="multiple" title=title.more_options image=icon.more_options) +{ +} + +import 'imports/terminal.nss' +//import 'imports/file-manage.nss' +import 'imports/develop.nss' +import 'imports/goto.nss' +import 'imports/taskbar.nss'