https://www.ghisler.ch/wiki/api.php?action=feedcontributions&user=Lefteous&feedformat=atomTotalcmdWiki - User contributions [en]2024-03-28T10:29:37ZUser contributionsMediaWiki 1.39.6https://www.ghisler.ch/wiki/index.php?title=ContentGetValue&diff=8448ContentGetValue2017-04-22T10:22:43Z<p>Lefteous: Added backlink and category, improved formatting</p>
<hr />
<div>ContentGetValue is called to retrieve the value of a specific field for a given file, e.g. the date field of a file.<br />
<br />
==Declaration==<br />
<br />
int __stdcall ContentGetValue(char* FileName,int FieldIndex,int UnitIndex, void* FieldValue,int maxlen,int flags);<br />
<br />
==Description of parameters==<br />
<br />
{|<br />
|style="vertical-align: top; width: 100pt;" | FileName <br />
|The name of the file for which the plugin needs to return the field data.<br />
|-<br />
|style="vertical-align: top;" | FieldIndex <br />
|The index of the field for which the content has to be returned. This is the same index as the FieldIndex value in [[ContentGetSupportedField]].<br />
|-<br />
|style="vertical-align: top;" | UnitIndex<br />
|The index of the unit used. Example:<br />
If the plugin returned the following unit string in [[ContentGetSupportedField]]:<br />
bytes|kbytes|Mbytes<br />
Then a UnitIndex of 0 would mean bytes, 1 means kbytes and 2 means MBytes<br />
If no unit string was returned, UnitIndex is 0.<br />
For ft_fulltext, UnitIndex contains the offset of the data to be read.<br />
|-<br />
|style="vertical-align: top;" | FieldValue <br />
|Here the plugin needs to return the requested data. The data format depends on the field type:<br />
{|<br />
|style="vertical-align: top; width: 150pt;" | ft_numeric_32: <br />
|FieldValue points to a 32-bit signed integer variable.<br />
|-<br />
|style="vertical-align: top;" | ft_numeric_64: <br />
|FieldValue points to a 64-bit signed integer variable.<br />
|-<br />
|style="vertical-align: top;" | ft_numeric_floating: <br />
|FieldValue points to a 64-bit floating point variable (ISO standard double precision)<br />
See remark below about additional string field!<br />
|-<br />
|style="vertical-align: top;" | ft_date: <br />
|FieldValue points to a structure containing year,month,day as 2 byte values.<br />
|-<br />
|style="vertical-align: top;" | ft_time: <br />
|FieldValue points to a structure containing hour,minute,second as 2 byte values.<br />
|-<br />
|style="vertical-align: top;" | ft_boolean: <br />
|FieldValue points to a 32-bit number. 0 neans false, anything else means true.<br />
|-<br />
|style="vertical-align: top;" | ft_string: <br />
|FieldValue is a pointer to a 0-terminated string.<br />
|-<br />
|style="vertical-align: top;" | ft_stringw: <br />
|FieldValue is a pointer to a 0-terminated wide string.<br />
|-<br />
|style="vertical-align: top;" | ft_fulltext: <br />
|Read maxlen bytes of interpreted data starting at offset UnitIndex. The data must be a 0 terminated string.<br />
|-<br />
|style="vertical-align: top;" | ft_multiplechoice: <br />
|FieldValue is a pointer to a 0-terminated ANSI string.<br />
|-<br />
|style="vertical-align: top;" | ft_datetime: <br />
|A timestamp of type FILETIME, as returned e.g. by [[https://msdn.microsoft.com/en-us/library/windows/desktop/aa364418(v=vs.85).aspx FindFirstFile()]]. It is a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601. The time MUST be relative to universal time (Greenwich mean time) as returned by the file system, not local time!<br />
|-<br />
|style="vertical-align: top;" | ft_delayed, ft_ondemand: <br />
|You may return a zero-terminated string as in ft_string, which will be shown until the actual value has been extracted. Requires plugin version>=1.4.<br />
|}<br />
|-<br />
|style="vertical-align: top;" | maxlen <br />
|The maximum number of bytes fitting into the FieldValue variable. Note: When using Unicode strings, you need to divide this value by 2 to get the maximum number of characters!<br />
|-<br />
|style="vertical-align: top;" | flags <br />
|Currently only one flag is defined:<br />
CONTENT_DELAYIFSLOW: <br />
If this flag is set, the plugin should return ft_delayed for fields which take a long time to extract, like file version information. Total Commander will then call the function again in a background thread without the CONTENT_DELAYIFSLOW flag. This means that your plugin must be implemented thread-safe if you plan to return ft_delayed.<br />
The plugin may also return ft_ondemand if CONTENT_DELAYIFSLOW is set. In this case, the field will only be retrieved when the user presses <SPACEBAR>. This is only recommended for fields which take a VERY long time, e.g. directory content size. You should offer the same field twice in this case, once as delayed, and once as on demand. The field will be retrieved in the background thread also in this case.<br />
CONTENT_PASSTHROUGH: If this flag is set, the FieldValue passes the file size to the plugin as ft_numeric_floating. This value is only set if you have returned the flag contflags_passthrough_size_float from the function [[ContentGetSupportedFieldFlags]]. No units have been applied yet, the size is passed to the plugin as bytes. You then need to apply the appropriate unit, and set the additional string field. This option is used to display the size even in locations where the plugin doesn't work, e.g. on ftp connections or inside archives.<br />
|}<br />
<br />
==Return value==<br />
<br />
Return the field type in case of success, or one of the following error values otherwise:<br />
<br />
{| <br />
|style="vertical-align: top; width: 100pt;" | ft_nosuchfield <br />
|The given FieldIndex is invalid<br />
|-<br />
|style="vertical-align: top;" | ft_fileerror <br />
|Error accessing the specified file FileName<br />
|-<br />
|style="vertical-align: top;" | ft_fieldempty <br />
|The file does not contain the specified field<br />
|-<br />
|style="vertical-align: top;" | ft_delayed <br />
|The extraction of the field would take a long time, so Total Commander should request it again in a background thread. This error may only be returned if the |flag CONTENT_DELAYIFSLOW was set, and if the plugin is thread-safe.<br />
|-<br />
|style="vertical-align: top;" | ft_ondemand <br />
|The extraction of the field would take a very long time, so it should only be retrieved when the user presses the space bar. This error may only be returned if the flag CONTENT_DELAYIFSLOW was set, and if the plugin is thread-safe.<br />
|}<br />
<br />
==Remarks==<br />
<br />
ft_fulltext handling is a bit special. It is only used for searching in interpreted file contents, e.g. for finding text in binary files. For example, the ID3 plugin uses ft_fulltext to allow the user to search for a string in ALL header fields.<br />
Calls work like this:<br />
First, ContentGetValue is called with UnitIndex set to 0. The plugin then parses the file data, and (if necessary) keeps it in a cache. It writes the first block of maxlen-1 bytes to FieldValue and returns ft_fulltext. The data written must be a 0-terminated string! Total Commander then searches in the block, and requests the next block with offset maxlen-1, etc. Once there is no more data, the plugin needs to retrun ft_fieldempty. If there is a match, TC signals the plugin that it can delete the cached data by calling ContentGetValue with UnitIndex set to -1! The return value should be ft_fieldempty in this case. This call with UnitIndex=-1 does not happen when the plugin terminates the search with ft_fieldempty because it reached the end of the file.<br />
<br />
Total Commander now accepts that ContentGetValue returns a different data type than [[ContentGetSupportedField]] for the same field, e.g. a string "no value" instead of a numeric field. Note that older versions of Total Commander crashed in the search function in this case, so if you want to do this, you MUST check that the plugin version is reported as >=1.3 (hi=1, low>=3 or hi>=2).<br />
<br />
ft_numeric_floating (New with TC 6.52, plugin interface version >=1.4): You can now put a 0-terminated string immediately behind the 64bit floating point variable, which will then be shown instead in file lists. This is useful if the conversion precision used by TC isn't appropriate for your variables. The numeric variable will still be used for sorting and searching. If the string is empty, TC will ignore it (it is set to 0 before calling this function, so the function will remain backwards-compatible). Example: The numeric value is 0.000002. You can return this value as a 64-bit variable, and the string you find most appropriate, e.g. "2*10^-6" or "0.000002".<br />
<br />
<br />
Note about Unicode: ft_delayed and ft_ondemand fields and alternate text for ft_numeric_floating must be UTF-16 Unicode when using the wide function ContentGetValueW.<br />
<br />
About caching the data: Total Commander will not call a mix ContentGetValue for different files, it will only call it for the next file when the previous file can be closed. Therefore a single cache per running Total Commander would be sufficient. However, there may be other calls to ContentGetValue with requests to other fields in the background, e.g. for displaying result lists. There may also be multiple instances of Total Commander at the same time, so if you use a TEMP file for storing the cached data, make sure to give it a unique name (e.g. via [[http://msdn.microsoft.com/en-us/library/windows/desktop/aa364991(v=vs.85).aspx GetTempFileName]]).<br />
<br />
{{backlink|Content plugins developer guide|Content plugins developer guide}}<br />
<br />
[[category:Content plugin API]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=ContentGetSupportedField&diff=8447ContentGetSupportedField2017-04-22T10:01:48Z<p>Lefteous: Added backlink and category</p>
<hr />
<div>ContentGetSupportedField is called to enumerate all supported fields. FieldIndex is increased by 1 starting from 0 until the plugin returns ft_nomorefields.<br />
<br />
==Declaration:==<br />
<br />
int __stdcall ContentGetSupportedField(int FieldIndex,char* FieldName, char* Units,int maxlen);<br />
<br />
==Description of parameters:==<br />
<br />
{|<br />
|FieldIndex <br />
|The index of the field for which TC requests information. Starting with 0, the FieldIndex is increased until the plugin returns an error.<br />
|-<br />
|FieldName<br />
|Here the plugin has to return the name of the field with index FieldIndex. The field may not contain the following chars: . (dot) | (vertical line) : (colon). You may return a maximum of maxlen characters, including the trailing 0.<br />
|-<br />
|Units <br />
|When a field supports several units like bytes, kbytes, Mbytes etc, they need to be specified here in the following form: bytes|kbytes|Mbytes . The separator is the vertical dash (Alt+0124). As field names, unit names may not contain a vertical dash, a dot, or a colon. You may return a maximum of maxlen characters, including the trailing 0.<br />
If the field type is ft_multiplechoice, the plugin needs to return all possible values here. Example: The field "File Type" of the built-in content plugin can have the values "File", "Folder" and "Reparse point". The available choices need to be returned in the following form: File|Folder|Reparse point . The same separator is used as for Units. You may return a maximum of maxlen characters, including the trailing 0. The field type ft_multiplechoice does NOT support any units.<br />
|-<br />
|maxlen<br />
|The maximum number of characters, including the trailing 0, which may be returned in each of the fields.<br />
|-<br />
|}<br />
<br />
==Return value:==<br />
<br />
The function needs to return one of the following values:<br />
{|<br />
|ft_nomorefields<br />
|The FieldIndex is beyond the last available field.<br />
|-<br />
|ft_numeric_32 <br />
|A 32-bit signed number<br />
|-<br />
|ft_numeric_64 <br />
|A 64-bit signed number, e.g. for file sizes<br />
|-<br />
|ft_numeric_floating|<br />
|A double precision floating point number<br />
|-<br />
|ft_date<br />
|A date value (year, month, day)<br />
|-<br />
|ft_time <br />
|A time value (hour, minute, second). Date and time are in local time.<br />
|-<br />
|ft_boolean<br />
|A true/false value<br />
|-<br />
|ft_multiplechoice <br />
|A value allowing a limited number of choices. Use the Units field to return all possible values.<br />
|-<br />
|ft_string <br />
|A text string. Values returned by ContentGetValue may be of type ft_stringw or ft_string.<br />
|-<br />
|ft_fulltext <br />
|A full text (multiple text strings), only used for searching. Can be used e.g. for searching in the text portion of binary files, where the plugin makes the necessary translations. All fields of this type MUST be placed at the END of the field list, otherwise you will get errors in Total Commander!<br />
|-<br />
|ft_datetime <br />
|A timestamp of type FILETIME, as returned e.g. by FindFirstFile(). It is a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601. The time MUST be relative to universal time (Greenwich mean time) as returned by the file system, not local time!<br />
|-<br />
|ft_comparecontent: <br />
|This type can be returned only for FieldIndex >= 10'000! It is used in "Synchronize dirs" only (see notes below). Requires plugin version>=2.10.<br />
|}<br />
<br />
==Remarks:==<br />
<br />
Please note that fields of type ft_fulltext only show up in the search function, not in the multi-rename tool or the file lists. All fields of this type MUST be placed at the END of the field list, otherwise you will get errors in Total Commander! This is necessary because these fields will be removed from field lists e.g. in the "configure custom column view" dialog. You should use the ft_string type for shorter one line texts suitable for displaying in file lists and for renaming.<br />
<br />
Note about ft_comparecontent (New with TC 7.51, plugin interface version >=2.10): If [[ContentCompareFiles]] is exported by the plugin, Total Commander calls ContentGetSupportedField starting with index 10000 from "Synchronize dirs". "FieldName" must be filled with the name of the compare function, e.g. "Compare as text (ignore line breaks)", and the return value must be ft_comparecontent. The Units field is ignored. When comparing two files, Total Commander calls [[ContentCompareFiles]] with the FieldIndex value from this function (10000 for the first compare function, 10001 for the second etc).<br />
<br />
{{backlink|Content plugins developer guide|Content plugins developer guide}}<br />
<br />
[[category:Content plugin API]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=ContentGetSupportedField&diff=8446ContentGetSupportedField2017-04-22T10:00:25Z<p>Lefteous: </p>
<hr />
<div>ContentGetSupportedField is called to enumerate all supported fields. FieldIndex is increased by 1 starting from 0 until the plugin returns ft_nomorefields.<br />
<br />
==Declaration:==<br />
<br />
int __stdcall ContentGetSupportedField(int FieldIndex,char* FieldName, char* Units,int maxlen);<br />
<br />
==Description of parameters:==<br />
<br />
{|<br />
|FieldIndex <br />
|The index of the field for which TC requests information. Starting with 0, the FieldIndex is increased until the plugin returns an error.<br />
|-<br />
|FieldName<br />
|Here the plugin has to return the name of the field with index FieldIndex. The field may not contain the following chars: . (dot) | (vertical line) : (colon). You may return a maximum of maxlen characters, including the trailing 0.<br />
|-<br />
|Units <br />
|When a field supports several units like bytes, kbytes, Mbytes etc, they need to be specified here in the following form: bytes|kbytes|Mbytes . The separator is the vertical dash (Alt+0124). As field names, unit names may not contain a vertical dash, a dot, or a colon. You may return a maximum of maxlen characters, including the trailing 0.<br />
If the field type is ft_multiplechoice, the plugin needs to return all possible values here. Example: The field "File Type" of the built-in content plugin can have the values "File", "Folder" and "Reparse point". The available choices need to be returned in the following form: File|Folder|Reparse point . The same separator is used as for Units. You may return a maximum of maxlen characters, including the trailing 0. The field type ft_multiplechoice does NOT support any units.<br />
|-<br />
|maxlen<br />
|The maximum number of characters, including the trailing 0, which may be returned in each of the fields.<br />
|-<br />
|}<br />
<br />
==Return value:==<br />
<br />
The function needs to return one of the following values:<br />
{|<br />
|ft_nomorefields<br />
|The FieldIndex is beyond the last available field.<br />
|-<br />
|ft_numeric_32 <br />
|A 32-bit signed number<br />
|-<br />
|ft_numeric_64 <br />
|A 64-bit signed number, e.g. for file sizes<br />
|-<br />
|ft_numeric_floating|<br />
|A double precision floating point number<br />
|-<br />
|ft_date<br />
|A date value (year, month, day)<br />
|-<br />
|ft_time <br />
|A time value (hour, minute, second). Date and time are in local time.<br />
|-<br />
|ft_boolean<br />
|A true/false value<br />
|-<br />
|ft_multiplechoice <br />
|A value allowing a limited number of choices. Use the Units field to return all possible values.<br />
|-<br />
|ft_string <br />
|A text string. Values returned by ContentGetValue may be of type ft_stringw or ft_string.<br />
|-<br />
|ft_fulltext <br />
|A full text (multiple text strings), only used for searching. Can be used e.g. for searching in the text portion of binary files, where the plugin makes the necessary translations. All fields of this type MUST be placed at the END of the field list, otherwise you will get errors in Total Commander!<br />
|-<br />
|ft_datetime <br />
|A timestamp of type FILETIME, as returned e.g. by FindFirstFile(). It is a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601. The time MUST be relative to universal time (Greenwich mean time) as returned by the file system, not local time!<br />
|-<br />
|ft_comparecontent: <br />
|This type can be returned only for FieldIndex >= 10'000! It is used in "Synchronize dirs" only (see notes below). Requires plugin version>=2.10.<br />
|}<br />
<br />
==Remarks:==<br />
<br />
Please note that fields of type ft_fulltext only show up in the search function, not in the multi-rename tool or the file lists. All fields of this type MUST be placed at the END of the field list, otherwise you will get errors in Total Commander! This is necessary because these fields will be removed from field lists e.g. in the "configure custom column view" dialog. You should use the ft_string type for shorter one line texts suitable for displaying in file lists and for renaming.<br />
<br />
Note about ft_comparecontent (New with TC 7.51, plugin interface version >=2.10): If [[ContentCompareFiles]] is exported by the plugin, Total Commander calls ContentGetSupportedField starting with index 10000 from "Synchronize dirs". "FieldName" must be filled with the name of the compare function, e.g. "Compare as text (ignore line breaks)", and the return value must be ft_comparecontent. The Units field is ignored. When comparing two files, Total Commander calls [[ContentCompareFiles]] with the FieldIndex value from this function (10000 for the first compare function, 10001 for the second etc).</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=ContentCompareFiles&diff=8445ContentCompareFiles2017-04-22T09:58:58Z<p>Lefteous: </p>
<hr />
<div>ContentCompareFiles is called in Synchronize dirs to compare two files by content, e.g. two text files with different line breaks, one Windows (CRLF) and one Unix (LF only).<br />
<br />
==Declaration==<br />
<br />
int __stdcall ContentCompareFiles(PROGRESSCALLBACKPROC progresscallback,int compareindex,TCHAR* filename1,TCHAR* filename2,FileDetailsStruct* filedetails);<br />
<br />
==Description of parameters==<br />
<br />
{|<br />
|style="vertical-align: top; width: 200pt;" | progresscallback <br />
| Callback function to inform the calling program about the compare progress. If progresscallback returned a value other than zero (0), the user pressed the Abort/Cancel button and the comparison MUST be aborted with return value -2. You should call this message only every 100-200 milliseconds or so, because callbacks are slow.<br />
|-<br />
| style="vertical-align: top;" | compareindex <br />
|The value returned by [[ContentGetSupportedField]] for this compare field (starting with 10000)<br />
|-<br />
| style="vertical-align: top;" | filename1 <br />
|The first name to be compared<br />
|-<br />
| style="vertical-align: top;" | filename2 <br />
|The second name to be compared<br />
|-<br />
| style="vertical-align: top;" | filedetails<br />
|A structure which informs the plugin about the size, timestamp and attributes of both files<br />
|}<br />
<br />
==Return value==<br />
<br />
{|<br />
|style="width: 200pt;" | 1 <br />
| The two files are equal, show equal sign in list<br />
|-<br />
| style="vertical-align: top;" | 2 <br />
|The two files are equal, show equal sign with 'TXT' below it in list<br />
|-<br />
| style="vertical-align: top;" | 0 <br />
|The two files are different<br />
|-<br />
| style="vertical-align: top;" | -1 <br />
|Could not open at least one of the files<br />
|-<br />
| style="vertical-align: top;" | -2 <br />
|Compare aborted<br />
|-<br />
| style="vertical-align: top;" | -3 <br />
|The file cannot be compared with this function, please continue with the next plugin. Example: A plugin which compares two Word files by contents (even if the meta data is different) needs to return -3 if at least one of the two files isn't a Word file<br />
|-<br />
| style="vertical-align: top;" | 100 or higher <br />
|The two files are equal. The plugin file contains a 16x16 icon resource with this numeric ID, to be loaded via [https://msdn.microsoft.com/en-us/library/windows/desktop/ms648045(v=vs.85).aspx LoadImage(DllHandle,MAKEINTRESOURCE(id),IMAGE_ICON,16,16,LR_SHARED);] which will be shown between the two files. The icon must contain a 16 color image, and may also contain higher color images. Please test your icon at least with black on white and white on black window settings (Control panel - Display).There are two types of icons you can use:<br />
* 1: If the value is <10000, the icon will be drawn in addition to the equal sign (which will be in black or white, depending on the color of the background). The upper 8 pixels (plus 1 pixel optional border) may be used for drawing the additional image or text.<br />
* 2: If the value is >=10000, no equal sign will be drawn by TC, so the plugin can use the entire 16x16 space for drawing.<br />
|}<br />
<br />
==Remarks==<br />
<br />
* Do not return 0 (files different) if the two files are binary identical (containing exactly the same data) just because the plugin cannot compare them - this would break the normal compare function. Return -3 instead.<br />
* It's recommended to make a binary comparison first if the plugin is for a broad range of files, so the user may use *.* as the file type. Example_ See our "filesys" sample content plugin (text comparison), which makes a binary comparison until it finds the first difference, and then continues with using its text comparison method.<br />
<br />
{{backlink|Content plugins developer guide|Content plugins developer guide}}<br />
<br />
[[category:Content plugin API]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=ContentCompareFiles&diff=8444ContentCompareFiles2017-04-15T18:31:04Z<p>Lefteous: </p>
<hr />
<div>ContentCompareFiles is called in Synchronize dirs to compare two files by content, e.g. two text files with different line breaks, one Windows (CRLF) and one Unix (LF only).<br />
<br />
==Declaration==<br />
<br />
int __stdcall ContentCompareFiles(PROGRESSCALLBACKPROC progresscallback,int compareindex,TCHAR* filename1,TCHAR* filename2,FileDetailsStruct* filedetails);<br />
<br />
==Description of parameters==<br />
<br />
{|<br />
|style="vertical-align: top; width: 200pt;" | progresscallback <br />
| Callback function to inform the calling program about the compare progress. If progresscallback returned a value other than zero (0), the user pressed the Abort/Cancel button and the comparison MUST be aborted with return value -2. You should call this message only every 100-200 milliseconds or so, because callbacks are slow.<br />
|-<br />
| style="vertical-align: top;" | compareindex <br />
|The value returned by [[ContentGetSupportedField]] for this compare field (starting with 10000)<br />
|-<br />
| style="vertical-align: top;" | filename1 <br />
|The first name to be compared<br />
|-<br />
| style="vertical-align: top;" | filename2 <br />
|The second name to be compated<br />
|-<br />
| style="vertical-align: top;" | filedetails<br />
|A structure which informs the plugin about the size, timestamp and attributes of both files<br />
|}<br />
<br />
==Return value==<br />
<br />
{|<br />
|style="width: 200pt;" | 1 <br />
| The two files are equal, show equal sign in list<br />
|-<br />
| style="vertical-align: top;" | 2 <br />
|The two files are equal, show equal sign with 'TXT' below it in list<br />
|-<br />
| style="vertical-align: top;" | 0 <br />
|The two files are different<br />
|-<br />
| style="vertical-align: top;" | -1 <br />
|Could not open at least one of the files<br />
|-<br />
| style="vertical-align: top;" | -2 <br />
|Compare aborted<br />
|-<br />
| style="vertical-align: top;" | -3 <br />
|The file cannot be compared with this function, please continue with the next plugin. Example: A plugin which compares two Word files by contents (even if the meta data is different) needs to return -3 if at least one of the two files isn't a Word file<br />
|-<br />
| style="vertical-align: top;" | 100 or higher <br />
|The two files are equal. The plugin file contains a 16x16 icon resource with this numeric ID, to be loaded via [https://msdn.microsoft.com/en-us/library/windows/desktop/ms648045(v=vs.85).aspx LoadImage(DllHandle,MAKEINTRESOURCE(id),IMAGE_ICON,16,16,LR_SHARED);] which will be shown between the two files. The icon must contain a 16 color image, and may also contain higher color images. Please test your icon at least with black on white and white on black window settings (Control panel - Display).There are two types of icons you can use:<br />
* 1: If the value is <10000, the icon will be drawn in addition to the equal sign (which will be in black or white, depending on the color of the background). The upper 8 pixels (plus 1 pixel optional border) may be used for drawing the additional image or text.<br />
* 2: If the value is >=10000, no equal sign will be drawn by TC, so the plugin can use the entire 16x16 space for drawing.<br />
|}<br />
<br />
==Remarks==<br />
<br />
* Do not return 0 (files different) if the two files are binary identical (containing exactly the same data) just because the plugin cannot compare them - this would break the normal compare function. Return -3 instead.<br />
* It's recommended to make a binary comparison first if the plugin is for a broad range of files, so the user may use *.* as the file type. Example_ See our "filesys" sample content plugin (text comparison), which makes a binary comparison until it finds the first difference, and then continues with using its text comparison method.<br />
<br />
{{backlink|Content plugins developer guide|Content plugins developer guide}}<br />
<br />
[[category:Content plugin API]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=ContentCompareFiles&diff=8443ContentCompareFiles2017-04-15T18:30:18Z<p>Lefteous: Improved formatting</p>
<hr />
<div>ContentCompareFiles is called in Synchronize dirs to compare two files by content, e.g. two text files with different line breaks, one Windows (CRLF) and one Unix (LF only).<br />
<br />
==Declaration==<br />
<br />
int __stdcall ContentCompareFiles(PROGRESSCALLBACKPROC progresscallback,int compareindex,TCHAR* filename1,TCHAR* filename2,FileDetailsStruct* filedetails);<br />
<br />
==Description of parameters==<br />
<br />
{|<br />
|style="vertical-align: top; width: 200pt;" | progresscallback <br />
|style="width: 450pt;" | Callback function to inform the calling program about the compare progress. If progresscallback returned a value other than zero (0), the user pressed the Abort/Cancel button and the comparison MUST be aborted with return value -2. You should call this message only every 100-200 milliseconds or so, because callbacks are slow.<br />
|-<br />
| style="vertical-align: top;" | compareindex <br />
|The value returned by [[ContentGetSupportedField]] for this compare field (starting with 10000)<br />
|-<br />
| style="vertical-align: top;" | filename1 <br />
|The first name to be compared<br />
|-<br />
| style="vertical-align: top;" | filename2 <br />
|The second name to be compated<br />
|-<br />
| style="vertical-align: top;" | filedetails<br />
|A structure which informs the plugin about the size, timestamp and attributes of both files<br />
|}<br />
<br />
==Return value==<br />
<br />
{|<br />
|style="width: 200pt;" | 1 <br />
|style="width: 450pt;" | The two files are equal, show equal sign in list<br />
|-<br />
| style="vertical-align: top;" | 2 <br />
|The two files are equal, show equal sign with 'TXT' below it in list<br />
|-<br />
| style="vertical-align: top;" | 0 <br />
|The two files are different<br />
|-<br />
| style="vertical-align: top;" | -1 <br />
|Could not open at least one of the files<br />
|-<br />
| style="vertical-align: top;" | -2 <br />
|Compare aborted<br />
|-<br />
| style="vertical-align: top;" | -3 <br />
|The file cannot be compared with this function, please continue with the next plugin. Example: A plugin which compares two Word files by contents (even if the meta data is different) needs to return -3 if at least one of the two files isn't a Word file<br />
|-<br />
| style="vertical-align: top;" | 100 or higher <br />
|The two files are equal. The plugin file contains a 16x16 icon resource with this numeric ID, to be loaded via [https://msdn.microsoft.com/en-us/library/windows/desktop/ms648045(v=vs.85).aspx LoadImage(DllHandle,MAKEINTRESOURCE(id),IMAGE_ICON,16,16,LR_SHARED);] which will be shown between the two files. The icon must contain a 16 color image, and may also contain higher color images. Please test your icon at least with black on white and white on black window settings (Control panel - Display).There are two types of icons you can use:<br />
* 1: If the value is <10000, the icon will be drawn in addition to the equal sign (which will be in black or white, depending on the color of the background). The upper 8 pixels (plus 1 pixel optional border) may be used for drawing the additional image or text.<br />
* 2: If the value is >=10000, no equal sign will be drawn by TC, so the plugin can use the entire 16x16 space for drawing.<br />
|}<br />
<br />
==Remarks==<br />
<br />
* Do not return 0 (files different) if the two files are binary identical (containing exactly the same data) just because the plugin cannot compare them - this would break the normal compare function. Return -3 instead.<br />
* It's recommended to make a binary comparison first if the plugin is for a broad range of files, so the user may use *.* as the file type. Example_ See our "filesys" sample content plugin (text comparison), which makes a binary comparison until it finds the first difference, and then continues with using its text comparison method.<br />
<br />
{{backlink|Content plugins developer guide|Content plugins developer guide}}<br />
<br />
[[category:Content plugin API]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=ContentCompareFiles&diff=8442ContentCompareFiles2017-04-15T17:53:32Z<p>Lefteous: Added a few links</p>
<hr />
<div>ContentCompareFiles is called in Synchronize dirs to compare two files by content, e.g. two text files with different line breaks, one Windows (CRLF) and one Unix (LF only).<br />
<br />
==Declaration==<br />
<br />
int __stdcall ContentCompareFiles(PROGRESSCALLBACKPROC progresscallback,int compareindex,TCHAR* filename1,TCHAR* filename2,FileDetailsStruct* filedetails);<br />
<br />
==Description of parameters==<br />
<br />
{| style="vertical-align: top;"<br />
|style="width: 200pt;" | progresscallback <br />
|style="width: 450pt;" | Callback function to inform the calling program about the compare progress. If progresscallback returned a value other than zero (0), the user pressed the Abort/Cancel button and the comparison MUST be aborted with return value -2. You should call this message only every 100-200 milliseconds or so, because callbacks are slow.<br />
|-<br />
|compareindex <br />
|The value returned by [[ContentGetSupportedField]] for this compare field (starting with 10000)<br />
|-<br />
|filename1 <br />
|The first name to be compared<br />
|-<br />
|filename2 <br />
|The second name to be compated<br />
|-<br />
|filedetails<br />
|A structure which informs the plugin about the size, timestamp and attributes of both files<br />
|}<br />
<br />
==Return value==<br />
<br />
{| style="vertical-align: top;"<br />
|style="width: 200pt;" | 1 <br />
|style="width: 450pt;" | The two files are equal, show equal sign in list<br />
|-<br />
| 2 <br />
|The two files are equal, show equal sign with 'TXT' below it in list<br />
|-<br />
| 0 <br />
|The two files are different<br />
|-<br />
| -1 <br />
|Could not open at least one of the files<br />
|-<br />
| -2 <br />
|Compare aborted<br />
|-<br />
| -3 <br />
|The file cannot be compared with this function, please continue with the next plugin. Example: A plugin which compares two Word files by contents (even if the meta data is different) needs to return -3 if at least one of the two files isn't a Word file<br />
|-<br />
| 100 or higher <br />
|The two files are equal. The plugin file contains a 16x16 icon resource with this numeric ID, to be loaded via [https://msdn.microsoft.com/en-us/library/windows/desktop/ms648045(v=vs.85).aspx LoadImage(DllHandle,MAKEINTRESOURCE(id),IMAGE_ICON,16,16,LR_SHARED);] which will be shown between the two files. The icon must contain a 16 color image, and may also contain higher color images. Please test your icon at least with black on white and white on black window settings (Control panel - Display).There are two types of icons you can use:<br />
* 1: If the value is <10000, the icon will be drawn in addition to the equal sign (which will be in black or white, depending on the color of the background). The upper 8 pixels (plus 1 pixel optional border) may be used for drawing the additional image or text.<br />
* 2: If the value is >=10000, no equal sign will be drawn by TC, so the plugin can use the entire 16x16 space for drawing.<br />
|}<br />
<br />
==Remarks==<br />
<br />
* Do not return 0 (files different) if the two files are binary identical (containing exactly the same data) just because the plugin cannot compare them - this would break the normal compare function. Return -3 instead.<br />
* It's recommended to make a binary comparison first if the plugin is for a broad range of files, so the user may use *.* as the file type. Example_ See our "filesys" sample content plugin (text comparison), which makes a binary comparison until it finds the first difference, and then continues with using its text comparison method.<br />
<br />
{{backlink|Content plugins developer guide|Content plugins developer guide}}<br />
<br />
[[category:Content plugin API]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=ContentCompareFiles&diff=8441ContentCompareFiles2017-04-15T17:48:37Z<p>Lefteous: Initial formatting</p>
<hr />
<div>ContentCompareFiles is called in Synchronize dirs to compare two files by content, e.g. two text files with different line breaks, one Windows (CRLF) and one Unix (LF only).<br />
<br />
==Declaration==<br />
<br />
int __stdcall ContentCompareFiles(PROGRESSCALLBACKPROC progresscallback,int compareindex,TCHAR* filename1,TCHAR* filename2,FileDetailsStruct* filedetails);<br />
<br />
==Description of parameters==<br />
<br />
{| style="vertical-align: top;"<br />
|style="width: 200pt;" | progresscallback <br />
|style="width: 450pt;" | Callback function to inform the calling program about the compare progress. If progresscallback returned a value other than zero (0), the user pressed the Abort/Cancel button and the comparison MUST be aborted with return value -2. You should call this message only every 100-200 milliseconds or so, because callbacks are slow.<br />
|-<br />
|compareindex <br />
|The value returned by ContentGetSupportedField for this compare field (starting with 10000)<br />
|-<br />
|filename1 <br />
|The first name to be compared<br />
|-<br />
|filename2 <br />
|The second name to be compated<br />
|-<br />
|filedetails<br />
|A structure which informs the plugin about the size, timestamp and attributes of both files<br />
|}<br />
<br />
==Return value==<br />
<br />
{| style="vertical-align: top;"<br />
|style="width: 200pt;" | 1 <br />
|style="width: 450pt;" | The two files are equal, show equal sign in list<br />
|-<br />
| 2 <br />
|The two files are equal, show equal sign with 'TXT' below it in list<br />
|-<br />
| 0 <br />
|The two files are different<br />
|-<br />
| -1 <br />
|Could not open at least one of the files<br />
|-<br />
| -2 <br />
|Compare aborted<br />
|-<br />
| -3 <br />
|The file cannot be compared with this function, please continue with the next plugin. Example: A plugin which compares two Word files by contents (even if the meta data is different) needs to return -3 if at least one of the two files isn't a Word file<br />
|-<br />
| 100 or higher <br />
|The two files are equal. The plugin file contains a 16x16 icon resource with this numeric ID, to be loaded via LoadImage(DllHandle,MAKEINTRESOURCE(id),IMAGE_ICON,16,16,LR_SHARED); which will be shown between the two files. The icon must contain a 16 color image, and may also contain higher color images. Please test your icon at least with black on white and white on black window settings (Control panel - Display).There are two types of icons you can use:<br />
* 1: If the value is <10000, the icon will be drawn in addition to the equal sign (which will be in black or white, depending on the color of the background). The upper 8 pixels (plus 1 pixel optional border) may be used for drawing the additional image or text.<br />
* 2: If the value is >=10000, no equal sign will be drawn by TC, so the plugin can use the entire 16x16 space for drawing.<br />
|}<br />
<br />
==Remarks==<br />
<br />
* Do not return 0 (files different) if the two files are binary identical (containing exactly the same data) just because the plugin cannot compare them - this would break the normal compare function. Return -3 instead.<br />
* It's recommended to make a binary comparison first if the plugin is for a broad range of files, so the user may use *.* as the file type. Example_ See our "filesys" sample content plugin (text comparison), which makes a binary comparison until it finds the first difference, and then continues with using its text comparison method.<br />
<br />
{{backlink|Content plugins developer guide|Content plugins developer guide}}<br />
<br />
[[category:Content plugin API]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=ContentCompareFiles&diff=8440ContentCompareFiles2017-04-15T15:36:07Z<p>Lefteous: Initial document version, backlink & category</p>
<hr />
<div>ContentCompareFiles is called in Synchronize dirs to compare two files by content, e.g. two text files with different line breaks, one Windows (CRLF) and one Unix (LF only).<br />
<br />
Declaration:<br />
<br />
int __stdcall ContentCompareFiles(PROGRESSCALLBACKPROC progresscallback,int compareindex,<br />
TCHAR* filename1,TCHAR* filename2,FileDetailsStruct* filedetails);<br />
<br />
Description of parameters:<br />
<br />
progresscallback Callback function to inform the calling program about the compare progress<br />
If progresscallback returned a value other than zero (0), the user pressed the Abort/Cancel button and the comparison MUST be aborted with return value -2.<br />
You should call this message only every 100-200 milliseconds or so, because callbacks are slow<br />
compareindex The value returned by ContentGetSupportedField for this compare field (starting with 10000)<br />
filename1 The first name to be compared<br />
filename2 The second name to be compated<br />
filedetails A structure which informs the plugin about the size, timestamp and attributes of both files<br />
<br />
Return value:<br />
<br />
1 The two files are equal, show equal sign in list<br />
2 The two files are equal, show equal sign with 'TXT' below it in list<br />
0 The two files are different<br />
-1 Could not open at least one of the files<br />
-2 Compare aborted<br />
-3 The file cannot be compared with this function, please continue with the next plugin. Example: A plugin which compares two Word files by contents (even if the meta data is different) needs to return -3 if at least one of the two files isn't a Word file<br />
100 or higher The two files are equal. The plugin file contains a 16x16 icon resource with this numeric ID, to be loaded via<br />
LoadImage(DllHandle,MAKEINTRESOURCE(id),IMAGE_ICON,16,16,LR_SHARED);<br />
which will be shown between the two files. The icon must contain a 16 color image, and may also contain higher color images. Please test your icon at least with black on white and white on black window settings (Control panel - Display).<br />
There are two types of icons you can use:<br />
1: If the value is <10000, the icon will be drawn in addition to the equal sign (which will be in black or white, depending on the color of the background). The upper 8 pixels (plus 1 pixel optional border) may be used for drawing the additional image or text.<br />
2: If the value is >=10000, no equal sign will be drawn by TC, so the plugin can use the entire 16x16 space for drawing.<br />
<br />
Remarks:<br />
<br />
- Do not return 0 (files different) if the two files are binary identical (containing exactly the same data) just because the plugin cannot compare them - this would break the normal compare function. Return -3 instead.<br />
- It's recommended to make a binary comparison first if the plugin is for a broad range of files, so the user may use *.* as the file type. Example_ See our "filesys" sample content plugin (text comparison), which makes a binary comparison until it finds the first difference, and then continues with using its text comparison method.<br />
<br />
{{backlink|Content plugins developer guide|Content plugins developer guide}}<br />
<br />
[[category:Content plugin API]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=ContentSendStateInformation&diff=8439ContentSendStateInformation2017-04-15T15:34:02Z<p>Lefteous: </p>
<hr />
<div>ContentSendStateInformation is called to inform the plugin about a state change.<br />
<br />
Declaration:<br />
<br />
void __stdcall ContentSendStateInformation(int state,char* path);<br />
<br />
Description of parameters:<br />
<br />
state The state which has changed. The following states are defined:<br />
contst_readnewdir: It is called when TC reads one of the file lists.<br />
contst_refreshpressed: The user has pressed F2 or Ctrl+R to force a reload.<br />
contst_showhint: A tooltip/hint window is shown for the current file.<br />
<br />
path Current path. In case of contst_showhint, this is the path to the file, otherwise to the current directory.<br />
<br />
Return value:<br />
<br />
This function has no return value.<br />
<br />
Remarks:<br />
<br />
- This function may be used to clear a directory cache when called with parameter contst_refreshpressed or with contst_readnewdir, depending on the needs of the plugin.<br />
- When the user presses F2 or Ctrl+R in custom columns view or thumbnails view, ContentSendStateInformation is called first with parameter contst_refreshpressed, then with contst_readnewdir.<br />
- When the user changes to a different directory in custom columns view or thumbnails view, ContentSendStateInformation is called only with parameter contst_readnewdir.<br />
- When the user switches from full view to custom columns view or thumbnails view, ContentSendStateInformation is not called at all!<br />
- Do not ignore the state parameter, there may be more parameters added in future versions!<br />
<br />
{{backlink|Content plugins developer guide|Content plugins developer guide}}<br />
<br />
[[category:Content plugin API]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=ContentSendStateInformation&diff=8438ContentSendStateInformation2017-04-15T15:33:49Z<p>Lefteous: Initial document version, backlink & category</p>
<hr />
<div>ContentSendStateInformation is called to inform the plugin about a state change.<br />
<br />
Declaration:<br />
<br />
void __stdcall ContentSendStateInformation(int state,char* path);<br />
<br />
Description of parameters:<br />
<br />
state The state which has changed. The following states are defined:<br />
contst_readnewdir: It is called when TC reads one of the file lists.<br />
contst_refreshpressed: The user has pressed F2 or Ctrl+R to force a reload.<br />
contst_showhint: A tooltip/hint window is shown for the current file.<br />
<br />
path Current path. In case of contst_showhint, this is the path to the file, otherwise to the current directory.<br />
<br />
Return value:<br />
<br />
This function has no return value.<br />
<br />
Remarks:<br />
<br />
- This function may be used to clear a directory cache when called with parameter contst_refreshpressed or with contst_readnewdir, depending on the needs of the plugin.<br />
- When the user presses F2 or Ctrl+R in custom columns view or thumbnails view, ContentSendStateInformation is called first with parameter contst_refreshpressed, then with contst_readnewdir.<br />
- When the user changes to a different directory in custom columns view or thumbnails view, ContentSendStateInformation is called only with parameter contst_readnewdir.<br />
- When the user switches from full view to custom columns view or thumbnails view, ContentSendStateInformation is not called at all!<br />
- Do not ignore the state parameter, there may be more parameters added in future versions!</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=ContentEditValue&diff=8437ContentEditValue2017-04-15T15:33:10Z<p>Lefteous: Initial document version, backlink & category</p>
<hr />
<div>ContentEditValue allows a plugin to implement a custom input dialog to enter special values like date and time. This function is called in change attributes if you returned the flag contflags_fieldedit in ContentGetSupportedFieldFlags for a field. <br />
<br />
Declaration:<br />
<br />
int __stdcall ContentEditValue(HWND ParentWin,int FieldIndex,int UnitIndex,int FieldType,<br />
void* FieldValue,int maxlen,int flags,char* langidentifier);<br />
<br />
Description of parameters:<br />
<br />
ParentWin The parent window handle for the dialog.<br />
<br />
FieldIndex The index of the field for which the content editor is called. This is the same index as the FieldIndex value in ContentGetSupportedField.<br />
<br />
UnitIndex The index of the unit used. Example:<br />
If the plugin returned the following unit string in ContentGetSupportedField:<br />
bytes|kbytes|Mbytes<br />
Then a UnitIndex of 0 would mean bytes, 1 means kbytes and 2 means MBytes<br />
If no unit string was returned, UnitIndex is 0.<br />
<br />
FieldType The type of data passed to the plugin in FieldValue. This is the same type as returned by the plugin via ContentGetSupportedField.<br />
<br />
FieldValue Here the plugin receives the data to be edited, and returns the result back to the caller. The data format depends on the field type:<br />
ft_numeric_32: FieldValue points to a 32-bit signed integer variable.<br />
ft_numeric_64: FieldValue points to a 64-bit signed integer variable.<br />
ft_numeric_floating: FieldValue points to a 64-bit floating point variable (ISO standard double precision)<br />
ft_date: FieldValue points to a structure containing year,month,day as 2 byte values.<br />
ft_time: FieldValue points to a structure containing hour,minute,second as 2 byte values.<br />
ft_boolean: Currently unsupported.<br />
ft_string: FieldValue is a pointer to a 0-terminated string.<br />
ft_multiplechoice: Currently unsupported.<br />
ft_fulltext: Currently unsupported.<br />
ft_datetime: A timestamp of type FILETIME, as returned e.g. by FindFirstFile(). It is a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601. The time MUST be relative to universal time (Greenwich mean time) as returned by the file system, not local time!<br />
<br />
maxlen The maximum number of bytes fitting into the FieldValue variable.<br />
<br />
flags Currently the following flags are defined:<br />
editflags_initialize: The data passed in via FieldValue should be used to initialize the dialog.<br />
<br />
langidentifier A 1-3 character language identifier, the same as the last part of the language file name used. Example: The German language file is called wcmd_deu.lng, so the langidentifier is "deu". May be used to translate the dialog.<br />
<br />
Return value:<br />
<br />
ft_setsuccess User confirmed dialog with OK, and the data is valid<br />
ft_nosuchfield The given field index was invalid<br />
ft_setcancel The user clicked on cancel<br />
<br />
Remarks:<br />
<br />
Total Commander already implements an internal editor for the fields ft_date, ft_time, and ft_datetime. You can override it with your own by specifying the contflags_fieldedit flag for your date/time fields. Fields of type boolean and multiple choice do not currently support a field editor.<br />
<br />
{{backlink|Content plugins developer guide|Content plugins developer guide}}<br />
<br />
[[category:Content plugin API]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=ContentSetValue&diff=8436ContentSetValue2017-04-15T15:31:44Z<p>Lefteous: Initial document version, backlink & category</p>
<hr />
<div>ContentSetValue is called to set the value of a specific field for a given file, e.g. to change the date field of a file.<br />
<br />
Declaration:<br />
<br />
int __stdcall ContentSetValue(char* FileName,int FieldIndex,int UnitIndex,int FieldType,<br />
void* FieldValue,int flags);<br />
<br />
Description of parameters:<br />
<br />
FileName The name of the file for which the plugin needs to change the field data.<br />
This is set to NULL to indicate the end of change attributes (see remarks below).<br />
<br />
FieldIndex The index of the field for which the content has to be returned. This is the same index as the FieldIndex value in ContentGetSupportedField. This is set to -1 to signal the end of change attributes (see remarks below).<br />
<br />
UnitIndex The index of the unit used. Example:<br />
If the plugin returned the following unit string in ContentGetSupportedField:<br />
bytes|kbytes|Mbytes<br />
Then a UnitIndex of 0 would mean bytes, 1 means kbytes and 2 means MBytes<br />
If no unit string was returned, UnitIndex is 0.<br />
ft_fulltext is currently unsupported.<br />
<br />
FieldType The type of data passed to the plugin in FieldValue. This is the same type as returned by the plugin via ContentGetSupportedField. If the plugin returned a different type via ContentGetValue, the the FieldType _may_ be of that type too.<br />
<br />
FieldValue Here the plugin receives the data to be changed. The data format depends on the field type:<br />
ft_numeric_32: FieldValue points to a 32-bit signed integer variable.<br />
ft_numeric_64: FieldValue points to a 64-bit signed integer variable.<br />
ft_numeric_floating: FieldValue points to a 64-bit floating point variable (ISO standard double precision)<br />
ft_date: FieldValue points to a structure containing year,month,day as 2 byte values.<br />
ft_time: FieldValue points to a structure containing hour,minute,second as 2 byte values.<br />
ft_boolean: FieldValue points to a 32-bit number. 0 neans false, anything else means true.<br />
ft_string or ft_multiplechoice: FieldValue is a pointer to a 0-terminated string.<br />
ft_fulltext: Currently unsupported.<br />
ft_datetime: A timestamp of type FILETIME, as returned e.g. by FindFirstFile(). It is a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601. The time MUST be relative to universal time (Greenwich mean time) as returned by the file system, not local time!<br />
ft_delayed, ft_ondemand: You may return a zero-terminated string as in ft_string, which will be shown until the actual value has been extracted. Requires plugin version>=1.4.<br />
<br />
<br />
flags Currently the following flags are defined:<br />
setflags_first_attribute: This is the first attribute to be set for this file via this plugin. May be used for optimization.<br />
setflags_last_attribute: This is the last attribute to be set for this file via this plugin.<br />
setflags_only_date: For field type ft_datetime only: User has only entered a date, don't change the time<br />
<br />
Return value:<br />
<br />
ft_setsuccess Change was successful<br />
ft_fileerror Error accessing the specified file FileName, or cannot set the given value<br />
ft_nosuchfield The given field index was invalid<br />
<br />
Remarks:<br />
<br />
About caching the data: Total Commander will not call a mix ContentSetValue for different files, it will only call it for the next file when the previous file can be closed. Therefore a single cache per running Total Commander should be sufficient.<br />
<br />
About the flags: If the flags setflags_first_attribute and setflags_last_attribute are both set, then this is the only attribute of this plugin which is changed for this file.<br />
<br />
FileName is set to NULL and FieldIndex to -1 to signal to the plugin that the change attributes operation has ended. This can be used to flush unsaved data to disk, e.g. when setting comments for multiple files.<br />
<br />
{{backlink|Content plugins developer guide|Content plugins developer guide}}<br />
<br />
[[category:Content plugin API]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=ContentGetSupportedFieldFlags&diff=8435ContentGetSupportedFieldFlags2017-04-15T15:29:12Z<p>Lefteous: Initial document version, backlink & category</p>
<hr />
<div>ContentGetSupportedFieldFlags is called to get various information about a plugin variable. It's first called with FieldIndex=-1 to find out whether the plugin supports any special flags at all, and then for each field separately.<br />
<br />
Declaration:<br />
<br />
int __stdcall ContentGetSupportedFieldFlags(int FieldIndex);<br />
<br />
Description of parameters:<br />
<br />
FieldIndex The index of the field for which flags should be returned.<br />
-1: Return a combination (or) of all supported flags, e.g. contflags_edit | contflags_substmask<br />
>=0: Return the field-specific flags<br />
<br />
Return value:<br />
<br />
The function needs to return a combination of the following flags:<br />
<br />
contflags_edit The plugin allows to edit (modify) this field via Files - Change attributes. This should only be returned for fields where it makes sense, e.g. a file date.<br />
<br />
Only ONE of the following flags: (See description and example under "Note").<br />
contflags_substsize use the file size<br />
contflags_substdatetime use the file date+time (ft_datetime)<br />
contflags_substdate use the file date (fd_date)<br />
contflags_substtime use the file time (fd_time)<br />
contflags_substattributes use the file attributes (numeric)<br />
contflags_substattributestr use the file attribute string in form -a--<br />
contflags_passthrough_size_float pass the size as ft_numeric_floating to ContentGetValue. The plugin will then apply the correct units, and return the formatted display string in the additional string field.<br />
contflags_substmask A combination of all above substitution flags. Should be returned for index -1 if the content plugin contains ANY of the substituted fields.<br />
contflags_fieldedit If set, TC will show a button >> in change attributes which lets the user call the function ContentEditValue. This allows plugins to have their own field editors, like the custom editor for tc.comments or tc.*date/time fields.<br />
<br />
<br />
Note:<br />
<br />
Returning one of the contflags_subst* flags instructs Total Commander to replace (substitute) the returned variable by the indicated default internal value if no plugin variable can be retrieved. Example: Content plugins do not work on FTP servers. A field which shows the size of files and directories should be replaced by the size of the FTP files in this case, so return contflags_substsize. Alternatvely, you can also return contflags_passthrough_size_float - then Total Commander will call ContentGetValue and pass the size as ft_numeric_floating to your plugin, so you can format the display string yourself, and apply custom units.<br />
<br />
{{backlink|Content plugins developer guide|Content plugins developer guide}}<br />
<br />
[[category:Content plugin API]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=ContentPluginUnloading&diff=8434ContentPluginUnloading2017-04-15T15:27:48Z<p>Lefteous: Initial document version, backlink & category</p>
<hr />
<div>ContentPluginUnloading is called just before the plugin is unloaded, e.g. to close buffers, abort operations etc.<br />
<br />
Declaration:<br />
<br />
void __stdcall ContentPluginUnloading(void);<br />
<br />
Description of parameters:<br />
<br />
There are no parameters.<br />
<br />
Return value:<br />
<br />
There is no return value.<br />
<br />
Note:<br />
<br />
This function was added by request from a user who needs to unload GDI+. It seems that GDI+ has a bug which makes it crash when unloading it in the DLL unload function, therefore a separate unload function is needed.<br />
<br />
{{backlink|Content plugins developer guide|Content plugins developer guide}}<br />
<br />
[[category:Content plugin API]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=ContentGetDefaultSortOrder&diff=8433ContentGetDefaultSortOrder2017-04-15T15:25:59Z<p>Lefteous: Initial document version, backlink & category</p>
<hr />
<div>ContentGetDefaultSortOrder is called when the user clicks on the sorting header above the columns.<br />
<br />
Declaration:<br />
<br />
int __stdcall ContentGetDefaultSortOrder(int FieldIndex);<br />
<br />
Description of parameters:<br />
<br />
FieldIndex The index of the field for which the sort order should be returned.<br />
<br />
Return value:<br />
<br />
Return 1 for ascending (a..z, 1..9), or -1 for descending (z..a, 9..0).<br />
<br />
Note:<br />
<br />
You may implement this function if there are fields which are usually sorted in descending order, like the size field (largest file first) or the date/time fields (newest first). If the function isn't implemented, ascending will be the default.<br />
<br />
{{backlink|Content plugins developer guide|Content plugins developer guide}}<br />
<br />
[[category:Content plugin API]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=ContentStopGetValue&diff=8432ContentStopGetValue2017-04-15T15:24:48Z<p>Lefteous: Initial document version, backlink & category</p>
<hr />
<div>ContentStopGetValue is called to tell a plugin that a directory change has occurred, and the plugin should stop loading a value.<br />
<br />
Declaration:<br />
<br />
void __stdcall ContentStopGetValue(char* FileName);<br />
<br />
Description of parameters:<br />
<br />
FileName The name of the file for which ContentGetValue is currently being called.<br />
<br />
Return value:<br />
<br />
The function has no return value.<br />
<br />
Note:<br />
<br />
This function only needs to be implemented when handling very slow fields, e.g. the calculation of the total size of all files in a directory. It will be called only while a call to ContentGetValue is active in a background thread.<br />
A plugin could handle this mechanism like this:<br />
1. When ContentGetValue is called, set a variable GetAborted to false<br />
2. When ContentStopGetValue is called, set GetAborted to true<br />
3. Check GetAborted during the lengthy operation, and if it becomes true, return ft_fieldempty<br />
<br />
{{backlink|Content plugins developer guide|Content plugins developer guide}}<br />
<br />
[[category:Content plugin API]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=ContentSetDefaultParams&diff=8431ContentSetDefaultParams2017-04-15T15:16:46Z<p>Lefteous: Backlink and category</p>
<hr />
<div>ContentDefaultParamStruct is passed to ContentSetDefaultParams to inform the plugin about the current plugin interface version and ini file location.<br />
<br />
Declaration:<br />
<br />
typedef struct {<br />
int size;<br />
DWORD PluginInterfaceVersionLow;<br />
DWORD PluginInterfaceVersionHi;<br />
char DefaultIniName[MAX_PATH];<br />
} ContentDefaultParamStruct ;<br />
<br />
Description of struct members:<br />
<br />
size The size of the structure, in bytes. Later revisions of the plugin interface may add more structure members, and will adjust this size field accordingly.<br />
<br />
PluginInterfaceVersionLow Low value of plugin interface version. This is the value after the comma, multiplied by 100! Example. For plugin interface version 1.30, the low DWORD is 30 and the high DWORD is 1.<br />
<br />
PluginInterfaceVersionHi High value of plugin interface version.<br />
<br />
DefaultIniName Suggested location+name of the ini file where the plugin could store its data. This is a fully qualified path+file name, and will be in the same directory as the wincmd.ini. It's recommended to store the plugin data in this file or at least in this directory, because the plugin directory or the Windows directory may not be writable!<br />
<br />
<br />
{{backlink|Content plugins developer guide|Content plugins developer guide}}<br />
<br />
[[category:Content plugin API]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=ContentGetDetectString&diff=8430ContentGetDetectString2017-04-15T15:16:35Z<p>Lefteous: </p>
<hr />
<div>ContentGetDetectString is called when the plugin is loaded for the first time. It should return a parse function which allows Total Commander to find out whether your plugin can probably handle the file or not. You can use this as a first test - more thorough tests may be performed in ContentGetValue(). It's very important to define a good test string, especially when there are dozens of plugins loaded! The test string allows Total Commander to call only those plugins relevant for that specific file type.<br />
<br />
==Declaration:==<br />
<br />
int __stdcall ContentGetDetectString(char* DetectString,int maxlen);<br />
<br />
==Description of parameters:==<br />
<br />
DetectString Return the detection string here. See remarks for the syntax.<br />
<br />
maxlen Maximum length, in bytes, of the detection string (currently 2k).<br />
<br />
Return value:<br />
<br />
The return value is unused and should be set to 0. You can also declare the function as "void __stdcall".<br />
<br />
==Remarks:==<br />
<br />
The syntax of the detection string is as follows. There are operands, operators and functions.<br />
Operands:<br />
EXT The extension of the file to be loaded (always uppercase).<br />
SIZE The size of the file to be loaded.<br />
FORCE 1 if the user chose 'Image/Multimedia' from the menu, 0 otherwise.<br />
MULTIMEDIA This detect string is special: It is always TRUE (also in older TC versions). If it is present in the string, this plugin overrides internal multimedia viewers in TC. If not, the internal viewers are used. Check the example below!<br />
[5] The fifth byte in the file to be loaded. The first 8192 bytes can be checked for a match.<br />
12345 The number 12345<br />
"TEST" The string "TEST"<br />
<br />
Operators<br />
& AND. The left AND the right expression must be true (!=0).<br />
| OR: Either the left OR the right expression needs to be true (!=0).<br />
= EQUAL: The left and right expression need to be equal.<br />
!= UNEQUAL: The left and right expression must not be equal.<br />
< SMALLER: The left expression is smaller than the right expression. Comparing a number and a string returns false (0). Booleans are stored as 0 (false) and 1 (true).<br />
> LARGER: The left expression is larger than the right expression.<br />
<br />
Functions<br />
() Braces: The expression inside the braces is evaluated as a whole.<br />
!() NOT: The expression inside the braces will be inverted. Note that the braces are necessary!<br />
FIND() The text inside the braces is searched in the first 8192 bytes of the file. Returns 1 for success and 0 for failure.<br />
FINDI() The text inside the braces is searched in the first 8192 bytes of the file. Upper/lowercase is ignored.<br />
<br />
Internal handling of variables<br />
<br />
Varialbes can store numbers and strings. Operators can compare numbers with numbers and strings with strings, but not numbers with strings. Exception: A single char can also be compared with a number. Its value is its ANSI character code (e.g. "A"=65). Boolean values of comparisons are stored as 1 (true) and 0 (false).<br />
<br />
Examples:<br />
<br />
String Interpretation<br />
EXT="WAV" | EXT="AVI" The file may be a Wave or AVI file.<br />
<br />
EXT="WAV" & [0]="R" & [1]="I" & [2]="F" & [3]="F" & FIND("WAVEfmt")<br />
Also checks for Wave header "RIFF" and string "WAVEfmt"<br />
<br />
EXT="WAV" & (SIZE<1000000 | FORCE) Load wave files smaller than 1000000 bytes at startup/file change, and all wave files if the user explictly chooses 'Image/Multimedia' from the menu.<br />
<br />
([0]="P" & [1]="K" & [2]=3 & [3]=4) | ([0]="P" & [1]="K" & [2]=7 & [3]=8)<br />
Checks for the ZIP header PK#3#4 or PK#7#8 (the latter is used for multi-volume zip files).<br />
<br />
EXT="TXT" & !(FINDI("<HEAD>") | FINDI("<BODY>")) This plugin handles text files which aren't HTML files. A first detection is done with the <HEAD> and <BODY> tags. If these are not found, a more thorough check may be done in the plugin itself.<br />
<br />
MULTIMEDIA & (EXT="WAV" | EXT="MP3") Replace the internal player for WAV and MP3 files (which normally uses Windows Media Player as a plugin). Requires TC 6.0 or later!<br />
<br />
Operator precedence:<br />
The strongest operators are =, != < and >, then comes &, and finally |. What does this mean? Example:<br />
expr1="a" & expr2 | expr3<5 & expr4!=b will be evaluated as ((expr1="a") & expr2) | ((expr3<5) & (expr4!="b"))<br />
If in doubt, simply use braces to make the evaluation order clear.<br />
<br />
{{backlink|Content plugins developer guide|Content plugins developer guide}}<br />
<br />
[[category:Content plugin API]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=ContentSetDefaultParams&diff=8429ContentSetDefaultParams2017-04-15T15:16:09Z<p>Lefteous: Initial document version (copy & paste)</p>
<hr />
<div>ContentDefaultParamStruct is passed to ContentSetDefaultParams to inform the plugin about the current plugin interface version and ini file location.<br />
<br />
Declaration:<br />
<br />
typedef struct {<br />
int size;<br />
DWORD PluginInterfaceVersionLow;<br />
DWORD PluginInterfaceVersionHi;<br />
char DefaultIniName[MAX_PATH];<br />
} ContentDefaultParamStruct ;<br />
<br />
Description of struct members:<br />
<br />
size The size of the structure, in bytes. Later revisions of the plugin interface may add more structure members, and will adjust this size field accordingly.<br />
<br />
PluginInterfaceVersionLow Low value of plugin interface version. This is the value after the comma, multiplied by 100! Example. For plugin interface version 1.30, the low DWORD is 30 and the high DWORD is 1.<br />
<br />
PluginInterfaceVersionHi High value of plugin interface version.<br />
<br />
DefaultIniName Suggested location+name of the ini file where the plugin could store its data. This is a fully qualified path+file name, and will be in the same directory as the wincmd.ini. It's recommended to store the plugin data in this file or at least in this directory, because the plugin directory or the Windows directory may not be writable!</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=ContentGetDetectString&diff=8428ContentGetDetectString2017-04-15T15:14:19Z<p>Lefteous: Back link and category</p>
<hr />
<div>ContentGetDetectString is called when the plugin is loaded for the first time. It should return a parse function which allows Total Commander to find out whether your plugin can probably handle the file or not. You can use this as a first test - more thorough tests may be performed in ContentGetValue(). It's very important to define a good test string, especially when there are dozens of plugins loaded! The test string allows Total Commander to call only those plugins relevant for that specific file type.<br />
<br />
==Declaration:==<br />
<br />
int __stdcall ContentGetDetectString(char* DetectString,int maxlen);<br />
<br />
==Description of parameters:==<br />
<br />
DetectString Return the detection string here. See remarks for the syntax.<br />
<br />
maxlen Maximum length, in bytes, of the detection string (currently 2k).<br />
<br />
Return value:<br />
<br />
The return value is unused and should be set to 0. You can also declare the function as "void __stdcall".<br />
<br />
==Remarks:==<br />
<br />
The syntax of the detection string is as follows. There are operands, operators and functions.<br />
Operands:<br />
EXT The extension of the file to be loaded (always uppercase).<br />
SIZE The size of the file to be loaded.<br />
FORCE 1 if the user chose 'Image/Multimedia' from the menu, 0 otherwise.<br />
MULTIMEDIA This detect string is special: It is always TRUE (also in older TC versions). If it is present in the string, this plugin overrides internal multimedia viewers in TC. If not, the internal viewers are used. Check the example below!<br />
[5] The fifth byte in the file to be loaded. The first 8192 bytes can be checked for a match.<br />
12345 The number 12345<br />
"TEST" The string "TEST"<br />
<br />
Operators<br />
& AND. The left AND the right expression must be true (!=0).<br />
| OR: Either the left OR the right expression needs to be true (!=0).<br />
= EQUAL: The left and right expression need to be equal.<br />
!= UNEQUAL: The left and right expression must not be equal.<br />
< SMALLER: The left expression is smaller than the right expression. Comparing a number and a string returns false (0). Booleans are stored as 0 (false) and 1 (true).<br />
> LARGER: The left expression is larger than the right expression.<br />
<br />
Functions<br />
() Braces: The expression inside the braces is evaluated as a whole.<br />
!() NOT: The expression inside the braces will be inverted. Note that the braces are necessary!<br />
FIND() The text inside the braces is searched in the first 8192 bytes of the file. Returns 1 for success and 0 for failure.<br />
FINDI() The text inside the braces is searched in the first 8192 bytes of the file. Upper/lowercase is ignored.<br />
<br />
Internal handling of variables<br />
<br />
Varialbes can store numbers and strings. Operators can compare numbers with numbers and strings with strings, but not numbers with strings. Exception: A single char can also be compared with a number. Its value is its ANSI character code (e.g. "A"=65). Boolean values of comparisons are stored as 1 (true) and 0 (false).<br />
<br />
Examples:<br />
<br />
String Interpretation<br />
EXT="WAV" | EXT="AVI" The file may be a Wave or AVI file.<br />
<br />
EXT="WAV" & [0]="R" & [1]="I" & [2]="F" & [3]="F" & FIND("WAVEfmt")<br />
Also checks for Wave header "RIFF" and string "WAVEfmt"<br />
<br />
EXT="WAV" & (SIZE<1000000 | FORCE) Load wave files smaller than 1000000 bytes at startup/file change, and all wave files if the user explictly chooses 'Image/Multimedia' from the menu.<br />
<br />
([0]="P" & [1]="K" & [2]=3 & [3]=4) | ([0]="P" & [1]="K" & [2]=7 & [3]=8)<br />
Checks for the ZIP header PK#3#4 or PK#7#8 (the latter is used for multi-volume zip files).<br />
<br />
EXT="TXT" & !(FINDI("<HEAD>") | FINDI("<BODY>")) This plugin handles text files which aren't HTML files. A first detection is done with the <HEAD> and <BODY> tags. If these are not found, a more thorough check may be done in the plugin itself.<br />
<br />
MULTIMEDIA & (EXT="WAV" | EXT="MP3") Replace the internal player for WAV and MP3 files (which normally uses Windows Media Player as a plugin). Requires TC 6.0 or later!<br />
<br />
Operator precedence:<br />
The strongest operators are =, != < and >, then comes &, and finally |. What does this mean? Example:<br />
expr1="a" & expr2 | expr3<5 & expr4!=b will be evaluated as ((expr1="a") & expr2) | ((expr3<5) & (expr4!="b"))<br />
If in doubt, simply use braces to make the evaluation order clear.<br />
<br />
{{backlink|Content plugins developer guide|Content plugins develope guide}}<br />
<br />
[[category:Content plugin API]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=ContentGetDetectString&diff=8427ContentGetDetectString2017-04-15T15:07:27Z<p>Lefteous: </p>
<hr />
<div>ContentGetDetectString is called when the plugin is loaded for the first time. It should return a parse function which allows Total Commander to find out whether your plugin can probably handle the file or not. You can use this as a first test - more thorough tests may be performed in ContentGetValue(). It's very important to define a good test string, especially when there are dozens of plugins loaded! The test string allows Total Commander to call only those plugins relevant for that specific file type.<br />
<br />
==Declaration:==<br />
<br />
int __stdcall ContentGetDetectString(char* DetectString,int maxlen);<br />
<br />
==Description of parameters:==<br />
<br />
DetectString Return the detection string here. See remarks for the syntax.<br />
<br />
maxlen Maximum length, in bytes, of the detection string (currently 2k).<br />
<br />
Return value:<br />
<br />
The return value is unused and should be set to 0. You can also declare the function as "void __stdcall".<br />
<br />
==Remarks:==<br />
<br />
The syntax of the detection string is as follows. There are operands, operators and functions.<br />
Operands:<br />
EXT The extension of the file to be loaded (always uppercase).<br />
SIZE The size of the file to be loaded.<br />
FORCE 1 if the user chose 'Image/Multimedia' from the menu, 0 otherwise.<br />
MULTIMEDIA This detect string is special: It is always TRUE (also in older TC versions). If it is present in the string, this plugin overrides internal multimedia viewers in TC. If not, the internal viewers are used. Check the example below!<br />
[5] The fifth byte in the file to be loaded. The first 8192 bytes can be checked for a match.<br />
12345 The number 12345<br />
"TEST" The string "TEST"<br />
<br />
Operators<br />
& AND. The left AND the right expression must be true (!=0).<br />
| OR: Either the left OR the right expression needs to be true (!=0).<br />
= EQUAL: The left and right expression need to be equal.<br />
!= UNEQUAL: The left and right expression must not be equal.<br />
< SMALLER: The left expression is smaller than the right expression. Comparing a number and a string returns false (0). Booleans are stored as 0 (false) and 1 (true).<br />
> LARGER: The left expression is larger than the right expression.<br />
<br />
Functions<br />
() Braces: The expression inside the braces is evaluated as a whole.<br />
!() NOT: The expression inside the braces will be inverted. Note that the braces are necessary!<br />
FIND() The text inside the braces is searched in the first 8192 bytes of the file. Returns 1 for success and 0 for failure.<br />
FINDI() The text inside the braces is searched in the first 8192 bytes of the file. Upper/lowercase is ignored.<br />
<br />
Internal handling of variables<br />
<br />
Varialbes can store numbers and strings. Operators can compare numbers with numbers and strings with strings, but not numbers with strings. Exception: A single char can also be compared with a number. Its value is its ANSI character code (e.g. "A"=65). Boolean values of comparisons are stored as 1 (true) and 0 (false).<br />
<br />
Examples:<br />
<br />
String Interpretation<br />
EXT="WAV" | EXT="AVI" The file may be a Wave or AVI file.<br />
<br />
EXT="WAV" & [0]="R" & [1]="I" & [2]="F" & [3]="F" & FIND("WAVEfmt")<br />
Also checks for Wave header "RIFF" and string "WAVEfmt"<br />
<br />
EXT="WAV" & (SIZE<1000000 | FORCE) Load wave files smaller than 1000000 bytes at startup/file change, and all wave files if the user explictly chooses 'Image/Multimedia' from the menu.<br />
<br />
([0]="P" & [1]="K" & [2]=3 & [3]=4) | ([0]="P" & [1]="K" & [2]=7 & [3]=8)<br />
Checks for the ZIP header PK#3#4 or PK#7#8 (the latter is used for multi-volume zip files).<br />
<br />
EXT="TXT" & !(FINDI("<HEAD>") | FINDI("<BODY>")) This plugin handles text files which aren't HTML files. A first detection is done with the <HEAD> and <BODY> tags. If these are not found, a more thorough check may be done in the plugin itself.<br />
<br />
MULTIMEDIA & (EXT="WAV" | EXT="MP3") Replace the internal player for WAV and MP3 files (which normally uses Windows Media Player as a plugin). Requires TC 6.0 or later!<br />
<br />
Operator precedence:<br />
The strongest operators are =, != < and >, then comes &, and finally |. What does this mean? Example:<br />
expr1="a" & expr2 | expr3<5 & expr4!=b will be evaluated as ((expr1="a") & expr2) | ((expr3<5) & (expr4!="b"))<br />
If in doubt, simply use braces to make the evaluation order clear.<br />
<br />
<br />
[[category:Content plugin API]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Content_plugins_developer_guide_overview&diff=8426Content plugins developer guide overview2017-04-15T14:59:43Z<p>Lefteous: </p>
<hr />
<div>This help file is about writing content plugins for Total Commander. Content plugins are used for several purposes: For showing custom columns in the file lists, for searching, and in the multi-rename tool.<br />
<br />
The minimum functions needed for a Content plugin are:<br />
{|<br />
|style="width: 200pt;" | [[ContentGetSupportedField]]<br />
|style="width: 300pt;" | Gets the names of the supported fields<br />
|-<br />
|[[ContentGetValue]]<br />
|Gets a value for the selected field<br />
|}<br />
The following are optional functions:<br />
{|<br />
|style="width: 200pt;" | [[ContentGetDetectString]] <br />
|style="width: 450pt;" | Allows TC to determine which file types are supported by the plugin, without loading the plugin.<br />
|-<br />
|[[ContentSetDefaultParams]] <br />
|Informs the plugin about settings like plugin interface version and ini file location.<br />
|-<br />
|[[ContentStopGetValue]] <br />
|Informs the plugin that it should abort a lengthy ContentGetValue operation.<br />
|-<br />
|[[ContentGetDefaultSortOrder]] <br />
|Choose a default sort order (ascending or descending) for a column.<br />
|-<br />
|[[ContentPluginUnloading]] <br />
|Called when your plugin is unloaded.<br />
|-<br />
|[[ContentGetSupportedFieldFlags]] <br />
|Called to get special flags, e.g. whether a field can be changed with ContentSetValue<br />
|-<br />
|[[ContentSetValue]] <br />
|Used to change a field, e.g. set a file date<br />
|-<br />
|[[ContentEditValue]] <br />
|Used to open a field-specific value editor in the change attributes dialog<br />
|-<br />
|[[ContentCompareFiles]] <br />
|Used in "Synchronize dirs" to compare two files by a custom method<br />
|}<br />
<br />
== How it works: ==<br />
<br />
When installing the plugin, Total Commander calls [[ContentGetDetectString]] (if implemented) to find out what file types are supported by the plugin. The content string may be modified manually by the user to include/exclude certain file types. It's recommended not to use detect strings which check the file by contents, because [[ContentGetDetectString]] cannot be called delayed, so it would slow down file list display quite a lot.<br />
<br />
When Total Commander needs information about a specific file, it first parses the detect string to determine whether the plugin needs to be called for that file or not. If yes, it then calls [[ContentGetSupportedField]] in a loop, to enumerate all available fields. This info is then cached, so TC doesn't have to call the function for each file separately. If a language file with the same name as the plugin but with extension .lng is present, Total Commander will automatically translate the returned field names. To request the contents of a field for a specific file, the function [[ContentGetValue]] will be called.<br />
<br />
== Notes: ==<br />
# It's quite important to create a good detection string, especially if calling of your plugin is slow! If you cannot make a good detection string, then make sure that your plugin doesn't have any static objects defined as global variables! These would be loaded with the DLL! Only create such objects in the called functions, where needed!<br />
# If the parsing of a file is very slow compared to the extraction of a field, it may be reasonable to cache all fields for a given file until the next file name is requested. This would make it faster to request multiple fields from the same file. Such a cache could be implemented with two fields, a name field storing the last name for which the cached information was stored, and a structure containing the extracted information. Please note that if your plugin returns ft_delayed, you have to take measures so the cache is protected from multiple simultaneous calls to [[ContentGetValue]]. This can be done using a semaphore.<br />
# [[ContentSetValue]] should only be implemented where it makes sense! For example, a plugin which shows the file's size in various forms does not need to offer this function, because it makes no sense to change a file's size via the attributes dialog.</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Content_plugins_developer_guide_overview&diff=8425Content plugins developer guide overview2017-04-15T14:54:57Z<p>Lefteous: Table reformatted</p>
<hr />
<div>This help file is about writing content plugins for Total Commander. Content plugins are used for several purposes: For showing custom columns in the file lists, for searching, and in the multi-rename tool.<br />
<br />
The minimum functions needed for a Content plugin are:<br />
{|<br />
|style="width: 200pt;" | [[ContentGetSupportedField]]<br />
|style="width: 300pt;" | Gets the names of the supported fields<br />
|-<br />
|[[ContentGetValue]]<br />
|Gets a value for the selected field<br />
|}<br />
<br />
<br />
<br />
<br />
The following are optional functions:<br />
{|<br />
|style="width: 200pt;" | [[ContentGetDetectString]] <br />
|style="width: 450pt;" | Allows TC to determine which file types are supported by the plugin, without loading the plugin.<br />
|-<br />
|[[ContentSetDefaultParams]] <br />
|Informs the plugin about settings like plugin interface version and ini file location.<br />
|-<br />
|[[ContentStopGetValue]] <br />
|Informs the plugin that it should abort a lengthy ContentGetValue operation.<br />
|-<br />
|[[ContentGetDefaultSortOrder]] <br />
|Choose a default sort order (ascending or descending) for a column.<br />
|-<br />
|[[ContentPluginUnloading]] <br />
|Called when your plugin is unloaded.<br />
|-<br />
|[[ContentGetSupportedFieldFlags]] <br />
|Called to get special flags, e.g. whether a field can be changed with ContentSetValue<br />
|-<br />
|[[ContentSetValue]] <br />
|Used to change a field, e.g. set a file date<br />
|-<br />
|[[ContentEditValue]] <br />
|Used to open a field-specific value editor in the change attributes dialog<br />
|-<br />
|[[ContentCompareFiles]] <br />
|Used in "Synchronize dirs" to compare two files by a custom method<br />
|}<br />
<br />
== How it works: ==<br />
<br />
When installing the plugin, Total Commander calls [[ContentGetDetectString]] (if implemented) to find out what file types are supported by the plugin. The content string may be modified manually by the user to include/exclude certain file types. It's recommended not to use detect strings which check the file by contents, because [[ContentGetDetectString]] cannot be called delayed, so it would slow down file list display quite a lot.<br />
<br />
When Total Commander needs information about a specific file, it first parses the detect string to determine whether the plugin needs to be called for that file or not. If yes, it then calls [[ContentGetSupportedField]] in a loop, to enumerate all available fields. This info is then cached, so TC doesn't have to call the function for each file separately. If a language file with the same name as the plugin but with extension .lng is present, Total Commander will automatically translate the returned field names. To request the contents of a field for a specific file, the function [[ContentGetValue]] will be called.<br />
<br />
== Notes: ==<br />
# It's quite important to create a good detection string, especially if calling of your plugin is slow! If you cannot make a good detection string, then make sure that your plugin doesn't have any static objects defined as global variables! These would be loaded with the DLL! Only create such objects in the called functions, where needed!<br />
# If the parsing of a file is very slow compared to the extraction of a field, it may be reasonable to cache all fields for a given file until the next file name is requested. This would make it faster to request multiple fields from the same file. Such a cache could be implemented with two fields, a name field storing the last name for which the cached information was stored, and a structure containing the extracted information. Please note that if your plugin returns ft_delayed, you have to take measures so the cache is protected from multiple simultaneous calls to [[ContentGetValue]]. This can be done using a semaphore.<br />
# [[ContentSetValue]] should only be implemented where it makes sense! For example, a plugin which shows the file's size in various forms does not need to offer this function, because it makes no sense to change a file's size via the attributes dialog.</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Content_plugins_developer_guide_overview&diff=8424Content plugins developer guide overview2017-04-15T14:48:36Z<p>Lefteous: </p>
<hr />
<div>This help file is about writing content plugins for Total Commander. Content plugins are used for several purposes: For showing custom columns in the file lists, for searching, and in the multi-rename tool.<br />
<br />
The minimum functions needed for a Content plugin are:<br />
{|<br />
|style="width: 100pt;" | [[ContentGetSupportedField]]<br />
|Gets the names of the supported fields<br />
|-<br />
|style="width: 100pt;" | [[ContentGetValue]]<br />
|Gets a value for the selected field<br />
|}<br />
<br />
<br />
The following are optional functions:<br />
{|<br />
|[[ContentGetDetectString]] <br />
|Allows TC to determine which file types are supported by the plugin, without loading the plugin.<br />
|-<br />
|[[ContentSetDefaultParams]] <br />
|Informs the plugin about settings like plugin interface version and ini file location.<br />
|-<br />
|[[ContentStopGetValue]] <br />
|Informs the plugin that it should abort a lengthy ContentGetValue operation.<br />
|-<br />
|[[ContentGetDefaultSortOrder]] <br />
|Choose a default sort order (ascending or descending) for a column.<br />
|-<br />
|[[ContentPluginUnloading]] <br />
|Called when your plugin is unloaded.<br />
|-<br />
|[[ContentGetSupportedFieldFlags]] <br />
|Called to get special flags, e.g. whether a field can be changed with ContentSetValue<br />
|-<br />
|[[ContentSetValue]] <br />
|Used to change a field, e.g. set a file date<br />
|-<br />
|[[ContentEditValue]] <br />
|Used to open a field-specific value editor in the change attributes dialog<br />
|-<br />
|[[ContentCompareFiles]] <br />
|Used in "Synchronize dirs" to compare two files by a custom method<br />
|}<br />
<br />
== How it works: ==<br />
<br />
When installing the plugin, Total Commander calls [[ContentGetDetectString]] (if implemented) to find out what file types are supported by the plugin. The content string may be modified manually by the user to include/exclude certain file types. It's recommended not to use detect strings which check the file by contents, because [[ContentGetDetectString]] cannot be called delayed, so it would slow down file list display quite a lot.<br />
<br />
When Total Commander needs information about a specific file, it first parses the detect string to determine whether the plugin needs to be called for that file or not. If yes, it then calls [[ContentGetSupportedField]] in a loop, to enumerate all available fields. This info is then cached, so TC doesn't have to call the function for each file separately. If a language file with the same name as the plugin but with extension .lng is present, Total Commander will automatically translate the returned field names. To request the contents of a field for a specific file, the function [[ContentGetValue]] will be called.<br />
<br />
== Notes: ==<br />
# It's quite important to create a good detection string, especially if calling of your plugin is slow! If you cannot make a good detection string, then make sure that your plugin doesn't have any static objects defined as global variables! These would be loaded with the DLL! Only create such objects in the called functions, where needed!<br />
# If the parsing of a file is very slow compared to the extraction of a field, it may be reasonable to cache all fields for a given file until the next file name is requested. This would make it faster to request multiple fields from the same file. Such a cache could be implemented with two fields, a name field storing the last name for which the cached information was stored, and a structure containing the extracted information. Please note that if your plugin returns ft_delayed, you have to take measures so the cache is protected from multiple simultaneous calls to [[ContentGetValue]]. This can be done using a semaphore.<br />
# [[ContentSetValue]] should only be implemented where it makes sense! For example, a plugin which shows the file's size in various forms does not need to offer this function, because it makes no sense to change a file's size via the attributes dialog.</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Make_view_and_column_header_indepedent&diff=8414Make view and column header indepedent2016-12-30T07:58:53Z<p>Lefteous: </p>
<hr />
<div>It's quite annoying to e.g. switch from custom column view to thumbnail view and all the column headers including all sort opportunities are gone. What about changing this behavior to preserve the column header?<br />
<br />
The UI wouldn't have to be changed too much and compatibility shouldn't be a problem. Just some behaviors would have to be changed. 'Custom column views' would be changed to 'custom column headers'. Picking a custom header from the column context menu would just change the header. Changing to the 'Long' view would just switch to a view which shows the columns defined in the current column headers. Of course combining 'change view' with 'change column header' is a common use case.<br />
There would be a default column header which is the one used in the normal views (short/long/thumbnail). There would be also a default view which is the long view.<br />
<br />
<br />
Forum discussion: http://ghisler.ch/board/viewtopic.php?p=155812#155812<br />
<br />
<br />
{{backlink|Ideas and suggestions|Ideas and suggestions}}</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Don%27t_invert_text_color_when_using_inverted_selection&diff=8413Don't invert text color when using inverted selection2016-12-10T12:54:53Z<p>Lefteous: </p>
<hr />
<div>Currently there is an option to define a color for selections. This normally affects the font color. When using 'invert selection' this color is used as background color for the selection. The font color is just the inverted normal font color (normally white instead of black). This is basically very nice - similar to the new themed cursor. This has some downsides:<br />
<br />
# When using colors per filetype the coloring is gone when the file is selected.<br />
# As the font color is inverted it's almost impossible to use a lighter color (when using black text on white bg).<br />
<br />
Another argument for the suggested behavior is that readability for the file under the cursor is better than on the selected background but still far from good.<br />
<br />
Current appearance<br />
<br />
[[file:dont_invert_text_color_inverted_selection.png]]<br />
<br />
Related forum discussion: http://www.ghisler.ch/board/viewtopic.php?p=314537#314537<br />
<br />
{{backlink|Ideas and suggestions|Ideas and suggestions}}</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Custom_selection_style&diff=8412Custom selection style2016-12-10T12:54:05Z<p>Lefteous: </p>
<hr />
<div>{| class="wikitable"<br />
!<br />
!Left-mouse button mode<br />
!Right mouse button mode<br />
!Explorer<br />
!Suggestion<br />
|-<br />
!Context-menu<br />
|<br />
* Simple right-click<br />
|<br />
* Long right-click<br />
|<br />
* Simple right-click<br />
|<br />
* Simple right-click<br />
|-<br />
!Select files<br />
|<br />
* Start drag right to filename of unselected file<br />
|<br />
* Start right mouse drag anywhere, selection will become selection state of file under cursor<br />
| <br />
* Start drag right to filename of unselected file <br />
* Start drag left or right of selection area in selected or unselected line<br />
|<br />
* Start left mouse drag anywhere to the right of filename, selection will become selection state of file under cursor<br />
|-<br />
!Start drag&drop<br />
|<br />
* Start left button drag on filename under cursor<br />
* Start left button drag on whole line for selected files.<br />
|<br />
* Start left button drag anywhere<br />
|<br />
* Start left button drag on filename under cursor<br />
* Start left button drag on whole line for selected files.<br />
|<br />
* Start left mouse drag on filename<br />
|-<br />
!Destroy existing selection<br />
|<br />
* Click any file or create new selection<br />
|<br />
* Just clicking doesn't destroy selection<br />
* Start right mouse drag anywhere on unselected file<br />
|<br />
* Click any file<br />
* Create new selection<br />
* Click left or right of selection area in any line <br />
* Click in free space below list<br />
|<br />
* Just clicking doesn't destroy selection<br />
* Start left mouse drag on unselected file right to filename<br />
|}<br />
<br />
{{backlink|Ideas and suggestions|Ideas and suggestions}}</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Don%27t_invert_text_color_when_using_inverted_selection&diff=8411Don't invert text color when using inverted selection2016-12-10T12:52:54Z<p>Lefteous: </p>
<hr />
<div>Currently there is an option to define a color for selections. This normally affects the font color. When using 'invert selection' this color is used as background color for the selection. The font color is just the inverted normal font color (normally white instead of black). This is basically very nice - similar to the new themed cursor. This has some downsides:<br />
<br />
# When using colors per filetype the coloring is gone when the file is selected.<br />
# As the font color is inverted it's almost impossible to use a lighter color (when using black text on white bg).<br />
<br />
Another argument for the suggested behavior is that readability for the file under the cursor is better than on the selected background but still far from good.<br />
<br />
Current appearance<br />
<br />
[[file:dont_invert_text_color_inverted_selection.png]]<br />
<br />
<br />
<br />
<br />
<br />
Related forum discussion: http://www.ghisler.ch/board/viewtopic.php?p=314537#314537</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=File:Dont_invert_text_color_inverted_selection.png&diff=8410File:Dont invert text color inverted selection.png2016-12-10T12:51:34Z<p>Lefteous: </p>
<hr />
<div></div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Don%27t_invert_text_color_when_using_inverted_selection&diff=8409Don't invert text color when using inverted selection2016-12-10T12:48:35Z<p>Lefteous: Created page with "Currently there is an option to define a color for selections. This normally affects the font color. When using 'invert selection' this color is used as background color for t..."</p>
<hr />
<div>Currently there is an option to define a color for selections. This normally affects the font color. When using 'invert selection' this color is used as background color for the selection. The font color is just the inverted normal font color (normally white instead of black). This is basically very nice - similar to the new themed cursor. This has some downsides:<br />
<br />
# When using colors per filetype the coloring is gone when the file is selected.<br />
# As the font color is inverted it's almost impossible to use a lighter color (when using black text on white bg).<br />
<br />
Another argument for the suggested behavior is that readability for the file under the cursor is better than on the selected background but still far from good.<br />
<br />
Current appearance<br />
<br />
<br />
<br />
<br />
<br />
<br />
Related forum discussion: http://www.ghisler.ch/board/viewtopic.php?p=314537#314537</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Ideas_and_suggestions&diff=8408Ideas and suggestions2016-12-10T12:41:49Z<p>Lefteous: /* User interface suggestions */</p>
<hr />
<div>Please try to put your suggestions in the appropriate section, or add a new section if necessary!<br />
<br />
;The following templates can be used to label the current implementation status of a feature<br />
* {{Impl_sugg}} - fully implemented in current stable version of Total Commander<br />
* {{partially_impl}} - the suggestion has been implemented in current stable version of Total Commander. Some aspects haven't been implemented so far.<br />
* {{not_impl}} - not implemented in current stable version of Total Commander<br />
* {{confirmed_impl}} - will be added in next version of Total Commander (confirmed by Christian Ghisler)<br />
* {{unknown_impl}} - implementation status unknown. Feel free to change the status when you are sure.<br />
* {{deprecated_sugg}} - The suggestion no longer makes sense to be implemented as described. The problem might have been solved another way or Total Commander has evolved into another direction. This should be set by the original requester only.<br />
<br />
<br />
<br />
== General suggestions ==<br />
All suggestions which don't fit into a more specific section or hasn't been categorized so far.<br />
* [[Auto-Hide to tray or minimize window when inactive for a preset number of minutes]] {{unknown_impl}}<br />
* [[Unified Parameters System]] {{unknown_impl}}<br />
* [[Server plugin interface]] {{not_impl}}<br />
* [[Show files in filelist window]] {{not_impl}}<br />
* [[New approach for INI file location]] {{not_impl}}<br />
* [[Option to permanently enable cm_AdministerServer ]] {{unknown_impl}}<br />
* [[Copy file path]] {{unknown_impl}}<br />
* [[New command cm_CopyWebNamesToClip]] {{unknown_impl}}<br />
* [[Make view and column header indepedent]] {{not_impl}}<br />
* [[Custom selection style]] {{not_impl}}<br />
<!--- * [[Defining an icon based on a userdefined selection]]---><br />
<br />
== New functionality ==<br />
Add new functions here which are not improvements of existing functionality<br />
* [[(Batch) convert files]] {{not_impl}}<br />
<br />
== User interface suggestions ==<br />
All suggestions to improve the visual appearance and/or usability go here.<br />
Post all suggestions that would Total Commander look better here.<br />
* [[Full Windows XP style support]] {{unknown_impl}}<br />
* [[Do not display directory brackets by default]] {{not_impl}}<br />
* [[Make the 'connection bar' optional]] {{not_impl}}<br />
* [[Delete single/multiple file(s) confirmation]] {{not_impl}}<br />
* [[Unified command launcher editor]] {{not_impl}}<br />
* [[Drive list and drive bar improvements]] {{not_impl}}<br />
* [[Button spacing and spacers]] {{not_impl}}<br />
* [[Add support for tooltips in separate tree]] {{not_impl}}<br />
* [[Don't invert text color when using inverted selection]] {{not_impl}}<br />
* [[Unified Command system]] {{deprecated_sugg}}<br />
* [[Internal button menu like TCmenu]] {{impl_sugg}}<br />
* [[Custom workspaces / workspaces by directory]] {{impl_sugg}}<br />
<br />
== Navigation ==<br />
Put everything here that is about changing the current location<br />
* [[Drag & drop LNK to current directory bar change active directory]] {{unknown_impl}}<br />
* [[Dynamic Favorite Folders]] {{unknown_impl}}<br />
* [[Dynamic Current Folder line|Dynamic Current Folder line]] {{impl_sugg}}<br />
<br />
== File handling (copy, move, rename, delete, open,...) ==<br />
* [[Transaction-like copy/move directories]] {{unknown_impl}}<br />
* [[Queue for file transfers]] {{unknown_impl}}<br />
* [[Pause button in regular copy/move window]] {{unknown_impl}}<br />
* [[Rename file with just one button]] {{unknown_impl}}<br />
* [[Copy/move multiple filenames into one leads to concatenation]] {{unknown_impl}}<br />
* [[Save selection to clipboard]] {{unknown_impl}}<br />
* [[add Undo functionality similar to that in Windows Explorer]] {{unknown_impl}}<br />
* [[Option to automatically keep long file names during copy/move]] {{unknown_impl}}<br />
* [[Multi-Rename Tool syntax in Copy dialog]] {{unknown_impl}}<br />
* [[Open files by filetype]] {{impl_sugg}}<br />
<br />
== Compare files ==<br />
* [[UTF-8 support for file compare tool]] {{unknown_impl}}<br />
* [[FTP support for files compare function]] {{unknown_impl}}<br />
<br />
== Synchronize directories ==<br />
* [[Don't use cache when synchronizing with FTP server]] {{unknown_impl}}<br />
* [[Ignore Source Code Control System Meta Files/Dirs]] {{unknown_impl}}<br />
* [[Flag / tickbox for each folder down the list for "Ignore This Folder" in the folder name line]] {{unknown_impl}}<br />
* [[Add an option for "Synchronize dirs" (with ftp and txt files)]] {{unknown_impl}}<br />
<br />
== Multi rename tool suggestions ==<br />
* ...<br />
<br />
== Search ==<br />
<br />
* [[Show context of place of finding in text searches]] {{not_impl}}<br />
* [[Persistent search results]] {{not_impl}}<br />
* [[FTP search]] {{unknown_impl}}<br />
* [[Faster search]] {{impl_sugg}}<br />
* [[Integrate fulltext content plugin fields into find text]] {{impl_sugg}}<br />
* [[Few Search windows]] {{impl_sugg}}<br />
<br />
== Lister ==<br />
* [[Tail functionality in Lister]] {{unknown_impl}}<br />
* [[Adjustable tab width]] {{unknown_impl}}<br />
* [[Drag & drop in Lister]] {{unknown_impl}}<br />
* [[Built-in syntax highlighter in Lister|'''Built-in''' syntax highlighter in Lister]] {{unknown_impl}}<br />
* [[Auto-refresh option for opened file in Lister]] {{unknown_impl}}<br />
* [[Use internal Lister for converted text files]] {{not_impl}}<br />
<br />
== FTP ==<br />
* [[Re-upload changed file to the ftp server|Reupload changed file]] {{unknown_impl}}<br />
* [[Tasklist_for_ftp_transfers]] {{unknown_impl}}<br />
* [[FTP search]] {{unknown_impl}}<br />
* [[Folders in FTP-server list]] {{impl_sugg}}<br />
<br />
== Custom column view ==<br />
* [[Graphical display of numeric values]] {{not_impl}}<br />
* [[Define field contents per filetype]] {{not_impl}}<br />
* [[Uniquely named custom column configs (more custom column configs)]] {{partially_impl}}<br />
* [[Introduce indent for columns]] {{not_impl}}<br />
<br />
== Thumbnail view ==<br />
* [[Improved speed in thumbnail view]] {{not_impl}}<br />
* [[Dynamic zoom in thumbnail view]] {{not_impl}}<br />
* [[Define background color in thumbnail view]] {{not_impl}}<br />
<br />
== Packer plugins suggestions ==<br />
=== Packer plugin requests ===<br />
You are looking for a certain and it doesn't exist. Request your plugin here.<br />
<br />
=== Packer plugin API suggestions ===<br />
Suggest improvements to the packer plugin API here. You want use packer plugins in a better or different way? Suggest it here.<br />
* [[Unpack configuration dialog for Packer plugins|Unpack configuration dialog]] {{not_impl}}<br />
* [[Repair archive command]] {{not_impl}}<br />
* [[Repack configuration dialog]] {{unknown_impl}}<br />
* [[Support for streamed ZIP files]] {{unknown_impl}}<br />
* [[Pause during unpack]] {{unknown_impl}}<br />
* [[Support thumbnails in archives]] {{not_impl}}<br />
* [[Better support for encrypted archives]] {{unknown_impl}}<br />
* [[Removal of read-only files during packing|Packing: Removal of read-only files]] {{unknown_impl}}<br />
* [[Alternate extraction interface]] {{not_impl}}<br />
* [[Create directories for Packer plugins|Create Directories]] {{impl_sugg}}<br />
* [[Background un/packing for Packer plugins|Background un/packing]] {{impl_sugg}}<br />
* [[Unicode support for plugins|Unicode support]] {{impl_sugg}}<br />
<br />
== File system plugins suggestions ==<br />
=== File system plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
* [[SFTP and SCP support|SSH support]] {{unknown_impl}}<br />
=== File system plugin API suggestions ===<br />
Suggest improvements to the file system plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
* [[Branch View in file system plugins|Branch View]] {{unknown_impl}}<br />
* [[Custom context menus in file system plugins|Custom context menu]] {{unknown_impl}}<br />
* [[Grouping file system plugins|Grouping FS Plugin]] {{unknown_impl}}<br />
* [[Unicode support for plugins|Unicode support]] {{impl_sugg}}<br />
* [[Custom Columns in file system plugins|Custom Columns]] {{impl_sugg}}<br />
<br />
== Lister plugins suggestions ==<br />
=== Lister plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
=== Lister plugin API suggestions ===<br />
Suggest improvements to the Lister plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
<br />
== Content plugins suggestions ==<br />
=== Plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
* [[Content Plugin for OpenOffice.org]] {{unknown_impl}}<br />
* [[Content Plugin for IPTC-infos in image files]] {{unknown_impl}}<br />
=== Plugin API/usage suggestions ===<br />
Suggest improvements to the content plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
* [[Provide a way to set a field caption and a field name]] {{not_impl}}<br />
* [[Multiple requests in a row]] {{not_impl}}<br />
* [[Provide a way to setup Content plugins on the fly]] {{not_impl}}<br />
<br />
== Supplementary tools suggestions ==<br />
<br />
== Supported systems/technologies suggestions ==<br />
* [[Make available Windows Explorer 'non-file' context menu]] {{unknown_impl}}<br />
* [[Can you configure so that TC will open links directly rather than Windows Explorer?]] {{unknown_impl}}<br />
* [[Support U3-Specification]] {{unknown_impl}}<br />
<br />
----<br />
<br />
Back to [[Main_Page]]<br />
[[Category:Ideas and suggestions]]<br />
[[de:Kategorie:Ideen und Vorschläge]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Ideas_and_suggestions&diff=8407Ideas and suggestions2016-12-10T12:39:52Z<p>Lefteous: /* Search */</p>
<hr />
<div>Please try to put your suggestions in the appropriate section, or add a new section if necessary!<br />
<br />
;The following templates can be used to label the current implementation status of a feature<br />
* {{Impl_sugg}} - fully implemented in current stable version of Total Commander<br />
* {{partially_impl}} - the suggestion has been implemented in current stable version of Total Commander. Some aspects haven't been implemented so far.<br />
* {{not_impl}} - not implemented in current stable version of Total Commander<br />
* {{confirmed_impl}} - will be added in next version of Total Commander (confirmed by Christian Ghisler)<br />
* {{unknown_impl}} - implementation status unknown. Feel free to change the status when you are sure.<br />
* {{deprecated_sugg}} - The suggestion no longer makes sense to be implemented as described. The problem might have been solved another way or Total Commander has evolved into another direction. This should be set by the original requester only.<br />
<br />
<br />
<br />
== General suggestions ==<br />
All suggestions which don't fit into a more specific section or hasn't been categorized so far.<br />
* [[Auto-Hide to tray or minimize window when inactive for a preset number of minutes]] {{unknown_impl}}<br />
* [[Unified Parameters System]] {{unknown_impl}}<br />
* [[Server plugin interface]] {{not_impl}}<br />
* [[Show files in filelist window]] {{not_impl}}<br />
* [[New approach for INI file location]] {{not_impl}}<br />
* [[Option to permanently enable cm_AdministerServer ]] {{unknown_impl}}<br />
* [[Copy file path]] {{unknown_impl}}<br />
* [[New command cm_CopyWebNamesToClip]] {{unknown_impl}}<br />
* [[Make view and column header indepedent]] {{not_impl}}<br />
* [[Custom selection style]] {{not_impl}}<br />
<!--- * [[Defining an icon based on a userdefined selection]]---><br />
<br />
== New functionality ==<br />
Add new functions here which are not improvements of existing functionality<br />
* [[(Batch) convert files]] {{not_impl}}<br />
<br />
== User interface suggestions ==<br />
All suggestions to improve the visual appearance and/or usability go here.<br />
Post all suggestions that would Total Commander look better here.<br />
* [[Full Windows XP style support]] {{unknown_impl}}<br />
* [[Do not display directory brackets by default]] {{not_impl}}<br />
* [[Make the 'connection bar' optional]] {{not_impl}}<br />
* [[Delete single/multiple file(s) confirmation]] {{not_impl}}<br />
* [[Unified command launcher editor]] {{not_impl}}<br />
* [[Drive list and drive bar improvements]] {{not_impl}}<br />
* [[Button spacing and spacers]] {{not_impl}}<br />
* [[Add support for tooltips in separate tree]] {{not_impl}}<br />
* [[Unified Command system]] {{deprecated_sugg}}<br />
* [[Internal button menu like TCmenu]] {{impl_sugg}}<br />
* [[Custom workspaces / workspaces by directory]] {{impl_sugg}}<br />
<br />
== Navigation ==<br />
Put everything here that is about changing the current location<br />
* [[Drag & drop LNK to current directory bar change active directory]] {{unknown_impl}}<br />
* [[Dynamic Favorite Folders]] {{unknown_impl}}<br />
* [[Dynamic Current Folder line|Dynamic Current Folder line]] {{impl_sugg}}<br />
<br />
== File handling (copy, move, rename, delete, open,...) ==<br />
* [[Transaction-like copy/move directories]] {{unknown_impl}}<br />
* [[Queue for file transfers]] {{unknown_impl}}<br />
* [[Pause button in regular copy/move window]] {{unknown_impl}}<br />
* [[Rename file with just one button]] {{unknown_impl}}<br />
* [[Copy/move multiple filenames into one leads to concatenation]] {{unknown_impl}}<br />
* [[Save selection to clipboard]] {{unknown_impl}}<br />
* [[add Undo functionality similar to that in Windows Explorer]] {{unknown_impl}}<br />
* [[Option to automatically keep long file names during copy/move]] {{unknown_impl}}<br />
* [[Multi-Rename Tool syntax in Copy dialog]] {{unknown_impl}}<br />
* [[Open files by filetype]] {{impl_sugg}}<br />
<br />
== Compare files ==<br />
* [[UTF-8 support for file compare tool]] {{unknown_impl}}<br />
* [[FTP support for files compare function]] {{unknown_impl}}<br />
<br />
== Synchronize directories ==<br />
* [[Don't use cache when synchronizing with FTP server]] {{unknown_impl}}<br />
* [[Ignore Source Code Control System Meta Files/Dirs]] {{unknown_impl}}<br />
* [[Flag / tickbox for each folder down the list for "Ignore This Folder" in the folder name line]] {{unknown_impl}}<br />
* [[Add an option for "Synchronize dirs" (with ftp and txt files)]] {{unknown_impl}}<br />
<br />
== Multi rename tool suggestions ==<br />
* ...<br />
<br />
== Search ==<br />
<br />
* [[Show context of place of finding in text searches]] {{not_impl}}<br />
* [[Persistent search results]] {{not_impl}}<br />
* [[FTP search]] {{unknown_impl}}<br />
* [[Faster search]] {{impl_sugg}}<br />
* [[Integrate fulltext content plugin fields into find text]] {{impl_sugg}}<br />
* [[Few Search windows]] {{impl_sugg}}<br />
<br />
== Lister ==<br />
* [[Tail functionality in Lister]] {{unknown_impl}}<br />
* [[Adjustable tab width]] {{unknown_impl}}<br />
* [[Drag & drop in Lister]] {{unknown_impl}}<br />
* [[Built-in syntax highlighter in Lister|'''Built-in''' syntax highlighter in Lister]] {{unknown_impl}}<br />
* [[Auto-refresh option for opened file in Lister]] {{unknown_impl}}<br />
* [[Use internal Lister for converted text files]] {{not_impl}}<br />
<br />
== FTP ==<br />
* [[Re-upload changed file to the ftp server|Reupload changed file]] {{unknown_impl}}<br />
* [[Tasklist_for_ftp_transfers]] {{unknown_impl}}<br />
* [[FTP search]] {{unknown_impl}}<br />
* [[Folders in FTP-server list]] {{impl_sugg}}<br />
<br />
== Custom column view ==<br />
* [[Graphical display of numeric values]] {{not_impl}}<br />
* [[Define field contents per filetype]] {{not_impl}}<br />
* [[Uniquely named custom column configs (more custom column configs)]] {{partially_impl}}<br />
* [[Introduce indent for columns]] {{not_impl}}<br />
<br />
== Thumbnail view ==<br />
* [[Improved speed in thumbnail view]] {{not_impl}}<br />
* [[Dynamic zoom in thumbnail view]] {{not_impl}}<br />
* [[Define background color in thumbnail view]] {{not_impl}}<br />
<br />
== Packer plugins suggestions ==<br />
=== Packer plugin requests ===<br />
You are looking for a certain and it doesn't exist. Request your plugin here.<br />
<br />
=== Packer plugin API suggestions ===<br />
Suggest improvements to the packer plugin API here. You want use packer plugins in a better or different way? Suggest it here.<br />
* [[Unpack configuration dialog for Packer plugins|Unpack configuration dialog]] {{not_impl}}<br />
* [[Repair archive command]] {{not_impl}}<br />
* [[Repack configuration dialog]] {{unknown_impl}}<br />
* [[Support for streamed ZIP files]] {{unknown_impl}}<br />
* [[Pause during unpack]] {{unknown_impl}}<br />
* [[Support thumbnails in archives]] {{not_impl}}<br />
* [[Better support for encrypted archives]] {{unknown_impl}}<br />
* [[Removal of read-only files during packing|Packing: Removal of read-only files]] {{unknown_impl}}<br />
* [[Alternate extraction interface]] {{not_impl}}<br />
* [[Create directories for Packer plugins|Create Directories]] {{impl_sugg}}<br />
* [[Background un/packing for Packer plugins|Background un/packing]] {{impl_sugg}}<br />
* [[Unicode support for plugins|Unicode support]] {{impl_sugg}}<br />
<br />
== File system plugins suggestions ==<br />
=== File system plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
* [[SFTP and SCP support|SSH support]] {{unknown_impl}}<br />
=== File system plugin API suggestions ===<br />
Suggest improvements to the file system plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
* [[Branch View in file system plugins|Branch View]] {{unknown_impl}}<br />
* [[Custom context menus in file system plugins|Custom context menu]] {{unknown_impl}}<br />
* [[Grouping file system plugins|Grouping FS Plugin]] {{unknown_impl}}<br />
* [[Unicode support for plugins|Unicode support]] {{impl_sugg}}<br />
* [[Custom Columns in file system plugins|Custom Columns]] {{impl_sugg}}<br />
<br />
== Lister plugins suggestions ==<br />
=== Lister plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
=== Lister plugin API suggestions ===<br />
Suggest improvements to the Lister plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
<br />
== Content plugins suggestions ==<br />
=== Plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
* [[Content Plugin for OpenOffice.org]] {{unknown_impl}}<br />
* [[Content Plugin for IPTC-infos in image files]] {{unknown_impl}}<br />
=== Plugin API/usage suggestions ===<br />
Suggest improvements to the content plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
* [[Provide a way to set a field caption and a field name]] {{not_impl}}<br />
* [[Multiple requests in a row]] {{not_impl}}<br />
* [[Provide a way to setup Content plugins on the fly]] {{not_impl}}<br />
<br />
== Supplementary tools suggestions ==<br />
<br />
== Supported systems/technologies suggestions ==<br />
* [[Make available Windows Explorer 'non-file' context menu]] {{unknown_impl}}<br />
* [[Can you configure so that TC will open links directly rather than Windows Explorer?]] {{unknown_impl}}<br />
* [[Support U3-Specification]] {{unknown_impl}}<br />
<br />
----<br />
<br />
Back to [[Main_Page]]<br />
[[Category:Ideas and suggestions]]<br />
[[de:Kategorie:Ideen und Vorschläge]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Ideas_and_suggestions&diff=8406Ideas and suggestions2016-12-10T12:37:25Z<p>Lefteous: /* User interface suggestions */</p>
<hr />
<div>Please try to put your suggestions in the appropriate section, or add a new section if necessary!<br />
<br />
;The following templates can be used to label the current implementation status of a feature<br />
* {{Impl_sugg}} - fully implemented in current stable version of Total Commander<br />
* {{partially_impl}} - the suggestion has been implemented in current stable version of Total Commander. Some aspects haven't been implemented so far.<br />
* {{not_impl}} - not implemented in current stable version of Total Commander<br />
* {{confirmed_impl}} - will be added in next version of Total Commander (confirmed by Christian Ghisler)<br />
* {{unknown_impl}} - implementation status unknown. Feel free to change the status when you are sure.<br />
* {{deprecated_sugg}} - The suggestion no longer makes sense to be implemented as described. The problem might have been solved another way or Total Commander has evolved into another direction. This should be set by the original requester only.<br />
<br />
<br />
<br />
== General suggestions ==<br />
All suggestions which don't fit into a more specific section or hasn't been categorized so far.<br />
* [[Auto-Hide to tray or minimize window when inactive for a preset number of minutes]] {{unknown_impl}}<br />
* [[Unified Parameters System]] {{unknown_impl}}<br />
* [[Server plugin interface]] {{not_impl}}<br />
* [[Show files in filelist window]] {{not_impl}}<br />
* [[New approach for INI file location]] {{not_impl}}<br />
* [[Option to permanently enable cm_AdministerServer ]] {{unknown_impl}}<br />
* [[Copy file path]] {{unknown_impl}}<br />
* [[New command cm_CopyWebNamesToClip]] {{unknown_impl}}<br />
* [[Make view and column header indepedent]] {{not_impl}}<br />
* [[Custom selection style]] {{not_impl}}<br />
<!--- * [[Defining an icon based on a userdefined selection]]---><br />
<br />
== New functionality ==<br />
Add new functions here which are not improvements of existing functionality<br />
* [[(Batch) convert files]] {{not_impl}}<br />
<br />
== User interface suggestions ==<br />
All suggestions to improve the visual appearance and/or usability go here.<br />
Post all suggestions that would Total Commander look better here.<br />
* [[Full Windows XP style support]] {{unknown_impl}}<br />
* [[Do not display directory brackets by default]] {{not_impl}}<br />
* [[Make the 'connection bar' optional]] {{not_impl}}<br />
* [[Delete single/multiple file(s) confirmation]] {{not_impl}}<br />
* [[Unified command launcher editor]] {{not_impl}}<br />
* [[Drive list and drive bar improvements]] {{not_impl}}<br />
* [[Button spacing and spacers]] {{not_impl}}<br />
* [[Add support for tooltips in separate tree]] {{not_impl}}<br />
* [[Unified Command system]] {{deprecated_sugg}}<br />
* [[Internal button menu like TCmenu]] {{impl_sugg}}<br />
* [[Custom workspaces / workspaces by directory]] {{impl_sugg}}<br />
<br />
== Navigation ==<br />
Put everything here that is about changing the current location<br />
* [[Drag & drop LNK to current directory bar change active directory]] {{unknown_impl}}<br />
* [[Dynamic Favorite Folders]] {{unknown_impl}}<br />
* [[Dynamic Current Folder line|Dynamic Current Folder line]] {{impl_sugg}}<br />
<br />
== File handling (copy, move, rename, delete, open,...) ==<br />
* [[Transaction-like copy/move directories]] {{unknown_impl}}<br />
* [[Queue for file transfers]] {{unknown_impl}}<br />
* [[Pause button in regular copy/move window]] {{unknown_impl}}<br />
* [[Rename file with just one button]] {{unknown_impl}}<br />
* [[Copy/move multiple filenames into one leads to concatenation]] {{unknown_impl}}<br />
* [[Save selection to clipboard]] {{unknown_impl}}<br />
* [[add Undo functionality similar to that in Windows Explorer]] {{unknown_impl}}<br />
* [[Option to automatically keep long file names during copy/move]] {{unknown_impl}}<br />
* [[Multi-Rename Tool syntax in Copy dialog]] {{unknown_impl}}<br />
* [[Open files by filetype]] {{impl_sugg}}<br />
<br />
== Compare files ==<br />
* [[UTF-8 support for file compare tool]] {{unknown_impl}}<br />
* [[FTP support for files compare function]] {{unknown_impl}}<br />
<br />
== Synchronize directories ==<br />
* [[Don't use cache when synchronizing with FTP server]] {{unknown_impl}}<br />
* [[Ignore Source Code Control System Meta Files/Dirs]] {{unknown_impl}}<br />
* [[Flag / tickbox for each folder down the list for "Ignore This Folder" in the folder name line]] {{unknown_impl}}<br />
* [[Add an option for "Synchronize dirs" (with ftp and txt files)]] {{unknown_impl}}<br />
<br />
== Multi rename tool suggestions ==<br />
* ...<br />
<br />
== Search ==<br />
* [[Integrate fulltext content plugin fields into find text]] {{confirmed_impl}}<br />
* [[Show context of place of finding in text searches]] {{not_impl}}<br />
* [[Persistent search results]] {{not_impl}}<br />
* [[Faster search]] {{confirmed_impl}}<br />
* [[FTP search]] {{unknown_impl}}<br />
* [[Few Search windows]] {{impl_sugg}}<br />
<br />
== Lister ==<br />
* [[Tail functionality in Lister]] {{unknown_impl}}<br />
* [[Adjustable tab width]] {{unknown_impl}}<br />
* [[Drag & drop in Lister]] {{unknown_impl}}<br />
* [[Built-in syntax highlighter in Lister|'''Built-in''' syntax highlighter in Lister]] {{unknown_impl}}<br />
* [[Auto-refresh option for opened file in Lister]] {{unknown_impl}}<br />
* [[Use internal Lister for converted text files]] {{not_impl}}<br />
<br />
== FTP ==<br />
* [[Re-upload changed file to the ftp server|Reupload changed file]] {{unknown_impl}}<br />
* [[Tasklist_for_ftp_transfers]] {{unknown_impl}}<br />
* [[FTP search]] {{unknown_impl}}<br />
* [[Folders in FTP-server list]] {{impl_sugg}}<br />
<br />
== Custom column view ==<br />
* [[Graphical display of numeric values]] {{not_impl}}<br />
* [[Define field contents per filetype]] {{not_impl}}<br />
* [[Uniquely named custom column configs (more custom column configs)]] {{partially_impl}}<br />
* [[Introduce indent for columns]] {{not_impl}}<br />
<br />
== Thumbnail view ==<br />
* [[Improved speed in thumbnail view]] {{not_impl}}<br />
* [[Dynamic zoom in thumbnail view]] {{not_impl}}<br />
* [[Define background color in thumbnail view]] {{not_impl}}<br />
<br />
== Packer plugins suggestions ==<br />
=== Packer plugin requests ===<br />
You are looking for a certain and it doesn't exist. Request your plugin here.<br />
<br />
=== Packer plugin API suggestions ===<br />
Suggest improvements to the packer plugin API here. You want use packer plugins in a better or different way? Suggest it here.<br />
* [[Unpack configuration dialog for Packer plugins|Unpack configuration dialog]] {{not_impl}}<br />
* [[Repair archive command]] {{not_impl}}<br />
* [[Repack configuration dialog]] {{unknown_impl}}<br />
* [[Support for streamed ZIP files]] {{unknown_impl}}<br />
* [[Pause during unpack]] {{unknown_impl}}<br />
* [[Support thumbnails in archives]] {{not_impl}}<br />
* [[Better support for encrypted archives]] {{unknown_impl}}<br />
* [[Removal of read-only files during packing|Packing: Removal of read-only files]] {{unknown_impl}}<br />
* [[Alternate extraction interface]] {{not_impl}}<br />
* [[Create directories for Packer plugins|Create Directories]] {{impl_sugg}}<br />
* [[Background un/packing for Packer plugins|Background un/packing]] {{impl_sugg}}<br />
* [[Unicode support for plugins|Unicode support]] {{impl_sugg}}<br />
<br />
== File system plugins suggestions ==<br />
=== File system plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
* [[SFTP and SCP support|SSH support]] {{unknown_impl}}<br />
=== File system plugin API suggestions ===<br />
Suggest improvements to the file system plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
* [[Branch View in file system plugins|Branch View]] {{unknown_impl}}<br />
* [[Custom context menus in file system plugins|Custom context menu]] {{unknown_impl}}<br />
* [[Grouping file system plugins|Grouping FS Plugin]] {{unknown_impl}}<br />
* [[Unicode support for plugins|Unicode support]] {{impl_sugg}}<br />
* [[Custom Columns in file system plugins|Custom Columns]] {{impl_sugg}}<br />
<br />
== Lister plugins suggestions ==<br />
=== Lister plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
=== Lister plugin API suggestions ===<br />
Suggest improvements to the Lister plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
<br />
== Content plugins suggestions ==<br />
=== Plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
* [[Content Plugin for OpenOffice.org]] {{unknown_impl}}<br />
* [[Content Plugin for IPTC-infos in image files]] {{unknown_impl}}<br />
=== Plugin API/usage suggestions ===<br />
Suggest improvements to the content plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
* [[Provide a way to set a field caption and a field name]] {{not_impl}}<br />
* [[Multiple requests in a row]] {{not_impl}}<br />
* [[Provide a way to setup Content plugins on the fly]] {{not_impl}}<br />
<br />
== Supplementary tools suggestions ==<br />
<br />
== Supported systems/technologies suggestions ==<br />
* [[Make available Windows Explorer 'non-file' context menu]] {{unknown_impl}}<br />
* [[Can you configure so that TC will open links directly rather than Windows Explorer?]] {{unknown_impl}}<br />
* [[Support U3-Specification]] {{unknown_impl}}<br />
<br />
----<br />
<br />
Back to [[Main_Page]]<br />
[[Category:Ideas and suggestions]]<br />
[[de:Kategorie:Ideen und Vorschläge]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Custom_selection_style&diff=8380Custom selection style2016-07-16T21:26:09Z<p>Lefteous: </p>
<hr />
<div>{| class="wikitable"<br />
!<br />
!Left-mouse button mode<br />
!Right mouse button mode<br />
!Explorer<br />
!Suggestion<br />
|-<br />
!Context-menu<br />
|<br />
* Simple right-click<br />
|<br />
* Long right-click<br />
|<br />
* Simple right-click<br />
|<br />
* Simple right-click<br />
|-<br />
!Select files<br />
|<br />
* Start drag right to filename of unselected file<br />
|<br />
* Start right mouse drag anywhere, selection will become selection state of file under cursor<br />
| <br />
* Start drag right to filename of unselected file <br />
* Start drag left or right of selection area in selected or unselected line<br />
|<br />
* Start left mouse drag anywhere to the right of filename, selection will become selection state of file under cursor<br />
|-<br />
!Start drag&drop<br />
|<br />
* Start left button drag on filename under cursor<br />
* Start left button drag on whole line for selected files.<br />
|<br />
* Start left button drag anywhere<br />
|<br />
* Start left button drag on filename under cursor<br />
* Start left button drag on whole line for selected files.<br />
|<br />
* Start left mouse drag on filename<br />
|-<br />
!Destroy existing selection<br />
|<br />
* Click any file or create new selection<br />
|<br />
* Just clicking doesn't destroy selection<br />
* Start right mouse drag anywhere on unselected file<br />
|<br />
* Click any file<br />
* Create new selection<br />
* Click left or right of selection area in any line <br />
* Click in free space below list<br />
|<br />
* Just clicking doesn't destroy selection<br />
* Start left mouse drag on unselected file right to filename<br />
|}</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Custom_selection_style&diff=8379Custom selection style2016-07-16T21:17:31Z<p>Lefteous: </p>
<hr />
<div>{| class="wikitable"<br />
!<br />
!Left-mouse button mode<br />
!Right mouse button mode<br />
!Explorer<br />
!Suggestion<br />
|-<br />
!Context-menu<br />
|Simple right-click<br />
|Long right-click<br />
|Simple right-click<br />
|Simple right-click<br />
|-<br />
!Select files<br />
|<br />
* Start drag right to filename of unselected file<br />
|<br />
* Start right mouse drag anywhere, selection will become selection state of file under cursor<br />
| <br />
* Start drag right to filename of unselected file <br />
* Start drag left or right of selection area in selected or unselected line<br />
|<br />
* Start left mouse drag anywhere to the right of filename, selection will become selection state of file under cursor<br />
|-<br />
!Start drag&drop<br />
|<br />
* Start left button drag on filename under cursor<br />
* Start left button drag on whole line for selected files.<br />
|<br />
* Start left button drag anywhere<br />
|<br />
* Start left button drag on filename under cursor<br />
* Start left button drag on whole line for selected files.<br />
|<br />
* Start left mouse drag on filename<br />
|-<br />
!Destroy existing selection<br />
|<br />
* Click any file or create new selection<br />
|<br />
* Just clicking doesn't destroy selection<br />
* Start right mouse drag anywhere on unselected file<br />
|<br />
* Click any file<br />
* Create new selection<br />
* Click left or right of selection area in any line <br />
* Click in free space below list<br />
|<br />
* Just clicking doesn't destroy selection<br />
* Start left mouse drag on unselected file right to filename<br />
|}</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Custom_selection_style&diff=8378Custom selection style2016-07-16T21:17:19Z<p>Lefteous: </p>
<hr />
<div>{| class="wikitable"<br />
!<br />
!Left-mouse button mode<br />
!Right mouse button mode<br />
!Explorer<br />
!Suggestion<br />
|-<br />
!Context-menu<br />
|Simple right-click<br />
|Long right-click<br />
|Simple right-click<br />
|Simple right-click<br />
|-<br />
!Select files<br />
|<br />
* Start drag right to filename of unselected file<br />
|<br />
* Start right mouse drag anywhere, selection will become selection state of file under cursor<br />
| <br />
* Start drag right to filename of unselected file <br />
* Start drag left or right of selection area in selected or unselected line<br />
|Start left mouse drag anywhere to the right of filename, selection will become selection state of file under cursor<br />
|-<br />
!Start drag&drop<br />
|<br />
* Start left button drag on filename under cursor<br />
* Start left button drag on whole line for selected files.<br />
|<br />
* Start left button drag anywhere<br />
|<br />
* Start left button drag on filename under cursor<br />
* Start left button drag on whole line for selected files.<br />
|<br />
* Start left mouse drag on filename<br />
|-<br />
!Destroy existing selection<br />
|<br />
* Click any file or create new selection<br />
|<br />
* Just clicking doesn't destroy selection<br />
* Start right mouse drag anywhere on unselected file<br />
|<br />
* Click any file<br />
* Create new selection<br />
* Click left or right of selection area in any line <br />
* Click in free space below list<br />
|<br />
* Just clicking doesn't destroy selection<br />
* Start left mouse drag on unselected file right to filename<br />
|}</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Custom_selection_style&diff=8377Custom selection style2016-07-16T21:14:33Z<p>Lefteous: </p>
<hr />
<div>{| class="wikitable"<br />
!<br />
!Left-mouse button mode<br />
!Right mouse button mode<br />
!Explorer<br />
!Suggestion<br />
|-<br />
!Context-menu<br />
|Simple right-click<br />
|Long right-click<br />
|Simple right-click<br />
|Simple right-click<br />
|-<br />
!Select files<br />
|Start drag right to filename of unselected file<br />
|Start right mouse drag anywhere, selection will become selection state of file under cursor<br />
| <br />
* Start drag right to filename of unselected file <br />
* Start drag left or right of selection area in selected or unselected line<br />
|Start left mouse drag anywhere to the right of filename, selection will become selection state of file under cursor<br />
|-<br />
!Start drag&drop<br />
|<br />
* Start left button drag on filename under cursor<br />
* Start left button drag on whole line for selected files.<br />
|Start left button drag anywhere<br />
|<br />
* Start left button drag on filename under cursor<br />
* Start left button drag on whole line for selected files.<br />
|Start left mouse drag on filename<br />
|-<br />
!Destroy existing selection<br />
|Click any file or create new selection<br />
|<br />
* Just clicking doesn't destroy selection<br />
* Start right mouse drag anywhere on unselected file<br />
|<br />
* Click any file<br />
* Create new selection<br />
* Click left or right of selection area in any line <br />
* Click in free space below list<br />
|<br />
* Just clicking doesn't destroy selection<br />
* Start left mouse drag on unselected file right to filename<br />
|}</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Custom_selection_style&diff=8376Custom selection style2016-07-16T21:13:15Z<p>Lefteous: </p>
<hr />
<div>{| class="wikitable"<br />
!<br />
!Left-mouse button mode<br />
!Right mouse button mode<br />
!Explorer<br />
!Suggestion<br />
|-<br />
!Context-menu<br />
|Simple right-click<br />
|Long right-click<br />
|Simple right-click<br />
|Simple right-click<br />
|-<br />
!Select files<br />
|Start drag right to filename of unselected file<br />
|Start right mouse drag anywhere, selection will become selection state of file under cursor<br />
| <br />
* Start drag right to filename of unselected file <br />
* Start drag left or right of selection area in selected or unselected line<br />
|Start left mouse drag anywhere right to filename, selection will become selection state of file under cursor<br />
|-<br />
!Start drag&drop<br />
|<br />
* Start left button drag on filename under cursor<br />
* Start left button drag on whole line for selected files.<br />
|Start left button drag anywhere<br />
|<br />
* Start left button drag on filename under cursor<br />
* Start left button drag on whole line for selected files.<br />
|Start left mouse drag on filename<br />
|-<br />
!Destroy existing selection<br />
|Click any file or create new selection<br />
|<br />
* Just clicking doesn't destroy selection<br />
* Start right mouse drag anywhere on unselected file<br />
|<br />
* Click any file<br />
* Create new selection<br />
* Click left or right of selection area in any line <br />
* Click in free space below list<br />
|<br />
* Just clicking doesn't destroy selection<br />
* Start left mouse drag on unselected file right to filename<br />
|}</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Custom_selection_style&diff=8375Custom selection style2016-07-16T08:44:22Z<p>Lefteous: Created page with "{| border="1" ! !Left-mouse button mode !Right mouse button mode !Explorer !Suggestion |- !Context-menu |Simple right-click |Long right-click |Simple right-click |Simple right..."</p>
<hr />
<div>{| border="1"<br />
!<br />
!Left-mouse button mode<br />
!Right mouse button mode<br />
!Explorer<br />
!Suggestion<br />
|-<br />
!Context-menu<br />
|Simple right-click<br />
|Long right-click<br />
|Simple right-click<br />
|Simple right-click<br />
|-<br />
!Select files<br />
|Start drag right to filename of unselected file<br />
|Start right mouse drag anywhere, selection will become selection state of file under cursor<br />
|Start drag right to filename of unselected file or start drag left or right of selection area in selected or unselected line<br />
|Start left mouse drag anywhere right to filename, selection will become selection state of file under cursor<br />
|-<br />
!Start drag&drop<br />
|Start left button drag on filename under cursor or start left button drag on whole line for selected files.<br />
|Start left button drag anywhere<br />
|Start left button drag on filename under cursor or start left button drag on whole line for selected files.<br />
|Start left mouse drag on filename<br />
|-<br />
!Destroy existing selection<br />
|Click any file or create new selection<br />
|Clicking doesn't destroy selection or start right mouse drag anywhere on unselected file<br />
|Click any file or create new selection or click left or right of selection area in selected or unselected line or click in free space below list<br />
|Clicking doesn't destroy selection or start left mouse drag on unselected file right to filename<br />
|}</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Ideas_and_suggestions&diff=8374Ideas and suggestions2016-07-16T08:37:54Z<p>Lefteous: /* General suggestions */</p>
<hr />
<div>Please try to put your suggestions in the appropriate section, or add a new section if necessary!<br />
<br />
;The following templates can be used to label the current implementation status of a feature<br />
* {{Impl_sugg}} - fully implemented in current stable version of Total Commander<br />
* {{partially_impl}} - the suggestion has been implemented in current stable version of Total Commander. Some aspects haven't been implemented so far.<br />
* {{not_impl}} - not implemented in current stable version of Total Commander<br />
* {{confirmed_impl}} - will be added in next version of Total Commander (confirmed by Christian Ghisler)<br />
* {{unknown_impl}} - implementation status unknown. Feel free to change the status when you are sure.<br />
* {{deprecated_sugg}} - The suggestion no longer makes sense to be implemented as described. The problem might have been solved another way or Total Commander has evolved into another direction. This should be set by the original requester only.<br />
<br />
<br />
<br />
== General suggestions ==<br />
All suggestions which don't fit into a more specific section or hasn't been categorized so far.<br />
* [[Auto-Hide to tray or minimize window when inactive for a preset number of minutes]] {{unknown_impl}}<br />
* [[Unified Parameters System]] {{unknown_impl}}<br />
* [[Server plugin interface]] {{not_impl}}<br />
* [[Show files in filelist window]] {{not_impl}}<br />
* [[New approach for INI file location]] {{not_impl}}<br />
* [[Option to permanently enable cm_AdministerServer ]] {{unknown_impl}}<br />
* [[Copy file path]] {{unknown_impl}}<br />
* [[New command cm_CopyWebNamesToClip]] {{unknown_impl}}<br />
* [[Make view and column header indepedent]] {{not_impl}}<br />
* [[Custom selection style]] {{not_impl}}<br />
<!--- * [[Defining an icon based on a userdefined selection]]---><br />
<br />
== New functionality ==<br />
Add new functions here which are not improvements of existing functionality<br />
* [[(Batch) convert files]] {{not_impl}}<br />
<br />
== User interface suggestions ==<br />
All suggestions to improve the visual appearance and/or usability go here.<br />
Post all suggestions that would Total Commander look better here.<br />
* [[Full Windows XP style support]] {{unknown_impl}}<br />
* [[Do not display directory brackets by default]] {{not_impl}}<br />
* [[Make the 'connection bar' optional]] {{not_impl}}<br />
* [[Delete single/multiple file(s) confirmation]] {{not_impl}}<br />
* [[Unified command launcher editor]] {{not_impl}}<br />
* [[Drive list and drive bar improvements]] {{not_impl}}<br />
* [[Button spacing and spacers]] {{not_impl}}<br />
* [[Add support for tooltips in separate tree]] {{not_impl}}<br />
* [[Custom workspaces / workspaces by directory]] {{confirmed_impl}}<br />
* [[Unified Command system]] {{deprecated_sugg}}<br />
* [[Internal button menu like TCmenu]] {{impl_sugg}}<br />
<br />
== Navigation ==<br />
Put everything here that is about changing the current location<br />
* [[Drag & drop LNK to current directory bar change active directory]] {{unknown_impl}}<br />
* [[Dynamic Favorite Folders]] {{unknown_impl}}<br />
* [[Dynamic Current Folder line|Dynamic Current Folder line]] {{impl_sugg}}<br />
<br />
== File handling (copy, move, rename, delete, open,...) ==<br />
* [[Transaction-like copy/move directories]] {{unknown_impl}}<br />
* [[Queue for file transfers]] {{unknown_impl}}<br />
* [[Pause button in regular copy/move window]] {{unknown_impl}}<br />
* [[Rename file with just one button]] {{unknown_impl}}<br />
* [[Copy/move multiple filenames into one leads to concatenation]] {{unknown_impl}}<br />
* [[Save selection to clipboard]] {{unknown_impl}}<br />
* [[add Undo functionality similar to that in Windows Explorer]] {{unknown_impl}}<br />
* [[Option to automatically keep long file names during copy/move]] {{unknown_impl}}<br />
* [[Multi-Rename Tool syntax in Copy dialog]] {{unknown_impl}}<br />
* [[Open files by filetype]] {{impl_sugg}}<br />
<br />
== Compare files ==<br />
* [[UTF-8 support for file compare tool]] {{unknown_impl}}<br />
* [[FTP support for files compare function]] {{unknown_impl}}<br />
<br />
== Synchronize directories ==<br />
* [[Don't use cache when synchronizing with FTP server]] {{unknown_impl}}<br />
* [[Ignore Source Code Control System Meta Files/Dirs]] {{unknown_impl}}<br />
* [[Flag / tickbox for each folder down the list for "Ignore This Folder" in the folder name line]] {{unknown_impl}}<br />
* [[Add an option for "Synchronize dirs" (with ftp and txt files)]] {{unknown_impl}}<br />
<br />
== Multi rename tool suggestions ==<br />
* ...<br />
<br />
== Search ==<br />
* [[Integrate fulltext content plugin fields into find text]] {{confirmed_impl}}<br />
* [[Show context of place of finding in text searches]] {{not_impl}}<br />
* [[Persistent search results]] {{not_impl}}<br />
* [[Faster search]] {{confirmed_impl}}<br />
* [[FTP search]] {{unknown_impl}}<br />
* [[Few Search windows]] {{impl_sugg}}<br />
<br />
== Lister ==<br />
* [[Tail functionality in Lister]] {{unknown_impl}}<br />
* [[Adjustable tab width]] {{unknown_impl}}<br />
* [[Drag & drop in Lister]] {{unknown_impl}}<br />
* [[Built-in syntax highlighter in Lister|'''Built-in''' syntax highlighter in Lister]] {{unknown_impl}}<br />
* [[Auto-refresh option for opened file in Lister]] {{unknown_impl}}<br />
* [[Use internal Lister for converted text files]] {{not_impl}}<br />
<br />
== FTP ==<br />
* [[Re-upload changed file to the ftp server|Reupload changed file]] {{unknown_impl}}<br />
* [[Tasklist_for_ftp_transfers]] {{unknown_impl}}<br />
* [[FTP search]] {{unknown_impl}}<br />
* [[Folders in FTP-server list]] {{impl_sugg}}<br />
<br />
== Custom column view ==<br />
* [[Graphical display of numeric values]] {{not_impl}}<br />
* [[Define field contents per filetype]] {{not_impl}}<br />
* [[Uniquely named custom column configs (more custom column configs)]] {{partially_impl}}<br />
* [[Introduce indent for columns]] {{not_impl}}<br />
<br />
== Thumbnail view ==<br />
* [[Improved speed in thumbnail view]] {{not_impl}}<br />
* [[Dynamic zoom in thumbnail view]] {{not_impl}}<br />
* [[Define background color in thumbnail view]] {{not_impl}}<br />
<br />
== Packer plugins suggestions ==<br />
=== Packer plugin requests ===<br />
You are looking for a certain and it doesn't exist. Request your plugin here.<br />
<br />
=== Packer plugin API suggestions ===<br />
Suggest improvements to the packer plugin API here. You want use packer plugins in a better or different way? Suggest it here.<br />
* [[Unpack configuration dialog for Packer plugins|Unpack configuration dialog]] {{not_impl}}<br />
* [[Repair archive command]] {{not_impl}}<br />
* [[Repack configuration dialog]] {{unknown_impl}}<br />
* [[Support for streamed ZIP files]] {{unknown_impl}}<br />
* [[Pause during unpack]] {{unknown_impl}}<br />
* [[Support thumbnails in archives]] {{not_impl}}<br />
* [[Better support for encrypted archives]] {{unknown_impl}}<br />
* [[Removal of read-only files during packing|Packing: Removal of read-only files]] {{unknown_impl}}<br />
* [[Alternate extraction interface]] {{not_impl}}<br />
* [[Create directories for Packer plugins|Create Directories]] {{impl_sugg}}<br />
* [[Background un/packing for Packer plugins|Background un/packing]] {{impl_sugg}}<br />
* [[Unicode support for plugins|Unicode support]] {{impl_sugg}}<br />
<br />
== File system plugins suggestions ==<br />
=== File system plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
* [[SFTP and SCP support|SSH support]] {{unknown_impl}}<br />
=== File system plugin API suggestions ===<br />
Suggest improvements to the file system plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
* [[Branch View in file system plugins|Branch View]] {{unknown_impl}}<br />
* [[Custom context menus in file system plugins|Custom context menu]] {{unknown_impl}}<br />
* [[Grouping file system plugins|Grouping FS Plugin]] {{unknown_impl}}<br />
* [[Unicode support for plugins|Unicode support]] {{impl_sugg}}<br />
* [[Custom Columns in file system plugins|Custom Columns]] {{impl_sugg}}<br />
<br />
== Lister plugins suggestions ==<br />
=== Lister plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
=== Lister plugin API suggestions ===<br />
Suggest improvements to the Lister plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
<br />
== Content plugins suggestions ==<br />
=== Plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
* [[Content Plugin for OpenOffice.org]] {{unknown_impl}}<br />
* [[Content Plugin for IPTC-infos in image files]] {{unknown_impl}}<br />
=== Plugin API/usage suggestions ===<br />
Suggest improvements to the content plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
* [[Provide a way to set a field caption and a field name]] {{not_impl}}<br />
* [[Multiple requests in a row]] {{not_impl}}<br />
* [[Provide a way to setup Content plugins on the fly]] {{not_impl}}<br />
<br />
== Supplementary tools suggestions ==<br />
<br />
== Supported systems/technologies suggestions ==<br />
* [[Make available Windows Explorer 'non-file' context menu]] {{unknown_impl}}<br />
* [[Can you configure so that TC will open links directly rather than Windows Explorer?]] {{unknown_impl}}<br />
* [[Support U3-Specification]] {{unknown_impl}}<br />
<br />
----<br />
<br />
Back to [[Main_Page]]<br />
[[Category:Ideas and suggestions]]<br />
[[de:Kategorie:Ideen und Vorschläge]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Make_view_and_column_header_indepedent&diff=8371Make view and column header indepedent2016-04-14T13:59:53Z<p>Lefteous: </p>
<hr />
<div>It's quite annoying to e.g. switch from custom column view to thumbnail view and all the column headers including all sort opportunities are gone. What about changing this behavior to preserve the column header?<br />
<br />
The UI wouldn't have to be changed to much and compatibility shouldn't be a problem. Just some behaviors would have to be changed. Custom column views would be changed to custom colunm headers. Changing the would just exchange the column header. The 'long' view would just switch to a view which shows the columns defined in the current column headers. Of course combining 'change view' with 'change column header' is a common use case.<br />
There would be a default column header which is the one used in the normal views (short/long/thumbnail). There would be also a default view which is the long view.<br />
<br />
<br />
Forum discussion: http://ghisler.ch/board/viewtopic.php?p=155812#155812<br />
<br />
<br />
{{backlink|Ideas and suggestions|Ideas and suggestions}}</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Make_view_and_column_header_indepedent&diff=8370Make view and column header indepedent2016-04-14T13:58:16Z<p>Lefteous: </p>
<hr />
<div>It's quite annoying to e.g. switch from custom column view to thumbnail view and all the column headers including all sort opportunities are gone. What about changing this behavior to preserve the column header?<br />
<br />
The UI wouldn't have to be changed to much. Just some behaviors would have to be changed. Custom column views would be changed to custom colunm headers. Changing the would just exchange the column header. The 'long' view would just switch to a view which shows the columns defined in the current column headers.<br />
There would be a default column header which is the one used in the normal views (short/long/thumbnail). There would be also a default view which is the long view.<br />
<br />
Of course combining 'change view' with 'change column header' is a common use case.<br />
<br />
<br />
Forum discussion: http://ghisler.ch/board/viewtopic.php?p=155812#155812<br />
<br />
<br />
{{backlink|Ideas and suggestions|Ideas and suggestions}}</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Make_view_and_column_header_indepedent&diff=8369Make view and column header indepedent2016-04-14T11:53:08Z<p>Lefteous: </p>
<hr />
<div>It's quite annoying to e.g. switch from custom column view to thumbnail view and all the column headers including all sort opportunities are gone. What about changing this behavior to preserve the column header?<br />
<br />
Forum discussion: http://ghisler.ch/board/viewtopic.php?p=155812#155812<br />
<br />
<br />
{{backlink|Ideas and suggestions|Ideas and suggestions}}</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Make_view_and_column_header_indepedent&diff=8368Make view and column header indepedent2016-04-14T11:52:06Z<p>Lefteous: Created page with "It's quite annoying to e.g. switch from custom column view to thumbnail view and all the column headers including all sort opportunities are gone. What about changing this beh..."</p>
<hr />
<div>It's quite annoying to e.g. switch from custom column view to thumbnail view and all the column headers including all sort opportunities are gone. What about changing this behavior to preserve the column header?<br />
<br />
Forum discussion: http://ghisler.ch/board/viewtopic.php?p=155812#155812</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Ideas_and_suggestions&diff=8367Ideas and suggestions2016-04-14T11:51:06Z<p>Lefteous: /* General suggestions */</p>
<hr />
<div>Please try to put your suggestions in the appropriate section, or add a new section if necessary!<br />
<br />
;The following templates can be used to label the current implementation status of a feature<br />
* {{Impl_sugg}} - fully implemented in current stable version of Total Commander<br />
* {{partially_impl}} - the suggestion has been implemented in current stable version of Total Commander. Some aspects haven't been implemented so far.<br />
* {{not_impl}} - not implemented in current stable version of Total Commander<br />
* {{confirmed_impl}} - will be added in next version of Total Commander (confirmed by Christian Ghisler)<br />
* {{unknown_impl}} - implementation status unknown. Feel free to change the status when you are sure.<br />
* {{deprecated_sugg}} - The suggestion no longer makes sense to be implemented as described. The problem might have been solved another way or Total Commander has evolved into another direction. This should be set by the original requester only.<br />
<br />
<br />
<br />
== General suggestions ==<br />
All suggestions which don't fit into a more specific section or hasn't been categorized so far.<br />
* [[Auto-Hide to tray or minimize window when inactive for a preset number of minutes]] {{unknown_impl}}<br />
* [[Unified Parameters System]] {{unknown_impl}}<br />
* [[Server plugin interface]] {{not_impl}}<br />
* [[Show files in filelist window]] {{not_impl}}<br />
* [[New approach for INI file location]] {{not_impl}}<br />
* [[Option to permanently enable cm_AdministerServer ]] {{unknown_impl}}<br />
* [[Copy file path]] {{unknown_impl}}<br />
* [[New command cm_CopyWebNamesToClip]] {{unknown_impl}}<br />
* [[Make view and column header indepedent]] {{not_impl}}<br />
<!--- * [[Defining an icon based on a userdefined selection]]---><br />
<br />
== New functionality ==<br />
Add new functions here which are not improvements of existing functionality<br />
* [[(Batch) convert files]] {{not_impl}}<br />
<br />
== User interface suggestions ==<br />
All suggestions to improve the visual appearance and/or usability go here.<br />
Post all suggestions that would Total Commander look better here.<br />
* [[Full Windows XP style support]] {{unknown_impl}}<br />
* [[Do not display directory brackets by default]] {{not_impl}}<br />
* [[Make the 'connection bar' optional]] {{not_impl}}<br />
* [[Delete single/multiple file(s) confirmation]] {{not_impl}}<br />
* [[Unified command launcher editor]] {{not_impl}}<br />
* [[Drive list and drive bar improvements]] {{not_impl}}<br />
* [[Button spacing and spacers]] {{not_impl}}<br />
* [[Add support for tooltips in separate tree]] {{not_impl}}<br />
* [[Custom workspaces / workspaces by directory]] {{confirmed_impl}}<br />
* [[Unified Command system]] {{deprecated_sugg}}<br />
* [[Internal button menu like TCmenu]] {{impl_sugg}}<br />
<br />
== Navigation ==<br />
Put everything here that is about changing the current location<br />
* [[Drag & drop LNK to current directory bar change active directory]] {{unknown_impl}}<br />
* [[Dynamic Favorite Folders]] {{unknown_impl}}<br />
* [[Dynamic Current Folder line|Dynamic Current Folder line]] {{impl_sugg}}<br />
<br />
== File handling (copy, move, rename, delete, open,...) ==<br />
* [[Transaction-like copy/move directories]] {{unknown_impl}}<br />
* [[Queue for file transfers]] {{unknown_impl}}<br />
* [[Pause button in regular copy/move window]] {{unknown_impl}}<br />
* [[Rename file with just one button]] {{unknown_impl}}<br />
* [[Copy/move multiple filenames into one leads to concatenation]] {{unknown_impl}}<br />
* [[Save selection to clipboard]] {{unknown_impl}}<br />
* [[add Undo functionality similar to that in Windows Explorer]] {{unknown_impl}}<br />
* [[Option to automatically keep long file names during copy/move]] {{unknown_impl}}<br />
* [[Multi-Rename Tool syntax in Copy dialog]] {{unknown_impl}}<br />
* [[Open files by filetype]] {{impl_sugg}}<br />
<br />
== Compare files ==<br />
* [[UTF-8 support for file compare tool]] {{unknown_impl}}<br />
* [[FTP support for files compare function]] {{unknown_impl}}<br />
<br />
== Synchronize directories ==<br />
* [[Don't use cache when synchronizing with FTP server]] {{unknown_impl}}<br />
* [[Ignore Source Code Control System Meta Files/Dirs]] {{unknown_impl}}<br />
* [[Flag / tickbox for each folder down the list for "Ignore This Folder" in the folder name line]] {{unknown_impl}}<br />
* [[Add an option for "Synchronize dirs" (with ftp and txt files)]] {{unknown_impl}}<br />
<br />
== Multi rename tool suggestions ==<br />
* ...<br />
<br />
== Search ==<br />
* [[Integrate fulltext content plugin fields into find text]] {{confirmed_impl}}<br />
* [[Show context of place of finding in text searches]] {{not_impl}}<br />
* [[Persistent search results]] {{not_impl}}<br />
* [[Faster search]] {{confirmed_impl}}<br />
* [[FTP search]] {{unknown_impl}}<br />
* [[Few Search windows]] {{impl_sugg}}<br />
<br />
== Lister ==<br />
* [[Tail functionality in Lister]] {{unknown_impl}}<br />
* [[Adjustable tab width]] {{unknown_impl}}<br />
* [[Drag & drop in Lister]] {{unknown_impl}}<br />
* [[Built-in syntax highlighter in Lister|'''Built-in''' syntax highlighter in Lister]] {{unknown_impl}}<br />
* [[Auto-refresh option for opened file in Lister]] {{unknown_impl}}<br />
* [[Use internal Lister for converted text files]] {{not_impl}}<br />
<br />
== FTP ==<br />
* [[Re-upload changed file to the ftp server|Reupload changed file]] {{unknown_impl}}<br />
* [[Tasklist_for_ftp_transfers]] {{unknown_impl}}<br />
* [[FTP search]] {{unknown_impl}}<br />
* [[Folders in FTP-server list]] {{impl_sugg}}<br />
<br />
== Custom column view ==<br />
* [[Graphical display of numeric values]] {{not_impl}}<br />
* [[Define field contents per filetype]] {{not_impl}}<br />
* [[Uniquely named custom column configs (more custom column configs)]] {{partially_impl}}<br />
* [[Introduce indent for columns]] {{not_impl}}<br />
<br />
== Thumbnail view ==<br />
* [[Improved speed in thumbnail view]] {{not_impl}}<br />
* [[Dynamic zoom in thumbnail view]] {{not_impl}}<br />
* [[Define background color in thumbnail view]] {{not_impl}}<br />
<br />
== Packer plugins suggestions ==<br />
=== Packer plugin requests ===<br />
You are looking for a certain and it doesn't exist. Request your plugin here.<br />
<br />
=== Packer plugin API suggestions ===<br />
Suggest improvements to the packer plugin API here. You want use packer plugins in a better or different way? Suggest it here.<br />
* [[Unpack configuration dialog for Packer plugins|Unpack configuration dialog]] {{not_impl}}<br />
* [[Repair archive command]] {{not_impl}}<br />
* [[Repack configuration dialog]] {{unknown_impl}}<br />
* [[Support for streamed ZIP files]] {{unknown_impl}}<br />
* [[Pause during unpack]] {{unknown_impl}}<br />
* [[Support thumbnails in archives]] {{not_impl}}<br />
* [[Better support for encrypted archives]] {{unknown_impl}}<br />
* [[Removal of read-only files during packing|Packing: Removal of read-only files]] {{unknown_impl}}<br />
* [[Alternate extraction interface]] {{not_impl}}<br />
* [[Create directories for Packer plugins|Create Directories]] {{impl_sugg}}<br />
* [[Background un/packing for Packer plugins|Background un/packing]] {{impl_sugg}}<br />
* [[Unicode support for plugins|Unicode support]] {{impl_sugg}}<br />
<br />
== File system plugins suggestions ==<br />
=== File system plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
* [[SFTP and SCP support|SSH support]] {{unknown_impl}}<br />
=== File system plugin API suggestions ===<br />
Suggest improvements to the file system plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
* [[Branch View in file system plugins|Branch View]] {{unknown_impl}}<br />
* [[Custom context menus in file system plugins|Custom context menu]] {{unknown_impl}}<br />
* [[Grouping file system plugins|Grouping FS Plugin]] {{unknown_impl}}<br />
* [[Unicode support for plugins|Unicode support]] {{impl_sugg}}<br />
* [[Custom Columns in file system plugins|Custom Columns]] {{impl_sugg}}<br />
<br />
== Lister plugins suggestions ==<br />
=== Lister plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
=== Lister plugin API suggestions ===<br />
Suggest improvements to the Lister plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
<br />
== Content plugins suggestions ==<br />
=== Plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
* [[Content Plugin for OpenOffice.org]] {{unknown_impl}}<br />
* [[Content Plugin for IPTC-infos in image files]] {{unknown_impl}}<br />
=== Plugin API/usage suggestions ===<br />
Suggest improvements to the content plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
* [[Provide a way to set a field caption and a field name]] {{not_impl}}<br />
* [[Multiple requests in a row]] {{not_impl}}<br />
* [[Provide a way to setup Content plugins on the fly]] {{not_impl}}<br />
<br />
== Supplementary tools suggestions ==<br />
<br />
== Supported systems/technologies suggestions ==<br />
* [[Make available Windows Explorer 'non-file' context menu]] {{unknown_impl}}<br />
* [[Can you configure so that TC will open links directly rather than Windows Explorer?]] {{unknown_impl}}<br />
* [[Support U3-Specification]] {{unknown_impl}}<br />
<br />
----<br />
<br />
Back to [[Main_Page]]<br />
[[Category:Ideas and suggestions]]<br />
[[de:Kategorie:Ideen und Vorschläge]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Introduce_indent_for_columns&diff=8366Introduce indent for columns2016-04-07T08:31:58Z<p>Lefteous: </p>
<hr />
<div>When displaying a right-aligned column followed by a left-aligned column the contents of these column is displayed very close together. I think introducing an indent property for a column would really help. This would be defined in the same units as the normal column widths.</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Ideas_and_suggestions&diff=8365Ideas and suggestions2016-04-07T08:30:37Z<p>Lefteous: /* General suggestions */</p>
<hr />
<div>Please try to put your suggestions in the appropriate section, or add a new section if necessary!<br />
<br />
;The following templates can be used to label the current implementation status of a feature<br />
* {{Impl_sugg}} - fully implemented in current stable version of Total Commander<br />
* {{partially_impl}} - the suggestion has been implemented in current stable version of Total Commander. Some aspects haven't been implemented so far.<br />
* {{not_impl}} - not implemented in current stable version of Total Commander<br />
* {{confirmed_impl}} - will be added in next version of Total Commander (confirmed by Christian Ghisler)<br />
* {{unknown_impl}} - implementation status unknown. Feel free to change the status when you are sure.<br />
* {{deprecated_sugg}} - The suggestion no longer makes sense to be implemented as described. The problem might have been solved another way or Total Commander has evolved into another direction. This should be set by the original requester only.<br />
<br />
<br />
<br />
== General suggestions ==<br />
All suggestions which don't fit into a more specific section or hasn't been categorized so far.<br />
* [[Auto-Hide to tray or minimize window when inactive for a preset number of minutes]] {{unknown_impl}}<br />
* [[Unified Parameters System]] {{unknown_impl}}<br />
* [[Server plugin interface]] {{not_impl}}<br />
* [[Show files in filelist window]] {{not_impl}}<br />
* [[New approach for INI file location]] {{not_impl}}<br />
* [[Option to permanently enable cm_AdministerServer ]] {{unknown_impl}}<br />
* [[Copy file path]] {{unknown_impl}}<br />
* [[New command cm_CopyWebNamesToClip]] {{unknown_impl}}<br />
<!--- * [[Defining an icon based on a userdefined selection]]---><br />
<br />
== New functionality ==<br />
Add new functions here which are not improvements of existing functionality<br />
* [[(Batch) convert files]] {{not_impl}}<br />
<br />
== User interface suggestions ==<br />
All suggestions to improve the visual appearance and/or usability go here.<br />
Post all suggestions that would Total Commander look better here.<br />
* [[Full Windows XP style support]] {{unknown_impl}}<br />
* [[Do not display directory brackets by default]] {{not_impl}}<br />
* [[Make the 'connection bar' optional]] {{not_impl}}<br />
* [[Delete single/multiple file(s) confirmation]] {{not_impl}}<br />
* [[Unified command launcher editor]] {{not_impl}}<br />
* [[Drive list and drive bar improvements]] {{not_impl}}<br />
* [[Button spacing and spacers]] {{not_impl}}<br />
* [[Add support for tooltips in separate tree]] {{not_impl}}<br />
* [[Custom workspaces / workspaces by directory]] {{confirmed_impl}}<br />
* [[Unified Command system]] {{deprecated_sugg}}<br />
* [[Internal button menu like TCmenu]] {{impl_sugg}}<br />
<br />
== Navigation ==<br />
Put everything here that is about changing the current location<br />
* [[Drag & drop LNK to current directory bar change active directory]] {{unknown_impl}}<br />
* [[Dynamic Favorite Folders]] {{unknown_impl}}<br />
* [[Dynamic Current Folder line|Dynamic Current Folder line]] {{impl_sugg}}<br />
<br />
== File handling (copy, move, rename, delete, open,...) ==<br />
* [[Transaction-like copy/move directories]] {{unknown_impl}}<br />
* [[Queue for file transfers]] {{unknown_impl}}<br />
* [[Pause button in regular copy/move window]] {{unknown_impl}}<br />
* [[Rename file with just one button]] {{unknown_impl}}<br />
* [[Copy/move multiple filenames into one leads to concatenation]] {{unknown_impl}}<br />
* [[Save selection to clipboard]] {{unknown_impl}}<br />
* [[add Undo functionality similar to that in Windows Explorer]] {{unknown_impl}}<br />
* [[Option to automatically keep long file names during copy/move]] {{unknown_impl}}<br />
* [[Multi-Rename Tool syntax in Copy dialog]] {{unknown_impl}}<br />
* [[Open files by filetype]] {{impl_sugg}}<br />
<br />
== Compare files ==<br />
* [[UTF-8 support for file compare tool]] {{unknown_impl}}<br />
* [[FTP support for files compare function]] {{unknown_impl}}<br />
<br />
== Synchronize directories ==<br />
* [[Don't use cache when synchronizing with FTP server]] {{unknown_impl}}<br />
* [[Ignore Source Code Control System Meta Files/Dirs]] {{unknown_impl}}<br />
* [[Flag / tickbox for each folder down the list for "Ignore This Folder" in the folder name line]] {{unknown_impl}}<br />
* [[Add an option for "Synchronize dirs" (with ftp and txt files)]] {{unknown_impl}}<br />
<br />
== Multi rename tool suggestions ==<br />
* ...<br />
<br />
== Search ==<br />
* [[Integrate fulltext content plugin fields into find text]] {{confirmed_impl}}<br />
* [[Show context of place of finding in text searches]] {{not_impl}}<br />
* [[Persistent search results]] {{not_impl}}<br />
* [[Faster search]] {{confirmed_impl}}<br />
* [[FTP search]] {{unknown_impl}}<br />
* [[Few Search windows]] {{impl_sugg}}<br />
<br />
== Lister ==<br />
* [[Tail functionality in Lister]] {{unknown_impl}}<br />
* [[Adjustable tab width]] {{unknown_impl}}<br />
* [[Drag & drop in Lister]] {{unknown_impl}}<br />
* [[Built-in syntax highlighter in Lister|'''Built-in''' syntax highlighter in Lister]] {{unknown_impl}}<br />
* [[Auto-refresh option for opened file in Lister]] {{unknown_impl}}<br />
* [[Use internal Lister for converted text files]] {{not_impl}}<br />
<br />
== FTP ==<br />
* [[Re-upload changed file to the ftp server|Reupload changed file]] {{unknown_impl}}<br />
* [[Tasklist_for_ftp_transfers]] {{unknown_impl}}<br />
* [[FTP search]] {{unknown_impl}}<br />
* [[Folders in FTP-server list]] {{impl_sugg}}<br />
<br />
== Custom column view ==<br />
* [[Graphical display of numeric values]] {{not_impl}}<br />
* [[Define field contents per filetype]] {{not_impl}}<br />
* [[Uniquely named custom column configs (more custom column configs)]] {{partially_impl}}<br />
* [[Introduce indent for columns]] {{not_impl}}<br />
<br />
== Thumbnail view ==<br />
* [[Improved speed in thumbnail view]] {{not_impl}}<br />
* [[Dynamic zoom in thumbnail view]] {{not_impl}}<br />
* [[Define background color in thumbnail view]] {{not_impl}}<br />
<br />
== Packer plugins suggestions ==<br />
=== Packer plugin requests ===<br />
You are looking for a certain and it doesn't exist. Request your plugin here.<br />
<br />
=== Packer plugin API suggestions ===<br />
Suggest improvements to the packer plugin API here. You want use packer plugins in a better or different way? Suggest it here.<br />
* [[Unpack configuration dialog for Packer plugins|Unpack configuration dialog]] {{not_impl}}<br />
* [[Repair archive command]] {{not_impl}}<br />
* [[Repack configuration dialog]] {{unknown_impl}}<br />
* [[Support for streamed ZIP files]] {{unknown_impl}}<br />
* [[Pause during unpack]] {{unknown_impl}}<br />
* [[Support thumbnails in archives]] {{not_impl}}<br />
* [[Better support for encrypted archives]] {{unknown_impl}}<br />
* [[Removal of read-only files during packing|Packing: Removal of read-only files]] {{unknown_impl}}<br />
* [[Alternate extraction interface]] {{not_impl}}<br />
* [[Create directories for Packer plugins|Create Directories]] {{impl_sugg}}<br />
* [[Background un/packing for Packer plugins|Background un/packing]] {{impl_sugg}}<br />
* [[Unicode support for plugins|Unicode support]] {{impl_sugg}}<br />
<br />
== File system plugins suggestions ==<br />
=== File system plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
* [[SFTP and SCP support|SSH support]] {{unknown_impl}}<br />
=== File system plugin API suggestions ===<br />
Suggest improvements to the file system plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
* [[Branch View in file system plugins|Branch View]] {{unknown_impl}}<br />
* [[Custom context menus in file system plugins|Custom context menu]] {{unknown_impl}}<br />
* [[Grouping file system plugins|Grouping FS Plugin]] {{unknown_impl}}<br />
* [[Unicode support for plugins|Unicode support]] {{impl_sugg}}<br />
* [[Custom Columns in file system plugins|Custom Columns]] {{impl_sugg}}<br />
<br />
== Lister plugins suggestions ==<br />
=== Lister plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
=== Lister plugin API suggestions ===<br />
Suggest improvements to the Lister plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
<br />
== Content plugins suggestions ==<br />
=== Plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
* [[Content Plugin for OpenOffice.org]] {{unknown_impl}}<br />
* [[Content Plugin for IPTC-infos in image files]] {{unknown_impl}}<br />
=== Plugin API/usage suggestions ===<br />
Suggest improvements to the content plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
* [[Provide a way to set a field caption and a field name]] {{not_impl}}<br />
* [[Multiple requests in a row]] {{not_impl}}<br />
* [[Provide a way to setup Content plugins on the fly]] {{not_impl}}<br />
<br />
== Supplementary tools suggestions ==<br />
<br />
== Supported systems/technologies suggestions ==<br />
* [[Make available Windows Explorer 'non-file' context menu]] {{unknown_impl}}<br />
* [[Can you configure so that TC will open links directly rather than Windows Explorer?]] {{unknown_impl}}<br />
* [[Support U3-Specification]] {{unknown_impl}}<br />
<br />
----<br />
<br />
Back to [[Main_Page]]<br />
[[Category:Ideas and suggestions]]<br />
[[de:Kategorie:Ideen und Vorschläge]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Ideas_and_suggestions&diff=8364Ideas and suggestions2016-04-07T08:29:47Z<p>Lefteous: /* User interface suggestions */</p>
<hr />
<div>Please try to put your suggestions in the appropriate section, or add a new section if necessary!<br />
<br />
;The following templates can be used to label the current implementation status of a feature<br />
* {{Impl_sugg}} - fully implemented in current stable version of Total Commander<br />
* {{partially_impl}} - the suggestion has been implemented in current stable version of Total Commander. Some aspects haven't been implemented so far.<br />
* {{not_impl}} - not implemented in current stable version of Total Commander<br />
* {{confirmed_impl}} - will be added in next version of Total Commander (confirmed by Christian Ghisler)<br />
* {{unknown_impl}} - implementation status unknown. Feel free to change the status when you are sure.<br />
* {{deprecated_sugg}} - The suggestion no longer makes sense to be implemented as described. The problem might have been solved another way or Total Commander has evolved into another direction. This should be set by the original requester only.<br />
<br />
<br />
<br />
== General suggestions ==<br />
All suggestions which don't fir into a more specific section.<br />
* [[Auto-Hide to tray or minimize window when inactive for a preset number of minutes]] {{unknown_impl}}<br />
* [[Unified Parameters System]] {{unknown_impl}}<br />
* [[Server plugin interface]] {{not_impl}}<br />
* [[Show files in filelist window]] {{not_impl}}<br />
* [[New approach for INI file location]] {{not_impl}}<br />
* [[Option to permanently enable cm_AdministerServer ]] {{unknown_impl}}<br />
* [[Copy file path]] {{unknown_impl}}<br />
* [[New command cm_CopyWebNamesToClip]] {{unknown_impl}}<br />
<!--- * [[Defining an icon based on a userdefined selection]]---><br />
<br />
== New functionality ==<br />
Add new functions here which are not improvements of existing functionality<br />
* [[(Batch) convert files]] {{not_impl}}<br />
<br />
== User interface suggestions ==<br />
All suggestions to improve the visual appearance and/or usability go here.<br />
Post all suggestions that would Total Commander look better here.<br />
* [[Full Windows XP style support]] {{unknown_impl}}<br />
* [[Do not display directory brackets by default]] {{not_impl}}<br />
* [[Make the 'connection bar' optional]] {{not_impl}}<br />
* [[Delete single/multiple file(s) confirmation]] {{not_impl}}<br />
* [[Unified command launcher editor]] {{not_impl}}<br />
* [[Drive list and drive bar improvements]] {{not_impl}}<br />
* [[Button spacing and spacers]] {{not_impl}}<br />
* [[Add support for tooltips in separate tree]] {{not_impl}}<br />
* [[Custom workspaces / workspaces by directory]] {{confirmed_impl}}<br />
* [[Unified Command system]] {{deprecated_sugg}}<br />
* [[Internal button menu like TCmenu]] {{impl_sugg}}<br />
<br />
== Navigation ==<br />
Put everything here that is about changing the current location<br />
* [[Drag & drop LNK to current directory bar change active directory]] {{unknown_impl}}<br />
* [[Dynamic Favorite Folders]] {{unknown_impl}}<br />
* [[Dynamic Current Folder line|Dynamic Current Folder line]] {{impl_sugg}}<br />
<br />
== File handling (copy, move, rename, delete, open,...) ==<br />
* [[Transaction-like copy/move directories]] {{unknown_impl}}<br />
* [[Queue for file transfers]] {{unknown_impl}}<br />
* [[Pause button in regular copy/move window]] {{unknown_impl}}<br />
* [[Rename file with just one button]] {{unknown_impl}}<br />
* [[Copy/move multiple filenames into one leads to concatenation]] {{unknown_impl}}<br />
* [[Save selection to clipboard]] {{unknown_impl}}<br />
* [[add Undo functionality similar to that in Windows Explorer]] {{unknown_impl}}<br />
* [[Option to automatically keep long file names during copy/move]] {{unknown_impl}}<br />
* [[Multi-Rename Tool syntax in Copy dialog]] {{unknown_impl}}<br />
* [[Open files by filetype]] {{impl_sugg}}<br />
<br />
== Compare files ==<br />
* [[UTF-8 support for file compare tool]] {{unknown_impl}}<br />
* [[FTP support for files compare function]] {{unknown_impl}}<br />
<br />
== Synchronize directories ==<br />
* [[Don't use cache when synchronizing with FTP server]] {{unknown_impl}}<br />
* [[Ignore Source Code Control System Meta Files/Dirs]] {{unknown_impl}}<br />
* [[Flag / tickbox for each folder down the list for "Ignore This Folder" in the folder name line]] {{unknown_impl}}<br />
* [[Add an option for "Synchronize dirs" (with ftp and txt files)]] {{unknown_impl}}<br />
<br />
== Multi rename tool suggestions ==<br />
* ...<br />
<br />
== Search ==<br />
* [[Integrate fulltext content plugin fields into find text]] {{confirmed_impl}}<br />
* [[Show context of place of finding in text searches]] {{not_impl}}<br />
* [[Persistent search results]] {{not_impl}}<br />
* [[Faster search]] {{confirmed_impl}}<br />
* [[FTP search]] {{unknown_impl}}<br />
* [[Few Search windows]] {{impl_sugg}}<br />
<br />
== Lister ==<br />
* [[Tail functionality in Lister]] {{unknown_impl}}<br />
* [[Adjustable tab width]] {{unknown_impl}}<br />
* [[Drag & drop in Lister]] {{unknown_impl}}<br />
* [[Built-in syntax highlighter in Lister|'''Built-in''' syntax highlighter in Lister]] {{unknown_impl}}<br />
* [[Auto-refresh option for opened file in Lister]] {{unknown_impl}}<br />
* [[Use internal Lister for converted text files]] {{not_impl}}<br />
<br />
== FTP ==<br />
* [[Re-upload changed file to the ftp server|Reupload changed file]] {{unknown_impl}}<br />
* [[Tasklist_for_ftp_transfers]] {{unknown_impl}}<br />
* [[FTP search]] {{unknown_impl}}<br />
* [[Folders in FTP-server list]] {{impl_sugg}}<br />
<br />
== Custom column view ==<br />
* [[Graphical display of numeric values]] {{not_impl}}<br />
* [[Define field contents per filetype]] {{not_impl}}<br />
* [[Uniquely named custom column configs (more custom column configs)]] {{partially_impl}}<br />
* [[Introduce indent for columns]] {{not_impl}}<br />
<br />
== Thumbnail view ==<br />
* [[Improved speed in thumbnail view]] {{not_impl}}<br />
* [[Dynamic zoom in thumbnail view]] {{not_impl}}<br />
* [[Define background color in thumbnail view]] {{not_impl}}<br />
<br />
== Packer plugins suggestions ==<br />
=== Packer plugin requests ===<br />
You are looking for a certain and it doesn't exist. Request your plugin here.<br />
<br />
=== Packer plugin API suggestions ===<br />
Suggest improvements to the packer plugin API here. You want use packer plugins in a better or different way? Suggest it here.<br />
* [[Unpack configuration dialog for Packer plugins|Unpack configuration dialog]] {{not_impl}}<br />
* [[Repair archive command]] {{not_impl}}<br />
* [[Repack configuration dialog]] {{unknown_impl}}<br />
* [[Support for streamed ZIP files]] {{unknown_impl}}<br />
* [[Pause during unpack]] {{unknown_impl}}<br />
* [[Support thumbnails in archives]] {{not_impl}}<br />
* [[Better support for encrypted archives]] {{unknown_impl}}<br />
* [[Removal of read-only files during packing|Packing: Removal of read-only files]] {{unknown_impl}}<br />
* [[Alternate extraction interface]] {{not_impl}}<br />
* [[Create directories for Packer plugins|Create Directories]] {{impl_sugg}}<br />
* [[Background un/packing for Packer plugins|Background un/packing]] {{impl_sugg}}<br />
* [[Unicode support for plugins|Unicode support]] {{impl_sugg}}<br />
<br />
== File system plugins suggestions ==<br />
=== File system plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
* [[SFTP and SCP support|SSH support]] {{unknown_impl}}<br />
=== File system plugin API suggestions ===<br />
Suggest improvements to the file system plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
* [[Branch View in file system plugins|Branch View]] {{unknown_impl}}<br />
* [[Custom context menus in file system plugins|Custom context menu]] {{unknown_impl}}<br />
* [[Grouping file system plugins|Grouping FS Plugin]] {{unknown_impl}}<br />
* [[Unicode support for plugins|Unicode support]] {{impl_sugg}}<br />
* [[Custom Columns in file system plugins|Custom Columns]] {{impl_sugg}}<br />
<br />
== Lister plugins suggestions ==<br />
=== Lister plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
=== Lister plugin API suggestions ===<br />
Suggest improvements to the Lister plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
<br />
== Content plugins suggestions ==<br />
=== Plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
* [[Content Plugin for OpenOffice.org]] {{unknown_impl}}<br />
* [[Content Plugin for IPTC-infos in image files]] {{unknown_impl}}<br />
=== Plugin API/usage suggestions ===<br />
Suggest improvements to the content plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
* [[Provide a way to set a field caption and a field name]] {{not_impl}}<br />
* [[Multiple requests in a row]] {{not_impl}}<br />
* [[Provide a way to setup Content plugins on the fly]] {{not_impl}}<br />
<br />
== Supplementary tools suggestions ==<br />
<br />
== Supported systems/technologies suggestions ==<br />
* [[Make available Windows Explorer 'non-file' context menu]] {{unknown_impl}}<br />
* [[Can you configure so that TC will open links directly rather than Windows Explorer?]] {{unknown_impl}}<br />
* [[Support U3-Specification]] {{unknown_impl}}<br />
<br />
----<br />
<br />
Back to [[Main_Page]]<br />
[[Category:Ideas and suggestions]]<br />
[[de:Kategorie:Ideen und Vorschläge]]</div>Lefteoushttps://www.ghisler.ch/wiki/index.php?title=Ideas_and_suggestions&diff=8363Ideas and suggestions2016-03-29T14:47:35Z<p>Lefteous: </p>
<hr />
<div>Please try to put your suggestions in the appropriate section, or add a new section if necessary!<br />
<br />
;The following templates can be used to label the current implementation status of a feature<br />
* {{Impl_sugg}} - fully implemented in current stable version of Total Commander<br />
* {{partially_impl}} - the suggestion has been implemented in current stable version of Total Commander. Some aspects haven't been implemented so far.<br />
* {{not_impl}} - not implemented in current stable version of Total Commander<br />
* {{confirmed_impl}} - will be added in next version of Total Commander (confirmed by Christian Ghisler)<br />
* {{unknown_impl}} - implementation status unknown. Feel free to change the status when you are sure.<br />
* {{deprecated_sugg}} - The suggestion no longer makes sense to be implemented as described. The problem might have been solved another way or Total Commander has evolved into another direction. This should be set by the original requester only.<br />
<br />
<br />
<br />
== General suggestions ==<br />
All suggestions which don't fir into a more specific section.<br />
* [[Auto-Hide to tray or minimize window when inactive for a preset number of minutes]] {{unknown_impl}}<br />
* [[Unified Parameters System]] {{unknown_impl}}<br />
* [[Server plugin interface]] {{not_impl}}<br />
* [[Show files in filelist window]] {{not_impl}}<br />
* [[New approach for INI file location]] {{not_impl}}<br />
* [[Option to permanently enable cm_AdministerServer ]] {{unknown_impl}}<br />
* [[Copy file path]] {{unknown_impl}}<br />
* [[New command cm_CopyWebNamesToClip]] {{unknown_impl}}<br />
<!--- * [[Defining an icon based on a userdefined selection]]---><br />
<br />
== New functionality ==<br />
Add new functions here which are not improvements of existing functionality<br />
* [[(Batch) convert files]] {{not_impl}}<br />
<br />
== User interface suggestions ==<br />
=== Visual improvements ===<br />
Post all suggestions that would Total Commander look better here.<br />
* [[Full Windows XP style support]] {{unknown_impl}}<br />
* [[Do not display directory brackets by default]] {{not_impl}}<br />
* [[Make the 'connection bar' optional]] {{not_impl}}<br />
<br />
=== Usability improvements ===<br />
There is an existing function in Total Commander but it's difficult to use. Suggest your idea here.<br />
* [[Delete single/multiple file(s) confirmation]] {{not_impl}}<br />
* [[Unified command launcher editor]] {{not_impl}}<br />
* [[Drive list and drive bar improvements]] {{not_impl}}<br />
* [[Button spacing and spacers]] {{not_impl}}<br />
* [[Add support for tooltips in separate tree]] {{not_impl}}<br />
* [[Custom workspaces / workspaces by directory]] {{confirmed_impl}}<br />
* [[Unified Command system]] {{deprecated_sugg}}<br />
* [[Internal button menu like TCmenu]] {{impl_sugg}}<br />
<br />
== Navigation ==<br />
Put everything here that is about changing the current location<br />
* [[Drag & drop LNK to current directory bar change active directory]] {{unknown_impl}}<br />
* [[Dynamic Favorite Folders]] {{unknown_impl}}<br />
* [[Dynamic Current Folder line|Dynamic Current Folder line]] {{impl_sugg}}<br />
<br />
== File handling (copy, move, rename, delete, open,...) ==<br />
* [[Transaction-like copy/move directories]] {{unknown_impl}}<br />
* [[Queue for file transfers]] {{unknown_impl}}<br />
* [[Pause button in regular copy/move window]] {{unknown_impl}}<br />
* [[Rename file with just one button]] {{unknown_impl}}<br />
* [[Copy/move multiple filenames into one leads to concatenation]] {{unknown_impl}}<br />
* [[Save selection to clipboard]] {{unknown_impl}}<br />
* [[add Undo functionality similar to that in Windows Explorer]] {{unknown_impl}}<br />
* [[Option to automatically keep long file names during copy/move]] {{unknown_impl}}<br />
* [[Multi-Rename Tool syntax in Copy dialog]] {{unknown_impl}}<br />
* [[Open files by filetype]] {{impl_sugg}}<br />
<br />
== Compare files ==<br />
* [[UTF-8 support for file compare tool]] {{unknown_impl}}<br />
* [[FTP support for files compare function]] {{unknown_impl}}<br />
<br />
== Synchronize directories ==<br />
* [[Don't use cache when synchronizing with FTP server]] {{unknown_impl}}<br />
* [[Ignore Source Code Control System Meta Files/Dirs]] {{unknown_impl}}<br />
* [[Flag / tickbox for each folder down the list for "Ignore This Folder" in the folder name line]] {{unknown_impl}}<br />
* [[Add an option for "Synchronize dirs" (with ftp and txt files)]] {{unknown_impl}}<br />
<br />
== Multi rename tool suggestions ==<br />
* ...<br />
<br />
== Search ==<br />
* [[Integrate fulltext content plugin fields into find text]] {{confirmed_impl}}<br />
* [[Show context of place of finding in text searches]] {{not_impl}}<br />
* [[Persistent search results]] {{not_impl}}<br />
* [[Faster search]] {{confirmed_impl}}<br />
* [[FTP search]] {{unknown_impl}}<br />
* [[Few Search windows]] {{impl_sugg}}<br />
<br />
== Lister ==<br />
* [[Tail functionality in Lister]] {{unknown_impl}}<br />
* [[Adjustable tab width]] {{unknown_impl}}<br />
* [[Drag & drop in Lister]] {{unknown_impl}}<br />
* [[Built-in syntax highlighter in Lister|'''Built-in''' syntax highlighter in Lister]] {{unknown_impl}}<br />
* [[Auto-refresh option for opened file in Lister]] {{unknown_impl}}<br />
* [[Use internal Lister for converted text files]] {{not_impl}}<br />
<br />
== FTP ==<br />
* [[Re-upload changed file to the ftp server|Reupload changed file]] {{unknown_impl}}<br />
* [[Tasklist_for_ftp_transfers]] {{unknown_impl}}<br />
* [[FTP search]] {{unknown_impl}}<br />
* [[Folders in FTP-server list]] {{impl_sugg}}<br />
<br />
== Custom column view ==<br />
* [[Graphical display of numeric values]] {{not_impl}}<br />
* [[Define field contents per filetype]] {{not_impl}}<br />
* [[Uniquely named custom column configs (more custom column configs)]] {{partially_impl}}<br />
* [[Introduce indent for columns]] {{not_impl}}<br />
<br />
== Thumbnail view ==<br />
* [[Improved speed in thumbnail view]] {{not_impl}}<br />
* [[Dynamic zoom in thumbnail view]] {{not_impl}}<br />
* [[Define background color in thumbnail view]] {{not_impl}}<br />
<br />
== Packer plugins suggestions ==<br />
=== Packer plugin requests ===<br />
You are looking for a certain and it doesn't exist. Request your plugin here.<br />
<br />
=== Packer plugin API suggestions ===<br />
Suggest improvements to the packer plugin API here. You want use packer plugins in a better or different way? Suggest it here.<br />
* [[Unpack configuration dialog for Packer plugins|Unpack configuration dialog]] {{not_impl}}<br />
* [[Repair archive command]] {{not_impl}}<br />
* [[Repack configuration dialog]] {{unknown_impl}}<br />
* [[Support for streamed ZIP files]] {{unknown_impl}}<br />
* [[Pause during unpack]] {{unknown_impl}}<br />
* [[Support thumbnails in archives]] {{not_impl}}<br />
* [[Better support for encrypted archives]] {{unknown_impl}}<br />
* [[Removal of read-only files during packing|Packing: Removal of read-only files]] {{unknown_impl}}<br />
* [[Alternate extraction interface]] {{not_impl}}<br />
* [[Create directories for Packer plugins|Create Directories]] {{impl_sugg}}<br />
* [[Background un/packing for Packer plugins|Background un/packing]] {{impl_sugg}}<br />
* [[Unicode support for plugins|Unicode support]] {{impl_sugg}}<br />
<br />
== File system plugins suggestions ==<br />
=== File system plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
* [[SFTP and SCP support|SSH support]] {{unknown_impl}}<br />
=== File system plugin API suggestions ===<br />
Suggest improvements to the file system plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
* [[Branch View in file system plugins|Branch View]] {{unknown_impl}}<br />
* [[Custom context menus in file system plugins|Custom context menu]] {{unknown_impl}}<br />
* [[Grouping file system plugins|Grouping FS Plugin]] {{unknown_impl}}<br />
* [[Unicode support for plugins|Unicode support]] {{impl_sugg}}<br />
* [[Custom Columns in file system plugins|Custom Columns]] {{impl_sugg}}<br />
<br />
== Lister plugins suggestions ==<br />
=== Lister plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
=== Lister plugin API suggestions ===<br />
Suggest improvements to the Lister plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
<br />
== Content plugins suggestions ==<br />
=== Plugin requests ===<br />
You are looking for a certain plugin and it doesn't exist? Request your plugin here.<br />
* [[Content Plugin for OpenOffice.org]] {{unknown_impl}}<br />
* [[Content Plugin for IPTC-infos in image files]] {{unknown_impl}}<br />
=== Plugin API/usage suggestions ===<br />
Suggest improvements to the content plugin API here. You want use file system plugins in a better or different way? Suggest it here.<br />
* [[Provide a way to set a field caption and a field name]] {{not_impl}}<br />
* [[Multiple requests in a row]] {{not_impl}}<br />
* [[Provide a way to setup Content plugins on the fly]] {{not_impl}}<br />
<br />
== Supplementary tools suggestions ==<br />
<br />
== Supported systems/technologies suggestions ==<br />
* [[Make available Windows Explorer 'non-file' context menu]] {{unknown_impl}}<br />
* [[Can you configure so that TC will open links directly rather than Windows Explorer?]] {{unknown_impl}}<br />
* [[Support U3-Specification]] {{unknown_impl}}<br />
<br />
----<br />
<br />
Back to [[Main_Page]]<br />
[[Category:Ideas and suggestions]]<br />
[[de:Kategorie:Ideen und Vorschläge]]</div>Lefteous