GetPackerCaps

From TotalcmdWiki
Jump to: navigation, search

GetPackerCaps tells Totalcmd what features your packer plugin supports.

int __stdcall GetPackerCaps();

Description

Implement GetPackerCaps to return a combination of the following values:

Constant Value Description
PK_CAPS_NEW 1 Can create new archives
PK_CAPS_MODIFY 2 Can modify existing archives
PK_CAPS_MULTIPLE 4 Archive can contain multiple files
PK_CAPS_DELETE 8 Can delete files
PK_CAPS_OPTIONS 16 Has options dialog
PK_CAPS_MEMPACK 32 Supports packing in memory
PK_CAPS_BY_CONTENT 64 Detect archive type by content
PK_CAPS_SEARCHTEXT 128 Allow searching for text in archives created with this plugin
PK_CAPS_HIDE 256 Don't show packer icon, don't open with Enter but with Ctrl+PgDn


  • Omitting PK_CAPS_NEW and PK_CAPS_MODIFY means PackFiles will never be called and so you don’t have to implement PackFiles.
  • Omitting PK_CAPS_MULTIPLE means PackFiles will be supplied with just one file.
  • Leaving out PK_CAPS_DELETE means DeleteFiles will never be called;
  • Leaving out PK_CAPS_OPTIONS means ConfigurePacker will not be called.
  • PK_CAPS_MEMPACK enables the functions StartMemPack, PackToMem and DoneMemPack.
  • If PK_CAPS_BY_CONTENT is returned, Totalcmd calls the function CanYouHandleThisFile when the user presses Ctrl+PageDown on an unknown archive type.
  • If PK_CAPS_SEARCHTEXT is returned, Total Commander will search for text inside files packed with this plugin. This may not be a good idea for certain plugins like the diskdir plugin, where file contents may not be available.
  • Finally, if PK_CAPS_HIDE is set, the plugin will not show the file type as a packer. This is useful for plugins which are mainly used for creating files, e.g. to create batch files, avi files etc. The file needs to be opened with Ctrl+PgDn in this case, because Enter will launch the associated application.

Important note:

If you change the return values of this function, e.g. add packing support, you need to reinstall the packer plugin in Total Commander, otherwise it will not detect the new capabilities.



Back to Packer plugins developer guide Back to Packer plugins developer guide overview Back to ConfigurePacker Back to What's new