wiki tutorial
[face=garamond]2012-05-12 edit: Wiki Tutorial updated. Please note that I no longer update the description below. Instead all updates are included just in the wiki tutorial linked above.[/face]
Update history:
2012-05-12
Added example of right-click menu for folders.
------
Older post:
Minimum TC version 7.55 required.
I think that TC users who also use portable applications should be aware of TC’s internal file association features, which makes using portable applications fun and easy. You can double-click a data file, say a .JPG file, to open it in its internally associated portable application, say IrfanView (your choice of portable freeware). While one can use TC’s menus to create and manage internal file associations, this post shows how to edit .INI configuration files directly.
So let’s start with the first step, which is to separate out the relevant .INI sections into their own file. By so doing, you end up with a self-contained set of definitions, which you could easily swap in and out of TC by simply renaming a file. We will name this file “associations-searches.INI”.
STEP 1 – create searches-associations.INI
Explore TC’s configuration folder, where file wincmd.INI is located.
Create a new file named associations-searches.INI in that folder.
Open wincmd.INI and locate section [Searches].
- Copy the whole section from wincmd.INI to associations-searches.ini.
- Replace the whole section in wincmd.INI with these lines:
Code: Select all
[Searches]
RedirectSection=associations-searches.INI
Code: Select all
[Associations]
RedirectSection=associations-searches.INI
end of step 1
Let me point out that from now on every time you add a new search to TC that search will end up into associations-searches.INI, even though this search might not be linked to an internal file association.
The next step involves creating a new sample search, which we do want to link to an internal file association. Continuing on the .JPG example, we will create a search named image in step 2.
STEP 2 – create search “image”.INI
Edit section [Searches] of file associations-searches.INI and add the following lines:
Code: Select all
image_SearchFor=*.bmp *.gif *.jpg *.png *.psd *.tif
image_SearchIn=
image_SearchText=
image_SearchFlags=0|000002000020|||||||||0000
end of step 2
The new search becomes available under the name image in several TC dialogs, including the search dialog, but that isn’t why we created it. The main reason for creating this new search is to deal with a set of file extensions (bmp, gif, jpg, png, psd, tif) all at once by associating what Windows calls their file type with an application, like step 3 shows.
STEP 3 - associate “image” with IrfanView.INI
Edit section [Associations] of file associations-searches.INI and add the following lines:
Code: Select all
[Associations]
Filter1=>image
Filter1_open=""%commander_path%\..\IrfanView\i_view32.exe" "%1""
end of step 3
Note two important points:
You should substitute Filter1 with FilterN+1 if your searches-associations.INI file already includes other N filters, that is, use Filter3 for your new image association if there already are Filter1= and Filter2= lines in your .INI file.
We have used %commander_path%\..\IrfanView\ to specify a relative folder path from TC’s own portable folder. This example assumes that TC’s folder is a sibling of IrfanView’s folder inside your main folder of portable applications.
Now you should verify that when you right click the icon of a .JPG or .PNG file TC’s menu shows Open (internal), which opens the file with IrfanView. Likewise, when you double-click an image file icon IrfanView should open.
Note that you only need to restart TC when you change section [Searches].
Let’s now see how you can associate a second (third, etc…) application to your image type. We will use FastStone Image Viewer (portable freeware).
STEP 4 - associate “image” with FastStone Viewer.INI
Edit section [Associations] of file associations-searches.INI and add the following line:
Code: Select all
Filter1_open-FSViewer=""%commander_path%\..\FSViewer\FSViewer.exe" "%1""
end of step 4
Again, you should substitute the right FilterN+1 for Filter1 in the example. Also, we have assumed that folder FSViewer is a sibling of TC’s own folder inside your main folder of portable applications.
You should now verify that when you right click a .JPG or .PNG file icon TC’s menu shows open-FSViewer (internal), which open the image file with FastStone Image Viewer. You may add more applications for the image file type by repeating step 4 for each application.
Let’s finish up our example by changing the icon that TC displays for the image file type. We will change it from IrfanView’s icon to FastStone’s.
STEP 5 - change “image” file type icon.INI
Edit section [Associations] of file associations-searches.INI and add the following line:
Code: Select all
Filter1.icon=%commander_drive%\Portables\FSViewer\FSViewer.EXE
end of step 5
When you change an icon you need to restart TC. Note that in step 5 we have used %commander_drive%\Portables\FSViewer\ instead of %commander_path%\..\FSViewer\ which we used in step 4. The two paths must lead to the same folder.
You can now add more file types and associated applications by repeating steps 2-5.
Tips for effective use of internal associations
1. I like to keep the definition of a file type search and its corresponding file associations together, this way:
Code: Select all
[Searches]
; ----- image
;FilterX=>image
;FilterX_open=""%commander_path%\..\IrfanView\i_view32.exe" "%1""
;FilterX_open-FSViewer=""%commander_path%\..\FSViewer\FSViewer.exe" "%1""
;FilterX.icon=%commander_drive%\Portables\FSViewer\FSViewer.EXE
image_SearchFor=*.bmp *.gif *.jpg *.png *.psd *.tif
image_SearchIn=
image_SearchText=
image_SearchFlags=0|000002000020|||||||||0000
[Associations]
2. To renumber (sort the order of) associations use TC’s File/internal associations dialog (drag and drop to sort items). Remember that when you double-click a file icon TC starts the application that is internally associated with the first file type (search) that matches the file extension.
3. Use %commander_path% and %commander_drive% as the situation dictates. There are some portable programs out there that get confused when you use ..\ in the path. Such programs may not start correctly if you use %commander_path% but may start just fine if you use %commander_drive%, which usually doesn’t need to include ..\ path segments.
4. I am in the habit of writing .INI entries this way:
Code: Select all
Filter1_open=""%commander_drive%\path with spaces\app.exe" /option=value "%1""
Notice the numerous double-quotes. They are essential. The exterior left and write quotes match each other and enclose the whole item, which consists of three words: a quoted application path (with spaces), an option, and a quoted document path. In some cases you might need to write option="value" or even "/option=value" (quote the whole thing).