TCFS2 + TCFS2Tools: Full-screen mode for TC etc
Moderators: Hacker, petermad, Stefan2, white
I've made some workaround for Lazarus, now I wait for 2 messages before hiding menu (it seems to be enough).
It is quite hard to see the difference when menu is opened by Alt but it is visible when menu is opened by TrackMainMenu (because I have to show menu for a moment before sending a command and then wait for mentioned 2 messages).
Please test it.
TCFS2Tools 1.4.2.174
It is quite hard to see the difference when menu is opened by Alt but it is visible when menu is opened by TrackMainMenu (because I have to show menu for a moment before sending a command and then wait for mentioned 2 messages).
Please test it.
TCFS2Tools 1.4.2.174
Great, it works now! Many thanks.MVV wrote:TCFS2Tools 1.4.2.174
One glitch I observed was, if I selected view mode through the menu bar, the quick search was somehow screwed up. I mean, if I press 't', for example, inside the active pane, the cursor should have landed at 't*' in my case but it landed incorrectly at, e.g., 'b*'. Strangely, the same symptom even after the menu bar was enabled. No problem with 32-bit TC, on the other hand.
Although I never noticed it before I'm not sure if it's a side effect of Tcfs2Tools or a glitch of 64-bit TC itself, as I never actually changed the view mode through menu bar in the past as far as I can recall and I already experienced a slight misbehavior of the cursor in 64-bit TC.
I can really reproduce it, even with clean INI, but only with 'Letters only' quick search mode, even when I switch view mode via keyboard. I've reported it as a bug.Although I never noticed it before I'm not sure if it's a side effect of Tcfs2Tools or a glitch of 64-bit TC itself, as I never actually changed the view mode through menu bar in the past as far as I can recall and I already experienced a slight misbehavior of the cursor in 64-bit TC.
Glad to hear that. I've released it.Great, it works now! Many thanks.

