SyMenu Forum

SyMenu

 

HomeConfigure portable programs

How to configure programs in SyMenu

Total Commander Messages in this topic - RSS

Gianluca
Gianluca
Administrator
Posts: 1003


12/05/2009
Gianluca
Gianluca
Administrator
Posts: 1003
If you are a Total Commander fan like me, you would like to have TC always with you in your USB stick.

In TC web site (http://www.ghisler.com) you can find tc2usb tool that is an installer to make TC portable.

But there is another way.

TC can use System32 or program folder to store his configuration files (wincmd.ini, wcx_ftp.ini). The switch that TC sets to save configuration files chosen location is probably written in registry, so, if you move your TC copy from a pc to another, configuration files will be searched always in System32 folder (default location).

The solution is that TC can be instructed to search for configuration files in certain folders through command parameters.

These are the steps to make TC fully portable:

1 - Copy totalcmd folder from a normal installation in destination folder (example J:\SyMenu\ProgramFiles\totalcmd)
2 - Create into new folder the following StartTC.bat file:

echo off
"%~dp0TOTALCMD.EXE" /i="%~dp0wincmd.ini" /F="%~dp0wcx_ftp.ini"


3 - Create a new SyProgram in SyMenu that points to StartTC.bat file

TC is now portable.

Bye
link
magz
magz
Posts: 3


27/01/2016
magz
magz
Posts: 3
There are even more ways to make Total Commander portable! smile

Let me tell you about my preferred method, I personally think it is the best, as it only involves editing wincmd.ini and the .bar files, with no need for tools or scripts to pass parameters to Total Commander at startup.

1: When installing, I recommend choosing to place the program ini with the program files. (can be worked around by manually copying the wincmd.ini file from %APPDATA%\ghisler into TC's program folder if you choose the standard location when installing).

2: edit the wincmd.ini file, adding this line to the top, as the second line (under [Configuration]):
UseIniInProgramDir=7

You also need to do a search and replace with a text editor (like Notepad++) in wincmd.ini, searching for the folder you installed Total Commander to, in your case J:\SyMenu\ProgramFiles\totalcmd should be replaced with this environment variable:
%COMMANDER_PATH%

3: If you have been using TC for a while, adding stuff to the button bar, you may need to do a search and replace for the TC installed path in the .BAR files with a text editor as well. As in point 2 (but for all .bar files).
If you have multiple .bar files like I do, then a text search and replace tool able to process files in batch is recommendable, I use UltraEdit for the purpose, but there are many freeware alternatives, and I guess I am a bit alone in having 50+ button bars.

If you followed the above steps TC should be portable.
When adding programs to the button bar by drag & drop TC will autofill path with %COMMANDER_PATH% if what is dragged resides within a subfolder of the Total Commander program folder. Thats is, until you do a upgrade of TC. When you do, choose to place the .ini file in the program directory and choose the update option, but you'll need to edit one line in wincmd.ini after upgrading:
InstallDir=J:\SyMenu\ProgramFiles\totalcmd
(or similar depending on your local install location) should be:
InstallDir=%COMMANDER_PATH%

After I started using SyMenu my personal TC installation became a bit messy due to me migrating my portable apps to SyMenus folders, so there are a lot of broken links in my setup now.
Which is why I'm working on making a tool that helps me and other crazy TC fan boys spot and correct errors in their personal TC setup, I also mention SyMenu in the description.
The tool I am making is called tcCmdVerify, it's in a alpha state though, as my life is busy and fucked up atm. so I haven't gotten around to finnish it yet, but I will, because I need it myself (as can be seen from screenshots in the thread).
http://www.ghisler.ch/board/viewtopic.php?t=42901

I'm also hoping to make a tool that generates TC menu and button bars from the installed SyMenu apps, seems easy enough to do once I get the time.
Thank you for the steady development of the best portable tool downloader I've come across.
I've added some portable apps through SPS builder, more to come, waiting for approval on my first 30 apps.
link
Gianluca
Gianluca
Administrator
Posts: 1003


27/01/2016
Gianluca
Gianluca
Administrator
Posts: 1003
Hello magz.

I've just reviewed your SPS. We still have a lot of work to do but my first impression is very good :-)

You did a great job with your integration work with TC but I have a question for you: how do you know the SyMenu items paths and names?
Don't tell me that you directly read the file system... you lost a lot of information and create a lot of noise in your TC menu.

If you want a cleaner and more accurate method I propose you to use the SyMenu public interface. You can create a simple plugin that reads all the items directly asking to SyMenu. In that way you don't risk to create false elements, you can get the real name of the items that is not easily understandable from the file name, if you need the icon you can have it too.

Tell me one more thing. Is the TC launcher really so better than SyMenu? I can improve it again and again if there are some things it can't do so well.
Well I totally love Total Commander but IMHO the launcher is not its best feature.
link
magz
magz
Posts: 3


27/01/2016
magz
magz
Posts: 3
Gianluca wrote:
Hello magz.

I've just reviewed your SPS. We still have a lot of work to do but my first impression is very good :-)


Cool, let me know if I'm doing something wrong in making the sps's, as I want to do it right so that I don't cause extra work for you.

Gianluca wrote:
You did a great job with your integration work with TC but I have a question for you: how do you know the SyMenu items paths and names?
Don't tell me that you directly read the file system... you lost a lot of information and create a lot of noise in your TC menu.


Not sure if I fully understand the question, but I'll try to elaborate my process;
most of the tools I've added from SyMenu were already part of my portable Total Commander setup.
I made SyMenu download them again, and deleted each installed tool from my personal TC setup.
All tools were previously accessible from the menu of TC, a edited version of Peter Madsens custom TC menus,
as well as in my button bars, which is why I have so many button bars (500 buttons pr TC .bar is max btw,, I have each tool in both places for convenience and because I wrote a simple script to convert button bars into TC menu material),
but naturally I now have a shitload of broken links.
Symenu itself has been placed as a portable app within my TC installation, it's path:
%COMMANDER_PATH%\Tools\Symenu\
The tcCmdVerify tool I am making is thus far only capable of notifying of the broken links and other errors,
but the plan is for it to do a search and replace, where the user can specify folders to search within for missing executables.
When it's able to I'll be the first to do a search and replace of the broken links with corrected paths found within SyMenu's ProgramFiles folder.
Like f.ex if the link(s) to Irfanview is broken it will do a search within the specified folder (like SyMenu\ProgramFiles) and replace occurrences of broken links if it finds irfanview.exe within Symenu's sub folders.
Is that directly reading the filesystem? It will only search specified folders (and it's subfolders). I'm not expecting that process to be quick, but it wont be necessary to do it often, just when there is a need to fix broken links.

The program paths are listed once starting with TC's relative path in the user commands or in the menus seperate user commands .ini,
then the usercommand name is referenced in the button bars and in the menu.

Gianluca wrote:
If you want a cleaner and more accurate method I propose you to use the SyMenu public interface. You can create a simple plugin that reads all the items directly asking to SyMenu. In that way you don't risk to create false elements, you can get the real name of the items that is not easily understandable from the file name, if you need the icon you can have it too.


I figured I'd just write a autoit script to read the .sps files, as they are in ascii format it seems, and do a check within SyMenu\ProgramFiles for it's existance to verify app has been downloaded, then it will create a TC button + menu line for each portable program that hasn't got a button and menu already.
When I remove programs from SyMenu I can clean up TC references with tcCmdVerify.
Is there a better way of accessing the info of which portable apps has been downloaded?

Gianluca wrote:
Tell me one more thing. Is the TC launcher really so better than SyMenu? I can improve it again and again if there are some things it can't do so well.
Well I totally love Total Commander but IMHO the launcher is not its best feature.


Well, you know how it is, "better" in this case becomes a matter of personal preference.
Total Commander is always running for me, it's been my launch central for my portable apps for 20 years now, so you might say I've become accustomed to it.
I can add the apps through menus, button bars, content menu, builtin edit and view button can be customized with third party tools, the way to configure parameters is great, often leaving me with several buttons/menu items pr tool. Configuring it to the extent that I've done is not something I necessarily recommend, although I love it. But even though I'm a old TC fan boy it doesn't mean I'm no fan of SyMenu, on the contrary; I'm having both please. I appreciate you being so open for input for changes btw. I'll try to summarize some of my minor issues with SyMenu since you ask (sorry for going OT):

- Some times SyMenu shakes/vibrates about 10 pixels back and forth rapidly for me, it seemed to occur more often in v4 then v5 but still happens.
- Could we have SyMenu automagically update new apps at startup? Or even better; have a seperate app to run that does the updates with fewest possible steps, a portable updater app we can run from within SyMenu and from outside would be the best for me (I know I am being very demanding here).
- When pressing "report a broken SPS", and the link being a mailto: type link invoking the deault mail application to be started, SyMenu crashes for me.
I guess it's due to me not having a email client installed as I use gmail through a web browser. Can we have the mail copied to clipboard instead?
- I've been eager, selected all Nirsoft, all Sysinternal apps, and most of what else SyMenu has on offer, I love the selection, and like that we can contribute as users. However, this creates a problem with navigating it all in the SyMenu browser. Seems apps gets listed in the order they where installed? I read elsewhere in this forum that customizing this display was in the works. Thats cool, because I'd like to organize into subfolders. Would be neat to be able to sort alphabetically also, I'd like that by default.
- The placement of exit button brings some problems to program horders like me. As I need to scroll for ages to get to it. I wish it was at the top, or even better a small menu with exit option when right clicking the systray icon of SyMenu would be a great help. As it is now SyMenu pops up both for left, right and middle mouse key though, I guess it's due to design, it would be neat if one of the keys (preferably the right mouse button) would bring up a alternative menu with exit option easily available though, Like for when I want to run to the bus, and leave work with my USB pen, and want to exit SyMenu first. I've been thinking of writing a script to kill SyMenu for the purpose, but since you ask for imput even I feel I wont have to.
- It would be cool with UPX packing option built into SyMenu. Not very necessary when considering space for many I guess, but depending on the speed of the hard drive / USB pen from which SyMenu recides programs will in many cases run faster when they have been compressed. So I like it. This I can easily do manually though, so its the least important thing to me.
edited by magz on 27/01/2016
link
Gianluca
Gianluca
Administrator
Posts: 1003


30/01/2016
Gianluca
Gianluca
Administrator
Posts: 1003
Ok. Understood. Your need for TC is quite peculiar so I think your method represents the best resolution you can try. Forget the plugin alternative.

Regarding the bugs you reported.

SyMenu shakes
It's difficult to reproduce and when it is difficult to reproduce it is more difficult to solve it. I'll try to think about that.

Auto update SPS at startup
I can create an option to activate/deactivate the auto update for SPS. In case SyMenu discovers that some of your SPS are outdated you will receive a notification. This could be the first step to a fully automatic updater.

Separate updater app
I don't like at all this solution. It's senseless unless you are speaking about two different products. It is perfectly possible to create an external program that takes care for updating the SPS (files and application) since it is all public but I won't be me to do that. My vote goes to a new SyMenu feature.

Crash on click mailto for report broken SPS
In the next version you'll find the right click copy and the fix for this bug too.

Install SPS in separate folders
I'm studying a way to install any SPS inside its proper folder. In my opinion the ideal destination for a program is a logical folder with the same name as its category.
For example a program whose category is System will be placed inside a logical folder named System on the root of the logical items tree. If the folder doesn't exist SyMenu creates it by scratch. You will be able to enable/disable this behavior for every downloading/installing session.

Exit button placement
Solved! Starting from the 5.0v you can put it wherever you like.

UPX
It's not in my plan. Sorry.
link



UGMFree.NET ©2002-2020
By Gianluca Negrelli - Contact me