TCFS2 + TCFS2Tools: Full-screen mode for TC etc
Moderators: white, Hacker, petermad, Stefan2
TCFS2 + TCFS2Tools: Full-screen mode for TC etc
This tool was written in order to create more flexible and powerful instrument than old TCFS tool. It allows to show/hide any TC window elements and is fully customizable, it comes with set of predefined commands that you may use in your commands, also you may create new commands using simple syntax, you may use free window style flags or wincmd.ini keys for storing flags and other data used by commands. You may create any number of presets that switch window mode to any desired (move/resize/maximize/restore TC window, show/hide any elements) and revert to previous window state. Also it has much smaller size.
Last version information
Version: 2.4.3
URL: TCFS2 at wincmd.ru / TCFS2 at totalcmd.net
Version: 1.4.4 32/64
URL: TCFS2Tools at wincmd.ru / TCFS2Tools at totalcmd.net
Requirements: operating system Windows 2000 and above, Total Commander
TCFS2 features:
+ maximize/restore window
+ move/resize window
+ hide/show window title
+ enable topmost window mode
+ hide/show any TC interface item
+ change dirs in panels
+ move file panels separator
+ send keypresses
+ undo last action using backup command
+ etc...
TCFS2Tools features:
+ show/hide main menu
+ temporary show main menu on menu call
+ show main menu as popup menu on user command
+ get/set file panel separator
+ get current view modes for panels
+ get system metrics via function GetSystemMetrics
+ get width and height of desktop work area
Tool has no graphical interface. All configuration is in INI file which must be placed near executable. Sample configuration file is in EN directory of package. You should specify command line parameters in order to call TCFS2 functions, please read Readme.txt for examples and full information.
You may use just TCFS2 w/o TCFS2Tools. However some features like show/hide main menu bar, detect panel view mode and move file panel separator won't work w/o TCFS2Tools. Please read Readme.txt file to know how to setup auto-loading of TCFS2Tools module with TC.
Last version information
Version: 2.4.3
URL: TCFS2 at wincmd.ru / TCFS2 at totalcmd.net
Version: 1.4.4 32/64
URL: TCFS2Tools at wincmd.ru / TCFS2Tools at totalcmd.net
Requirements: operating system Windows 2000 and above, Total Commander
TCFS2 features:
+ maximize/restore window
+ move/resize window
+ hide/show window title
+ enable topmost window mode
+ hide/show any TC interface item
+ change dirs in panels
+ move file panels separator
+ send keypresses
+ undo last action using backup command
+ etc...
TCFS2Tools features:
+ show/hide main menu
+ temporary show main menu on menu call
+ show main menu as popup menu on user command
+ get/set file panel separator
+ get current view modes for panels
+ get system metrics via function GetSystemMetrics
+ get width and height of desktop work area
Tool has no graphical interface. All configuration is in INI file which must be placed near executable. Sample configuration file is in EN directory of package. You should specify command line parameters in order to call TCFS2 functions, please read Readme.txt for examples and full information.
You may use just TCFS2 w/o TCFS2Tools. However some features like show/hide main menu bar, detect panel view mode and move file panel separator won't work w/o TCFS2Tools. Please read Readme.txt file to know how to setup auto-loading of TCFS2Tools module with TC.
Last edited by MVV on 2019-11-11, 08:19 UTC, edited 17 times in total.
Thank you for using it. It was written for friends.xmeron wrote:Is there any single thread for TCFS2Tools? I searched everywhere in this site but only found some replies. So I have to post here to expreeeeeeeeeeeeeeeeeeeeeeeeeeeeeees my thanks.
I use very basic TCFS2's function from last year, till yesterday, with TCFS2Tools.dll, I succeeded to toggle/switch "hide menu/set any position of the separator" by only one same hotkey. It's so perfect! Thanks MVV!
You may add commands/macros to get new functions if you need them (e.g. for conditional switching to some window mode), also you may write commands directly in command line.xmeron wrote:BTW, It seems that TCFS2 support virtual keys, what's meaning for this? Means I can add Script / Macro in TCFS2.ini to get more functions?
The only place where TCFS2 supports virtual keys is Windows message that allows to send keys to TC window (and macros with key names were added as a reminder).
Also there is a function in TCFS2Tools that allows to check if specific virtual key is pressed when - it allows to use same TC buttonbar button for more than one function depending on key modifiers (Shift, Ctrl, Alt, another mouse buttons). So just button may do one thing while button when Shift or right mouse button is held may do another thing.
Theese are only places where TCFS2 uses virtual keys (or I've missed something? ).
Please don't forget that some modifiers are used by TC itself when you set separator position - if you hold Ctrl or Shift, separator position may be set only with 25% step, so keep it in mind that you assign shortcuts for such commands.
Maybe you can add this new thread link to you ID signature.I've made a topic for TCFS2+TCFS2Tools, so lets continue to talk about them there.
I'd like to emulate double-left-mouse-click to execute tcm(2002) command, it looks like very possible? I already know there is a AHK script for this, but TCFS2 is more powerful and more native.Also there is a function in TCFS2Tools that allows to check if specific virtual key is pressed
Tested and confirmed, it's 25% when holding ctrl or shift. Never know this if I don't come to this forum.if you hold Ctrl or Shift, separator position may be set only with 25% step
A problem:
When you press hotkey too fast twice, some TC elements which need to be show/hide will lost. Why the showing/hiding progress is step by step, not immediately?
I still need to study your Readme.txt, your Readme.txt seems wrote for programmers, not for normal people, maybe it's the reason why I can only use the basic function of TCFS2 for so long time, maybe add some more typical application samples will be better.
No, I can't, there is too small length limit for signatures on this board.xmeron wrote:Maybe you can add this new thread link to you ID signature.
Where do you wish to do double clicks? TCFS2 itself may only be used from buttonbar/shortcuts/links etc when you start it manually, it doesn't stay in memory in order to wait for specific keypress.xmeron wrote:I'd like to emulate double-left-mouse-click to execute tcm(2002) command, it looks like very possible?
When command contains condition and undo string, TCFS2 executes command and then waits for some time (e.g. to give TC a chance to change wincmd.ini), and then checks condition again. Undo string is appended to undo action only when command effect is detected (when command condition becomes false after command execution - or undo condition becomes true if it is specified). Default wait time is 50 ms, and you may change it with /d parameter. So, if your command has undo string, TCFS2 will wait for 50 ms after it to check if it needs to append command's undo string to undo action.xmeron wrote:A problem:
When you press hotkey too fast twice, some TC elements which need to be show/hide will lost. Why the showing/hiding progress is step by step, not immediately?
I still need to study your Readme.txt, your Readme.txt seems wrote for programmers, not for normal people, maybe it's the reason why I can only use the basic function of TCFS2 for so long time, maybe add some more typical application samples will be better.
Maybe Readme sometimes is really hard to read but I don't know what part of Readme is hard for you, you need to tell about it. I think if you read entire Readme, including examples section (last part of section 1.2), you'll understand more. E.g. first example description tells about short delay after command execution:
Readme wrote:Example of command to turn TC button bar off:
tb0=tcm(2901), test(hasButtonBar), tb1
Program calls macro hasButtonBar that checks if ButtonBar key in [Layout] section of wincmd.ini equals to 1 (if key is absent, error value 1 returned since 1 is default value for this key). If condition is true, tcm command is executed that sends to TC cm_VisButtonbar (2901) command. After sending command program makes a short pause (you can set delay using /d command line parameter) and checks same condition again. If condition is false after executing command, tb1 undo command is appended to undo string.
TCFS2 is more useful than Virtual Panel according to my occasions. You can edit like this:MVV wrote:there is too small length limit for signatures on this board
_________________
TC Forum: VirtualPanel plugin, TCFS2 Utilities...
TOTALCMD.NET: VirtualPanel, NTLinks, AskParam, ConPaste, Sudo, TCFS2…
Double click the left or right panel's border. Check this attached AHK script, you will see all:MVV wrote:Where do you wish to do double clicks?
http://www.ghisler.ch/wiki/index.php/AutoHotkey:_Go_To_Parent_Directory_When_Doubleclicking_Border
But TCFS2Tools does.MVV wrote:TCFS2 ...... it doesn't stay in memory
Ah, I see.MVV wrote:TCFS2 will wait for 50 ms after it to check
Especially when you want to hide directory tabs, and you press hotkey twice too fast, all the directory tabs will lost / will never back. Maybe you can add a function to prevent this to happen.xmeron wrote:When you press hotkey too fast twice, some TC elements which need to be show/hide will lost.
Found it.Readme wrote:After sending command program makes a short pause
There is too many useful functions, but I still haven't think out where to group them & use them, so I only choose the relevant description to read and digest. Now I am much clearer about this readme file after you explained it and emphasized the key points.
There is a 256 character limit for signature, so it is hard to have more than 2 links with description in it. Also I don't want to remove font size tag.
TCFS2Tools itself does nothing, it only executes commands when corresponding message arrives (you may call its commands even w/o TCFS2, directly from TC, just add their numbers to TOTALCMD.inc), I don't want to overload it. It would be better to use some other module or tool that will start TCFS2 or do task directly.
Well, you're right, if I press hotkey for fs2 again while previous one is still executing, I can lost source window state, but tabs aren't lost anyway. Maybe we need a function to get current time and compare times to prevent too fast executing. Currently you may use following trick:
So, command sets a flag (key FS3_Running in TCFS2 section of wincmd.ini) that it is running and then executes fs2 command, after execution it removes flag. And new command instance is not started if flag is set, so it may only be started if previous one finished.
You may use different flags for different commands, or you may use flag with same name - so no one new command will be executed if previous one is still work.
You may also write specified command just into command line to prevent modification of TCFS2.ini, and you may execute any commands between set and remove flag function calls:
TCFS2Tools itself does nothing, it only executes commands when corresponding message arrives (you may call its commands even w/o TCFS2, directly from TC, just add their numbers to TOTALCMD.inc), I don't want to overload it. It would be better to use some other module or tool that will start TCFS2 or do task directly.
First of all, I need to understand which command you're executing so you lost tabs. Please write TCFS2 command line and matched commands, if non-standard. When I press test hotkey that starts TCFS2 with parameters /ef "tcm(2916)", tabs aren't lost even if I press key too fast.Especially when you want to hide directory tabs, and you press hotkey twice too fast, all the directory tabs will lost / will never back. Maybe you can add a function to prevent this to happen.
Well, you're right, if I press hotkey for fs2 again while previous one is still executing, I can lost source window state, but tabs aren't lost anyway. Maybe we need a function to get current time and compare times to prevent too fast executing. Currently you may use following trick:
Code: Select all
[Items]
fs3=set_tcini(TCFS2, FS3_Running, 1) run_action(fs2) set_tcini(TCFS2, FS3_Running, 0), tcini(TCFS2, FS3_Running, 0)
Code: Select all
TCFS2.exe /ei fs3
You may use different flags for different commands, or you may use flag with same name - so no one new command will be executed if previous one is still work.
You may also write specified command just into command line to prevent modification of TCFS2.ini, and you may execute any commands between set and remove flag function calls:
Code: Select all
TCFS2.exe /ef "set_tcini(TCFS2, FS2_Running, 1) run_action(fs2) set_tcini(TCFS2, FS2_Running, 0), tcini(TCFS2, FS2_Running, 0)"
Sometimes lost title bar, sometimes lost toolbar, and sometimes lost directory bar, the result is quite random, just like buying lottery.MVV wrote:Well, you're right, if I press hotkey for fs2 again while previous one is still executing, I can lost source window state, but tabs aren't lost anyway.
MVV's Code wrote:[Items]
fs3=set_tcini(TCFS2, FS3_Running, 1) run_action(fs2) set_tcini(TCFS2, FS3_Running, 0), tcini(TCFS2, FS3_Running, 0)
Yes, it works, the situation is much better now. These code is so cute, I continued to press tens of times hotkey in one second, they all gave final results without anything lost.MVV's Code wrote:TCFS2.exe /ei fs3
Only one time, TC paused in the middle of the switch progress state, and I pressed hotkey one more time, then they were all back. But this case never appear again, maybe it was due to my wrong operation, you never mind.
Hi,
can you please give me a hint.
I have autorun.wdx loaded. In the autorun.cfg it loads the TCFS2Tools.dll correctly and I also made a command "em_xxx" to disable the menu bar.
This works. When I start the command "em_xxx" in TC it disables the menu bar.
Now I just simply try to put this also in the autorun. I think that this will nearly everybody, so it would be helpful to mention that in the readme.
The "CommandExec em_xxx" after the dll in the autorun.cfg gives no message. But nothing happens.
How can I manage that this works without pushing a button or type in the command everytime I start TC?
can you please give me a hint.
I have autorun.wdx loaded. In the autorun.cfg it loads the TCFS2Tools.dll correctly and I also made a command "em_xxx" to disable the menu bar.
This works. When I start the command "em_xxx" in TC it disables the menu bar.
Now I just simply try to put this also in the autorun. I think that this will nearly everybody, so it would be helpful to mention that in the readme.
The "CommandExec em_xxx" after the dll in the autorun.cfg gives no message. But nothing happens.
How can I manage that this works without pushing a button or type in the command everytime I start TC?
chromax, I don't know what command you've made but you may simply start TCFS2 directly from Autorun script:
So, after you've loaded TCFS2Tools, you may start TCFS2 and execute command mm0 to hide menu bar.
Code: Select all
LoadLibrary Modules\TCFS2Tools.dll
ShellExec "%COMMANDER_PATH%\Addons\TCFS2\TCFS2.exe" "/ei mm0"
what is it good for, really?
hi all.
i'm considering myself a power user,
but so far i can't see how this plugin can help me in my daily work.
besides saving some screen real estate, how can it help me, what big tasks it can achieve?
do you have practical examples that solves a problem or makes a difference?
thanks
@xmeron: it's very disturbing to see a flashing gif while trying to read the forum. i eventually adblocked all avatars
i'm considering myself a power user,
but so far i can't see how this plugin can help me in my daily work.
besides saving some screen real estate, how can it help me, what big tasks it can achieve?
do you have practical examples that solves a problem or makes a difference?
thanks
@xmeron: it's very disturbing to see a flashing gif while trying to read the forum. i eventually adblocked all avatars
TCFS2 2.0.2.258:
+ new if function works like ?: operator but calculates only one expression
+ new null function that checks if parameter is a null string
+ redirection in tcini and set_tcini now supports relative paths [new]
+ hide busy cursor after starting TCFS2 [new]
I don't see any avatars: browser shows only cached images by default:)
+ new if function works like ?: operator but calculates only one expression
+ new null function that checks if parameter is a null string
+ redirection in tcini and set_tcini now supports relative paths [new]
+ hide busy cursor after starting TCFS2 [new]
I don't see any avatars: browser shows only cached images by default:)
It depends on your problem=) TCFS2 may be used to switch between different window modes, to hide main menu bar etc. It was made to control TC window, it doesn't contain any 'offtopic' features.zaffi wrote:besides saving some screen real estate, how can it help me, what big tasks it can achieve?
do you have practical examples that solves a problem or makes a difference?