TCFS2Tools 1.4.3.180:
+ GetWorkArea is now able to return also work area position
+ workaround for idle menu items in 64-bit version when menu is hidden (Lazarus thing)
+ adjust popup menu dimensions in 64-bit version
* wrong work area size returned in case of left or top taskbar position
Any of these should work:
Or if you need panels one above other and switch to side by side with 100% separator position,
Note that you need TCFS2Tools to be installed correctly for separator operations.
Code: Select all
TCFS2.exe /ei "sp_set_active(sepPos==50 ? 100 : 50)"
Code: Select all
TCFS2.exe /ef "if(sepPos==50, run_item(sp_set_active, 100), tcm(909))"
Code: Select all
TCFS2.exe /ef "if(sepPos==50, if(isVerticalPanels, tcm(305))+run_item(sp_set_active, 100), tcm(909)+if(!isVerticalPanels, tcm(305)))"
There were a lot of days since last release...
TCFS2 2.2.0.444:
+ loop function
+ special handling of double quotes: ignoring them when inside grave quotes
+ varcnt, varget, varset functions
+ verbatim mode for send function
+ complex strings may now be built from multiple strings and calculated numbers
* warn about end of line when reading function parameters
TCFS2 2.2.0.444:
+ loop function
+ special handling of double quotes: ignoring them when inside grave quotes
+ varcnt, varget, varset functions
+ verbatim mode for send function
+ complex strings may now be built from multiple strings and calculated numbers
* warn about end of line when reading function parameters
TCFS2Tools 1.4.2.188:
+ GetPanel command to get panel window handles
+ GetPanel command to get panel window handles
Huh MVV, your exe will kill me ... my head will explode.
How to write a parameter for TCFS2.exe, in order to execute simply switcing TC separator for active panel to 100% (first step), and to 50% (second step)?
I don't have any knowledge of C language, but say it on mother tongue - without any "if".
Simply toggle vertical separator of active panel to 100%, regardless of whether it is at 1,2%, 18.9%, 50%, 63.2%, 100% ... whatever, on first step (if it is already on 100% - leave it there) ... and on second step simply toggle it to 50% (if it is pushed somewhere after the first step, to 99% or whatever - ignore that).
Exactly what would work TC commands: "cm_100Percent" and "cm_50Percent".
Something like this:
... this, of course, doesn't work. :)
(Btw... maybe this is possible only with TCFS2.exe, without loading the TCFS2Tools.dll, since it does not require any information where the separator is located before moving?)
---------------------------------------------------------------------
The basic idea is to make the F12 button to toggle between "normal view" and "full-screen/thumbs view" with commands:
- TCFS2: 100%/50% separator
- TC: cm_visButtonbar, cm_visStatusbar, cm_visKeyButtons ... etc. (only visible Title bar and Mein menu / back to "normal view")
- TC: cm_SrcThumbs (Thumbnail/Full view)
---------------------------------------------------------------------
I don't know, have not tried it yet, will TC to be confused with this number of commands?
Perhaps all this commands leave to TCFS2.exe, if possible? ... but that would definitely kill me, and I have two small children :)
Leave everything to TC: split "cm_50Percent" (and all other commands) to F11, and "cm_100Percent" (with others) to F12?
I have a carousel in my head ...
TIA
How to write a parameter for TCFS2.exe, in order to execute simply switcing TC separator for active panel to 100% (first step), and to 50% (second step)?
I don't have any knowledge of C language, but say it on mother tongue - without any "if".
Simply toggle vertical separator of active panel to 100%, regardless of whether it is at 1,2%, 18.9%, 50%, 63.2%, 100% ... whatever, on first step (if it is already on 100% - leave it there) ... and on second step simply toggle it to 50% (if it is pushed somewhere after the first step, to 99% or whatever - ignore that).
Exactly what would work TC commands: "cm_100Percent" and "cm_50Percent".
Something like this:
Code: Select all
/ei "sp_set_active(sepPos==100 : 50)"
(Btw... maybe this is possible only with TCFS2.exe, without loading the TCFS2Tools.dll, since it does not require any information where the separator is located before moving?)
---------------------------------------------------------------------
The basic idea is to make the F12 button to toggle between "normal view" and "full-screen/thumbs view" with commands:
- TCFS2: 100%/50% separator
- TC: cm_visButtonbar, cm_visStatusbar, cm_visKeyButtons ... etc. (only visible Title bar and Mein menu / back to "normal view")
- TC: cm_SrcThumbs (Thumbnail/Full view)
---------------------------------------------------------------------
I don't know, have not tried it yet, will TC to be confused with this number of commands?
Perhaps all this commands leave to TCFS2.exe, if possible? ... but that would definitely kill me, and I have two small children :)
Leave everything to TC: split "cm_50Percent" (and all other commands) to F11, and "cm_100Percent" (with others) to F12?
I have a carousel in my head ...
TIA
Well, since you want to set active panel width to 100%, you should check active panel width, so it depends on active panel. Try one of these:
These will switch to 50% if current width is 100%, or to 100% in all other cases.
This command checks if window title exists and does switch to fullscreen (hides title, all panels and even menu - you can press Alt to access it or remove mm0 call if you don't like it, switches active panel width to 100%) or undoes changes (restores title, panels and menu, activates full view and sets separator to 50%). It may look weird (I know, it does
) but it doesn't require TCFS2.ini modification. With file modification command is much easier (looks like fs2 command):
And command now looks just like this:
Code: Select all
TCFS2 /ei "sp_set_active(sepPos == (L_isActive ? 100 : 0) ? 50 : 100)"
TCFS2 /ei "sp_set_active(if(sepPos == (L_isActive ? 100 : 0), 50, 100))"
Of course, and should cause a error because it must be check_value ? yes_value : no_value and not just check_value : yes_value.... this, of course, doesn't work.
It is impossible because TCFS2Tools does moving separator (older TCFS2 releases did it itself but some stupid virus scanners like NOD32 don't like when application uses innocuous functions like ClipCursor).(Btw... maybe this is possible only with TCFS2.exe, without loading the TCFS2Tools.dll, since it does not require any information where the separator is located before moving?)
Such command requires special step number detection since step number can't be deduced from panel width.Simply toggle vertical separator of active panel to 100%, regardless of whether it is at 1,2%, 18.9%, 50%, 63.2%, 100% ... whatever, on first step (if it is already on 100% - leave it there) ... and on second step simply toggle it to 50% (if it is pushed somewhere after the first step, to 99% or whatever - ignore that).
As I see, you want a single button to switch to full-width fullscreen thumbnail view mode. Am I correct? TCFS2 may hide everything except file panel and switch to thumbs view:The basic idea is to make the F12 button to toggle between "normal view" and "full-screen/thumbs view"
Code: Select all
TCFS2 /ef "if(hasCaption, locktc(1) + run_item(c0) + run_item(mm0) + run_item(tb0) + run_item(db0) + run_item(dc0) + run_item(cd0) + run_item(th0) + run_item(sb0) + run_item(cl0) + run_item(kb0) + tcm(269) + run_item(sp_set_active, 100) + locktc(0) + show(3) + save_undo(fs_thumbs_undo), show(9) + locktc(1) + run_action(fs_thumbs_undo) + tcm(302) + run_item(sp_set_active, 50) + locktc(0)) run_item(update)"

Code: Select all
[Items]
fs_thumbs_switch=if(hasCaption, locktc(1) + run_action(fs_thumbs) + tcm(269) + run_item(sp_set_active, 100) + locktc(0) + show(3) + save_undo(fs_thumbs_undo), show(9) + locktc(1) + run_action(fs_thumbs_undo) + tcm(302) + run_item(sp_set_active, 50) + locktc(0)) run_item(update)
[Actions]
fs_thumbs=c0 mm0 tb0 db0 dc0 cd0 th0 sb0 cl0 kb0
Code: Select all
TCFS2 /ei fs_thumbs_switch
^
Thank you MVV for your support. I didn't put the above parameters, but they clarify me some things.
Also I could not deal with these "c0", "c1" ... things in INI, and forgot to mention in the first post that I want visible Title bar.
At the end found this is exactly what I looking for ...
FullScreen (with Title and Menu bars) + 100% separator + Thumbs = switch (on F12),
without installing/loading tcfs2tools.dll, without any "if", even without tcfs2.ini. Just exe and parameter.
Works like a charm.
Thanks and keep up the good work.
Thank you MVV for your support. I didn't put the above parameters, but they clarify me some things.
Also I could not deal with these "c0", "c1" ... things in INI, and forgot to mention in the first post that I want visible Title bar.
At the end found this is exactly what I looking for ...
Code: Select all
TCFS2.exe /u- /ef "set_style (# & ~ $ 00000010) tcm (909) tcm (2901) tcm (2902) tcm (2907) tcm (2908) tcm (2909) tcm (2911) tcm (2916) tcm (269), style (# & $ 00000010) tcm (2901) tcm (2902) tcm (2907) tcm (2908) tcm (2909) tcm (2911) tcm (2916) tcm (269) | set_style (# | $ 00000010) tcm (910) tcm (2901) tcm (2902) tcm (2907) tcm (2908) tcm (2909) tcm (2911) tcm (2916) tcm (269)"
without installing/loading tcfs2tools.dll, without any "if", even without tcfs2.ini. Just exe and parameter.
Works like a charm.
Thanks and keep up the good work.
I see, you've read manual carefully:)
Also I see that your command will work incorrectly if some of panels are in wrong state. E.g. if statusbars are hidden and you execute command to hide it, it will be shown (commands like sb0 check if command should be sent before). Also, if you have right panel active, your command will hide it instead of expanding.
However it is good if it does what you need.
Also I see that your command will work incorrectly if some of panels are in wrong state. E.g. if statusbars are hidden and you execute command to hide it, it will be shown (commands like sb0 check if command should be sent before). Also, if you have right panel active, your command will hide it instead of expanding.
However it is good if it does what you need.