Giter Site home page Giter Site logo

moudey / shell Goto Github PK

View Code? Open in Web Editor NEW
2.6K 22.0 80.0 4.16 MB

Powerful context menu manager for Windows File Explorer

Home Page: https://nilesoft.org

License: MIT License

NWScript 28.02% PowerShell 0.23% Batchfile 0.11% C++ 68.10% C 3.54%
context-menu file-explorer right-click shell-extension nilesoft-shell

shell's Introduction

Ceasefire Now

Powerful manager for Windows File Explorer context menu.



This repository is used to report issues.
You're also welcome to join the Nilesoft forum for a discussion.

Details

Shell is a context menu extender that lets you handpick the items to integrate into the Windows File Explorer context menu, create custom commands to access all your favorite web pages, files, and folders, and launch any application directly from the context menu.
It also provides you a convenient solution to modify or remove any context menu item added by the system or third-party software.

Features

  • Lightweight, portable, and relatively easy to use.
  • Fully customize the appearance.
  • Adding new custom items such as (sub-menu, menu-items, and separator).
  • Modify or remove items that already exist.
  • Support all file system objects, including files, folders, desktop, and the taskbar.
  • Support expressions syntax. with built-in functions and predefined variables.
  • Support colors, glyphs, SVG, embedded icons, and image files such as .ico, .png or .bmp.
  • Support search and filter.
  • Support for complex nested menus.
  • Support multiple columns.
  • Quickly and easily configure file in plain text.
  • Minimal resource usage.
  • No limitations.

Requirements

  • Microsoft Windows 7/8/10/11

Documentation

Browse the online documentation here.

Download

Download the latest version:
https://nilesoft.org/download

Screenshots








Donate

If you really love Shell and would like to see it continue to improve.

Paypal BuyMeACoffee

Sponsors

RubicBG, hiranokite, SteffanDonal, Ousseynou SANKHARE

shell's People

Contributors

ahmad70701 avatar alaestor avatar bolens avatar cattte avatar hank-morelock avatar hiranokite avatar krishnakumar59 avatar lunatic-gh avatar marciozomb13 avatar martin-rueegg avatar mjbelow avatar moudey avatar mrsuperx13 avatar mrtrizer avatar nitz avatar rubicbg avatar steindvart avatar venusgirl avatar x0rzavi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shell's Issues

How would I add a menu option that allows for creating file hashes?

Hello there!

I would like to be able to add a file-hashing submenu into the Nilesoft context menu, specifically below the file manage submenu. How would I do that?
image_9

Also, which programming language should I use for shell.shl? I am having a hard time understanding how everything works here, C# seems to be only working one for me currently.
(VSCodium)R403U2_10-26-2022

