File Extensions

In Folder Options->Columns->General there is a Column called "Extension (dirs)" - what is expected to display for this column ?

a normal folder directory shows "",
a folder junction shows ""
a folder symlink shows ""

The Column Heading for "Extension (dirs)" is "Ext", which is the same as is shown for the "Extension" Column, this is confusing
For files both the Extension and Extension (dirs) columns show the same values - which is also confusing,
In the case of file symlinks the values displayed in Extension & Extension (dir) are even more confusing.

The attached screen shot shows the use of icon overlays to differentiate between real folders and files and links (hard, symbolic & junction). I would have thought that this is the normal practice rather than a column. I've been using the same icons for junctions and hardlinks since NT3.51 was released in 1995.

I was hoping that the "Extension (dir)" column would display the value of the token following the last dot in the folder name. I'd actually prefer to have a single column that simply shows that token; irrespective of whether its a folder, a file, file hardlink, a file or folder symlink or a folder junction, and without any interpretation or embellishment.


The screen shot has the Type Column - normally I wouldn't have this column, but I thought it might be useful here.

RP

What is expected to display is what does display.

[quote="RightPaddock"]In Folder Options->Columns->General there is a Column called "Extension (dirs)" - what is expected to display for this column ?

a normal folder directory shows "",
a folder junction shows ""
a folder symlink shows ""[/quote]

It'll show those things for directories, and the file extensions (if any) for files.

This is because the two columns are alternative versions of each other. There is no reason you would have both columns at once. The normal Extension column shows exactly the same date for files and nothing for directories. The Extension (dirs) columns adds information about the type of directory.

Why is it confusing that, with two columns which both show extensions, both show the same file extension for the same file?

That's like saying it's confusing that Size (Bytes) and Size (KB) columns both show the same size for the same file. The size is the same, as is the extension.

I guess if you have an actual "symlink" type then you wouldn't be able to tell between a symlink to a .symlink and a symlink to a file without an extension. I think that's an artificial situation, though. What other cases are there where it can be confusing?

'Normal' is whatever Explorer does. Explorer will, at most, display a normal shortcut overlay on top of some junction/link types.

It doesn't because folders don't have extensions. They can have dots in their names but they are just dots, not extensions. Unlike file-types which are (usually, on Windows) defined by extensions, Windows does not have "folder-types" determined by what comes after the dot. You can't use what comes after the dot in a folder's name to cause different things to happen when folders are double-clicked, etc. What comes after the dot in a folder's name does not define the type of that item; the item is inherently a folder (or a link/junction to a folder).

The concept of extensions only applies to files, which is why the basic Extensions column only shows things for files. The Extensions (dirs) column adds some extra info about folders into what would otherwise be empty space, so that people don't need to turn on the Type column to see that extra information.

You can send GPSoftware a feature request via the Support link in my signature.

I misinterpreted what "Extension (dir)" meant, I did look for, but failed to find, the relevant doco.

Under XP I used an IColumn handler to provide an old fashioned Extension column, I'm really missing that column under Win 7. So I assumed (hoped) "Extension dir" meant something similar :frowning:

The only things I'd expect to do with the column is to use it as the containing folders sort column, and to change it via rename. We use a series of dot separated tokens in our folder names to drive a primitive, but effective, "workflow system". Having the current last token as a separate sortable columns is an important feature of that system.

Regarding icon overlays for "link" objects. This is what I see in Windows Explorer, the same as I see in Opus and similar Shell applications.


I used the same overlay icons for Junction and Hardlink objects in 1996 under Win NT 3.51 as I'm using today under Windows 7.0. In '96 I maintained the links via FSUTIL, a home grown dll loaded the ico files into the Windows icon overlay array. Today I use LinkShellExtension to maintain the links, it loads up the same ico files into the same puny Windows icon overlay array :wink:

IColumn handlers still work in Opus, even on Vista and Win7 where they no longer work in Explorer.

(If you're on 64-bit Windows you need to make sure the IColumn handler DLL is compiled for 64-bit, however.)

[quote="leo"]

If you're on 64-bit Windows you need to make sure the IColumn handler DLL is compiled for 64-bit, however.[/quote]

Great, a rebuild for 64bit shouldn't be a problem in VS2008

What do I need to do to get the Column into the Opus Folder Options list of Columns.
Register the dll and update HKEY_CLASSES_ROOT\Folder\shellex\ColumnHandler I guess, anything else ?

BTW I think I'll change its name to "LastToken" :wink:

thanks

[quote="RightPaddock"]What do I need to do to get the Column into the Opus Folder Options list of Columns.
Register the dll and update HKEY_CLASSES_ROOT\Folder\shellex\ColumnHandler I guess, anything else ?[/quote]

I'm not sure. Sounds like you are more of an expert at writing column handlers than I am. :slight_smile: Just do whatever you'd do to make it work in Windows XP's Explorer and it should work in Opus.

The column will appear in the "Other" category, along with any other shell-extension columns (e.g. Tortoise SVN, dbPowerAmp...)

A decade ago I might have been, but now I'm not sure. Looked at my C code - ugly :blush:
I can pilfer the Tortoise ColumnProvider code from Google and start over - thanks for the hint :wink: