[WFX] VirtualPanel: Temporary panel for TC

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: white, Hacker, petermad, Stefan2

Post Reply
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

ghisler(Author) wrote:Nice to hear, thanks for your effords! Did you encounter any problems with the Unicode interface functions? I'm currently working on TC 7.51, so it's a good time for fixes...
That was nice, Unicode functions interface is good enough for my needs, I realized all functions that I wanted to implement (just renamed to ~W and added stubs). :)

The only thing in FS plugin interface that needs to be changed - its version (of course, when TC will use returned filename with FS_EXEC_YOURSELF in FsExecuteFile - so plugin can determine that this works). Also maybe add to FsDefaultParamStruct struct field RootName to inform plugin which root name is used in TC if not default (new structure will have greater size, so plugin will know about it, and this won't crash existing plugins) - of course, if you consider it to be useful (if was suggested as F here). :)
Last edited by MVV on 2010-02-01, 23:28 UTC, edited 4 times in total.
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

New version released. :)


Now you will see if target object is moved/renamed or deleted (icons may be changed in INI). :!:

Edit command allows to change script text or link target (for file and folder). First parameter is virtual path (relative or absolute). Second parameter (optional) is new data string. If only first parameter specified, TC will show dialog where you may edit existing value for specified item.


VirtualPanel 1.0.0.340:
+ plugin now keeps content in %TEMP%\VirtualPanel.lst file by default
+ inaccessible physical objects have special icons (you may specify another icons in configuration file)
+ edit command allows to change script or path
* fixed crash on first start (with empty configuration file)
* some small fixes

VirtualPanel 1.0.0.342:
* wrong icon was displayed for inaccessible EXE and LNK
* crash after entering text in TC request dialog
User avatar
ehab
Senior Member
Senior Member
Posts: 271
Joined: 2007-10-29, 07:41 UTC
Location: Libya

Post by *ehab »

Thanks MVV, really it saves a lot of click, keystokes.

i wish you a nice day, keep developing : )

ehab
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

ehab wrote:Thanks MVV, really it saves a lot of click, keystokes.

i wish you a nice day, keep developing : )
Nice to hear that:)


New version released, added some new internal commands allowing to use more complicated scripts. E.g. script file that will delete all files by mask in current dir and all subdirs:

Code: Select all

<for %%f . "%1" { <del "%%f" } <for /d! %%d . * { <cd "%%d" <exec \>rdelete "%1" }
Just specify mask as first parameter!


VirtualPanel 1.0.0.370:
+ script files now can be executed with params (supported %0 for whole script text and %1-%9 for parameters)
+ improved del command: may remove files or folders or both
+ new condition commands ifexist, ifdef and ifok
+ new for command allowing to execute script for all matched objects (files or folders or both)
+ new cd command for changing current path within script
+ infinite script execution loop protection
* some other fixes that I can't remember :)
User avatar
ehab
Senior Member
Senior Member
Posts: 271
Joined: 2007-10-29, 07:41 UTC
Location: Libya

Post by *ehab »

i noticed something, easily reproducible:

VirtualPanel.ini

DefFileList=w:\VirPanel


w drive is a virtual drive i mount when i need it. Each time i start TC and w is not mounted VirPanel is rest, thus all my shortcuts are lost.

can you please disable defilelist if not exists create it or how can i override my problem....

thanks for any advise or fixes.
#181344 Personal licence
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

I may suggest the following solutions:
1. Make your w:\VirPanel file read-only, so it won't be overwritten at all (but you can't save state until file is read-only).
2. If w:\VirPanel was inaccessible when TC was started but was mounted later, you may load its contents manually using command <load w:\VirPanel.
3. Why not to move default filelist to some folder that is always available?

What do you think?
User avatar
ehab
Senior Member
Senior Member
Posts: 271
Joined: 2007-10-29, 07:41 UTC
Location: Libya

Post by *ehab »

MVV wrote: 1. Make your w:\VirPanel file read-only, so it won't be overwritten at all (but you can't save state until file is read-only).
will try this solution first.
MVV wrote: 2. If w:\VirPanel was inaccessible when TC was started but was mounted later, you may load its contents manually using command <load w:\VirPanel.
It is already purged " empty " no use to load it again.
MVV wrote: 3. Why not to move default filelist to some folder that is always available?
What do you think?
I use 2 or 3 machines - i have TC installed in each , i carry with me a flash disk which contains the virtual volume " truecrypt file container", short cuts are all within the volume. Then i must always sync the file into all machines.

>>> my solution is only create the deffilelist when a user adds/deletes, rather then just reading.

will let you know how the readonly goes for now : )

thanks for quick reply, my respect.

ehab
#181344 Personal licence
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

ehab wrote:It is already purged " empty " no use to load it again.
By default VP saves state only when you unload it, and only if it was loaded (TC doesn't load plugin until you open its folder). So, if you mount your virtual drive after starting TC and VP, you still can reload it manually.
ehab wrote:>>> my solution is only create the deffilelist when a user adds/deletes, rather then just reading.
Hm-m, that's quite easy to realize. Now VP state will be saved when unloading only if it's virtual state was changed. And, modified flag is removed after saving deflist using save command w/o parameters. Please wait for next release.
Last edited by MVV on 2010-02-04, 19:23 UTC, edited 1 time in total.
User avatar
ehab
Senior Member
Senior Member
Posts: 271
Joined: 2007-10-29, 07:41 UTC
Location: Libya

Post by *ehab »

i have VP open all the time at least on its own panel, so when close TC and open again, VP list is empty : (

hope the new fix will solve this short comming, will look forward for it.

ehab
#181344 Personal licence
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

VirtualPanel 1.0.0.380:
+ removes physical files to recycle bin by default (checks if Shift is held and corresponding TC setting before)
+ default filelist now is saved on exit only if VP state was modified during session

Enjoy! :)
User avatar
ehab
Senior Member
Senior Member
Posts: 271
Joined: 2007-10-29, 07:41 UTC
Location: Libya

Post by *ehab »

Bravo MVV, now its working nicely for me : )

only one exception happens when TC is closed and DefFileList does not exists, after TC is opened no matter if DefFileList exists or not VP will not load it..... may be this got to do with Init() function called only once, or TC does not support Refresh or file change etc .....

this is an image i included to show you how i verified it....

http://imageupper.com/i/?S0300010100011J265314190258143

btw,, i like the way you show x's when DefFileList does not exists anymore.

my gratitude towards you : ) ehab
#181344 Personal licence
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

Hm-m, I don't understand...

Striked icons are showed if target physical files are inaccessible (e.g. they are on your virtual drive and it was unmounted), it doesn't depend on exists deflist or not. If you see items in VP, they was loaded correctly - so VP knows physical paths for them and shows striked icons if files aren't available.

State is loaded during initialization - when you open VP folder first time - and saved when TC unloads plugin (on close or on cm_UnloadPlugins).

If state was loaded and no changes made in VP, state won't be saved - no matter exists file or not. Wasn't it your wish?
User avatar
ehab
Senior Member
Senior Member
Posts: 271
Joined: 2007-10-29, 07:41 UTC
Location: Libya

Post by *ehab »

MVV, yes it was my wish and works nicely fine for me.

i am just adding you more use cases:

1- TC on, VP loads list if Deffile exists .............OK

2- TC on, Deffile does not exists " dismount or deleted .." VP shows strikes ...................OK

3- TC off, Deffile does not exists , TC on , Deffile now exists, VP never displays the lists again until i close and open TC again ....... FAIL
>>>>> what should happen VP loads the list file when ever it becomes exist ... maybe i close and open VP again.

did i explain it better? anyways please don't worry about anymore, i am happy with the current behavior.

ehab
#181344 Personal licence
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

Now I understood you. Of course, VP loads deflist automatically only during initialization - i.e. on first entering its folder after starting TC or unloading plugins. VP doesn't check when deflist will be available to load it. If you need to load it, you may do it manualy.
Also, if you don't want to close TC, you may do following: close tabs with VP (or switch to another tabs) and execute command cm_UnloadPlugins (you may create button for it, add it to main menu, as I did, or just paste command to command line and execute) - TC will unload plugin, so when you open its folder next time, it will load it again - and it will load deflist.
I'll add possibility to execute <load command w/o parameters - to load default filelist, so it will be easier for you to load deflist when you mount your drive - just open VP folder and execute <load command.
User avatar
nsp
Power Member
Power Member
Posts: 1803
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

-- Bravo ! --

Post by *nsp »

Hi,

I've made some folder with inside an autoexec script that should get a list of file from different folder. And prepared some "header script !" this is great !

May i propose you some enhancement ?

A) you should add a command like "<aesName" to define it from VP.

B) could you add also a way to execute external prog from script "<do ....... "?

C) could you also have internal variables like TC's %F %S and why not a %L ;)

D) could you also support importing script entries with the put /l command ?
I think it could be more convenient to prepare and save script in an editor than typing in the command bar. I will be also more simple to share sample !


My idea is to create from you VP some scirpt that load or autoload utilities list (script) and filelists do some filtering and execute TCBL or anything else.
So we get Libraries, auto refresh, context tools,.... a medium support of %L

Your plug-in is better at each version... Well Done !

It just lake some list sample.... : Here a little contribution.
Sample.vp*

Code: Select all

00000400	01CA4D94 480D4C11	\>Help	<? <<C:\Windows\System32\SHELL32.dll,154
00000400	01CA4D95 33469510	\>Log All	<log -1 <<C:\Windows\System32\SHELL32.dll,221
00000400	01CA4D95 45D65200	\>Log off	<log 0 <<C:\Windows\System32\SHELL32.dll,215
00000400	01CAA666 5CF62270	\>Properties	<properties
Post Reply