Where to find all the glyphs addresses?

  • So I want to assign some of these beautiful icons/glyphs for my customized menu items but I don't know how to address them? Not in the documentation.
  • The option 'glyph explorer' does not exist in my Shell menu of taskbar?
  • I noticed that Shell does not affect some of the default Windows menus (i.e. Right-click menu on the explorer's top controls bar, Context menus of the address bar 1 & 2. So are there any plans to cover such menus in the future?

Thank you.

no effect

I love the idea behind this software but I can't seem to get it to run

I downloaded Shell (the 64-bit version), ran the exe as an admin and hit the Register button. The registration was reported as successful and I restarted Explorer. But my context menu is unchanged. I also tried replacing the shell.shl file with the Hello World example and redid all the steps: still no result. Any idea what I could be doing wrong?

I'm on Windows 11 22000.376.

Custom icons

Hi is there any easy way to force icons onto certan things as some apps dont show a icon and others also dont show

Can i remove system options?

I want to have a clean context menu with only the things i need. Can i remove system options such as View, Sort by and group by with shell? I think these are system options because i couldnt find them in shell.shl.

When explorer.exe is launched with arguments, Shell will prevent it from exiting normally

Launching explorer.exe with arguments (e.g. explorer.exe /select,C:\Windows) will prevent it from being exited when closing the window that spawns. This appears to be due to Shell. CPU usage is a constant 12% for me and I have to manually exit the extra processes.

The menu itself does work, though.

Edit: Each time explorer is spawned with arguments, a new processes consuming ~12% CPU will remain active. Normally, the process uses 0% CPU once the window is closed and exits after ~1 minute.

Screenshot (1)

Add the possibility to position static or dynamic items relatively to other same-level items

Currently it is only possible to place items at a specified integer position or with some predefined positions like top, bottom, middle (at least I didn't find a way to do differently).

It would be be a great addition to be able to place items next to other ones. For example I want to create an item "Delete all" and want to place it just after the already existing "Delete" system item.

Maybe one way to do it would be to add the possibility to the id function to access any element by id number (it is currently limited to system menu items) and to access the pos property. Something like: id.254665032.pos.

v1.5 Typos [EN]

File manage > Toggle Optoins

Current:
menu(title='Toggle Optoins' image=\uE1AC)
	
Correct:	
menu(title='Toggle Options' image=\uE1AC)

Power > Shotdown
Current:
item(title='Shot down' image=inherit cmd='shutdown' arg='/s')

Correct:
item(title='Shut down' image=inherit cmd='shutdown' arg='/s')

File manage > Regester Server
Current:
menu(mode=single type='file' find='.dll|.ocx' separator=before title='Regester Server' image=\uea86)

Correct:
menu(mode=single type='file' find='.dll|.ocx' separator=before title='Register Server' image=\uea86)

File manage > Regester Server > **
Current:
item(title='Regster' admin cmd='regsvr32.exe' args='@sel.path.quote')
item(title='Unregster' admin cmd='regsvr32.exe' args='/u @sel.path.quote'

Correct:
item(title='Register' admin cmd='regsvr32.exe' args='@sel.path.quote')
item(title='Unregister' admin cmd='regsvr32.exe' args='/u @sel.path.quote'

High CPU usage

I think there's something wrong with the last version that causes hooked Explorer.exe process to eat up lot of CPU.

Here's a video while Shell is activated, notice the CPU usage of 'explorer.exe' :

Rainmeter_Qg0dXZ4k4c.mp4

It takes ~ 35% to 40%

But this video is recorded while Shell is deactivated :

Rainmeter_Frnn3QNUJt.mp4

It drops to maximum ~ 5% !!!
So there's definitely something wrong!

Questions about the @icon. property & (Accent) Colors

Hey there, thanks for providing Shell, it's been great!

I have been trying to alter some context menus and found this peculiar property in the config file that ships alongside Shell that I wanted to try to do some stuff with, it's called @icon., specified under image=. After having messed with it for a while, had a few questions about it.

First, I found that there are a bunch of terms it accepts, such as options, search, and more, in addition to those listed in the main shell file. However, I can't seem to find out where these entries are sourced from; some things work, but others don't. Could it be possible to make a list for this?

An additional question I have is that I noticed that when I specify [email protected]_options, the icon has a bit of coloration applied to it (the arrow). Another one that does this is [email protected]_path. Are there other icons that do this, will they be added, or can I specify custom ones?

Lastly, will it be possible to recolor the blue in some of the icons to use the accent color instead? An excellent project for reference that does precisely this for the default Windows 11 context menus, among other things is this: https://github.com/krlvm/AccentColorizer-E11

Regardless, thanks in advance for answering, and thanks again for providing such an awesome tool it has been a blast using it!

Syntax definition

Is there a syntax highlighter definition for use in any editors? Ideally Sublime Text, or even VS Code. Is the configuration syntax based on any existing language?

I've been able to use a "generic config" syntax in sublime to add some basic highlighting but it's definitely not perfect.

22H2: Shell no longer overrides right click

Hi, as of upgrading to 22H2 the default context menu is shown on right click for files, folders, and the desktop. Taskbar works as normal.

The 'Show more options' in the default context menu that would usually open the legacy context menu opens the nilesoft shell.

I have tried uninstalling and reinstalling.

Is this fixed in 1.8?

"Checked symbol" on Beyond compare context menu

Hello,
Thank you for the great app!!

I have an issue with "checked symbol" on Beyond compare context menu
The original does not have one.
It makes the left size of my menu unbalance.

Shell0 Shell

Please let me know if I can fix this?

I found the taskbar's context menu is a bit unbalance too.
Shell1

Suggest to move the "checked symbol" to its icon's position when the item does not have it own icon.

Style issues in 1.8 beta

changing font in 1.8 beta not working but working with 1.7 & have context item height issue while still no transparency or mica & icons can't be colored with colorize like the explorer

Winrar in context menu

Hi, can you add winrar in context menu like extract files, extract here....
That would be great!
image

Shell does not respect MenuShowDelay value

First of all, thank you for this awesome project! I just started using this extender and already loving it.
However I found something is wrong with the submenu opening speed. It opens too fast.
It is as the "MenuShowDelay" value in "HKEY_CURRENT_USER\Control Panel\Desktop" has been set to zero.
Animation2

If I unregister Shell DLL, log off and on, the issue disappears.
As soon as I register Shell DLL, the issue appears again.
This issue is system-global.
It would affect OpenShell submenu opening speed as well.

Can we make Shell respect the "MenuShowDelay" value?

Transparency effects do not work in 1.8 Beta

Hello, after some quick tests with 1.8 beta, I've discovered that none of the effects under background work correctly, aside from auto. Setting it to 1 through 5 makes all context menus look like this:

image

Then, when I also tune opacity alongside, it looks like this:

image

The menu does go transparent, ish.

When I use opacity with the effect set to auto, there is no transparency at all, and the menu is fully opaque.

[Suggestion] Add Scoop installation instructions to Downloads page and Installation doc.

Hey @moudey

Do you know about a package manager for Windows 10 & 11 called Scoop?
It's a command line application that allows users to install a wide variety of programs into their system.
Anyway, Scoop has an app manifest for Nilesoft Shell that allows users of Scoop to install Nilesoft Shell from your website.
You can see right here for yourself: https://scoop.sh/#/apps?q=nilesoft+shell&s=2&d=1&o=true

Scoop installation instructions:

scoop bucket add extras
scoop install nilesoft-shell

Add the possibility to customize each contextual menu separately

It would be a could feature to be able to customize the different contextual menus separately.

For example I want to customize the contextual menu of the file explorer in a certain way and customize the contextual menu of the desktop in a different way, I also don't want to customize the contextual menu of the task bar and keep its default appearance.

I guess this is technically feasible since these contextual menus are already themed differently on vanilla Windows 10.

Windows 7 install troubleshooting

Hello moudey, I just discovered your tool now, despite I've been looking for something like this for years !

I just tried to install it onto my W7 Ultimate OS 64bit but I'm stuck.
I've read here that other context-menu managers might interphere so I just tried to cleanup my system from whatever might bother but still I cannot see "Shell" in action.

Shell.log says "[info] Register completed successfully." but in reality either via CLI or via GUI all actions are unresponsive despite restarting explorer.exe manually or rebooting the PC.

I tried to register shell.dll manually via REGSRV32 but I got an error stating that the module "failed to load".

Besides what I've already cleaned, Is there a way to find out if other dlls are interphering with shell so that I can uninstall them completely ? Are there other possible reasons for shell not installing on W7U ?

Could you please help me troubleshooting this issue ?
I would really appreciate, thanks !
V.

Taskbar right-click

Hello, when I right click on an app opened in the taksbar, it opens de Shell contrext menu... It doesn't show the "Close app" button. Maybe it can be a new feature.

Missing icons for 'Sort by' & 'Group by' with non-English system language

image
Sort by (English) โ†’ ะกะพั€ั‚ะธั€ะพะฒะบะฐ (Russian)
Group by (English) โ†’ ะ“ั€ัƒะฟะฟะธั€ะพะฒะบะฐ (Russian)


Another bug:
image
Should be ะขะตั€ะผะธะฝะฐะป Windows (Russian) instead of ms-resource:AppStoreName
and ะšะพะผะฐะฝะดะฝะฐั ัั‚ั€ะพะบะฐ (Russian) instead of Command Prompt
image


Shell 1.7
Windows 11 22622.575

copy as path option for wsl or linux option

As the name suggest add a option to
file manage > copy path > wsl full path and wsl parent

example

windows
G:\manifests\s\Starship\Starship\1.10.3
wsl
/mnt/g/manifests/s/Starship/Starship/1.10.3

is this possible?

Modifying parent attributes from child elements

Two feature requests to modify a parent from a child element:

  • Be able to disable a parent if all children of that parent are also disabled.
  • Add the possibility to merge a parent with its child when there is only one item in the menu. For example I have a menu "Pasteโ€ฆ" that contains a child "Paste link" among several others that are not always displayed. When "Paste link" is alone in the menu it would be great to be able to replace the menu "Pasteโ€ฆ" by the item "Paste link".

Visual Desktop issues

The background around my desktop icons keeps becoming black and then the wallpaper turns black and I have to restart file explorer to get it back. I has happened multiple times within just a few mins

Hide some items in a sub-menu

Hi,

I would like to hide only the Google items in the 'New' context sub-menu but can't seem to figure out how to reference the sub-menu items. I would appreciate your assistance if this could be achieved.

Many thanks in advance

image

Updated from 1.3 to 1.6, suddenly shell implicitly changes theme and context menu entries?

I just updated shell from 1.3 to 1.6. I'd like to note only the latest version's release notes seem to be available anywhere, so I can have no idea what changed in the other two versions.

Anyway, after updating, it seems Shell changes my context menu's appearance and moves some of the entries:
image image

This isn't configured in my shell.shl:

shell {
    variables {
        icon_bat = @reg(@reg.cr, 'batfile\DefaultIcon')
        script_folder = 'D:\Projects\Windows Shell'
        ps1_1000px = @path.join(@script_folder, 'Convert to 1000px TIF.ps1')
        ps1_repack = @path.join(@script_folder, 'Repack to CBZ.ps1')
        ps1_remux = @path.join(@script_folder, 'Remux to MKV.ps1')
    }

    dynamic {
        item(
            title='Convert to 1000px TIF'
            type='file'
            find='.jpg|.png'
            image='@icon_bat'
            // cmd='cmd'
            // arguments='/C powershell -File "@ps1_1000px" "@sel.path"'
            cmd='powershell'
            arguments='-File "@ps1_1000px" "@sel.path"'
        )

        // etc
    }
}

I saw the new view and theme variables but they don't seem to be a solution and their values don't seem documented.

How can I make Shell not change things my shell.shl doesn't specify? Thanks

Customization elements are forced even if the `shell.shl` file is empty

An empty shell.shl will still customize some aspect of the contextual menu. The following file will result in added icons, frame resizing (especially true for the taskbar contextual menu) and hidden borders.

shell 
{

}

Screenshots

Vanilla Windows taskbar contextual menu on the left and with an empty shell.shl file on the right:
taskbar_contextual_menu_diff

Vanilla Windows explorer contextual menu on the left and with an empty shell.shl file on the right:
explorer_contextual_menu_diff

Expected behaviour

An empty shell.shl file should leave the vanilla Windows appearance and let the decision to the user to customize it as he wants.

System informations

OS: Windows 10
Shell version: 1.7.0

Not too sure what I'm doing with customization

Hi, really awesome project, but I can't figure out how to get it customized nicely.
I tried asking a fellow github user for their shl file, and when I tried it, it does not work, goes back to default classic windows
Link to users shl file
NVIDIA_Share_H7h5rVrJB7
Here is my attempt of merging it with my shl file:

shell
{
    var
    {
        shift_pressed = @key.shift()
        elevated = @if(shift_pressed," Elevated",null)
    }

    default//settings
    {
        theme
        {
            name = "classic"
            dark = auto

            background
            {
                color = #57291b // or #2557291b or [#57291b, 25]
                opacity = 25

                // auto | none = 0 | transparent = 1 | blur = 2 | acrylic = 3 | mica = 4 | tabbed = 5
                effect = 5
                //effect = ["acrylic", #f9f9f9, 80] // ["acrylic effect" [, color] [, opacity]]

                gradient
                {
                    enabled=0
                    linear=[0, 100, 0, 0]
                    //radial=[100, 100, 150, 100, 100]
                    stop=[
                    [0.0, color.accent, 0],
                    [0.5, color.accent, 20],
                    [1.0, color.accent, 0]
                    ]
                }
            }
        }

        border
        {
            enabled=0
            size=2
            radius=2
            color=[color.accent, 100]
            //opacity=100
            padding = [4, 6]
        }

        shadow
        {
            enabled=1
            //color=#10000000
            //opacity=100
            //size=5
            //offset=2
        }

        item
        {
            text.normal=[color.accent_light3]
            text.select=[color.accent_light3]
            back
            {
                //normal = 0
                //normal-disabled = 0
                select = [#000000, 25]
                select-disabled = [#fff,10]
            }

            //border=[#000, 30]
            /*
            padding = [left, top, right, bottom]
            padding = [left+right, top+bottom]
            padding = all
            padding.left = 2
            padding.right = 2
            */
            padding.top = 4
            padding.bottom = 4
            /*
            margin = [left, top, right, bottom]
            margin = [left+right, top+bottom]
            margin = all
            */
            margin.left = 2
            margin.right = 2
            /*
            margin.top = 2
            margin.bottom = 2
            */
            radius=1
        }

        separator
        {
            //color=[#fff, 4]
            //opacity=100
            //size=1
        }

        layout
        {
            rtl=auto
            align=auto //Overlay Popups
        }

        glyph=[color.invert(color.accent_light3), color.accent]

        font
        {
            size=12
            //weight=5 // value from 1 to 9
            name="Segoe Script"
        }
    }

    // show image and check mark
    image.align = 1

    // enable/disable static items auto image and group
    static.auto = 1
    // enable/disable static items auto image
    static.auto.image = 1
    // enable/disable static items auto group
    static.auto.group = 1

    // enable/disable handle static items
    static = 1
    // enable/disable handle dynamic items
    dynamic = 1
    showdelay = 200
}

static
	{
		// Remove disabled items
		//item(where=this.disabled==true vis=remove)

		// Show the items only when pressing the Shift key
		item(where=this.id==id.format [email protected]())

		item(where=this.id==id.open [email protected] keys="Enter" [email protected])
		item(where=this.id==id.properties [email protected] keys="Alt+Enter" pos=bottom sep=both)

		item([email protected] [email protected])
		item([email protected] [email protected])

		// Move items to sub menu "More options"
		// Move items whose title is more than 20 characters
		item(where=this.title.len > 20 tip=this.title [email protected]_options.title)

		// Move items by id.???
		item(where=this.id(id.copy_as_path, id.restore_previous_versions, id.include_in_library, id.give_access_to) [email protected]_options.title)

		// Move items by id.???.title
		item(find='@id.cast_to_device.title|@id.print.title' [email protected]_options.title)

		// Move items by title
		item(find='windows media player|create a new video|edit with photo|Windows Terminal|Open in Terminal' [email protected]_options.title)

		item(where=this.id==id.more_options [email protected]_options sep=both pos=bottom)
	}

	dynamic
	{
		menu(type='~taskbar' title="Terminal" tip=["Note\nHold Shift key to run " + this.title + ' as administrator', tip.warning, 0.2] sep=top image=\uE0D6) {
			item(title='Command Prompt@elevated' tip=["ELEVATED\nhold Shift key to run elevated", tip.danger] admin=@shift_pressed image cmd='cmd.exe' args='/K TITLE Command Prompt &ver& PUSHD "@sel.dir"')
			item(title='Windows PowerShell@elevated' admin=@shift_pressed image command='powershell.exe' arguments='-noexit -command Set-Location -Path "@sel.dir\."')
			item(where=sys.ver.major >= 10 title='@appx.name("WindowsTerminal")@elevated' admin=@shift_pressed image='@package.path("WindowsTerminal")\WindowsTerminal.exe' cmd='wt.exe' arg='-d "@sel.path\."')
		}

		menu(type='file|dir|drive|namespace|back' mode=multiple title='File manage' image=\uE0F8)
		{
			menu(separator=after title='Copy Path' [email protected]_path)
			{
				item([email protected] > 1 title='Copy (@sel.count) items selected' [email protected](sel(false, "\n")))
				item(mode=single title="Full Path" tip=[sel.path, 0,0] [email protected](sel.path))
				item(mode=single type='file|dir|back.dir' [email protected]!=sel.path.len title="Short Path" tip=[sel.short, 0,0] [email protected](sel.short))
				item(mode=single type='file' separator=before find='.lnk' title='open file location')
				separator
				item(mode=single [email protected]>3 title="Parent" tip=[sel.parent,0,0] [email protected](sel.parent))
				separator
				item(mode=single type='file|dir|back.dir' title="Name" tip=[sel.file.name,0,0] [email protected](sel.file.name))
				item(mode=single type='file' [email protected] != @sel.file.title.len title="Title" tip=[sel.file.title,0,0] [email protected](sel.file.title))
				item(mode=single type='file' [email protected]>0 title="Extension" tip=["  " + sel.file.ext + "  ",0,0] [email protected](sel.file.ext))
			}
			separator
			item(type='file|dir|back.dir|drive' title='Take Ownership' [email protected] admin
				cmd-line='/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")')
			separator
			menu(title='Toggle Options' image=\uE1AC)
			{
				item(title='show/hide system files' image=\uE12E cmd='@sys.togglehidden')
				item(title='show/hide files extension' image=icon.show_file_extensions cmd='@sys.toggleext')
			}

			menu(type='file|dir|back.dir' mode=single title='Toggle Attributes')
			{
				var { atrr = io.attributes(sel.path) }
				item(title='Hidden' [email protected](atrr)
					cmd args='/c ATTRIB @if(io.attribute.hidden(atrr),"-","+")H "@sel.path"' window=hidden)

				item(title='System' [email protected](atrr)
					cmd args='/c ATTRIB @if(io.attribute.system(atrr),"-","+")S "@sel.path"' window=hidden)

				item(title='Read-Only' [email protected](atrr)
					cmd args='/c ATTRIB @if(io.attribute.readonly(atrr),"-","+")R "@sel.path"' window=hidden)

				item(title='Archive' [email protected](atrr)
					cmd args='/c ATTRIB @if(io.attribute.archive(atrr),"-","+")A "@sel.path"' window=hidden)
				separator
				item(title="CREATED" keys=io.dt.created(sel.path, 'y/m/d') [email protected](sel.path,2000,1,1))
				item(title="MODIFIED" keys=io.dt.modified(sel.path, 'y/m/d') [email protected](sel.path,2000,1,1))
				item(title="ACCESSED" keys=io.dt.accessed(sel.path, 'y/m/d') [email protected](sel.path,2000,1,1))
			}

			menu(mode=single type='file' find='.dll|.ocx' separator=before title='Register Server' image=\uea86)
			{
				item(title='Register' admin cmd='regsvr32.exe' args='@sel.path.quote')
				item(title='Unregister' admin cmd='regsvr32.exe' args='/u @sel.path.quote')
			}

			menu(mode=single type='back')
			{
				menu(separator=before title='New Folder' image=\uE0E5)
				{
					item(title='DateTime' [email protected](sys.datetime("ymdHMSs")))
					item(title='Guid' [email protected](str.guid))
				}

				menu(title='New File' image=\uE108)
				{
					var { dt = sys.datetime("ymdHMSs")}
					item(title='TXT' [email protected]('@(dt).txt', 'Hello World!'))
					item(title='XML' [email protected]('@(dt).xml', '<root>Hello World!</root>'))
					item(title='JSON' [email protected]('@(dt).json', '[]'))
					item(title='HTML' [email protected]('@(dt).html', "<html>\n\t<head>\n\t</head>\n\t<body>Hello World!\n\t</body>\n</html>"))
				}
			}
		}

		menu(type='~taskbar' mode=multiple title='&Develop' sep=bottom image=\uE26E)
		{
			menu(mode=single title='editors' image=\uE17A)
			{
				item(title='vscode' image=[\uE272, #22A7F2] cmd='code.exe' args='"@sel.path"')
				separator
				item(type='file' title='notepad3' image cmd='notepad3.exe' args='"@sel.path"')
				item(type='file' mode=single title='Windows notepad' image cmd='@sys.bin\notepad.exe' args='"@sel.path"')
			}

			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')
				separator
				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)
				{
					var { publish='dotnet publish -r win-x64 -c release --output "@sel.parent\publish" /p:CopyOutputSymbolsToPublishDirectory=false' }
					item(title='publish sinale file' separator=after cmd-line='/K @publish -p:PublishSingleFile=true --self-contained false')
					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')
				separator
				item(title='help' image=\uE136 cmd-line='/k dotnet -h')
				item(title='version' cmd-line='/k dotnet --info')
			}
		}

		// portable start menu for window 11
		menu(where=@(sys.is11 && this.count == 0) type='taskbar' image=id.settings.icon)
		{
			item(title="OS build\t"[email protected] vis=label image=\uE1B8)
			item(title="Nilesoft Shell\t"[email protected] vis=label image=[\uE249, #0ee])
			item(vis=static)
			item(title=id.settings.title image=inherit cmd='ms-settings:')
			item(title=id.taskbar_Settings.title image=inherit cmd='ms-settings:taskbar')
			item(title=id.task_manager.title image cmd='taskmgr.exe')
			item(title=id.run.title image='imageres.dll,-100' cmd='shell:::{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}')
			item(title=id.file_explorer.title image=\uE0D0 cmd='explorer.exe')
			item([email protected]() title=id.exit_explorer.title cmd=sys.restartExplorer)
			item(vis=static)
			menu(title=id.control_panel.title image='imageres.dll,-27' )
			{
				item(title='All Items' cmd='shell:::{21EC2020-3AEA-1069-A2DD-08002B30309D}')
				item(title='Applications' cmd='shell:::{4234d49b-0245-4df3-b780-3893943456e1}')
				item(title='All Tasks' cmd='shell:::{ED7BA470-8E54-465E-825C-99712043E01C}')
			}

			menu(title='Folders' image=\uE0E7)
			{
				item(title='Downloads' image=inherit [email protected])
				item(title='Pictures' image=inherit [email protected])
				item(title='Home' image=inherit [email protected])
				item(title='Windows' image=inherit [email protected])
				item(title='Program files' image=inherit [email protected])
			}

			item(vis=static)
			menu(title='Power' image=\uE12F)
			{
				item(title='Sleep' image=\uE11C cmd='rundll32.exe' arg='powrprof.dll, SetSuspendState Sleep')
				item(title='Hibernate' image=\uE126 cmd='shutdown' arg='/h')
				item(title='Shut down' image=inherit cmd='shutdown' arg='/s')
				item(title='Restart' image=\uE025 cmd='shutdown' arg='/r')
			}
			item(vis=static)
			item(title='Apps' vis=label col)
			menu(title="Terminal" sep=both image=\uE218)
			{
				item(title='Command Prompt@elevated' admin=@shift_pressed image cmd='cmd.exe' args='/K TITLE Command Prompt &ver& PUSHD "@sel.dir"')
				item(title='Windows PowerShell@elevated' admin=@shift_pressed image command='powershell.exe' arguments='-noexit -command Set-Location -Path "@user.desktop\."')
				item(title='@appx.name("WindowsTerminal")@elevated' admin=@shift_pressed image='@package.path("WindowsTerminal")\WindowsTerminal.exe' cmd='wt.exe' arg='-d "@sel.path\."')
			}

			item(title='Paint' image=\uE116 cmd='mspaint')
			item(title='Edge' image cmd='@sys.prog32\Microsoft\Edge\Application\msedge.exe')
			item(title='Calculator' image=\ue1e7 cmd='calc.exe')
			item([email protected]('regedit.exe,-16') image cmd='regedit.exe')
			item(title='Notepad' image='notepad.exe' cmd='notepad.exe')
			item(title='WinSCP' image cmd='D:\config\Programs\network\WinSCP\WinSCP.exe' dir)
			item(title='Visual Studio Code' image=[\uE272, #22A7F2] cmd='code.exe')
		}

		menu(mode=multiple title='Goto' separator=both image=\uE14A)
        {
			menu(title='Folder' image=\uE1F4)
            {
				item(title='Windows' image=inherit [email protected])
				item(title='System' image=inherit [email protected])
				item(title='Program Files' image=inherit [email protected])
				item(title='Program Files x86' image=inherit [email protected])
				item(title='ProgramData' image=inherit [email protected])
				item(title='Applications' image=inherit cmd='shell:appsfolder')
				item(title='Users' image=inherit [email protected])
				separator
				//item(title='@user.name@@@sys.name' vis=label)
				item(title='Desktop' image=inherit [email protected])
				item(title='Downloads' image=inherit [email protected])
				item(title='Pictures' image=inherit [email protected])
				item(title='Documents' image=inherit [email protected])
				item(title='Startmenu' image=inherit [email protected])
				item(title='Profile' image=inherit [email protected])
				item(title='AppData' image=inherit [email protected])
				item(title='Temp' image=inherit [email protected])
            }
            item(title=id.control_panel.title image=\uE0F3 cmd='shell:::{5399E694-6CE5-4D6C-8FCE-1D8870FDCBA0}')
            item(title='All Control Panel Items' image=\uE0F3 cmd='shell:::{ED7BA470-8E54-465E-825C-99712043E01C}')
            item(title=id.run.title image=\uE14B cmd='shell:::{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}')
            menu(title=id.settings.title separator=before image=id.settings.icon)
            {
                // 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:startup')
				}
                menu(title='personalization' image=inherit)
                {
					item(title='personalization' image=id.settings.icon cmd='ms-settings:personalization')
					item(title='lockscreen' image=id.settings.icon 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}')
				}
            }
        }
	}
}

Here is the shl file if needed
shell.zip

3 Party Apps

When shell registers itself it appears on some 3 party apps

On Openshell it adds options that dont need to be there
image
is there any way to modify this menu / remove certain enteries

I want to do 2 things

1- To remove 'development' & 'nilesoft shell' from context menu.
2- Rename 'customize this folder' item to only 'customize'.
Thanks in advance and for your work on this wonderful app!

Some elements on the taskbar return false when calling this.taskbar

I don't know if it is a bug or an expected behaviour but some elements on the taskbar return false when calling this.taskbar and even more they return false when calling any of this.desktop, this.explorer or this.nav. This could be confusing, prone to error and inconsistent theming.

Steps to reproduce:

If you write the following code, you will see that the contextual menus from the start button, the tray icons or the notification button will appear black while a right click on an empty part of the taskbar will appear white.

theme = if(this.taskbar, theme.white, if(this.explorer, theme.white, if(this.nav, theme.white, if(this.desktop, theme.white, theme.black))))

taskbar_windows_10

Expected behaviour

I think any click on the taskbar should be themed following the this.taskbar function.

System informations

OS: Windows 10
Shell version: 1.7.0

Windows Explorer High CPU Usage

Hi, so after a day of use, I noticed that my CPU usage for file explorer is really high, even when file explorer is not in use by me
Taskmgr_8OGxorupDa
When I restart Shell, the file explorer CPU usage seems to go back to normal, but then it gradually increases back to high usage
Taskmgr_jhcKTXRmp7
You already know what my config file looks like, so could it be something in the config messing my CPU usage up?

Disable the rounded corners

The new modern_dark theme is really nice but is there anyway to reduce or disable the rounded corners? Some people like me hate the rounded corners and prefer squared corners instead.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.