TCFS2 + TCFS2Tools: Full-screen mode for TC etc

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
Axis
Junior Member
Junior Member
Posts: 88
Joined: 2015-07-14, 18:53 UTC

Post by *Axis »

MVV wrote:Your <missingcommand> is c0 which hides window title (= caption). TCFS2Tools is not required for it. Don't forget to copy/move TCFS2.ini from EN folder to main TCFS2 folder.
I tried too but It doesn't work well (tc v9.12 x64 on win81pro64bit): sometimes it goes away the text title only from the title bar and sometimes it works fine but it takes many seconds (~10-15) to accomplish the task.

Command: %Commander_Path%\utils\TCFS2.exe
Parameters: /ei c0

Thanks
zhxeeaa
Junior Member
Junior Member
Posts: 50
Joined: 2016-12-10, 06:21 UTC

Post by *zhxeeaa »

Hi my friend,I got a problem again -- TC v9.12 x64 on windows server 2008 R2
A Few day ago I want to hiding TC's windows title,the item “fs2” change too much,so I write such in TCFS2.ini:

Code: Select all

[Items]
fs3=if(hasCaption, locktc(1) + run_action(title_switch) + locktc(0) + show(3) + save_undo(fs_undo), show(9) + locktc(1) + run_action(fs_undo) + locktc(0)) run_item(update)

Code: Select all

[Actions]
fs3=fs3
And in autorun.cfg:

Code: Select all

LoadLibrary Modules\TCFS2Tools.dll
ShellExec "%COMMANDER_PATH%\Addons\TCFS2\TCFS2.exe" "/ei mm0"
ShellExec "%COMMANDER_PATH%\Addons\TCFS2\TCFS2.exe" "/ei fs3"
When I start TC,It runs good,but after I minimize TC by click icon on windows taskbar,and click again to resume,the TC's windows will be filled whole screen——yes ,it covering windows taskbar,but I don't wanna this.

I try this command,and get the same results

Code: Select all

ShellExec "%COMMANDER_PATH%\Addons\TCFS2\TCFS2.exe" '/ef "eval(show(9) + locktc(1) + run_action(title_switch) + locktc(0) + run_item(update))"'
and

Code: Select all

ShellExec "%COMMANDER_PATH%\Addons\TCFS2\TCFS2.exe" "/ei fs2"
So please tell me how can I avoid lost taskbar,thx!
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

When you hide some app's window title, Windows thinks that it is a full-screep app, so it hides taskbar when this window is maximized, you can't avoid it. I know someone that have faced this problem, he solved it by resizing window to desired size and position (using move command with @ and cyWorkArea for calculating size) instead of maximizing it.

BTW you don't need two Autorun.cfg entries, and you don't need fs3=fs3 in actions if you use /ei:

Code: Select all

ShellExec "%COMMANDER_PATH%\Addons\TCFS2\TCFS2.exe" "/ei mm0 fs3"
zhxeeaa
Junior Member
Junior Member
Posts: 50
Joined: 2016-12-10, 06:21 UTC

Re:

Post by *zhxeeaa »

MVV wrote: 2018-01-22, 05:18 UTC When you hide some app's window title, Windows thinks that it is a full-screep app, so it hides taskbar when this window is maximized, you can't avoid it. I know someone that have faced this problem, he solved it by resizing window to desired size and position (using move command with @ and cyWorkArea for calculating size) instead of maximizing it.

BTW you don't need two Autorun.cfg entries, and you don't need fs3=fs3 in actions if you use /ei:

Code: Select all

ShellExec "%COMMANDER_PATH%\Addons\TCFS2\TCFS2.exe" "/ei mm0 fs3"
Thank you very much! :P
Is there a another way to resize TC's window after maximized?
For example, if the title_switch command is automatically run twice after detecting the TC maximized, the Taskbar can be displayed.
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Re: TCFS2 + TCFS2Tools: Full-screen mode for TC etc

Post by *MVV »

You can resize window with mouse or by a TCFS2 command, but what exactly do you want to do?
zhxeeaa
Junior Member
Junior Member
Posts: 50
Joined: 2016-12-10, 06:21 UTC

Re: TCFS2 + TCFS2Tools: Full-screen mode for TC etc

Post by *zhxeeaa »

MVV wrote: 2018-07-30, 05:02 UTC You can resize window with mouse or by a TCFS2 command, but what exactly do you want to do?
If TCFS2 is used to hide TC's titlebar, the first startup is fine, but then everytimes the TC's window is minimized and after maximized the it will block the system taskbar.
Because it is maximized and has no title bar., so the mouse can't drag and drop, and I can't double-click the title bar to resize TC's window, so it has been very annoying.
However, by borrowing another friend's TCFS2.ini file I solve this problem, of course, it is not perfect. Every time you open it, the TC small window flickers the zoomed screen and double-clicks the TC's taskbar icon to be unresponsive,can't to minimized, but this is better then above.
Thank you again for your advice!
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Re: TCFS2 + TCFS2Tools: Full-screen mode for TC etc

Post by *MVV »

Well, you can press Win key to drag files to some button from taskbar or select target window with Alt+Tab and drop files there.

I agree that it may be problematic to use windows w/o titles but this is how full-screen Windows programs work, they shouldn't need interaction with other programs.

Anyway, if it is too inconvenient for you to use maximized mode, you can mimic it by resizing/moving TC window to the same size/position. E.g. on my 1920x1080 monitor maximized TC window has position (-3, -3) and size 1926x1086 (3px borders are go outside of the screen), and taskbar is hidden.
But I can use TCSF2 /ef "move(-3, -3, cxWorkArea+6, cyWorkArea+6)" command instead, TC window gets position (-3, -3) and size 1926x1058, and taskbar is still visible because window is not in maximized mode (but it has almost the same size as if it was maximized with visible title). Actually, maximized TC window with visible title gets position (-4, -4) and size 1928x1060, so I can even use TCSF2 /ef "move(-4, -4, cxWorkArea+8, cyWorkArea+8)" command to get same result with hidden title. Your theme most probably will have another borders but the idea is the same: you maximize TC window and check its position and size and then adjust numbers in mentioned command to get same position and size, and then you can use it for pseudo maximizing TC without title.
Last edited by MVV on 2018-07-31, 19:21 UTC, edited 1 time in total.
zhxeeaa
Junior Member
Junior Member
Posts: 50
Joined: 2016-12-10, 06:21 UTC

Re: TCFS2 + TCFS2Tools: Full-screen mode for TC etc

Post by *zhxeeaa »

MVV wrote: 2018-07-31, 06:31 UTC Well, you can press Win key to drag files to some button from taskbar or select target window with Alt+Tab and drop files there.

I agree that it may be problematic to use windows w/o titles but this is how full-screen Windows programs work, they shouldn't need interaction with other programs.

Anyway, if it is too inconvenient for you to use maximized mode, you can mimic it by resizing/moving TC window to the same size/position. E.g. on my 1920x1080 monitor maximized TC window has position (-3, -3) and size 1926x1086 (3px borders are go outside of the screen), and taskbar is hidden.
But I can use TCSF2 /ef "move(-3, -3, cxWorkArea+6, cyWorkArea+6)" command instead, TC window gets position (-3, -3) and size 1926x1058, and taskbar is still visible because window is not in maximized mode (but it has almost the same size as if it was maximized with visible title). Actually, maximized TC window with visible title gets position (4, -4) and size 1928x1060, so I can even use TCSF2 /ef "move(-4, -4, cxWorkArea+8, cyWorkArea+8)" command to get same result with hidden title. Your theme most probably will have another borders but the idea is the same: you maximize TC window and check its position and size and then adjust numbers in mentioned command to get same position and size, and then you can use it for pseudo maximizing TC without title.
Thank you for your guidance, I will try to learn and use it. :D
Joeyy
Junior Member
Junior Member
Posts: 60
Joined: 2016-09-20, 10:09 UTC

Re: TCFS2 + TCFS2Tools: Full-screen mode for TC etc

Post by *Joeyy »

Appreciate your plugin very much! But when I press Win+D to go the Desktop and then go back to TC window, TC window will overspread the screen and the taskbar disappears. I need my taskbar! How can I fix it?

By the way, I use Autorun to autoload it everytime starting the TC. The following is added to my autorun.cfg:

Code: Select all

LoadLibrary %COMMANDER_PATH%\plugins\TCFS2\TCFS2Tools.dll
#Hide menu and press alt to popup it
ShellExec /T /W:5000 "%COMMANDER_PATH%\plugins\TCFS2\TCFS2.exe" "/ea mm0"
#Hide Titlebar
ShellExec /T /W:5000 "%COMMANDER_PATH%\plugins\TCFS2\TCFS2.exe" "/ea fs2"
And I changed the fs2 command as below:

Code: Select all

fs2=if(hasCaption, locktc(1) + run_action(fs) + locktc(0) + show(3) + save_undo(fs_undo), show(9) + locktc(1) + run_action(fs_undo) + locktc(0)) run_item(update)
fs=c0 r1
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Re: TCFS2 + TCFS2Tools: Full-screen mode for TC etc

Post by *MVV »

The following is added to my autorun.cfg
You can simply call TCFS2 once though:

Code: Select all

ShellExec /T /W:5000 "%COMMANDER_PATH%\plugins\TCFS2\TCFS2.exe" "/ea mm0 fs2"
Or just add mm0 to fs action in TCSF2.ini:

Code: Select all

fs=c0 db0 dc0 cd0 th0 sb0 cl0 kb0 mm0
And I changed the fs2 command as below:
If you only use fs2 action for setting start time parameters, you don't need to modify it, just pass these commands to TCSF2 command line. Standard fs2 action is intended to use multiple times within a TC session, therefore it provides an undo possibility.

Also, it seems that you've modified r1 action too (I doubt that you have 800x600 display). Finally, you only use two commands of fs action so it may be easier to call them directly. And, since you call this command at TC start once, you don't need a switch capabilities, just single branch.
But when I press Win+D to go the Desktop and then go back to TC window, TC window will overspread the screen and the taskbar disappears. I need my taskbar! How can I fix it?
When a window has maximized state and no title bar, Windows thinks that it is a full-screen application, and hides taskbar. There is no way to disable such behaviour, but there is a way to bypass it: don't maximize TC window, but set its size and position instead to a size and position of a maximized window. So it will look just like a maximized window, but with taskbar at the bottom.

So, to summarize, for your current autorun parameters and for avoiding undesired taskbar behaviour, it should be enough to just call TCFS2 once from Autorun.cfg with following command line (and w/o any TCFS2.ini modifications):

Code: Select all

ShellExec /T /W:5000 "%COMMANDER_PATH%\Addons\TCFS2\TCFS2.exe" '/ei c0 mm0 /ef "move(-4, -4, cxWorkArea + 8, cyWorkArea + 8)"'
(you should however check if maximized windows are larger than 4px each side on your system 'cause this may be different)
User avatar
dindog
Senior Member
Senior Member
Posts: 315
Joined: 2010-10-18, 07:41 UTC

Re: TCFS2 + TCFS2Tools: Full-screen mode TC etc

Post by *dindog »

https://www.ghisler.ch/board/viewtopic.php?f=14&t=44284
I read the other theard above,and it said can't send command like opentabs and appendtabs directly by tcfs2, but it's 3 years ago, anything has changed since then?
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Re: TCFS2 + TCFS2Tools: Full-screen mode for TC etc

Post by *MVV »

Well, named commands (SELECTFILES, OPENBAR etc) still may not be called directly, but cm-commands with parameters now may be called via tem.

For executing named parameters via TCFS2 you currently have to use a wrapping EM-command with %A. Just create a EM-command like em_MultiRename with MULTIRENAME command and %A parameter, or em_OpenTabs with OPENTABS command and %A parameter, and it will be callable via TCFS2's tem command.

I've created a feature request for executing such commands w/o wrappers, feel free to support it. :)
User avatar
kesdoputr
Member
Member
Posts: 168
Joined: 2007-12-27, 12:38 UTC

Re: TCFS2 + TCFS2Tools: Full-screen mode for TC etc

Post by *kesdoputr »

Hello, i used to use TCFS2 old version 1.5.0.10 and i set two command to move the separator

Code: Select all

[em_TCFS2_separator_left]
cmd=%COMMANDER_PATH%\PLUGINS\ETC\TCFS2.exe
param=/u- /ef "set_separator(#-10%)"

[em_TCFS2_separator_right]
cmd=%COMMANDER_PATH%\PLUGINS\ETC\TCFS2.exe
param=/u- /ef "set_separator(#+10%)"
Now i want to hide the menu and caption so i change to new version 2.3.0.504, i found the set_separator has move to TCFS2Tools
I want to move the separator directly without ini, is the below command rihgt? I have load TCFS2Tools from autorun.wdx

Code: Select all

;for switch caption and menu hide
[em_FullScreen]
cmd=%COMMANDER_PATH%\PLUGINS\ETC\TCFS2.exe
param=/u- /ef "set_style(# ^ $00C00000) tcm(65539)"
;move separator left 10%
[em_TCFS2_separator_left]
cmd=%COMMANDER_PATH%\PLUGINS\ETC\TCFS2.exe
param=/u- /ef "msg($433, 65562, msg($433, 65561) - 10)"
;move separator right 10%
[em_TCFS2_separator_right]
cmd=%COMMANDER_PATH%\PLUGINS\ETC\TCFS2.exe
param=/u- /ef "msg($433, 65562, msg($433, 65561) + 10)"
Thanks for your watching.
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Re: TCFS2 + TCFS2Tools: Full-screen mode for TC etc

Post by *MVV »

Since you want to hide menu, you need TCFS2Tools anyway, so there should be no serious changes for you.

Next, recent TCFS2 versions use two INI files: TCFS2.Core.ini and TCFS2.ini, first one only contains pre-defined definitions, second one contains user actions and items. So now you can easilly use any command that is in TCFS2.Core.ini w/o merging TCFS2.ini. Inlcuding set_separator item and sepPos macro that needed both to set relative separator positions (but you should remove old their versions from your old TCFS2.ini if they are there). Also, for moving separator for 10% to each side, you can just use sp_inc and sp_dec items.

So, following commands should work w/o TCFS2.ini (but with TCFS2.Core.ini that come from TCFS2 package, just take it from EN subdir and put near TCFS2.exe):

Code: Select all

TCFS2 /ei "set_separator(sepPos + 10)"
TCFS2 /ei "set_separator(sepPos - 10)"
But if you want to do it completely w/o INI, even w/o TCFS2.Core.ini, just expand all calls:

Code: Select all

TCFS2 /ef "msg($0433, 65562, msg($0433, 65561) + 10)"
TCFS2 /ef "msg($0433, 65562, msg($0433, 65561) - 10)"
It seems that you've come to the same command so yes, it is right. Does it work for you?
User avatar
kesdoputr
Member
Member
Posts: 168
Joined: 2007-12-27, 12:38 UTC

Re: TCFS2 + TCFS2Tools: Full-screen mode for TC etc

Post by *kesdoputr »

Yes, i have try and it's work fine, thanks for your reply and great tools.
Post Reply