possible to add another STARTMENU?

English support forum

Moderators: Hacker, petermad, Stefan2, white

Post Reply
sensen
Junior Member
Junior Member
Posts: 10
Joined: 2007-07-24, 09:19 UTC

possible to add another STARTMENU?

Post by *sensen »

STARTMENU is very kind method to add some commands.

when many commands were added, the one STARTMENU cause a little mess.

is it possible to add another STARTMENU?

in other words, i want to define a new menu for example we call that work, and the work munu have the same function as STARTMENU except for different name.

It will be more easy to organize the commands. also the menu space will be used in some way.
User avatar
Vochomurka
Power Member
Power Member
Posts: 816
Joined: 2005-09-14, 22:19 UTC
Location: Russia
Contact:

Post by *Vochomurka »

1) You can create submenus of Start menu, then its sub-submenus, etc.
2) Why don't you want to use menus from buttons? There can be as many buttons as needed.
3) Try PowerPro. It allows to create numerous menus and button bars with different options (left, right, middle mouse clicks, colors, pictures, etc).
Single user license #329241
PowerPro scripts for Total Commander
User avatar
petermad
Power Member
Power Member
Posts: 15997
Joined: 2003-02-05, 20:24 UTC
Location: Denmark
Contact:

Post by *petermad »

You can also add a menu directly in the main menu, but for that you need to edit the .mnu file manually, and you need to make user commands (em_commands) for every external program you want to start.

In my Extend Menus (see signature), you can find examples of comprehensive use of this.
License #524 (1994)
Danish Total Commander Translator
TC 11.51 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1391a
TC 3.60b4 on Android 6, 13, 14
TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
sensen
Junior Member
Junior Member
Posts: 10
Joined: 2007-07-24, 09:19 UTC

Post by *sensen »

Vochomurka wrote:1) You can create submenus of Start menu, then its sub-submenus, etc.
i knew that, but no submenus makes operation more easy.
Vochomurka wrote:2) Why don't you want to use menus from buttons? There can be as many buttons as needed.
already used, i also want keep the buttons in one line.
Vochomurka wrote:3) Try PowerPro. It allows to create numerous menus and button bars with different options (left, right, middle mouse clicks, colors, pictures, etc).

maybe manually edit the main menu is the one time solution.

also thanks for the advises.
User avatar
Balderstrom
Power Member
Power Member
Posts: 2148
Joined: 2005-10-11, 10:10 UTC

Post by *Balderstrom »

petermad wrote:You can also add a menu directly in the main menu, but for that you need to edit the .mnu file manually, and you need to make user commands (em_commands) for every external program you want to start.

In my Extend Menus (see signature), you can find examples of comprehensive use of this.
You wouldn't need to do that Peter, one user command would suffice.
I've actually figured out how to externally call "em_" user commands, including things like "SELECTFILES", and internal cm_ commands by name .

Here's a snippet of the TC_CD() cmd, which as well as changing dirs can select files from the same command.
e.g. TC_CD("C:\Program Files\TotalCMD\TotalCMD.chm")
Which would change TC's Left pane to it's program dir, and select the Help file.

Code: Select all

	exist := FileExist(src)
	if( src && !inStr( FileExist(src), "D" ) && RegExMatch( src, "^(.*)\\(.*)$", pathOnly ))
		src := pathOnly1, srcFile := pathOnly2
	if( trg && !inStr( FileExist(trg), "D" ) && RegExMatch( trg, "^(.*)\\(.*)$", pathOnly ))
		trg := pathOnly1, trgFile := pathOnly2
	if( (srcFile && !FileExist(src)) || (trgFile && !FileExist(trg)) )
	{
		MsgBox 4, % "No Such File", % "One of the files doesn't exist.`nStill open the parent folders?"
		ifMsgBox, NO
			return
	}	

	params := ( srcTrg ? "S" : "" )
	params .= ( newTab ? "T" : "" )
	if( params )
		params = "%params%"
	cdpath := src "`r" trg
	TC_SendCommand__WM( "CD", cdpath, params, wID )

	if( !srcFile && !trgFile )
		return

	ControlGetFocus, focus1, A	; SourceFocus PANEL
	TC_CMD("cm_FocusLeft", "", wID, wControl, allowMin )
	ControlGetFocus, focus2, A

	stopFocus := "cm_FocusLeft"
	if( focus2 <> focus1 )
	{	
		stopFocus := ""
		if( inStr( params, "S" ) )
			fileTMP := trgFile, trgFile := srcFile, srcFile := fileTMP
	}
	stopFocus := "cm_FocusLeft"
	if( focus2 <> focus1 )
	{	
		stopFocus := ""
		if( inStr( params, "S" ) )
			fileTMP := trgFile, trgFile := srcFile, srcFile := fileTMP
	}
	if( srcFile )
	{
		aSelect = em_SELECTFILES "%srcFile%"
		TC_EMC( aSelect, wID, wControl, allowMin )
		TC_CMD("cm_GotoNextSelected", "", wID, wControl, allowMin )
		if( !keepSelect )
			TC_CMD("cm_ClearAll", "", wID, wControl, allowMin )
	}

	TC_CMD("cm_FocusRight", "", wID, wControl, allowMin )
Of interest, you'll note, sending "change dir" commands directly to TC without having to call it through the TotalCMD.exe /O /L="PATH" mechanism. As well as defining ONE user command to be:
em_SELECTFILES
Command: SELECTFILES
Which I can then call with any arg I want...

Also, send commands to TC when it's in the background.

I'll wikify it and clean up my last wiki post -- likely towards the end of the week though.

The next step is to get it so it will accept msg's from a non-persistent script, so it can be loaded once, then the user can interface with it simply without needing to understand a scripting language.
User avatar
petermad
Power Member
Power Member
Posts: 15997
Joined: 2003-02-05, 20:24 UTC
Location: Denmark
Contact:

Post by *petermad »

2Balderstrom
Which I can then call with any arg I want..
But TC doesn't support args in the .mnu files not for em_ neither cm_ commands, and commands like APPENDTABS or SELECTFILES are not supported at all - how will your script come around that?
License #524 (1994)
Danish Total Commander Translator
TC 11.51 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1391a
TC 3.60b4 on Android 6, 13, 14
TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
User avatar
Balderstrom
Power Member
Power Member
Posts: 2148
Joined: 2005-10-11, 10:10 UTC

Post by *Balderstrom »

Basically, you enter something like:
Command: %AHKSCRIPT% em_SELECTFILES someThing Here.
Script receives command, parses it into what TC can understand, and tells TC to execute it.

It's already working in a persistent script. I just don't have a interim layer setup yet so the end-user can use a non-persistent script, thus limiting how much the end-user will need to interface with the underpinnings.

I have a single, em_CmdPromptK user-definition:
Command: cmd.exe /k

And am able to make that single user-command do anything that you would be able to do if you had to define a given user-command for each and every cmd.exe "somebatch.cmd" you want to execute currently.
Or even have it do inline-code, etc..

Although, considering I have been able to get this working, it makes me wonder WHY we have to use an interim layer to get this functionality: It should be possible directly from TC.

Here's the internal definition for ChangeDir:
TC_CD( src="", trg="", newTab="", srcTrg="", keepSelect="", wID="", wControl="", allowMin="" )
If you only pass it one (first) arg, it changes path on the left side; two args: path on left and right.
If the string passed is a file's full path, it additionally selects that file after changing directory.

Also if you give it a few more args, you can tell it to use "Source/Target" instead of Left/Right, or the newTab part, set that to 1 and the path opens in a new tab. As well the "allowMin" flag will enable sending commands to TC when it is minimized or not currently in the foreground.
User avatar
linkun
Junior Member
Junior Member
Posts: 16
Joined: 2021-01-09, 05:40 UTC

Reiterating the Need for Additional STARTMENU Customization After 15 Years

Post by *linkun »

It’s remarkable to see this discussion from 15 years ago still resonating today. While workarounds like submenus, button bars, and external tools (e.g., PowerPro) remain helpful, the core request for native support of multiple named menus (e.g., "Work," "Projects") persists. Over the years, workflows have grown even more complex, making streamlined command organization critical.
Manual edits to .mnu files or reliance on scripts still feel cumbersome compared to an integrated solution. Many long-term users, myself included, continue to hope for a feature allowing custom menus akin to STARTMENU.
@Ghisler (Christian Ghisler), after all this time, has there been renewed consideration for such functionality? Even a minimalist implementation would address a longstanding usability gap.
Thank you for TC’s enduring evolution—it’s why we’re still here advocating for improvements!
#359839
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50383
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: possible to add another STARTMENU?

Post by *ghisler(Author) »

No, the recommendation is to create submenus in the STARTMENU.
Author of Total Commander
https://www.ghisler.com
Post Reply