Total Commander Beter New SendcopyData Support

Here you can propose new features, make suggestions etc.

Moderators: white, Hacker, petermad, Stefan2

Post Reply
User avatar
nsp
Power Member
Power Member
Posts: 1804
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

Total Commander Beter New SendcopyData Support

Post by *nsp »

Almost all is on the subject.

A) Documentation
It would be great to have an official and exhaustive Documentation for C. Ghisler & all directly available in TC Website like Plugin Devlopment Guide.

B) More command
Getting handle of some element, tabs, command line, FileList ....
Getting pseudo-variable like %commander_EXE%, %commander_PATH% ... %$PERSONAL%, ...
Ability to have a kind of callback mechanism to be informed if folder change.


C) Error handling
if bad command is sent, it could be fine to get back an error message with no encoding info. Or empty but not ignored...
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48074
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

You cannot return data within a WM_COPYDATA buffer, it's one way only. But TC can send back another WM_COPYDATA message, which it already does for the following functions (from history.txt):

25.11.11 Added:
Send WM_COPYDATA with dwData='G'+256*'A' and lpData pointing to command to get back WM_COPYDATA with various info. Supported commands A: Active side (returns L or R), or two byte command: first byte: L=left, R=right, S=source, T=target. Second byte: P=current path, C=list count, I=caret index, N=name of file under caret. dwData of return is 'R'+256*'A' (32/64)

25.11.11 Added:
Send WM_COPYDATA with dwData='G'+256*'W': Same as with 'G'+256*'A', but data is returned as UTF-16 Unicode. dwData of return is 'R'+256*'W' (32/64)

Please ask if anything is unclear.
Author of Total Commander
https://www.ghisler.com
User avatar
nsp
Power Member
Power Member
Posts: 1804
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

Post by *nsp »

ghisler(Author) wrote:You cannot return data within a WM_COPYDATA buffer, it's one way only. But TC can send back another WM_COPYDATA message, which it already does for the following functions (from history.txt):

25.11.11 Added:
Send WM_COPYDATA with dwData='G'+256*'A' and lpData pointing to command to get back WM_COPYDATA with various info. Supported commands A: Active side (returns L or R), or two byte command: first byte: L=left, R=right, S=source, T=target. Second byte: P=current path, C=list count, I=caret index, N=name of file under caret. dwData of return is 'R'+256*'A' (32/64)

25.11.11 Added:
Send WM_COPYDATA with dwData='G'+256*'W': Same as with 'G'+256*'A', but data is returned as UTF-16 Unicode. dwData of return is 'R'+256*'W' (32/64)

Please ask if anything is unclear.
I'm already using this. I call command what i ask to TC and response what TC send back to my app.

I was probably not clear enough.

I just suggest to add some new commands like A LP LN LC LI, RP RN RC RI, SP SN SC SI, TP TN TC TI
example SX to get a list of all TAB(separared using \n starting with - if locked, + if current ) for the source side
example Rz to get current tab number
example L12 to get the handle of tab N°12 for the left side
.....
example L+ to get called each time we change folder on left side
example L- to unregister L+
...
I'm also asking for a separate document available on official website like you did for plug-in developer.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48074
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Ah, OK, thanks for the clarification.
Author of Total Commander
https://www.ghisler.com
Post Reply