Improved file type system

Hello all

I just tried to fix my file types so it would open with the programs I want and have nice icons and so on. So I started with my image file types and got it working preatty good. Then I rebooted and found that everything was ruined by Windows and other programs anyway :frowning:

So I would like to be able to override explorers file types completely. That is, I want to be able to set up file types within dopus and only let dopus fall back to the file types defined in explorer if there wasn't any defined in dopus.

Or, put in another way, I want to set up all aspects of a file type (such as icon, comment, open with, tooltips etc) manually and not let any programs fiddle with it. I hope I'm making sense here.

Another related feature request (that would probably only be possible if the above feature request was implemented) is to be able to recognize file types in other ways than through its file ending. For example let it look at the file content. This was more how it worked in dopus magellan on Amiga.

Is anything of this sort planned for the future perhaps? I see it as a natural continuation of the current dopus file type system.

If anyone has any tips to give me on how to configure file types without having to configure each and every program that uses them I'm all ears :slight_smile:

In short, no. We have no plans to go down this road.

Our philosophy with DOpus has always been to work with and complement the underlying OS, not fight it. The whole Windows OS actually depends on the standard performance of file types and so many programs add their own items that it would not be practical nor judicious to build a new system. It's ok for Opus to add the unique Opus-only file types as we do to provide control over generic actions such as drag and drop and qualifier mouse actions etc and to add extra Opus only menus etc, but it's just not sensible or smart to reinvent wheels.

For a historical note, with the very first alpha versions of DOpus for Windows we did have an interpretive Amiga-Opus style File Type system running with full unique identification and user configurability. However this just proved to be too slow and just did not work well in a Windows environment.


The Events tab, and dblclk (double-click) in particular, is Opus-only, so if you specify things in there they won't be overridden by other programs. That gives you what you want in terms of program associations, if not icons and so on.

(Of course, if another program completely removes the filetype and recreates it, that's another story.)

If you're finding that some other program is messing with the changes you make to filetypes then, if there's no switch to stop the program doing it, the best thing is to stop using it! :slight_smile: That kind of program can't be tolerated, IMO.

Also, the Windows filetype system can match files by content as well as file extension. Usually people just use extension but the system does allow for content matching as well, although I've never seen a GUI which exposes it. It's documented in MSDN Library and I think works by matching hex strings at defined offsets.

Hmm, I may be wrong about my 2nd point. There's a flag for filetypes which says they have an extension (FTA_HasExtension) but I can't see what the point of it actually is and how to specify a type's binary data.

I may have been confused by the line in MSDN which says you have to make a MIME specification, which includes binary signatures, but on re-reading that part it doesn't say Windows will actually use that part of the specification.

COM's GetClassFile definitely does binary/content matching, but isn't generally used for launching programs on double-click.

[quote]greg wrote:
..., but it's just not sensible or smart to reinvent wheels.[/quote]
Well, if the wheel is square and made of papier-mache... :smiley:

But seriously, I do see your point. And thanks for your good answer. I was just hoping to find an easy way to do this, guess I have to do the correct thing instead.

I'll try to come up with a good way of doing this. I can get back to the forums if I find some ingenius way of doing it. Don't hold your breath though. :slight_smile: